Notes‎ > ‎

Untitled Post on ABM

posted 15 May 2012, 07:07 by David Sherlock   [ updated 15 May 2012, 07:08 ]


How interactive visualisations, agent based models and social simulations give us experience through observation.


TODO:


BEEF

images


In an Agent Based Models you create a system by programing individual autonomous agents. The idea is when you press the play button the individual agents start to behave in the way you programmed them, the actions of each individual agent have an effect on each other and the system as a whole.  


I like this approach when applied to social simulations because I feel it gives an insight into the happenings at different levels of society, all the way from the personal psychology of the individual to the social science behind the behaviour of group as a whole.


My thought process when developing an agent based model is split into 3 sections:


Step 1: (Programming) The individual 


I write some code to create agents. 


Who are the key players in this simulation? 

What makes up their personal psychology? 

What is their immediate environment like and how do they respond to it? 

How will react when they interact with other agents, what will the effect be on the environment?

What are the changeable factors?


Step 2: (watching) The interactions between agents


I press play. 


How do the agents react to one another, as suspected? 

How have they changed during the interactions? 

How do they behave after the interactions? 

What effect did this have on the environment?

If I change variables that effect the environment or the agents, how does this change the simulation? 

How is what is happening at the social layer effecting what is happening to the individual agent?



Step 3 (reprogram)


Did the simulation mimic real life events?

Reprogram agents/environment to see if I can mimic real life more accurately.

Add changeable variables

Restart Program


The questions and process that I am going through are naturally an important part of developing agent-based models, but these questions are the same questions we should be asking when we evaluate what is happening in society. 


Say that I created an agent-based model around the 2011 England Riots, or more preciously the events leading up to the riots   How would I answer these questions then?


Step 1: (Programming) The individual 


Who are the key players in the riots simulation?  Rioters, police, family, society, gangs?

What makes up their personal psychology?  What about their morals, beliefs, education, hopes and dreams? 

What is their immediate environment like and how do they respond to it? Both physical and social. Where do they live? Who do they live with?

How will react when they interact with other agents, what will the effect be on the environment? Depends on the make up of the agents. Will they riot?


Step 2: (watching) The interactions between agents


How do the agents react to one another?  If negatively, what are the variables that change how they interact? What are the methods of communication?

How have they changed during the interactions?  Are there patterns in rioter behaviour that can be identified early on? How do you disrupt the patterns?

How do they behave after the interactions? Is their behaviour influence to other agents, what are the environmental and agent parameters that make them copy behaviour of act a certain way?

What effect did this have on the environment? Can the environment changes have an effect on the likelihood of an agent to riot?

If I change variables that effect the environment or the agents, how does this change the simulation?  Would a better education, family life, environment, penal system, etc effect the agents enough to stop a riot breaking out

How is what is happening at the social layer effecting what is happening to the individual agent? Is there a tipping point? 



Step 3 (reprogram)


Did the simulation mimic real life events? 

Reprogram agents/environment to see if I can mimic real life more accurately.

Restart Program



Even a very basic England 2011 riot simulator would get me to think about the agents, environments, communications and factors involved in simulating a riot and the relationship between them. Agent based modelling, however crude the model, gives us experience through observation.  


Simulating Society’s

When creating models to simulate a social setting we are giving people a chance to experience the setting through observation and reprogramming of the model. To achieve this the model does not have to be perfect and we can avoid the pitfalls of falling in love with data.


I think this is a very powerful thing to be able to do, but my love for ‘experience through observation’ does not come from agent based modelling community but from the gaming community. I often find that the Agent Based Modeller is trying to perfectly replicate a situation, which is not my primary interest.


My introduction to simulated society was 



No model is perfect 

I think the key is not to fall in love with data


Comments