Presentation is loading. Please wait.

Presentation is loading. Please wait.

11/18/2018 In the name of God A Fish School Clustering Algorithm: Applied to Student Sectioning Problem By: Mahmood Amintoosi, Mahmoud Fathy, Naser Mozayani,

Similar presentations


Presentation on theme: "11/18/2018 In the name of God A Fish School Clustering Algorithm: Applied to Student Sectioning Problem By: Mahmood Amintoosi, Mahmoud Fathy, Naser Mozayani,"— Presentation transcript:

1 11/18/2018 In the name of God A Fish School Clustering Algorithm: Applied to Student Sectioning Problem By: Mahmood Amintoosi, Mahmoud Fathy, Naser Mozayani, Adel T. Rahmani, Iran University of Science and Technology In the name of god. Welcome ladies and gentlemen. I am Amintoosi a PhD student from he Iran University of Science and Technology, presenting this paper entitled: “A Fish School Clustering Algorithm: Applied to Student Sectioning Problem” 18:32

2 Introduction Inspiration from biology Swarm Intelligence
11/18/2018 Introduction Inspiration from biology Swarm Intelligence Ants' colonies, flocks of birds, termites, swarms of bees One application of “Swarm Intelligence” is “Clustering Problem”. Clustering: Process of grouping samples so that the samples are similar within each group. The groups are called clusters. Inspiration from biology for solving engineering problem has been started for many years. One of the well known areas in Artificial Intelligence, which is related to this inspiration is “Swarm intelligence”. Swarm intelligence is a natural model of distributed problem-solving. Ants' colonies, flocks of birds, termites, swarms of bees are agent-based insect models that exhibit a collective intelligent behavior. Swarm intelligence has been used for solving many problems. On of this problems is Clustering. 18:32

3 Introduction Clustering Algorithms Classic & usual Algorithms
11/18/2018 Introduction Clustering Algorithms Classic & usual Algorithms K-means, Single Linkage, Fuzzy C-Mean, Swarm Intelligence Based Algorithms Ant Colony, Flocking, and now, Fish School The Clustering problem is a famous problem in many areas, specially in pattern recognition and artificial intelligence. Many algorithms were proposed by researchers. K-means, Single linkage and Fuzzy c-means are some of well known usual methods. Recently some new algorithms inspired from biology, such as Ant Colony Clustering and Flocking Clustering algorithms are proposed. In this presentation we introduce a new approach, which is based on Fish School behaviors, that we named it Fish School Clustering Algorithm. 18:32

4 Overview Fish School Behavior The Proposed Fish School Clustering
11/18/2018 Overview Fish School Behavior The Proposed Fish School Clustering An Application of the proposed method In this presentation, at first we will have a brief look at “Fish School Behavior”. The Proposed Fish School Clustering are discussed next and finally “An Application of the proposed method” will explained. 18:32

5 11/18/2018 Fish School Behavior Agent, fish, flock-mate, individual have equal meaning in literatures. Flock meaning: herd, a group of birds, fish school Before continuing it must be noticed that we mean the same thing for these words: Agent, fish, flock-mate, individual are the same. And flock, herd and Fish school have equal meaning. 18:32

6 Flocking algorithms An example of emergent collective behavior.
11/18/2018 Flocking algorithms An example of emergent collective behavior. No global control Every agent has a limited visibility The collective behavior emerges only by local interaction, following these three simple rules: Separation Cohesion Alignment The flocking algorithm was originally proposed by Reynolds as a method for mimicking the flocking behavior of birds on a computer both for animation and as a way to study emergent behavior. Flocking is an example of emergent collective behavior: there is no leader, i.e., no global control. Flocking behavior emerges from the local interactions. Each agent has direct access to the geometric description of the whole scene, but reacts only to flock mates within a certain small radius. The basic flocking model consists of three simple steering behaviors: separation, cohesion and alignment. 18:32

7 11/18/2018 Flocking algorithms Separation gives an agent the ability to maintain a certain distance from others nearby. Cohesion gives an agent the ability to cohere (approach and form a group) with other nearby agents. Alignment gives an agent the ability to align with other nearby characters. Separation Cohesion Alignment Separation gives an agent the ability to maintain a certain distance from others nearby. This prevents agents from crowding too closely together, allowing them to scan a wider area. Cohesion gives an agent the ability to cohere (approach and form a group) with other nearby agents. Steering for cohesion can be computed by finding all agents in the local neighborhood and computing the average position of the nearby agents. The steering force is then applied in the direction of that average position. Alignment gives an agent the ability to align with other nearby characters. Steering for alignment can be computed by finding all agents in the local neighborhood and averaging together the 'heading' vectors of the nearby agents. 18:32

