Deterministisch / niet-deterministisch

Het gedrag van agenten kan simpel zijn (waarmee nog niet is gezegd dat het ook simpel te programmeren is.)
Maar als er onvoorziene omstandigheden zijn, moet er met heel veel dingen worden rekening gehouden in de code of in het ontwerp van de agent.

Stel dat je een agent door de woestijn wilt laten rijden.
Je kunt de afstand dan meten aan het aantal omwentelingen van de wielen.
Stel dat de wielen slippen op een gladde steen: weet je dan nog waar de agent zich bevindt?
Misschien wel als je een GPS systeem inbouwt, maar niet meer op basis van de wielomwentelingen.
Het besturen van een auto in een echte wereld is een stuk lastiger dan het laten ontsnappen van een agent uit een schoolgebouw in een gesimuleerde omgeving.

De complexiteit van het model is mede afhankelijk van de vraag of de acties al dan niet voorspeld kunnen worden uit andere acties (deterministisch zijn).

Menselijk gedrag is niet altijd deterministisch. Zeker in paniek kan de ene mens heel anders reageren dan de ander.
Handelen is dan misschien wel gericht op een doel, maar de wil om te ontsnappen kan ook tot gevolg hebben dat iemand in paniek alle kanten op rent.