## Gedrag en emotie

Bij het beschrijven van het gedrag van de vogels heb je waarschijnlijk een menselijke interpretatie gebruikt.
Je beschrijft hun gedrag in menselijk termen, zoiets als: De vogels volgen een leider en houden netjes afstand van de andere vogels, zonder ze kwijt te raken.

Je gebruikt termen die behoren tot de functionele wereldkennis van mensen.
Het behoort tot onze functionele wereldkennis dat het verstandig is om in bepaalde situaties een leider te volgen, en elkaar niet uit het oog te verliezen.
Het is heel moeilijk om niet in menselijke termen te denken bij het coderen van gedrag.
Bovendien maakt het gebruik van betekenisvolle namen voor variabelen de code ook een stuk leesbaarder.

Bekijk eens deze regels code:

ask patches with [x = y and z != a] [ set x z set z c ask array_1 with [z = b] [ set z x set x y ] ]

Deze code wordt een stuk leesbaarder als je in plaats van x, y en z (en andere soortgelijke namen) namen voor variabelen kiest die hun functie weergeeft:

ask patches with [pcolor = orange and alarm != "yes"] [ set pcolor alarm set alarm "gone-off" ask neighbors with [alarm = "no"] [ set alarm pcolor set pcolor orange ] ]

Mensen denken vaak dat het gedrag van dieren erg ingewikkeld is.
Simulatiemodellen van het vluchtgedrag van vogels laten echter zien dat er maar een drie regels zijn die dat gedrag bepalen.
Vogels blijven bij elkaar in de buurt, komen niet te dicht bij elkaar, en houden de algemene richting van de groep aan.

Als gedrag op deze manier wordt verwoord is de stap tot het programmeren van agents veel kleiner.