Monday, December 11, 2006

New Template

We have just moved over to the new blogger template which makes it possible to search for themes within the blog. Just click on any word next to the word labels for any post and get all posts on a similar theme.

Repast Model of the Week: Fads Model

The Fads Model from Tom Carter is a well commented model utilizing some of Repasts core functions including OpenSequenceGraph, OpenHistogram (histogram), reading in a .pgm for the space, and uses Object2DTorus for the underlying agent grid. The model writes information out using the DataRecorder object

Similar to other Repast Models, the typical way to code a simulation is to divide up the creation of the simulation into three methods - buildModel(), buildDisplay(), buildSchedule(). This division is not strictly necessary, but it does make the creation conceptually clearer and this is what the Fad model does

The buildModel() method is responsible for creating those parts of the simulation that represent what is being modeled. Consequently, the agents and their environment are typically created here together with any optional data collection objects. Of course, this method may call other methods to help build the model.

There are also a few other Repast models available from Tom Carters website: NinaNet, NinaNet2, and WealthModel.

Further information

The original source code of the fads model model can be found:
http://csustan.csustan.edu/~tom/SFI-CSSS/2005/FadsModel/
The model can either be run as a .jnlp (ie using Java web start therefore works on any OS) from:

Or run as an executable by clicking here (Sorry it will only work in Windows). For instructions on how to run a Repast model see the Repast website.

Friday, November 24, 2006

Developing a Prototype Agent-Based Pedestrian Evacuation Model to Explore the Evacuation of King’s Cross St Pancras Underground Station

Here is a working paper, which is a modification of the one Christian presented at Agent 2006, entitled “Developing a Prototype Agent-Based Pedestrian Evacuation Model to Explore the Evacuation of King’s Cross St Pancras Underground Station.

London’s King’s Cross St. Pancras underground station has been the unfortunate location of two major incidents within the last twenty years. A fire in November 1987 and the terrorist bombing in July 2005 both resulted in the loss of lives, and the injury of many people. The implementation of measures to mitigate or neutralise the effect of all possible future incidents at this site is unrealistic. The adoption of preparedness measures is crucial for the emergency services to limit the loss of life and property, and to improve the response phase of an incident. King’s Cross St. Pancras underground station is currently being redeveloped, partly to mitigate the remaining few operational and safety issues identified after the 1987 fire, and also to allow for a predicted increase in passenger use. Despite these modifications and improvements, both the surrounding built environment and the station will necessarily remain complex structures. The local emergency services have several duties placed upon themselves in the event of a major incident at this site, and a computer based model capable of examining the effects of different incident assumptions or contingencies has been identified as potentially beneficial to the local National Health Service resilience planning department. The specific aim of this paper is to provide the reader with an overview of this research project. To begin, the aims and deliverables are identified. In light of these, principles of pedestrian evacuation modelling are presented, highlighting a shift in approaches: from aggregate movement, to individual-level movement and behavioural models. The feasibility of using a proprietary pedestrian evacuation model to achieve the research goal is discussed. This is followed by an agenda for developing an agent-based pedestrian evacuation model using the Repast toolkit. This paper concludes with progress of the prototype model to date.

Keywords: Pedestrian evacuation modelling, Agent-Based Modelling, Repast toolkit, London’s King’s Cross St. Pancras underground station.


The paper is available for download at the CASA website under working papers. Alternatively click here.

Friday, November 17, 2006

Social Science Applications utilising GIS at the CASA

The other day I was invited by the Scottish Executive Geographical Information Service (SEGIS) to give a keynote speech at their meeting entitled “Innovative Methods: The Role of GIS in Government Social Research.” The aim of the meeting was to demonstrate to social researchers within the Scottish Executive the opportunities that exist with GIS.

The talk I presented was based on a number of GIS research applications from CASA and was entitled "Social Science Applications utilising GIS at the Centre for Advanced Spatial Analysis"

For those who are interested, a .pdf of the talk can be downloaded from here.

I would like to thank those at CASA that gave me some material for the talk.

Wednesday, November 01, 2006

Switching Servers

We just had to switch servers, We have tried to update all the links but if any of the links don’t work please let us know and we sort it out.

Tuesday, October 17, 2006

Exploring cities using agent-based models and GIS

Here is a working paper, which is a modification of the one I presented at Agent 2006, entitled “Exploring cities using agent-based models and GIS.”


Cities are faced with many problems such as urban sprawl, congestion, and segregation. They are also constantly changing. Computer modelling is becoming an increasingly important tool when examining how cities operate. Agent based models (ABM) allow for the testing of different hypotheses and theories for urban change, thus leading to a greater understanding of how cities work. This paper presents how ABMs can be developed by their integration with Geographical Information System (GIS). To highlight this, a generic ABM is presented. This is then applied to two model applications: a segregation model and a location model. Both models highlight how different theories can be incorporated into the generic model and demonstrate the importance of space in the modelling process.


Keywords: Agent-Based Models, Repast, GIS, Segregation, Bid Rent.


The paper is available for download at the CASA website under working papers. Alternatively click here.

Crooks, A. T. (2006), Exploring Cities Using Agent-Based Models and GIS, Centre for Advanced Spatial Analysis (University College London): Working Paper 109, London, England. (pdf)

Thursday, October 12, 2006

Repast Simphony

Whilst still being maintained RepastJ, Repast.Net and RepastPy have now reached maturity and are no longer being developed. They have been superseded by Repast Simphony (RepastS) which provides all the core functionality of RepastJ or Repast.Net, although limited to implementation in Java. The Repast development team have provided a series of articles regarding RepastS. The architecture and core functionality are introduced by North et al. (2005a), and the development environment is discussed by Howe et al. (2006). The storage, display and behaviour / interaction of agents, as well as features for data analysis (i.e. via the integration of the R statistics package) and presentation of models within Repast S are outlined by North et al. (2005b). Tatara et al. (2006) provide a detailed discussion outlining how-to develop a “simple wolf-sheep predation” model; illustrating RepastS modelling capabilities.

References:

Howe, T.R., Collier, N.T., North, M.J., Parker, M.T. and Vos, J.R. (2006), 'Containing Agents: Contexts, Projections, and Agents', Proceedings of Agent 2006 Conference on Social Agents: Results and Prospects, Chicago, USA.

North, M.J., Howe, T.R., Collier, N.T. and Vos, J.R. (2005a), 'The Repast Simphony Development Environment', Proceedings of the Agent 2005 Conference on Generative Social Processes, Models, and Mechanisms, Chicago, USA.

North, M.J., Howe, T.R., Collier, N.T. and Vos, J.R. (2005b), 'The Repast Simphony Runtime System', Proceedings of the Agent 2005 Conference on Generative Social Processes, Models, and Mechanisms, Chicago, USA.

Tatara, E., North, M.J., Howe, T.R., Collier, N.T. and Vos, J.R. (2006), 'An Introduction to Repast Simphony Modeling using a simple Predator-Prey Example', Proceedings of the Agent 2006 Conference on Social Agents: Results and Prospects, Chicago, USA.

