Project name: Australian Shepherd
Class: 4IT496 Simulation of Systems (WS 2017/2018)
Model type: Agent-based simulation
Software used: NetLogo 6.0.2
This project is inspired by dog breed Australian Shepherd, often known simply as the "Aussie". These dogs are very hardworking and responsible, they always want to please the owner. Because of their energy they should be active by herding sheep in most cases. We are going to simulate herding of sheep with the help of Aussies. In this project, sheep wander randomly while dogs circulate trying to herd them. Whether or not the sheep eventually end up in a single herd depends on the number of dogs and how fast they move compared to the sheep.
The shepherd dogs follow a set of simple rules. Each dog starts wandering randomly. If it bumps into a sheep, it picks the sheep up, and continues to wander randomly. When it bumps into another sheep, it finds a nearby empty space, puts its sheep down, and looks for another one.
Click the SETUP button to set up environment green, the Australian shepherd (brown) and sheep (white & black). Click the GO button to start the simulation. A dog turns blue when it is carrying a sheep.
There are three sliders. NUM-SHEEP and NUM-DOGS control the numbers of sheep and dogs, respectively. Changes in these sliders do not take effect until the next setup. The SHEEP-SPEED slider controls the speed of the sheep relative to the shepherds. This slider can be changed while the model is running.
While the simulation runs, a plot of the dogs' herding efficiency is displayed. Herding efficiency is measured here by counting the number of patches that have no sheep in their neighborhood:
efficiency = sheepless neighborhoods / (# of patches - # of sheep) [expressed as a percentage]
You can see whole interface of simulation below:
As small herds of sheep begin to form, the herds are not "protected" in any way. That is, dogs sometimes take sheep away from existing herds. That strategy might seem counter-productive. But if the herds were "protected", you would end up with lots of little herds, not several big ones. In general, if there are enough dogs and/or the dogs move much faster than the sheep, the number of herds decreases with time. One explanation is as follows: some herds disappear, when dogs carry away all of the sheep. If sheep never moved, it would not be possible for a new herd to start from scratch, since dogs always put their sheep near other sheep. So the number of herds would necessarily decrease over time. (The only way a "new" herd would start is when an existing herd splits into two.) However, since sheep move, they can form new herds. If they move too fast relative to the dogs, the herding will break down. If there are not enough dogs, or if the sheep move fast enough relative to the dogs, the dogs cannot keep up with the wanderings of their sheep, and the sheep will disperse. You can fine export excel file of NetLogo in link below: Media:Australian Shepherd world.xls
This project is a good example of a probabilistic and decentralized strategy. There is no specials dog in charge, and no special pre-designated site for the herds. The movement of the dogs and sheep and thus their behavior is probabilistic. Each dog follows a set of simple rules, but the group as a whole accomplishes a rather sophisticated task.
NetLogo file: Australian Shepherd Media:Australian Shepherd.nlogo