8 11/18/2018 Fish School Behavior The proposed method is based on three observations in fish school and other flocks: Existence of leaders in flocks. Joining groups of individuals. Group shattering. The proposed method is based on three observations: Existence of leaders in flocks. Joining groups of individuals. Group shattering. In the following we briefly review the above observations, and explain how each of them is used in our algorithm. 18:32

9 Existence of leaders in flocks
11/18/2018 Existence of leaders in flocks Some researchers assumed a leader's existence and presumed it directed the movement of the whole flock, and some others don’t agree with this idea. The proposed method is based on this assumption that a group of animates have a leader. 18:32

10 Existence of leaders in flocks, Definitions
11/18/2018 Existence of leaders in flocks, Definitions In the proposed algorithm we considered two types of fishes: Leader fish Follower fish 18:32

11 Existence of leaders in flocks, Definitions
11/18/2018 Existence of leaders in flocks, Definitions In the proposed algorithm we defined two types of fishes: Leader fish a fish that is not influenced by any of its flockmates Follower fish We define a leader fish, a fish that is not influenced by any of its flockmates. 18:32

12 Existence of leaders in flocks, Definitions
11/18/2018 Existence of leaders in flocks, Definitions In the proposed algorithm we considered two types of fishes: Leader fish a fish that is not influenced by any of its flockmates Follower fish A follower fish is a fish, which is influenced by at least one of its flockmates. A follower fish is a fish, which is influenced by at least one of its flockmates. 18:32

13 Leader Fish & Follower Fish, An Example
11/18/2018 Leader Fish & Follower Fish, An Example Leader Follower ? Follower Like a Tree Structure In this example a group of fishes is demonstrated. The group has a leader and other animates are follower. The overall structure is something that Tree Structure in Data Structure Courses. Leader fishes are the root of trees and other nodes in the tree are its followers. But what about this node? Based on our definition, since this node is influenced by another node, we consider it as a follower, even he influences some others. If we remember, A Leader fish was a fish which is not influenced by any of its flockmates. 18:32

14 Some Form of Groups a) An example of a 'Y' formation.
11/18/2018 Some Form of Groups a) An example of a 'Y' formation. b) An example of a 'Z' formation. c) An example of a carousel structure The real fishes make some interesting formation in their groups. This picture shows some formations. ‘Y’, ‘Z’ and carousel formations are demonstrated here. Because the leader fishes have a major role in our algorithm, and carousel structure doesn’t have any leader, we avoid using such groups. Thus our groups are in tree shapes. This implies that we can benefit usual data representation and search methods for tree structure as those introduced in data structure courses. we avoid using carousel groups 18:32

15 Fish School Behavior Joining groups of individuals.
11/18/2018 Fish School Behavior Existence of leaders in flocks. Joining groups of individuals. Group shattering. 18:32

16 Joining groups of flockmates
11/18/2018 Joining groups of flockmates According to Peterson’s article when a number of individuals are initially placed at random in the environment: They quickly aggregate into several groups, generally consisting of four to five individuals. Over time these groups will themselves aggregate, if they are confined within a bounded area. The other individuals in the aggregation follow each other and the leader. 18:32

17 Joining groups of flockmates
11/18/2018 Joining groups of flockmates leadership changing Over time leadership of the group will switch from one individual to another. A common leadership change occurs when a group leader sees another group, and begins to follow one of that group's members, bringing the two groups together. 18:32

18 Fish School Behavior Group shattering. Existence of leaders in flocks.
11/18/2018 Fish School Behavior Existence of leaders in flocks. Joining groups of individuals. Group shattering. 18:32

19 11/18/2018 Group shattering Reynolds in his pioneer paper mentioned that real flocks sometimes split apart to go around an obstacle. Sparrows might flock around a group of obstacles that is in fact a herd of elephants. This behavior can be seen in Fish Schools. 18:32