Repast Simphony can be downloaded from the Repast website.

Tuesday, October 10, 2006

Principles and Concepts of Agent-Based Modelling for Developing Geospatial Simulations

Christian and I have just finished writing a working paper entitled “Principles and Concepts of Agent-Based Modelling for Developing Geospatial Simulations

The aim of this paper is to outline fundamental concepts and principles of the Agent-Based Modelling (ABM) paradigm, with particular reference to the development of geospatial simulations. The paper begins with a brief definition of modelling, followed by a classification of model types, and a comment regarding a shift (in certain circumstances) towards modelling systems at the individual-level. In particular, automata approaches (e.g. Cellular Automata, CA, and ABM) have been particularly popular, with ABM moving to the fore. A definition of agents and agent-based models is given; identifying their advantages and disadvantages, especially in relation to geospatial modelling. The potential use of agent-based models is discussed, and how-to instructions for developing an agent-based model are provided. Types of simulation / modelling systems available for ABM are defined, supplemented with criteria to consider before choosing a particular system for a modelling endeavour. Information pertaining to a selection of simulation / modelling systems (Swarm, MASON, Repast, StarLogo, NetLogo, OBEUS, AgentSheets and AnyLogic) is provided, categorised by their licensing policy (open source, shareware / freeware and proprietary systems). The evaluation (i.e. verification, calibration, validation and analysis) of agent-based models and their output is examined, and noteworthy applications are discussed.

Geographical Information Systems (GIS) are a particularly useful medium for representing model input and output of a geospatial nature. However, GIS are not well suited to dynamic modelling (e.g. ABM). In particular, problems of representing time and change within GIS are highlighted. Consequently, this paper explores the opportunity of linking (through coupling or integration / embedding) a GIS with a simulation / modelling system purposely built, and therefore better suited to supporting the requirements of ABM. This paper concludes with a synthesis of the discussion that has proceeded.

Key Words: Agent-Based Modelling (ABM), agent-based models, geospatial / spatially explicit modelling, verification, calibration, validation, Geographical Information Systems (GIS), linkage (coupling or embedding / integration).


The paper is available for download at the CASA website under working papers. Alternatively click here.

Full Reference: 
Castle, C. J. E. and Crooks, A. T. (2006), Principles and Concepts of Agent-Based Modelling for Developing Geospatial Simulations, Centre for Advanced Spatial Analysis (University College London): Working Paper 110, London, England. (pdf)

The RedfishGroup


RedfishGroup is an organization of complexity researchers, software developers and business professionals applying Complex Adaptive Systems to business and government agencies. What is really amazing about the group is their approach to modelling, combing ABM to other techniques such as GIS and producing highly visual and informative models.

Santa Fe on Fire:

Santa Fe on Fire: Agent-based modelling of wildfire evacuation dynamics was presented by Stephen Guerin at Agent 2006. The project for the City of Santa Fire Department integrating wildfire simulation and ABM of traffic dynamics. ArcGIS was used for preparing the data sources, NetLogo was used for prototyping the wildfire models and the network-based traffic models along with using FARSITE and Blender3D for further model development. Results from the model where outputted to Google Earth and QuickTime.

Pittsburgh PNC Baseball Stadium

The Pittsburgh project explored Crowd Dynamics with an Agent-Based Model, and used to study evacuation from the Baseball Stadium. For example modelling the emergency scenario involving a bomb exploding in seats and subsequent disaster scenes that the explosion triggered inside and outside the ballpark.


The projects listed also have the added advantage of sharing their source code, which I personally believe is really great, as it allows others to learn. The ability to carry out ABM in a highly visual and interactive manor allows the modellers to communicate ideas and theory to the public. For example in the case of Santa Fe on Fire, the visualisations evacuation dynamics were used to communicate with citizens dangers faced during evacuations and to explore when shelter-in-place is a reasonable alternative to evacuation.

Extra Links:

Pittsburgh Stadium project
Santa Fe on Fire project
NetLogo traffic simulation

Wednesday, September 27, 2006

Repasts Raster GIS and Sugar Scape models

Following on from Christians ‘How to create a .pgm file from an .ascii file’ post I thought it would be useful to provide some models that show how this type of information can be loaded into Repast. Repast provides two models that use images that to create the basis of artificial worlds: the Sugar Scape model and a GIS Model (based on Raster data).

