Monday, October 11, 2010

American Political Science Association 2010

Things were busy this summer for the authors of this blog (Miguel Garces and Brandon Alcorn), but we hope that some people have found our previous posts introducing PS-I useful or at least interesting. In this post, I'd like to talk about our attendance at the American Political Science Association in the beginning of September.  We learned plenty from the conference, some of which we plan to talk about in the future, including topics such as methodology, other agent-based modeling techniques, ethnic and religious conflict, insurgency, political networks, evolution, and identity.

Professor Ian Lustick, along with Brandon Alcorn, Alicia Ruvinsky, and Miguel Garces, presented a paper at a theme panel entitled "Modeling Techniques For Macro-Political Events."  Our paper, "From Theory to Simulation: The Dynamic Political Hierarchy in Country Virtualization Models" can be found at www.lustickconsulting.com.  The panel was insightful and the audience asked challenging and pertinent questions.  I would also like to mention a number of other panels, short courses, and authors we found interesting.

Friday, May 14, 2010

Running Experiments and Using Scripts

One of the huge advantages of using a computer simulation platform such as PS-I lies in its ability to generate large sample sizes for experiments in a relatively short amount of time as well as being able to easily store and process large amounts of data.  However, taking advantage of these capabilities requires a basic understanding of Tcl/Tk, a programming language that can be used to give a series of instructions to PS-I.  Tcl/Tk can be used to produce scripts (.scp files) which you can load in PS-I the same way you would load a model file (.mdl).  Scripts have a wide range of functionality, but for the purposes of this post we will be using scripts to a) Run a model multiple times while collecting statistics for each run and b) Change model parameters during the course of a run.

Thursday, May 6, 2010

Altering Attributes

In Brandon's last post, he described one way to attempt to control for events beyond the analytic horizon in PS-I, which we call bias.  There are two ways an agent calculates identity weights: its neighborhood and the global bias values.  I will now explain this process of changing an agent's cache attribute (which is the same as switching its repertoire), which of course is only one of many ways that this type of calculation could be made.  First, the current agent counts the activated identity of each agent in its neighborhood, adding to its identity weights.  Once that process is complete, it adds each identity's current bias value to the identity weights.  It then has a value for each identity, some of which might be negative if the identity has a negative bias value.  The current agent then takes that list of identity weights, and then finds the difference between its activated identity weight and every other identity weight.  For example, if the current agent's activated identity has a weight of 3, and another identity has a weight of 5, then the difference is two, and that is the identity weight the agent will then use to decide if it should change its repertoire.  This method of subtraction is called differential count.

Friday, April 30, 2010

Locating and Operationalizing the Analytic Horizon

In the previous post, Miguel explored simpleA.mdl as an introduction to a technique for agent-based modeling based on constructivist identity theory. This model consists of 2500 agents, each with an activated identity and a repertoire of five other subscribed identities. As the model runs, agents are able to activate new identities from within their repertoire, trade identities within their repertoire for other identities present in the landscape and even activate on identities present in the landscape but not present in the agents repertoire at the time. If you watch simpleA.mdl run, you can observe this behavior as agents assess their environment, decide what identities are available to them (as dictated by their identity repertoire and the triggers that determine under what conditions an agent will rotate their activated identity, substitute a new identity for a subscribed identity, or activate a new identity from outside the agents' repertoire), and activate on the optimal identity.

Wednesday, April 28, 2010

Primoridialism, Instrumentalism, and Constructivism

In our last two examples, agents in the model represented trees and abstract "live" cells.  But it's easy in agent-based modeling to start thinking of your population of agents as people, rather than abstract entities.  A very common way to view the world is that people are agents in a social environment, meaning that they have the agency to change their behavior according to that world.

Friday, April 23, 2010

Self-Organized Criticality

In 1987, a physicist named Per Bak published a paper in which he and others introduce the term "self-organized criticality".  He developed a machine that dropped grains of sand onto a disk, and counted the number of avalanches which occurred.  He found that most of the time, a grain of sand would hit the pile and only slightly adjust the configuration of grains.  Once in a while, a small avalanche would occur, sending sand right off the disk.  But rarely, an avalanche with a size several standard deviations above the mean would knock the pile down to a fraction of its previous size.  They hypothesized that the sand pile was attracted to a critical state, at which point the next grain of sand could cause a near-complete collapse of the pile.  He also found that the distribution of avalanches followed a power law, meaning that the size of an avalanche was inversely proportional to its frequency over time.  Systems that follow a power law also create distributional fractals, since the distribution is self-similar and scale invariant.

Wednesday, April 21, 2010

PS-I and the Game of Life

Our first step into the PS-I world is to download the program and check it out.  You can download the most recent public version by going to the PS-I Sourceforge site and downloading version 4.0.5 (exe installer).  This installer will by default install the program to your Program Files directory, but you might want to install it into your documents folder or desktop.  The reason for this is that PS-I uses its root folder to look for files, and newer versions of windows do not automatically give writing access to PS-I in the Program Files folder.