ICPSR 2012- Complexity and Agent-Based Modeling
Posted by: Aaron
- Morning Sessions: Complex Systems
- Session 1: Path Dependence, Lock-In, and Multiple Equilibria.
- Session 2: Exploration, Exploitation, and Neutral Networks.
- Lab Sessions: Advanced Topics in Agent-Based Modeling
- Session 1: Analyzing Data from Agent-Based Models.
- Session 2: Measures Of Dynamical Properties.
- Session 3: Advanced Features of Netlogo.
- Session 4: Testing for Emergence...aka Making Emergence Safe for Science
- Session 5: Lists Matrices and Tables through building and using networks in Netlogo (right click and "save target as" to download the Netlogo file...otherwise your browser thinks it's just text).
- Session 6: HubNet Participatory Models. Also, here's the expanded Tragedy of the Commons Netlogo model.
- Session 7: Java Extensions and Mathematica Link. Also, here's the Using Graphics Extension and the Demo Mathematica Link files.
- Possible Topics:
- Making Emergence Safe for Science: one reason people build agent-based models is to generate emergent phenomenon. But what is an emergent phenomenon? When will an agent-based model generate one? How will you know when the emergence has happened? Can one measure "how emergent" some phenomenon is? This lecture introduces participants to the necessary concepts from philosophy to address questions regarding ontology and epistemology across different levels of organization...including what emergence is and where to look for it.
- Netlogo 3D: Practical tutorial for building models in Netlogo 3D. Includes demonstration of turtle pitch, heading, and roll; observer location and sngle of view; 3D visualization of networks, workarounds to using patches, and several cool examples.
- GIS in Netlogo: Importing map data into a Netlogo world and manipulating it to match a model's parameters. Then various standard ways os using GIS data in agent-based models and some visualization considerations.
- Netlogo HubNet: HubNet lets you use NetLogo to run participatory simulations, i.e., models in which agents are controlled by users. There is a central model (the server) that controls the workflow, and each of the participants (clients) have their own version of the model for what they can see and do. Useful for running experiments and for teaching complexity (among other things) to undergraduates.
- Methods for Hypergraphs and k-Partite Graphs: This talk introduces the audience to the more complicated network forms of k-partite graphs and hypergraphs. The pros and cons of using these structures are explained as well as the steps towards a fuller analysis capability of these important augmentations.
- Lists, Matrices, and Tables: Lists are somewhat complicated in Netlogo, but here I'll ocver all the commands relevant for building, manipulating, and geting data from lists. Matrices in native Netlogo are just lists of lists; this format suffices for some purposes, but fails to support many useful matrix functions. The matrix extension adds many standard matrix capabilities (e.g., adjacency matrix and solving linear equations) to Netlogo. Tables also resemble lists, but they work more like a collection of "if" statements. This can be useful for running different commands in different contexts and also for keeping tack of data associated with agents (e.g., each agent tracks how much it trusts each of its network neighbors).
- Mathematica Link and Java Extensions: This is a more advanced topic for the hardcore coders. The Mathematica link allows you to control Netlogo from Mathematica, which gives you more control than Behavior space; for example, it also allows you to do runs based on the result of the analysis of runs done so far. Java extensions allow you to wrote code in java to extend the capabilities of Netlogo. It would be too much to teach how to write exentions in java, but I will demonstrate using them for different features and the considerations for when to use them for yourself.