The GIS Model (top image), uses the RasterSpace class and reads in a .txt file (e.g. an .ascii file that can be outputted from ESRI ArcGIS. While the Sugar Scape Model (bottom image) reads in a .pgm file to great a Object2Dtorus space

The original source code for both models can be accessed through the RepastJ download. Alternatively, one can run the Sugar Scape or GIS Model by clicking these links (sorry these models will only run on a windows operating system)

Tuesday, September 26, 2006

Talks

Life has been quite hectic for the last couple of weeks. We just come back from Chicago where we attended the Repast Training workshop which introduced us to Repast symphony (which looked quite cool) along with both presenting our work at the Agent 2006 Conference. I gave a paper titled “Exploring Cities Using Agent-based Models and GIS” and Christian’s paper was called “Using Repast to Develop a Prototype Agent-based Pedestrian Evacuation Model.” These papers will be available for download from the agent 2006 website soon.


This week Christian and I are off to Oxford to present at a workshop called: Complexity and Dynamics: Volatility & Stability in City & Regional Systems, which is part of the European Conference on Complex Systems 2006. The workshop focuses on urban dynamics, along with volatility and stability in city and regional systems. Our paper is entitled “From Pedestrians to Cities: Exploring Urban Systems through Agent-Based Modelling”

PLAN C

PLAN C: Planning with Large Agent-Networks against Catastrophes

New York University Bioinformatics group are using Repast to develop a agent based model simulation framework able to simulate the emergency responses in urban settings entitled PlanC. Catastrophic scenarios simulated include bomb explosion, the spread of small pox and food poisoning. The tool is intended to devise plans (such as time to recovery) for such scenarios based on the modelling of a large number of individual agents. The Models incorporate GIS data with agent based modelling (utilizing Repast)


Further reading/references such as the study of food poisoning in Brazil, or a hypothetical Sarin attack within Manhattan can be seen on the project website, along with a software demo. The site also claims the software will be available soon.

Friday, August 25, 2006

Slowing Repast simulations

Occasionally, one might want to slow a Repast simulation, say to observe change within your model at a slower pace. There is no built in functionality in Repast to do this. However slowing a simulation down can be achieved using the Tread.sleep comand in the model code. This comand slows (stalls) the program for a specific period of time

You could put this code in your model's stepping function (the function called every 'tick'), or some other place that would be called whenever an action occurs. The argument to sleep is the number of milliseconds you would like your program to sleep. See the Repast emailing list comment by Vos for futher information.

public void step() {
// do normal functionality in step

try {Thread.sleep(100); // sleep a tenth of a second
} catch (Exception ex) {
// ignore this exception
}
}

Alternativly one could alter the speed of the simulation durring the model run eg:

public void step() {
// Pause the simulation according the selected speed
if(simulationSpeed <100){
try {
Thread.sleep(10 * (100 - simulationSpeed));
} catch (InterruptedException e) {
}
}


To hava an adjustable simulation speed, you may want to create say a slider (as the picture shows). To do this include the following bit of code in this in the setup() method:

public void setup(){
// Adjust the simulation speed durring the model run


class SimulationSpeedListener extends SliderListener {
public void execute() {
simulationSpeed = value;
}
}
modelManipulator.addSlider("Simulation speed", 0, 100, 10, new SimulationSpeedListener());

}

Where simulationSpeed refers to a int set in the main program.

Tuesday, August 22, 2006

Regional Science

I just attended Regional Science Annual conference in Jersey, where I presented a paper entitled ‘Experimenting with cities, integrating Agent-Based Models and GIS: Applied to segregation’ The abstract of the talk was:

Cities are faced with many problems such as urban sprawl, congestion, crime, segregation, etc. They are also constantly changing. Computer modelling is becoming an increasingly important tool when examining how cities operate. Agent-Based Models (ABM) provide an environment to test different hypotheses and theories to urban change based on the individual behaviours of agents, thus leading to a greater understanding of how cities work.

This paper presents the development of generic agent-based simulation model for the examination of urban issues focusing on the integration of Geographical Information Systems (GIS) and ABM where space plays a central role, for past ABM have been criticised for not being spatial as they have been developed outside geography in other social sciences (Torrens 2003). The model allows for global patterns emerging from local interactions of individual agents. Using the generic framework, models can be developed rapidly to examine urban issues. One of the types of models will be presented: a segregation model. The model was created with only minor alterations to the basic model structure, highlighting how this approach can be applied to different styles of urban models.

Batty et al. (2004) write that it is hard to find clear examples of segregation process taking place, because it only becomes noticeable when it is clearly underway, and by then a detailed chronology becomes impossible to reconstruct. Schelling (1969) presented a model on the emergence of segregation where he showed that with mild preferences to locate amongst like demographic or economic activity groups, strict segregation would emerge unknowingly. This segregation is all too clear when one walks around the urban area, there are clusters of economic groups and residential groups based on ethnicity or social class.

To highlight this idea of segregation based on simple tastes and preferences, a simple segregation model has been created inheriting much of the features from the generic model. Individuals are given the same initial starting conditions but different preferences for their neighbours. What is clear is that with different percentages of similarity wanted, different patterns will emerge. However these patterns change as time passes, as the agents move to find areas in which they are happy to live in, thus changing the composition of the neighbourhood and the overall appearance of the system. Unlike the traditional segregation models, space is not restricted to discrete homogenous cells, more than one agent is allowed per area, and more intelligent movement, and searching mechanisms are introduced (e.g. agents don’t just move to random locations or the nearest empty cell). System dynamics are introduced with agents entering and leaving the system. To conclude the paper will present future avenues of research.

The PowerPoint of the talk can be downloaded from here:

Wednesday, August 09, 2006

How to create a .pgm file from an .ascii file

Creating a .pgm (portable greymap) file from an .ascii (ESRI Grid format) file, and vice versa, is a very simple task; if you know how to. I stumbled across this problem when I was trying to construct an Object2DGrid within the agent-based modelling toolkit Repast. There are three ways to construct an Object2DGrid: 1) specify the X and Y dimension; 2) construct from an input stream; or, 3) construct from a file. At present only a .pgm file can be read in as a stream or from a file location. This is fine if you wish to create a very basic agent space similar to those available in the Repast demo’s (e.g. Sugarscape) using a graphic’s package (Adobe Photoshop, Paintshop Pro, or GIMP (freeware) can all save as a .pgm file format). However, what happens if you have a raster file within a GIS (e.g. a digital elevation model, DEM), and you wish to use this within you repast model. For example, ArcGIS can only export a raster file (using ArcToolbox) as an .ascii file format. This is awkward because once you have converted a file to .ascii you can no longer view, or edit the file in ArcGIS, or any graphics package. Fortunately, there is a quick solution; just alter the header of the file and change the file extension and to .pgm and you will be able to open and edit the file in a graphic package..

This may seem far fetch, but this situation can arise. For example, Figure 1 is a .shapefile of a building floor plan. This was converted from ‘feature to raster’ using ESRI’s ArcToolbox so the ABM could use the underlying cell values to dictate the movement of the agents (Figure 2). Unfortunately, the raster file can only be exported as an .ascii file from ArcGIS. Figure 3 is a screen capture of the file viewed as text. However, the file can be converted by altering the header in Figure 3 to the header in Figure 4, and changing the file extension from .ascii to .pgm. The value ‘P2’ in the first line is always required, and ‘260’ and ‘260’ refer to the number of columns and rows, while the value in the third line refers to the highest value within the file (for scaling the values to be displayed). The third row should be set as either: 1, 3, 7, 15, 31, 63, 127, or 255. If this value is set considerably larger than the highest value within the file there will be less differential between the values (in terms of grey) to be displayed, and this may result in the image appearing as completely black.

Figure 1: ArcGIS .shapefile of a building floor plan.
Figure 2: Original .shapefile converted to a raster.

Figure 3: Raster file exported as .ascii file format.


Figure 4: Raster file altered to a .pgm file format

Thursday, August 03, 2006

Repast Models of the Week:The SLUDGE and SluGIS models

The SLUDGE model (Simulated Land Use Dependent on Edge Effect Externalities) was developed by Dawn Parker. The combines a simple cellular automaton and agent-based model which was designed to study the joint influence of distance-dependent spatial externalities and transportation costs on patterns of land use. Further information on her work can be found at discussed in the following papers:
A Repast model of SLUDGE has also been programmed by Robert Najlis. The source code for the original model can be downloaded from here. Alternatively if you viewing this post on a computer using windows, you can run the model directly by clicking here.
Robert Najlis has also developed a model called SluGIS which is a closely-related model of of SLUDGE. With the major distinction as it is a move away from the cellular space used in the previous model. SluGIS runs on a vector landscape. Robert Najlis has used Repast GIS functionally (and produced the same model both ESRIs and OpenMap interfaces of Repast).
A modified OpenMap version can be run by downloading the following and unzipping the following Shapefile package (download Shapefiles) and storing it to disk. Then by running the model by clicking here and choosing the shapefile you just saved to disk.
The original java files for the OpenMap and ESRI SluGIS models can be found here. A modified ESRI version which was created by Michael Leamy can be downloaded from here. All that needs to be done is to change the path names for the .shp file, the .gal file, and the refresh call. Look for this in SluGISEsri.java.
For more information on Repast GIS see the Repast website “How to use GIS data with Repast”.

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.

Friday, May 26, 2006

Repast Model of the week: GeoSim