20 The proposed fish school clustering algorithm (Assumptions)
11/18/2018 The proposed fish school clustering algorithm (Assumptions) In the proposed method we assume that the whole flock contains several groups. Each group has a leader and other members of the group follow him. Every fish is corresponds to one data point. Fishes may form groups according to their similarity. Joining and shattering of the groups is the core of our algorithm. 18:32

21 The proposed fish school clustering algorithm (Assumptions), continue…
11/18/2018 The proposed fish school clustering algorithm (Assumptions), continue… In the proposed method, each cluster considered as a cave with a predefined capacity, Thus a sample’s class label is corresponds to the fish’s cave number. Each group can goes into a cave and stay there at time t. Since our algorithm is a clustering algorithm, we must have a correspondence meaning for each cluster. Here it is supposed that we have some cave (close ended tunnel), which each cave has a predefined capacity and is corresponds with a cluster. Thus a data point class label is corresponds to the fish’s cave number. Each cave contains zero or more groups. Each group can goes into a cave and stay there at time t. 18:32

22 The proposed fish school clustering algorithm (at a glance)
11/18/2018 The proposed fish school clustering algorithm (at a glance) Initializing: - Label each fish’s class randomly. - Mark each fish as a leader fish. Repeat 1-Each leader fish A looks at all fishes he can see and select the nearest fish (B) as his leader. 2-If a leader found, A follows the leader by setting its class label and his followers’ class labels to this new leader’s class label. Mark A as a follower (Group Joining). 3-If the new class (cave) has not enough capacity, the group will be split. (Group Shattering). Until the labels remain unchanged in two consecutive iterations or reaching to maximum Iteration. With the above assumptions and definitions, here we have a look at the overall algorithm: . Group Joining and Shattering need more explanations which is the subject of the following slides. 18:32

23 11/18/2018 Group Joining Suppose that we have two fish group. One group of ‘white’ class and another group of ‘red’ class. Leader fish A of red group see and selects the nearest fish B as his leader. After Joining two groups, all of the fishes in ‘red’ group, change their classes and become members of ‘white’ class. Suppose that we have two fish group. One group of ‘white’ class and another group of ‘red’ class. Leader fish A of red group see and selects the nearest fish B as his leader. After Joining two group, all of the fishes in ‘red’ group, change their classes and became members of ‘white’ class. 18:32

24 Checking cave capacity
11/18/2018 Checking cave capacity When a leader fish leaves its current cave and enters to a new cave, all of his followers follow him and go into the same cave , unless the cave reaches to its maximum capacity. When a leader fish enters to a cave, all of his followers follow him and go into the same cave, unless the cave reaches to its maximum capacity. changing the cave is equal to changing its label or cluster of a data point in the clustering problem. 18:32

25 The Proposed Method, continue…
11/18/2018 The Proposed Method, continue… What happens if the cave has not enough capacity, when a leader tries to enter it? The leader and a few of its followers – as much as possible – enter to the cave and the remaining fishes, stay on the previous cave. What happens if the cave has not enough capacity? The leader and a few of its followers – as much as possible – enter to the cave and the remaining fishes, stay on the previous cave. The group will be breaks to small parts and the remaining followers, as sub-trees form some other smaller groups with their roots as their leaders. They remain on their previous cave. Scanning a group as a tree for finding the next fish, which can go into the new class has been done with a breadth first search method. 18:32

26 11/18/2018 Group Shattering Now, suppose that the ‘white’ class only have 3 extra capacity. ‘A’ and two of his followers join to ‘white’ class. Group shattering occur. Other 4 red fishes, remain ‘red’. ‘C’ and ‘D’ become new leaders. 18:32

27 11/18/2018 Sight We used the term “he can see” in the algorithm. From this phrase we intend a criteria, which we restrict our self with a smaller domain in searching the neighborhoods of a fish. In our implementation we considered it as the half of the mean value of the similarities between each pair of fishes. 18:32

28 11/18/2018 //Fish School Clustering algorithm Initializing: - maxClustSize: maximum allowed cluster size - Label each fish’s class randomly. - Mark each fish as a leader fish. Repeat 1-Each leader fish A looks at all fishes he can see and select the nearest fish (B) as his leader. He can only make another fish his leader, if B does not already followed A, directly or indirectly (for preventing carousel structure). 2-If a leader found, A follows the leader by setting its class label and his followers’ class labels to this new leader’s class label, in a breadth first search manner. Mark A as a follower. 3-Before changing a follower’s class label, it is checked whether the size of the new class exceeds maxClustSize or not. If it exceeds, the labels of the remaining followers of A, will remain unchanged, and the headings fishes mark as leaders (shattering). 4-The fish remembers who his leader is. Until the labels remain unchanged in two consecutive iterations or reaching to maximum Iteration. 18:32

