Jump to content

Agent Based Simulation Model

loganryan99

So, I'm working on a City Simulation thing (probably won't turn into a full game or anything) on the side. Really this is just because I want to mess around with agent based simulation, which I find absolutely fascinating which is why I am sharing it here.

 

"An agent-based model (ABM) is a class of computational models for simulating the actions and interactions of autonomous agents (both individual or collective entities such as organizations or groups) with a view to assessing their effects on the system as a whole."

-Wikipedia

 

So, an agent based simulation contains thousands and thousands of agents. Agents are simply objects (like a person, or a car, or a building) that follow extremely simple rules. Although these rules are simple, they work together to create an extremely complex result that resembles the real world. In my simulation specifically, I track how tired every person in the simulation is. The rule for tiredness is that every hour a person isn't sleeping, it increases by one. Which, again, is extremely simple and consumes virtually no computer resources. The complexity comes from what the person does when they're tired, and how it affects the simulation.

 

Possible results of a person being tired: 

  • Person gets in a car accident -> city traffic slows down -> other people are late to work which causes them to be payed less -> those people don't have as much money to spend in stores -> stores profit less -> stores have less money to buy as many goods from factories -> factories make less profit -> you get less tax money
  • Person is less productive at work -> Person gets fired -> Person can't find another job -> Person turns to crime -> Person robs bank -> Police respond -> Police catch the person -> Person goes to jail -> Person being in jail costs the city money

There's literally millions of other things that could happen just as a result of a person being tired. Imagine the person having other variables, such as sickness and happiness. Imagine having hundreds of thousands of these people, and how those people would interact and individually make an impact on the simulation.

 

I don't know if I explained this in the best way, but I hope that I made you realize how exciting this type of simulation can be and how you could use it yourself. 



This post has been promoted to an article
Link to comment
Share on other sites

Link to post
Share on other sites

it's very very cool

 

the only 'problem' i see is that you have to implement a whole bunch of behaviours for every agent

  1. driving skills are influenced by tiredness
  2. traffic is influenced by accidents (just the local traffic?)
  3. work pays depending on what time people arrive
  4. people buy things depending on their money
  5. decide when people want to buy things, and what kind fo stuff they want to buy
  6. stores decide what to buy depending on (at least) their entrance
  7. factories produce goods and sell them to shops
  8. every transaction is taxed
  9. work quality is affected by tiredness
  10. low productivity causes being fired
  11. difficulty to find jobs
  12. not finding jobs make people desperate
  13. desperation leads people to crime
  14. blah blah

my point is just that it's a huge work, because if you want to see a convincing simulation then you have to specifically implement a lot of micro-behaviours

this thing has to be very well planned imho

Link to comment
Share on other sites

Link to post
Share on other sites

it's very very cool

 

the only 'problem' i see is that you have to implement a whole bunch of behaviours for every agent

  1. driving skills are influenced by tiredness
  2. traffic is influenced by accidents (just the local traffic?)
  3. work pays depending on what time people arrive
  4. people buy things depending on their money
  5. decide when people want to buy things, and what kind fo stuff they want to buy
  6. stores decide what to buy depending on (at least) their entrance
  7. factories produce goods and sell them to shops
  8. every transaction is taxed
  9. work quality is affected by tiredness
  10. low productivity causes being fired
  11. difficulty to find jobs
  12. not finding jobs make people desperate
  13. desperation leads people to crime
  14. blah blah

my point is just that it's a huge work, because if you want to see a convincing simulation then you have to specifically implement a lot of micro-behaviours

this thing has to be very well planned imho

 

Is that not the same with any game? Yes, that is a lot of work, but compared to doing the same with a statistical simulation it's much more rewarding.

Link to comment
Share on other sites

Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now

×