150 likes | 281 Views
New Mexico Computer Science for All. Agent-based modeling By Irene Lee December 27, 2012. Agent-based modeling: a tool for studying complex adaptive systems. Agent-based Modeling of Complex Adaptive Systems
E N D
New Mexico Computer Science for All Agent-based modeling By Irene Lee December 27, 2012
Agent-based modeling: a tool for studying complex adaptive systems Agent-based Modeling of Complex Adaptive Systems Using agent-based modeling (ABM) tools, we are able to model complex adaptive systems. An example: termites model The model consists of agents, an environ- ment, and interactions between agents and environment. The system is adaptive and changes over time. ABM generates “emergent” patterns.
Agent-based modeling paradigm • The “Observer”– instantiates the world • The “Turtles”– the agents • The “Patches” – the environment
Agent based modeling phases • Setup– instantiation of world • Runtime loop – the agents put into motion. • Exit
Agent-based modeling Abstractions • Agents with rules • Environment or space in which they exist • Time
Modeling and Computational Science • A model is a representation of the interaction of real-world objects in a complex system. • The goal is to gain an understanding of how the model’s results relate to real-world phenomena. • Random factors built into the model and variables changed by the user cause different results to be generated when the model is run repeatedly.
Model Classification Scheme* • Idea Models • e.g. Model of Predator and Prey • Minimal Models for Systems • e.g. Model of Wolves and Caribou • Systems Models / Large scale ? • e.g. Model of every Wolf and Caribou in 5 square mile section of Yellowstone Increasing complexity, detail and specificity *This classification scheme was proposed by J. Roughgarden.
A Progression for Learning about Modeling Use Modify Create • learning about models and modeling • conduct experiments by changing variables, collecting data, and analyzing results. • deconstruct models into agents, behaviors, environment, and interactions. • develop expertise in evaluating models • coding/decoding skills and sustained reasoning • Abstraction of a real-world problem into a computer model suitable for testing hypotheses. • Evaluation of model, choice of assumptions, and findings.
Preparation for STEM futures Scientific Inquiry / Critical thinking skills Students as creators and young researchers Understanding the use of computers in STEM fields Preparation for future endeavors in computing Building an understanding of complex systems
Preparation for Computer Science Concepts that modelers must understand to deconstruct and eventually write agent based models are: 1) states 2) variables 3) data structures 4) rules, logic and control structures, Boolean operations 5) iteration and recursion 6) functions, procedures, subroutines 7) syntax of programming 8) interface design 9) data analysis (import/export and plot data) 10) parallelism.