International Conflict Research (ICR) group at the Centre for Comparative and International Studies (CIS) Zurich, has numerous Repast models which can be downloaded. Click here to see the models available and for further details. These models use a whole host of Repasts functionality and spaced (from networks to grids).

One model is GeoSim (see Cederman 2003 for more information). GeoSim represents an agent based computational model of an inter-state or world system where sovereign countries (nation-states) are composed of capitals and provinces and interactions determine the rise and fall of territorial agents. The ICR provides a simplified version of the model which can be downloaded.

Further Information

The original source code of the GeoSim model can be found by clicking here.

For further information on the context of GeoSim see: Cederman L-E 2003 "Modelling the size of wars: from billiard balls to sand piles", American Political Science Review, 97(1), 135-150. A copy of the article can be found by clicking here.

To run the model as an executable click here (Sorry it will only work in Windows). For instructions on how to run a Repast model see the Repast website.

Thursday, May 11, 2006

Trove4J

I have just discovered a java library called Trove, which allows you to plug in their versions (eg THashMap) of certain containers (java.util.HashMap, java.util.HashSet, java.util.LinkedList), and use them just like you would with the standard versions gaining performance. For example the THashMap class is a faster than java.util.HashMap. Trove also comes when you download Repast.

Thursday, April 27, 2006

Repast Model of the Week: The Beer Game

I thought it would be quite useful to keep track of the Repast models I find, I have found by looking at other peoples code a good way of learning about Repast. It is also a bit of an experiment, how many models are out there.

For the models I intend to create an executable created using exe4J (a simple piece of software that converts jar files into executables, if you like the idea of this you can download a free trial version). Initially I wanted to use Java Web Start but I have been having issues creating an executable jar with only the code needed and not all the other Java classes. I have tried using Repasts’ JarBuilder but I cant seem to get it to work (if you know how to create a simple jar especially using JarBuilder please drop me a line).

For each model I also intend to supply as much information as possible, i.e. who created the model, where I downloaded it from (i.e. the source code) and related articles and links that I find along the way as I not trying to take credit of the models.


The Beer Game
The "beer game" agent-based model is a classic supply chain exercise. Created by Michael North to illustrate how the ABM approach can be used and to show how a simple model can reveal important insights. North recreates Sterman’s “Beer Game” simulation from its original Systems Dynamics implementation (Sterman 1989) to an agent-based simulation using Repast.

The supply chain consists of four stages: factories, distributors, wholesalers, and retailers who respond to customers’ demand by executing behaviors. The flows of goods and information in the form of orders between stages (agents) as well as physical shipments are included in the model, but the flows of payments and the additional complexities of pricing, negotiation, and financial accounting that this would entail are not included. However, Macal and North (2005) note that these aspects of supply chain agent behavior could easily be incorporated in the agent-based version of the supply chain model. supply chain agents only have access to local information. Within the model no agent has a global view of the supply chain or is in a position to optimize the system as a whole. Agents adopt decision rules that only this local information in making their decisions.

“The goal of the agents in the model is to manage their inventory in such a way as to minimize their costs through judicious decisions based on how much to order each period. When inventories are too low and there is a danger of running out of stock, agents order more; when inventories are too large and agents incur high inventory holding costs, agents order less. Each agent incurs a cost when holding stock in inventory, the inventory holding charge. Agents also incur a backorder charge when they receive an order and cannot immediately meet that order because they have no stock. Each agent strikes a delicate balance between having too much inventory, which runs up inventory holding costs, and too little inventory, which puts the agent at a greater risk of running out of stock and incurring excessive backorder charges (Macal and North, 2005)”.

“The results of the agent-based supply chain model exactly duplicate the results from Sterman’s original Beer Game Simulation. The “Bull-Whip” effect, observed in real supply chains, is observed even in this highly simplified supply chain model (Macal and North 2005)”. Macal and North (2005) also note this agent-based model is a very useful foundation for more realistic models of supply chains, such as models based on supply network topologies and alternative agent decision rules.


Further information

The original source code of the model can be found http://sourceforge.net/project/showfiles.php?group_id=60538
While further information on the model including a UML diagram of the model structure can be found at http://valuenetwork.sourceforge.net/

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.

Thursday, April 20, 2006

GIS Journals

There are numerous GIS journals that I find quite interesting. These include Transactions in GIS, International Journal of Geographical Information Science, Environment and Planning B and the Journal of Maps. A good trade GIS magazine is Geoconnexion

On a side note there are also a host of GI associations such as AGILE (Association of Geographic Information Laboratories Europe) which seeks to promote academic teaching and research on GIS at the European level. AGILE also has a yearly conference where proceedings are available online.

Monday, March 27, 2006

Topology and Representation in Repast

The use of GIS vector data has the advantage giving realism to models. Within Repast there are numerous ways of creating and calculating topology (e.g. which polygons are next to which polygons or which polygon a certain point is within). For representing the model (i.e. the displaying of vector data like maps). There are also numerous ways as can be seen below using either Repast.J or Repast.Net :

Topology and Representation with Repast.J
Within the current version of Repast (3.1) to represent vector (points, lines and polygons) topology the user has a few options with a set of predefined Repast classes (anl.repast.gis libraries).

