Tuesday, June 27, 2006

Repast Model of the week: jEcho

jECHO, created by Brian McIndoe is a new version of the ECHO model of a Complex Adaptive System (CAS) described by Holland using Repast. The aim of the research was to seek insights into CAS behavior in an attempt to evaluate ECHO model mechanisms and properties.

Further information
Brian McIndoe site also contains a copy of the Masters dissertation which describes the analysis, design and implementation of jECHO plus some experimentation and references.

The original source code for the model can be found and downloaded by clicking here

Alternatively, to run a verision of the model click here (Sorry it will only work in Windows). For instructions on how to run a Repast model see the Repast website.

Friday, June 23, 2006

Repast Model of the Week: Repast 2D Model Template

Repast 2D Model Template model created by Michael Schippling based on uchicago.src.repastdemos.sugarscape files. Schippling, removed all but the essential model specific code, and added/edited the comments (quite useful). The source files form a minimal template for any model which uses a 2D torus consisting of a Space and a set of Agents that interact which could then be expanded upon.

About the model

This specific model is just a set of agents that take random walks on a space which has been initialized to have areas that are not penetrable (Green Area). The two rules are that agents can't occupy the same location in the space at the same time (i.e. one agent per cell), and they can't invade any blocked areas of the space. As the agents wander they leave a trace in the space so we can see that, as Random Walk theory posits, they do indeed cover all the territory (areas becoming grey).

Figure showing the agents (red dots), the not penetrable areas (Green Area) and the space (white through to grey for the most walked areas)
The mode also utilizes Repasts Graphing functions. There are Graph and Histogram windows that plot some internal agent values. The Graph shows the total number of collisions over time, and the Histogram shows the distribution of move-directions for each step. They are examples of use, more than useful examples.

The model can also log data from each step to a file named Template_data.txt. This uses Repasts DataRecorder class. Checking the writelog entry in the Settings window before starting a run will enable the log. Again this is more for illustrative purposes than to provide useful data.
Additional Information

Further information about the model can be found here, which includes the source code and more details about the model. To run an executable of the model (if you are using a windows machine) click here.

Tuesday, June 20, 2006

Repast Model of the week: EvoTech model

EvoTech2 is an model exploring Evolutionary Technology: A Repast-Based Causal Approach. Created by Laszlo Gulyas and George Kampis. The Projects research question is “Can you evolve an increasing number of species in a developing ecosystem so that they perform an increasing range of different tasks? The authors write, that current evolutionary simulations cannot do this.” The authors come up with an alternative suggestion. To illustrate their idea they consider evolutionary technology instead of natural evolution. The ultimate goal of the project is to develop artificial organisms that perform increasingly complicated tasks. We are currently in the process of developing a simple test-bed for the causal principles.
Figure is Part of the frameset of the simulation model. It shows population numbers, surviving phenotypes, and their distribution.

The creators developed an agent-based simulation model using the RePast package. Organisms are agents that selectively feed, reproduce and die, based on their phenotypic properties described in variable length records. As adaptation progresses, new property sets extend the records, and as a result, selection can spontaneously switch between the defining properties of an interaction. The aim is to develop functionally disjoint subpopulations specialised for the use of different property sets. The initial results show the possibility of progressive evolution productive of new selection effects, as an illustration for the causal principles of embodiment.

The model has some good features, not only does it use a whole host of repasts core functions it is also clearly commented. The models also demonstrates how to add buttons to the Controller, This is extremely useful, while one can add buttons to custom actions pain these can’t be activated till the model is running. By adding extra buttons on the control bar gets around this problem.

Further Information

Further information about the model can be found on the project website. And some articles about the work here. The original source code can be down loaded from here. Alternatively to run the model on a windows machine click here.

Wednesday, June 14, 2006

GAL Files

GAL files are used in the Repast when using OpenMap. GAL stands for GenePix Array List and which provides an easy way to link between location and the quantitative values that represent each agent (polygon). Basically it is a text file with specific information and used within the program to create an array list. They are easily created using VB in ArcGIS. The GAL file contains information about the number of polygons In the case below it is 0 to 6(the last polygon in the list), the file name (all_data_small) and the column name (ID_ID) where the polygon id can be found (See diagram below). Alternatively can be created using GeoDa, a freely downloadable program designed to implement techniques for exploratory spatial data analysis (ESDA) on lattice data (points and polygons).

An annotated example of a .GAL file and the associated shapefile with the polygons numbered accordingly.