Schooling of the fish
Contents
Problem definition
The aggregate motion of a flock of birds, a herd of land animals, or a school of fish is a beautiful and familiar part of the natural world. A school exhibits many contrasts. It is made up of discrete fish yet overall motion seems fluid. It is simple in concept yet is so visually complex. This simulation proposes that the leaders can emerge as a consequence of a self-organized process based on local rules of dynamic interactions among individuals. Schools are an example of self-organized behaviour in a group where one can study the leadership properties of the individuals. Simulation proposed to monitor and analyze the leadership properties of the school and given individuals. Based on this analysis I tried to identify key factors that influence emergence of the leaders.
Method
The simulated school is an elaboration of an agent based system, with the simulated fish being the agents. The aggregate motion of the simulated school is created by a distributed behavioral model much like that at work in a natural school; the fish choose their own course. Each simulated fish is implemented as an independent agent that navigates according to its local perception of the dynamic environment. The aggregate motion of the simulated school is the result of the dense interaction of the relatively simple behaviors of the individual simulated fish. Fish are bound by certain set of rules explained in later chapters. This simulation is implemented in NetLogo since it provides the best capabilities from available tools. There is a wide range of monitoring tools and visualization approaches in NetLogo which will be used as a part of the simulation.
Model
World and Agents
The agents move in a two-dimensional, discrete world that is unbounded. Time flow in this world is represented by ticks. Each agent (fish) Failed to parse (MathML with SVG or PNG fallback (recommended for modern browsers and accessibility tools): Invalid response ("Math extension cannot connect to Restbase.") from server "https://en.wikipedia.org/api/rest_v1/":): {\displaystyle i} is identified by its coordinates and heading at time Failed to parse (MathML with SVG or PNG fallback (recommended for modern browsers and accessibility tools): Invalid response ("Math extension cannot connect to Restbase.") from server "https://en.wikipedia.org/api/rest_v1/":): {\displaystyle t} . The heading of an agent at time Failed to parse (MathML with SVG or PNG fallback (recommended for modern browsers and accessibility tools): Invalid response ("Math extension cannot connect to Restbase.") from server "https://en.wikipedia.org/api/rest_v1/":): {\displaystyle t} is defined as the vector connecting its location at t-1 with its location at t, and is expressed as the clockwise angle between that vector and the Y axis.
Failed to parse (MathML with SVG or PNG fallback (recommended for modern browsers and accessibility tools): Invalid response ("Math extension cannot connect to Restbase.") from server "https://en.wikipedia.org/api/rest_v1/":): {\displaystyle F : \{P, H\}}
where:
- Failed to parse (MathML with SVG or PNG fallback (recommended for modern browsers and accessibility tools): Invalid response ("Math extension cannot connect to Restbase.") from server "https://en.wikipedia.org/api/rest_v1/":): {\displaystyle P_i = \{(x_i(t), y_i(t))\}}
- Failed to parse (MathML with SVG or PNG fallback (recommended for modern browsers and accessibility tools): Invalid response ("Math extension cannot connect to Restbase.") from server "https://en.wikipedia.org/api/rest_v1/":): {\displaystyle H_i = \{\alpha (t)\}}
Fish have a perceptual field which is defined as a circular sector whose centre is the agent's current location Failed to parse (MathML with SVG or PNG fallback (recommended for modern browsers and accessibility tools): Invalid response ("Math extension cannot connect to Restbase.") from server "https://en.wikipedia.org/api/rest_v1/":): {\displaystyle P_i} and which is bisected by its current heading vector. Perceptual field is key model attribute since it defines two important properties of the fish:
- depth of agent's perceptual filed - defined by visibility angle Failed to parse (MathML with SVG or PNG fallback (recommended for modern browsers and accessibility tools): Invalid response ("Math extension cannot connect to Restbase.") from server "https://en.wikipedia.org/api/rest_v1/":): {\displaystyle \alpha_i}
- scope of agent's perceptual filed - defined by visibility range (or radius) Failed to parse (MathML with SVG or PNG fallback (recommended for modern browsers and accessibility tools): Invalid response ("Math extension cannot connect to Restbase.") from server "https://en.wikipedia.org/api/rest_v1/":): {\displaystyle r_i}
both of which can by modified (since they are model attributes).
When the school emerges, fish can be leader, follower or both. Each fish has it's rank based on number of followers. Ranking function R is defined as follows:
Failed to parse (MathML with SVG or PNG fallback (recommended for modern browsers and accessibility tools): Invalid response ("Math extension cannot connect to Restbase.") from server "https://en.wikipedia.org/api/rest_v1/":): {\displaystyle R = \tfrac{F}{N - 1}}
where:
- Failed to parse (MathML with SVG or PNG fallback (recommended for modern browsers and accessibility tools): Invalid response ("Math extension cannot connect to Restbase.") from server "https://en.wikipedia.org/api/rest_v1/":): {\displaystyle F} number of followers
- Failed to parse (MathML with SVG or PNG fallback (recommended for modern browsers and accessibility tools): Invalid response ("Math extension cannot connect to Restbase.") from server "https://en.wikipedia.org/api/rest_v1/":): {\displaystyle N} number of fish
Ranking function yields values from the interval Failed to parse (MathML with SVG or PNG fallback (recommended for modern browsers and accessibility tools): Invalid response ("Math extension cannot connect to Restbase.") from server "https://en.wikipedia.org/api/rest_v1/":): {\displaystyle <0; 1>}
. Fish can be categorized based on their rank as follows (in big enough population):
- strong leader - rank higher than Failed to parse (MathML with SVG or PNG fallback (recommended for modern browsers and accessibility tools): Invalid response ("Math extension cannot connect to Restbase.") from server "https://en.wikipedia.org/api/rest_v1/":): {\displaystyle 0.3}
- leader - rank from the interval Failed to parse (MathML with SVG or PNG fallback (recommended for modern browsers and accessibility tools): Invalid response ("Math extension cannot connect to Restbase.") from server "https://en.wikipedia.org/api/rest_v1/":): {\displaystyle (0; 0.3)}
- follower - rank equal to Failed to parse (MathML with SVG or PNG fallback (recommended for modern browsers and accessibility tools): Invalid response ("Math extension cannot connect to Restbase.") from server "https://en.wikipedia.org/api/rest_v1/":): {\displaystyle 0}
- both leader and follower - cannot be determined based solely on ranking function
Entities...
Controls
<TODO>
Buttons
<TODO>
Plots
<TODO>
Monitors
<TODO>
Model limitations
<TODO>
Results
<TODO>
Legend
<TODO>
Conclusion
<TODO>