Read about Agent Based Models.

This explains the Python code for an Agent Based Model of racial segregation in New York City. Read it carefully, and try to understand what the code does (recall your previous practice). Your goal this morning is to understand the code completely and get it running on your laptop. To guide your understanding, answer these questions about the model:

  1. What specific problem is solved by the model? What specific questions does the model answer? What value does agent-based modeling bring to the problem that other modeling approaches cannot bring?
  2. What are the agents in the model? Who are the decision makers in the system? What are the entities that have behaviors? What data on agents are simply descriptive (static attributes)? What agent attributes would be calculated endogenously by the model and updated in the agents (dynamic attributes)?
  3. What is the agents’ environment? How do the agents interact with the environment? Is an agent’s mobility through space an important consideration?
  4. What agent behaviors are of interest? What decisions do the agents make? What behaviors are being acted upon? What actions are being taken by the agents?
  5. How do the agents interact with each other? With the environment? How expansive or focused are agent interactions?
  6. Where might the data come from, especially on agent behaviors, for such a model?
  7. How might you validate the model, especially the agent behaviors?

Name your file SchellingModel.py. If you don’t understand what a line of code does, use google or encode a test to figure it out. Then comment the code with what you’ve learned.

If you complete this work, you can begin answering the morning session questions here).