From Earlham CS Department
Revision as of 08:15, 30 March 2009 by Mclauia (talk | contribs) (Process)
Jump to navigation Jump to search

Computational Sociology and Agent Based Modeling


This unit showcases Agent Based Modeling techniques and allows students to investigate them in a computational sociology context.

Background Reading for Teachers and TAs

Reading Assignments for Students

Reference Material

  • Tutorial on Agent Based Modeling ACM Digital Library An in depth look at ABM theory and technologies.

Lecture Notes

These are very high-level... narrowing them down more will help a great deal. Also, how is the split made between the two+ classes?

I'd argue that they need to be expanded, that at a high level they cover the correct topics but need more depth to be useful.

  • What is Agent Based Modeling?
    • Game of Life
    • Emergent Behavior
    • What are its advantages and disadvantages? for instance, what ARE the advantages/disadvantages?
  • Where is it useful? How is it useful in these disciplines? etc~
    • Economics
    • Sociology
    • Biology
    • Information Science
  • Some Examples
  • Computational Sociology
    • Who?
      • Axtell and Epstein - Growing Artificial Societies
    • Why?
      • Perhaps distribute and discuss introductory materials from "Computational Sociology and Agent Based Modeling" article
    • Example models, demo in class


  • Excercise in coming up with agent sets and agent relations. Have students think about a possible model of Saga sitting patterns over time. Their assignment is to come up with a set of agents and a set of agent relations and a short description of how such a model would evolve over time.
  • When you say evolve over time, do you mean how the model would look when it was run, or how the people making the model would change it as they learned more information?


  • What to do, step-by-step
    • Discuss with your lab mates a potential "Saga Sitting pattern" model with attention to the factors involved and potential ways of collecting data. Write down these notes.
    • Brainstorm a set of agents that could be used in such a model. Write up a description of each model and explain why you thought it would be useful. A minimum number would be helpful here. People are lazy.
    • Brainstorm a set of relations between agents that could be used in such a model. Examples include students' like or dislike of certain food agents, students' like and dislike of each other, students' attendance at simulatneous events. Write up a description of each relation and explain why you thought it would be useful.
  • What to look for
    • Is it hard or easy to account for many of the involved factors?
    • How does this process differ from other types of modeling?
      • Do you think coming up with mathematical formulas to describe the same issues would be easier or harder?
      • What challenges arise when you try to come up with agents? with agent relations?
  • What to record
    • Your notes and agent / agent relation descriptions
    • Your answers to the 'what to look for' questions.
    • A short description of how such a Saga model, using your agents and agent relations would evolve over time. Looks like this clarifies the above comment's question


  • Required elements
    • Notes and descriptions
    • Answers
    • Model outcome + saga map.
  • Visualization opportunities
    • Draw out a map of saga to aid in your final description
  • Optional elements
    • None
  • Provide a template for the first couple of labs ala CS128?
    • Not sure? I didn't take CS128.


Nothing; maybe java for example applets. Where were the example applets??

Bill of Materials

Nada. Paper and pencil.

  • This lab seems kind of short as compared with the other ones, which isn't necessarily a bad thing. However, if you wanted to move it to a prelab in order to have more time to do some sort of example or have them do something with Looking Around Corners as part of the lab, that might be good. On the other hand, you could also have them do some real life homework, like looking at the distribution of how people sit in Saga. Maybe they could find some environmental factors that influence students in Saga as well (ie people tend to sit closer to food?).


CRS Questions

  • 1. What is Emergent Behavior?
    • A. The complex outcome of the interaction of many simple rulesets
    • B. How we verify and validate Agent Based models
    • C. How we define rulesets for agents in an agent based model
    • D. How we determine the formulas we use in mathematical modeling
  • 2. Who wrote the seminal text on sociological agent-based modeling?
    • A. Peck & Rogers, et. al
    • B. Axtell and Epstein
    • C. Axeman and Edlefsen
    • D. Whitehall and North
  • 3. What is the name of the first agent-based biological model?
    • A. Droids
    • B. BirdBots
    • C. Boids
    • D. BDroids

Quiz Questions

Explain how agent based modeling's concept of emergent behavior could be used to explain some natural phenomenon. Name three good examples of things that could be used as agents. Name three good examples of agent relations that could be used in a model. Explain why it is sensible to model bird flocking using ABM. Extend this to justify modeling society with ABM.

