Background

We modeled a subset of the swarm as individual bees. Each bee had an interal state (dancing, scouting, etc) as described below

• Each bee is placed randomly on a square region, and does not move while it is with the swarm.
• Each bee has a discrete state which depends on her history. All but a few bees start as non-scouts.
• The few initial scouts are assigned to random nest-sites and return to the swarm at intervals and at random locations.
• A bee can become a scout in two ways:
1. A bee becomes a scout randomly, with fixed low probability at each time step, and is assigned to a random nest-site.
2. A bee is within range of a dancing scout and with fixed probability becomes a scout. The new scout is assigned to the nest-site being danced for, with no error.
• Once a bee becomes a scout for a given nest-site, she goes through a sequence of events before returning to the non-scout state. Generally, she will dance, rest, re-investigage the site, then dance for a shorter time, rest, and so on until the 'dance time' becomes zero. At that point, she reverts to a non-scout. A bee never changes the nest-site she dances for while she is a scout. Once she becomes a non-scout again, she may be recruited to any nest without bias. Details follow:
1. As soon as the bee becomes a scout, she leaves the swarm (to 'examine' the nest-site). She evaluates the quality of the site without error, and her 'dance duration' is set to a value proportional to the site quality. She then returns to the swarm after about 40 minutes.
2. Upon return the bee goes to a random position on the swarm and 'dances' for the site. The bee's 'dance time' is decremented and checked to see if the time is zero.
• If it is zero, the scout reverts to the non-scout state.
• If it is non-zero, the bee dances for the alloted time, then rests for a fixed time.
3. In the rest state the bee is completely inactive. When the rest time is done, the bee re-investigates the same nest-site then returns to state (2) described just above.

Programs

The current version is Version14. This code is from Run 1 (R1) as described below. The simulator is a mixed, continuous and discrete-event, simulator. The time resolution in all of the results below was 6 seconds. There is an initial busrt of scouts

Each bee has an internal state as listed:

• Is the bee alive (true/false)
• Is the bee a scout (true/false)
• Is the scout out of the swarm (true/false)
• Is the scout resting (true/false)
• The time of the next event for this bee (e.g. returns to swarm)
• The next event type
• Bee's x-coordinate postion in the 2D swarm (0 to 0.3 meters)
• Bee's y-coordinate postion in the 2D swarm (0 to 0.3 meters)
• Probability of becoming a scout (per minute) spontaneously (no prefered nest)
• Probability of becoming a scout (per minute) when viewing a recruiting dance
• Distance to nearest dancing scout (if any)
• Dance duration (if any) remaining for this scout
• Dance duration decrment per return to swarm. Fixed at 0.5 minute.
• Dance effective range. Fixed at 0.02 meters.
• Rest duration before revisiting a nest site. Fixed at 30 min.
• Destination nest, if any.
• Nest evaluation time. Each bee's value is picked from a distribution given by a gaussian with a mean of 40 min, standard deviation of 5, but with a lower bound of 20 min.

Progam logic at each time step:

• For each bee:
• Test to see if the bee becomes a spontaneous scout
• Test to see if the bee becomes a recurited scout
• Check for an event has timed out for the bee. If so:
• Position the bee randomly
• If the remaining dance duration is zero trigger an end event.
• If the remaing dance duration is greater than zero then dance and decrement remaining dance time. Trigger a rest event.
• Rest:
• Wait for the rest time, then trigger a re-scout event.
• Re-scout a nest:
• Wait for the nest evaluation time, then trigger a return-to-swarm event
• End being a scout:
• Return the scout to the pool of uncommitted bees.

Results

All tables are shown for a case with 4 nests of relative qualities `1.0,...`