29 Application of the proposed method to Student Sectioning Problem
11/18/2018 Application of the proposed method to Student Sectioning Problem Student Sectioning Problem (SSP) is a particular problem related to timetabling problems. The course timetabling problem involves the assignment of weekly lectures to time periods and lecture room in such a way that a set of constraints satisfy. SSP is due to courses, which involve a large number of students. For some reasons splitting these students to a few smaller sections is desirable 18:32

30 Student Sectioning Problem definition
11/18/2018 Student Sectioning Problem definition The aim of the Student Sectioning Problem is to allocate students of a course to smaller sections for satisfying the following criteria: Student course selections must be respected. Section enrollments should be balanced, i.e. all sections of the same course should have roughly the same number of students; Section capacities and policies of institute should not be exceeded. Student schedules in each section would be the same as each other (as much as possible). 18:32

31 Applying the proposed clustering algorithm to SSP
11/18/2018 Applying the proposed clustering algorithm to SSP In fact students in our universities have behaviors like our artificial fishes. It is usual in our universities that a group of students (perhaps friends) have had same course schedules; and often the members of each group are influenced by a specified person. We suppose that each student is a fish in our algorithm. We need a metric for measuring similarity of two students. The total number of common courses of two students is defined as their similarity measure. 18:32

32 Applying the proposed clustering algorithm to SSP
11/18/2018 Applying the proposed clustering algorithm to SSP The maximum capacity of each room is dictated by the college and hence the number of sections (clusters or caves) will be in hand. Here we have all the required information for applying Fish School Clustering Algorithm to SSP. The maximum capacity of each room is dictated by the college and hence the number of sections (clusters or caves) will be in hand by dividing the total number of students taken course X by the maximum number of students allowed in each section. Here we have all the required information for applying Fish School Clustering Algorithm to SSP. 18:32

33 11/18/2018 Comparison of the proposed Fish School clustering with some other clustering methods. 18:32

34 11/18/2018 Initialization Cluster #1 Group #1 Group #2 Group #3 Group #4 Group #5 Group #6 Group #7 Group #8 Group #9 Group #10 Group #11 Group #12 Group #13 Group #14 Group #15 Group #16 Group #17 Group #18 Group #19 Group #20 Group #21 Group #22 Group #23 Group #24 Group #25 Group #26 Group #27 Group #28 Group #29 Group #30 Group #31 Group #32 iter = 1 Cluster #1 Group #1 Group #2 Group #3 Group #4 Group #5 Group #6 Group #7 Group #8 Group #9 Group #10 Group #11 iter=2 Cluster #1 Group #1 Group #2 Group #3 iter = 3 Cluster #1 Group #1 Group #2 Group #3 Group #4 Group #5 Group #6 Group #7 Group #8 Group #9 Group #10 Group #11 Group #12 Group #13 Group #14 Group #15 Group #16 Cluster #2 Group #1 Group #2 Group #3 Group #4 Group #5 Group #6 Group #7 Group #8 Group #9 Group #10 Group #11 Group #12 The result of an instance run is demonstrated here. Only 3 iterations of the first cluster is shown, except in iteration 3, which the both cluser has been demonstrated. As can be seen in the initialization stage, every student is a leader and corresponds to one group. After first iteration, a few students merge into groups. In iteration number 2, this 2 students –group number 7- join to group number 2. The group shattering can be seen in the next iteration. This student has been moved to cluster#2, but his followers stayed in Cluster#1.

35 11/18/2018 Thanks ? I like to tank to Mr. Erik Rasmussen from Spain for his helpful Java applet. He had wrote a friendly Java applet, which was my main motivation to this paper. Also I Thank you ladies and gentlemen. Is there any question? 18:32


Download ppt "11/18/2018 In the name of God A Fish School Clustering Algorithm: Applied to Student Sectioning Problem By: Mahmood Amintoosi, Mahmoud Fathy, Naser Mozayani,"

Similar presentations


Ads by Google