Agent Based Modeling and Computational Sociology Metadata

This unit introduces students to Agent Based Modeling through the use of examples and then has them work in a context of Computational Sociology to learn more This section contains information about the goals of the unit and the approaches taken to meet them.

This section contains information about the goals of the unit and the approaches taken to meet them.


Should certainly come after mathematical modeling and before systems dynamics.

Concepts and Techniques

  • Pedagogical
    • Inquiry Based Learning
    • Degrees of open endedness
    • uses science to illustrate complexity of world around us
  • Structural
    • CRS
    • largely platform independent

General Education Alignment

  • Analytical Reasoning Requirement
    • Abstract Reasoning - From the [Catalog Description] Courses qualifying for credit in Abstract Reasoning typically share these characteristics:
      • They focus substantially on properties of classes of abstract models and operations that apply to them.
        • Agents -> abstract models
      • They provide experience in generalizing from specific instances to appropriate classes of abstract models.
        • discussion of boids, sugarscape and agent based modeling as a whole
      • They provide experience in solving concrete problems by a process of abstraction and manipulation at the abstract level. Typically this experience is provided by word problems which require students to formalize real-world problems in abstract terms, to solve them with techniques that apply at that abstract level, and to convert the solutions back into concrete results.
        • the emergent behavior is a process of abstract manipulation; comparing emergent behavior back against the real world is "converting solutions back into concrete results"
    • Quantitative Reasoning - From the [Catalog Description] General Education courses in Quantitative Reasoning foster students' abilities to generate, interpret and evaluate quantitative information. In particular, Quantitative Reasoning courses help students develop abilities in such areas as:
      • Using and interpreting formulas, graphs and tables.
        • Little of this - the point is to avoid formulas (initially), but graphs and tables come up when analyzing model results.
      • Representing mathematical ideas symbolically, graphically, numerically and verbally.
        • Little of this. We're working with people, not numbers.
      • Using mathematical and statistical ideas to solve problems in a variety of contexts.
        • Nada.
      • Using simple models such as linear dependence, exponential growth or decay, or normal distribution.
        • This could be worked in, but isn't there now.
      • Understanding basic statistical ideas such as averages, variability and probability.
        • Nope.
      • Making estimates and checking the reasonableness of answers.
        • In a more abstract way than most mathiness.
      • Recognizing the limitations of mathematical and statistical methods.
        • This is fulfilled - the point of ABM is the limitation of mathematical and statistical methods.
  • Scientific Inquiry Requirement - From the [Catalog Description] Scientific inquiry:
    • Develops students' understanding of the natural world.
      • Yes. Agent based methodology informs a way of thinking about natural processes that differs from more typical techniques - the ideas of emergent behavior are present in every day life.
    • Strengthens students' knowledge of the scientific way of knowing — the use of systematic observation and experimentation to develop theories and test hypotheses.
      • None.
    • Emphasizes and provides first-hand experience with both theoretical analysis and the collection of empirical data.
      • Yes. Models = theoretical. Analyzing one's own social circle, for example, is empirical collection.

Scaffolded Learning

None. The unit is lecture and work; neither fall into a set scaffolded structure.

I think you could re-consider this for the lab. Start simple, provide a bit of structure, and let them extend into and through that as far as they can.

Inquiry Based Learning

The get to think creatively; they make a (static) model and get to think up their own agent based model (in an easy, but still interactive, way)

Agent Based Modeling and Computational Sociology Mechanics

To Do

  • Read and consider JoshM's message about alife.
  • Expand lectures notes.
  • Come up with second lab, do design.


  • Make answers bold please!
  • Some of this is reference/extra reading, then? If this is only a 1 week unit, will they just get a big pile of reading up front? -There are snippets of each reading that I think should be assigned.


  • Tie this in with facebook/myspace/<social network here (virtual or real)>. Who do you know? Draw a graph of your best friends, good friends, acquaintances, less-than- acquaintances and follow the coloring/sizing of the model. Does this model resemble what emerges in the dynamic model (below)? Do several runs of the model and match their emergent stages against your drawing. Discuss validity of model based on this. The key for the lab is "Does this model resemble what emerges in the dynamic model?" The applet will run until it reaches a state of relative stasis. The static model that the students develop will, hopefully, have similar characteristics to the applet's emerged results. The idea is that 'reality' - the static model - appears in the emergent behavior of the dynamic model


Nate Smith