The open source root which has no reliance in ESRI (means people who don’t have ArcGIS can still use programs once created) . You can use the OpenMap Java library which can be used both for both topologic calculations and for representations – (however within OpenMap its all in a Lat/Lon structure (decimal degrees which is an issue for representing small areas such as pavements but it is possible (more on this in the future). Another option is to use OpenMap for representation (display of the model) and JTS 1.4 topology suite for calculations (which I use and find it OK but tricky at times due to the precision of decimal degrees for small areas but the calculations appear to be easier). A third option is to code a representation tool by yourself or find one such as OpenJump but this requires a lot of effort.

If you want to use ESRI along with options in Java, you can use JTS 1.4 for calculations and Agent Analyst for representation (display). Agent Analyst is a tool developed by the Repast team, to refresh the ArcGIS 9.x screen after every Repast step. Problem here is that the shapefiles need to be preloaded into ArcGIS before starting the model so one can visualise the change.


Topology and Representation with Repast.Net

ESRI option using Visual Studio, you can use JTS1.4 topologic suite - Vivid Solutions is now also available as GeoTools.NET for Visual Studio (C# and Visual-Basic) which includes all the Java Geotools functionality. However Repast 3.1 .NET does not yet support GIS (no anl.repast.gis libraries therefore saving and creating shapefiles is also made slightly trickier) and no C# interface for Agent Analyst. You can write your own classes for GIS functionality in Repast.NET choosing any ESRI (MapObjects, ArcEngine etc) or other available .NET vector representation tool. For topologic calculations you can use either Geotools.NET or any ESRI product. However this is for the keen programmer who does not want to use Java.

Spaces in Repast

Space plays an important role with regard to simulation modelling especially in social sciences. Space has two purposes within simulation models, one to contain a collection of agents (e.g. the world). Secondly to define spatial relationships of agents relative to each other (A classic example would be of Conway’s Life Model) Repast offers the user 3 different types of space: cellular, GIS vector and network. I don’t know much about network space (apart from nodes, edges etc) so will focus on the other two: Cellular and GIS vector space.

Cellular Space within Repast

Repast has built in functions for Cellular Space which allows the user to use Repasts standard displays. With Repast the user has the choice of two boundaries that of a normal grid or Torus (allows rap- around). The cell’s shape can be either Regular (i.e. square) or hexagonal (sometimes used in pedestrian modelling). Cell's can contain one object or a collection of agents

Cellular space also includes Raster Space (inbuilt functions for reading ASCII & .pgm files) see the Repast GIS Model or Dan Browns Sluce Model for more information on raster space. For more information on Cellular Automata check this working paper out: How Cellular Models of Urban Systems Work. (1. Theory) by Paul Torrens and another good paper on CA is: Examples in Cellular Models of Urban Systems by David O’Sullivan Paul Torrens. For more information on Cellular space within Repast visit the Spaces Overview section on the Repast website


Vector GIS in Repast

More complicated (as it has its own set of specific packages) but highly adaptable. Agents can either be: Points (Generic agent in Repast talk) or Polygons (Vector agent). The difference being vector agents are static (i.e. don’t move) but do provide detailed boundaries. Both can be combined, like in the work I am doing.

Unlike cellular space the use of vector space needs its own displays e.g.: ESRI or OpenMap. However one can use other Java Displays (e.g. OpenJump) but more programming effort is needed. Check out my next post for a more detailed description of Vector GIS within Repast. For more detailed information on GIS integration with Repast, see the Repast: How to use GIS data with Repast webpage

From using Repast, it appears that for fast simulations, it is better to use cellular space also cellular space in my opinion is easier to code however there are many limitations with using it when trying to represent objects. For example agents are a fixed shape or size, can only move in certain ways etc.

Monday, March 13, 2006

Surname Profiler

The SurnameProfiler from UCL 'Spatial Literacy in Teaching' Website allows family name enthusiasts to make searches on the geography of the most frequent 25,000 surnames in Britain (between 1881 and 1998). Maps show their historic and current distributions in Great Britain (as seen the the left and below). The website also gives other information on family names. For example, the surname Crooks there were 230 occurrences in 1881 and 3535 (1226 increase) in 1998. In 1881, Crooks were over represented in the Midlands but by 1998 had moved north. In 1881, Crooks was ranked the 1936 popular surname while in 1998 it had risen to 1725. The surname Crooks ideriveded (origninated) from Celtic; Irish; Other Northern Irish

The website was designed to investigate the distribution of surnames in Great Britain, both current and historic, in order to understand patterns of regional economic development, population movement and cultural identity. This website allows users to search the databases that they have created, and to trace the geography and history of their family names.

The spatial literacy website also had a very good conference the other day called ‘Spatial Literacy in Teaching: Communicating GIScience’. 8 speakers presented a range of recent developments in spatial analysis, software and pedagogy. Including Professors Batty and Longley (from UCL), Janelle, (University of California, Santa Barbara), David Maguire (ESRI Inc., Redlands, CA). All their presentations can be downloaded from the spatial literacy website.

Thursday, March 02, 2006

OpenJUMP

A friend of mine has just switched from using OpenMap to OpenJUMP (Java Unified Mapping Platform) and what he showed me was very impressive. Especially as he is integrating it with Repast. OpenJUMP is an open source GIS software written in Java. It is based on JUMP GIS by Vivid Solutions. It is developed and maintained by a group of volunteers (quite impressive). OpenJUMP is a Vector GIS but can read rasters as well.

Basic GIS functions include: built in drawing and geometry editing tools, attribute query, a set of selection tools, image export in Scalable Vector Graphics (SVG) format, a tool to zoom to a user defined map scale, it can show multiple layers dependent on the current map scale. It also has the ability to read and write shapefiles. Sounds like a good Open Source GIS.

Wednesday, March 01, 2006

GIS, Spatial Analysis, and Modeling Book


I have just been reading a book called GIS, Spatial Analysis, and Modeling Book, which I found very interesting and informative. Its focused with modelling and spatial analysis within a GIS framework. Its quite good at giving the current state of play for GIS and agent based modelling in a series of articles (as it was published in 2005). There are plenty examples of model applications ranging from: environmental, atmospheric, hydrological, urban, social, health, and economic models, which I found most useful. There are even a few mentions of Repast along with other ABM toolkits.

Tuesday, February 28, 2006

Strands of Repast

There are currently three flavours/strands of Repast: RepastPy, RepastJ and Repast.Net. All have the same core services, which allow ABM to be developed on top of but they differ on their underlying platform and development languages. For all applications basic programming knowledge is needed.

RepastPy
RepastPy is the most graphical way to create models via GUI and Python scripting language (platform independent). It was designed for rapid development and prototyping of basic models and to learn the Repast framework (Possibly could be described like Repasts equivalent of NetLogo.) If more complex models are required after using RepastPy, models can easily be exported to Java if more complex models are desired. When a simulation is initiated in RepastPy, the familiar Repast GUI opens to allow dynamic access to simulation and agent parameters. It appears that RepastPy is the basis of Agent Analyst.
 
RepastJ
RepastJ Is the Java based strand of Repast (therefore it is platform independent therefore models created with this are extremely portable). RepastJ contains an extensive list of core classes (including GIS functionality). Unlike RepastPy you need to use an IDE (such as Eclipse or netBeans) to write, edit, compile and debug your programs. Once a model is written and compiled in RepastJ it run on any computer with JVM. Most models, it appears are being developed in RepastJ.

Repast.Net
Repast.Net is implemented in C# (Microsoft's answer to Java). Repast simulations can be implemented in any .Net language (VB.Net, C++, J#, C#, etc. ) and integrated to create Windows-based applications. Unlike RepastJ, at present there are no inbuilt GIS functions therefore need to link (e.g. ESRI MapObjects). Nor is Repast.Net platform independent. It’s good if you don’t want to know Java but still want to use Repast.

Which one to use? It’s up to you. If you want your Repast models to be portable you may need to use Java. RepastJ and RepastPy both have inbuilt GIS classes unlike the current .NET version. Most people appear to be using the Java version and I can’t find many examples of people using the .NET version (but in theory the .NET version should be faster than Java)

Getting Started with Repast


After spending the last 6 months or so developing a Repast model I am finally getting to understand it. A few colleagues of mine have been wondering whether or not to use Repast, and where they could find a few examples of papers or models from the web. I thought I would write some brief notes down of what web pages and links I have found useful.

Apart from the Repast Website (which has quite a few example models), other good sites includes John. Murphy’s Repast Tutorial. He also provides a good Java basics webpage. What I liked about this tutorial, is the step by step instructions on creating a Repast model (which uses a lot of the basic Repast features) and then making the model more complicated and sophisticated as the tutorial develops.

For other examples which you need to compile and run from your computer see Dan Brown’s Sluce Model, a good example of the use of Raster Space. Another website which I have found most useful is Lars-Erik Cederman's International Conflict Research website from the Swiss Federal Institute of Technology in Zurich. This site has some great examples of models created in Repast which you can download and ‘play with’ and some really useful reading material in the form of slides on topics such as Java, Repast and ABM.


*to follow the links (underscored text) just click

Sunday, February 26, 2006

Repast: What is it?


Repast is a free, open source open source library of classes for creating, running, displaying and collecting data from agent based simulations. Repast is fully Object Oriented (allows for software modularisation) and was created at the University of Chicago. Open source is important issue (at least to me) as if something does not exist, you can create it or if there is a problem can alter or fix it.

Repast seeks to support the development of extremely flexible models of agents with an emphasis on social interactions. Users build simulations by incorporating Repast library components into their own programs or by using the visual Repast for Python Scripting environment. Standardised tools/features include: the toolbar and GUI for manipulating parameters, outputting data (e.g. histograms, time series ploys) and displaying agent interaction. These collections of tools are extremely useful for simulation modelling but they don’t have to be used. In my view this makes Repast extremely flexible and extendable. You still need to program (so some programming experience is necessary or a willingness to learn), but less time is given to GUI development therefore more time for model development.

Tuesday, February 21, 2006

Agent Based Modelling Platforms

Object Orientated languages have changed the way we can model system, modelling platforms are also changing the way we go about modelling. There are a whole host of ABM platforms, packages and one off systems. being or have been developed. The most popular appear to be Swarm, NetLogo, StarLogo, Ascape, Repast and OBEUS. OBEUS is a new boy however it is not Open source, but shareware. It was designed by Benenson and developed by Kharbash from Tel Aviv University. OBEUS is based on the theory of Geographic Automata Systems (GAS), developed by Benenson and Torrens in their book “Geosimulation –Automata-Based Modelling of Urban Phenomena” (2004). The question one has to ask is which one, one should use?

These toolkits provide the user with a set of reusable model components etc. Which is a good thing as there are many one off models which are lost to researchers once a project is over. I wanted a toolkit that provided GIS integration along with being open source. For this reason I chose Repast.

Agent Based models at CASA

A few of us at CASA presented our work on ABM in January to a collection of people from both academic and private sector, Kay Kitazawa (Presented by Mike Batty in her absence) talked about “Agent-Based Analysis for Patterns of Children’s Activities”*. John Ward talked about “Pedestrian Dynamics: Models of Pedestrian Behaviour.” Vassilis Zachariadis presented his work on “An Agent-Based Approach to the Simulation of Pedestrian Movement and Factors that Control It*.” Christian Castle, presented his work "A Decision Support System for Evacuation using Agent-Based Simulation to evaluate the Kings Cross Redevelopment"*. Joana Barros (of Birkbeck formally a CASA PhD student) presented her PhD: "Urban Dynamics in Latin American Cities: An Agent-Based Simulation Approach"*. While I gave an overview talk on Repast entitled "An Introduction to the Repast Software" and another on my models I am developing for my PhD: “Integration of Agent-Based Simulation and GIS: Applied to Segregation"*. A full program and PowerPoint slides can be seen at: http://www.casa.ucl.ac.uk/repast/

*Utilising the Repast Software

Car Cruising model: A GIS Example


A good example of where GIS can be introduced into a model, is for dynamic car cruising within the Santa Fe downtown area. The model was created by Stephen Guerin, Simran McKenna and Dayoung Jung using NetLogo.

The background map of the model is the result of converting GIS data into an image, initally a jpeg file. It was then converted into a text format image file: PPM (portable pix map) consisting of three RGB values for each pixel. These were converted into NetLogo color values using the import-ppm procedure. The data was cleaned up a bit within Netlogo itself with the cleanup-map procedure, then written to an external data file via the export-dat procedure. Finally, for this version of the model, the data written out in the preceeding step was cut & paste into the model as an array of integer values. See http://backspaces.net/hacks/23/netlogo-cruising-model for a blog entry on the topic.

The model itself simply manages automobiles driving on the map staying on the "streets" by using the patch colors as guide. The cars randomly choose side streets as they see them, choosing to turn roughly 1/3 of the time in the move-forward procedure. It chooses its next location by seeing if it should turn as just described, or by choosing a forward direction in a set of increasing angles of forward cones.

The model works by the agents being initialized on a street at a random location. They then use a simple move-forward proceedure to choose a reasonable next location.

Monday, February 20, 2006

About GIS and Agent-Based Modeling

This post is now out of date. Please use the tabs above to find more about this site. The post is  kept for nostalgic reasons.

GIS and Agent-based modeling is written by Dr Andrew Crooks, it aims at highlighting and examining the latest advances in the fields of agent-based modeling and GIS.

When Andrew is not writing the blog, he is an assistant professor in the Department of Computational Social Science and a researcher in the Center for Social Complexity which is part of the Krasnow Institute for Advanced Study at George Mason University. Andrew teaches courses in urban systems, GIS and agent-based modeling.

Andrew is also a honorary research member at the Centre for Advanced Spatial Analysis (CASA), University College London.

His research interests relate to exploring, understanding and the communication of urban built and socio-economic environments using geographic information systems, spatial analysis, geovisualisation and agent-based modelling methodologies.

A relatively up to date CV can be found here .

Any thoughts or comments are always welcome and feel free to drop us a line via the contact link on the top of the page.

Social Networks: Facebook || LinkedIn || academia.edu || Twitter

Below is a list of some of the papers of the work to date, broken down into categories. There are a few new papers coming soon which will be featured in the blog in the coming months. The rest of the papers should be able to be tracked down via a Google Search. If you can’t find them just drop me a line and I can email you the work.

Book Chapters

Crooks, A. T. (in press), The Use of Agent-Based Modelling for Studying the Social and Physical Environment of Cities, in De Roo, G, Hiller, J. and Van Wezemael, J. (eds.), Complexity and the Planning of the Built Environment, Ashgate.

Crooks, A. T., Hudson-Smith, A. and Patel, A. (in press), Advances and Techniques for Building 3D Agent-Based Models for Urban Systems, in Marceau D. and Benenson, I. (eds.), Advanced Geosimulation Models, Bentham Science Publishers.

Hudson-Smith, A., Batty, M., Crooks, A. T., and Milton R. (2010) Neogeography and the Power of the Crowd: Networks and Map Hacks, in Madhuri, V. (ed.) User Generated Content: Regulatory Dimensions, Amicus Books, Hyderabad, India, pp 122-147. (pdf)

Castle, C. J. E., Crooks, A. T., de Smith, M. J., Goodchild, M. F., and Longley, P. A. (2009), Geocomputational Methods and Modelling, in de Smith, M. J., Goodchild, M. F., and Longley, P. A. (eds.), Geospatial Analysis: A Comprehensive Guide to Principles, Techniques and Software Tools (3rd Edition), The Winchelsea Press, Winchelsea, UK pp 445-519. (web version)

Hudson-Smith, A. and Crooks, A. T. (2009), The Renaissance of Geographic Information: Neogeography, Gaming and Second Life, in Lin, H. and Batty, M. (eds.), Virtual Geographic Environments, Science Press, Beijing, PRC, pp 25-36.

Castle, C. J. E., Crooks, A. T., de Smith, M. J., Goodchild, M. F., and Longley, P. A. (2007), Geocomputational Methods and Modelling, in de Smith, M. J., Goodchild, M. F., and Longley, P. A. (eds.), Geospatial Analysis: A Comprehensive Guide to Principles, Techniques and Software Tools (2nd Edition), The Winchelsea Press, Winchelsea, UK, pp 383-450.

Journal Articles

Crooks, A. T. (2010), Constructing and Implementing an Agent-Based Model of Residential Segregation through Vector GIS, International Journal of Geographical Information Science, 24(5): 661-675. (pdf)

Batty, M., Hudson-Smith, A., Milton, R. and Crooks, A. T. (2010), Map MashUps, Web 2.0 and the GIS Revolution, Annals of GIS, 16(1): 1-13. (pdf)

Crooks, A. T., Hudson-Smith, A., and Dearden, J. (2009), Agent Street: An Environment for Exploring Agent-Based Models in Second Life, Journal of Artificial Societies and Social Simulation: 12 (4). Available at http://jasss.soc.surrey.ac.uk/12/4/10.html

Hudson-Smith, A., Crooks, A. T., Gibin, M., Milton, R., and Batty, M. (2009), Neogeography and Web 2.0: Concepts, Tools and Applications, Journal of Location Based Services, 3(2) 118 - 145. (pdf)

Masucci, A. P., Smith, D., Crooks, A. T. and Batty, M. (2009) Random Planar Graphs and the London Street Network, The European Physical Journal B, 71 (2): 259-271. (pdf)

Hudson-Smith, A., Batty, M., Crooks, A. T., and Milton R. (2009), Mapping Tools for the Masses: Web 2.0 and Crowdsourcing, Social Science Computer Review: 27 (4): 524-538. (pdf)

Hudson-Smith, A. and Crooks, A. T. (2008), Building Space in the Machine: Digital Tool Kits for Mirror Worlds, AGORA: Dutch Journal for Social-Spatial Questions, 2008(4): 27-29. (pdf)

Crooks, A. T., Castle, C. J. E., and Batty, M. (2008), Key Challenges in Agent-Based Modelling for Geo-spatial Simulation, Computers, Environment and Urban Systems, 32(6): 417-430. (pdf)

Book Reviews

Crooks, A. T. (2010), Crooks on Albeverio, Andrey, Giordano and Vancheri (eds.): The Dynamics of Complex Urban Systems: An Interdisciplinary Approach, Applied Spatial Analysis and Policy, 3(1): 75-7. (pdf)

Crooks, A. T. (2009), Crooks on Foth: Handbook of Research on Urban Informatics: The Practice and Promise of the Real-Time City, Environment and Planning B, 36 (5): 946-947. (pdf)

Crooks, A. T. (2008), Crooks on North, Macal: Managing Business Complexity: Discovering Strategic Solutions with Agent-Based Modelling and Simulation, Crooks on Rennard (ed.): Handbook of Research on Nature-Inspired Computing for Economics and Management, Environment and Planning B, 35(6): 1117-1132. (pdf)

Working Papers and Technical Reports

Masucci, A. P., Smith, D., Crooks, A. T. and Batty, M. (2009) Random Planar Graphs and the London Street Network, Centre for Advanced Spatial Analysis (University College London): Working Paper 146, London, England. (pdf)

Hudson-Smith, A., Batty, M., Crooks, A. T., and Milton, R. (2008), Mapping for the Masses: Accessing Web 2.0 through Crowdsourcing, Centre for Advanced Spatial Analysis (University College London): Working Paper 143, London, England. (pdf)

Hudson-Smith, A. and Crooks, A. T. (2008), The Renaissance of Geographic Information: Neogeography, Gaming and Second Life, Centre for Advanced Spatial Analysis (University College London): Working Paper 142, London, England. (pdf)

Crooks, A. T. (2008), Constructing and Implementing an Agent-Based Model of Residential Segregation through Vector GIS, Centre for Advanced Spatial Analysis (University College London): Working Paper 133, London, England. (pdf)

Crooks, A. T. (2007), Experimenting with Cities: Utilizing Agent-Based Models and GIS to Explore Urban Dynamics, PhD Thesis, University College London, London, England.

Crooks, A. T. (2007), The Repast Simulation/Modelling System for Geospatial Simulation, Centre for Advanced Spatial Analysis (University College London): Working Paper 123, London, England. (pdf)

Crooks, A. T., Castle, C. J. E. and Batty, M. (2007), Key Challenges in Agent-Based Modelling for Geo-Spatial Simulation, Centre for Advanced Spatial Analysis (University College London): Working Paper 120, London, England. (pdf)

Castle, C. J. E. and Crooks, A. T. (2006), Principles and Concepts of Agent-Based Modelling for Developing Geospatial Simulations, Centre for Advanced Spatial Analysis (University College London): Working Paper 110, London, England. (pdf)

Crooks, A. T. (2006), Exploring Cities Using Agent-Based Models and GIS, Centre for Advanced Spatial Analysis (University College London): Working Paper 109, London, England. (pdf)

Crooks, A. T. (2002), Mapping out the Future: Extending the Mapping Capabilities of the Gazetteer for Scotland, MSc Thesis, University of Edinburgh, Edinburgh, Scotland.

Reviewed Conference Papers/Presentations (*Denotes Speaker(s))

*Hudson-Smith, A., M., Milton, R., Crooks, A. T. and Batty, M. (2009), Crowd Sourced Data for the Social Sciences: Web Based Services and Real-Time Geographic Surveys. 5th International Conference on e-Social Science, Cologne, Germany. (pdf)

*Crooks, A. T., Hudson-Smith, A., M., Milton, R., and Batty, M. (2009), Crowdsourcing Spatial Surveys and Mapping, in Fairbairn, D. (ed.), Proceedings of the 17th Geographical Information Systems Research UK Conference, Durham University, England, pp 263-269. (pdf)

*Slingsby, A., Dykes, J., Wood, J. and Crooks, A. (2009), The Role of Layout and Order in Treemaps for Showing Spatial and Temporal Variation in House Prices. GeoViz, Hamburg Germany. (pdf, website)

Crooks, A. T., *Smith, D. A., and Theseira, M. (2008), The Fine Scale Spatial Dynamics of the Greater London Housing Market, in Lambrick, D. (ed.), Proceedings of the 16th Geographical Information Systems Research UK Conference, UNIGIS, Manchester Metropolitan University, England, pp. 117-124. (pdf)

*Crooks, A. T., Castle, C. J. E., and *Batty, M. (2007), Key Challenges in Agent-Based Modelling for Geo-spatial Simulation, in Demšar, U (ed.), Proceedings of the 9th International Conference on Geocomputation, National Centre for Geocomputation, National University of Ireland, Maynooth, Ireland. (pdf)

Crooks, A. T. (2006), Exploring Cities Using Agent-Based Models and GIS, Proceedings of the Agent 2006 Conference on Social Agents: Results and Prospects, University of Chicago and Argonne National Laboratory, Chicago, IL. (pdf)

Crooks, A. T. (2006), Experimenting with Cities Using Agent Based Models, in Priestnall, G., and Aplin, P. (eds.), Proceedings of the 14th Geographical Information Systems Research UK Conference, The University of Nottingham, England, pp. 240-243. (pdf)

Castle, C. J. E., Crooks, A. T., *Longley, P.A., and Batty, M. (2006), Agent-Based Modelling and Simulation using Repast: A Gallery of GIS Applications from CASA, in Priestnall, G., and Aplin, P. (eds.), Proceedings of the 14th Geographical Information Systems Research UK Conference, The University of Nottingham, England, pp. 237-239. (pdf)

*Theseira, M. and Crooks, A. T. (2005), The Relationship between Population, Employment and Accessibility in London, in Billen, R., Drummond, J., Forrest, D., and Joao, E. (eds.), Proceedings of the 13th Geographical Information Systems Research UK Conference, University of Glasgow, Scotland, pp. 169-174. (pdf)

Invited Presentations

Crooks, A. T. (2006) Social Science Applications Utilising GIS at the Centre for Advanced Spatial Analysis, Innovative methods Seminar: the role of Geographic Information Systems (GIS) in Government Social Research. Scottish Executive, 15th November, Edinburgh, Scotland. Keynote speaker. (pdf)

Crooks, A. T. (2006), Understanding how Cities Work - Using Agent-Based Modelling to Simulate Urban Change, London and the Local Economy, Greater London Authority Economics Unit Seminar, 1st June, London, England. (pdf)

Other Presentations/Conferences (*Denotes Speaker(s))

*Crooks, A. T. and Smith, D. (2010), From Buildings to Cities: Techniques for the Multi-Scale Analysis of Urban Form and Function, The Association of American Geographers (AAG) Annual Meeting, 14th -18th April, 2010, Washington, DC. (pdf)

Torrens, P., Batty, M., *Crooks, A. T. and Hudson-Smith, A. (2009), Visualization in Agent-Based Modeling, North American Association for Computational Social and Organization Sciences (NAACSOS) Annual Conference, 23rd -24th October, Tempe, AZ. (pdf)

*Masucci, A. P., Smith, D., Crooks, A. T. and Batty, M. (2009), Random Planar Graphs and the London Street Network, International Conference on Network Science, 2nd -3rd July, Venice, Italy. (pdf)

*Batty, M., Hudson-Smith, A., Crooks, A. T., Milton, R. and Smith, D. (2009), Visualizing, Communicating, and Modeling Spatial Data in the Social Sciences, 35th Annual International Association for Social Science Information Service and Technology (IASSIST) Conference, 26th -29th May, Tampere, Finland. (pdf)

*Crooks, A. T. and Hudson-Smith, A. (2009), Agents in the City: Modeling and Visualizing Emergent Phenomena, The Association of American Geographers (AAG) Annual Meeting, 22nd -27th March, Las Vegas, NV. (pdf)

*Crooks, A. T. and Hudson-Smith, A. (2008), Techniques and Tools for Three Dimensional Visualisation and Communication of Spatial Agent-Based Models, Agent Based Spatial Simulation International Workshop, 24th -25th November, Paris, France. (pdf)

*Crooks, A. T. and Smith, D. A. (2008), Exploring London's Housing Market and Built Environment through Fine Scale Modelling, 2008 ESRI Europe, Middle East and Africa International User Conference, 26th - 28th October, London, England. (pdf)

*Crooks, A. T. and Smith, D. A. (2008), Mapping and Visualizing Fine-scale Data, Social Infrastructure Planning and the Community Infrastructure Levy: Providing a Robust Evidence Base Workshop, University of East London, 17th October, London, England.

*Hudson-Smith, A. and Crooks, A. T. (2008), Neogeography, Gaming and Virtual Environments, Association of Geographic Information (AGI) GeoCommunity '08 Conference, 24th - 25th September, Stratford-upon-Avon, UK. (pdf)

*Batty, M. and *Crooks, A. T. (2008), Visualisation, Simulation and Agents: New Techniques for the Visualisation and Communication of Models, Digital Geography in a Web 2.0 World, 15th September, Urbis Museum in Manchester, England.

Batty, M., Hudson-Smith, A., Milton, R., Dearden, J., and *Crooks, A. T. (2008), Neogeography: Disseminating Geographic Content with Web 2.0 Technologies, Royal Geographical Society (with the Institute of British Geographers) Annual International Conference 2008, 27th -29th August, London, England.

Crooks, A. T. (2008), The Building Blocks of the City: Points, Lines and Polygons, Royal Geographical Society (with the Institute of British Geographers) Annual International Conference 2008, 27th -29th August, London, England.

Crooks, A. T. (2008), Using Geographically Explicit Agents to Explain and Explore Urban Phenomena, The Association of American Geographers (AAG) Annual Meeting, 15th - 19th April, Boston, MA.

Crooks, A. T. (2007), The Repast Simulation/Modelling System for Geospatial Simulation, Agent-Based Models for Spatial Systems in Social Sciences & Economic Science with Heterogeneous Interacting Agents (ABM-S4-ESHIA) workshop, 17th-22nd September, Agelonde, La Londe les Maures, France.

*Batty, M. and *Crooks, A. T. (2007), Validating and Verifying Agent-Based Models: For Planning and Public Policy Analysis, e-Social Science Agenda Setting Workshop: "Improving Evidence Based Policy Decisions: Piloting the Application of Advanced Computer Modelling Techniques to Real Life Policy Problems", 9th February University of Birmingham, England.

*Castle, C. J. E. and *Crooks, A. T. (2006), From Pedestrians to Cities: Exploring Urban Systems through Agent-Based Modelling, in Jost, J., Reed-Tsochas, F. and Schuster, P. (eds.), Complexity and Dynamics: Volatility and Stability in City and Regional Systems Workshop at the European Conference on Complex Systems: Towards a Science of Complex Systems, 25th -29th September, Oxford, England.

Crooks, A. T. (2006), Integration of Agent-Based Simulation and GIS: Applied to Segregation, Royal Geographical Society (with the Institute of British Geographers) Annual International Conference 30th August 1st September, London, England.

Crooks, A. T. (2006), Experimenting with Cities, Integrating Agent-Based Models and GIS: Applied to Segregation, 36th Annual Conference of the Regional Science Association International. British and Irish Section, 16th - 18th August Jersey, Channel Islands.

Paper in Professional Magazines

Batty, M., Hudson-Smith, A., Crooks, A. T., Milton R. and Smith D. (2009) New Developments in GIS for Urban Planning, Geospatial Today, June: 40-43. (pdf)