Monday, December 11, 2006
New Template
Repast Model of the Week: Fads Model
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.
The original source code of the fads model model can be found:
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
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.
Friday, November 17, 2006
Social Science Applications utilising GIS at the CASA
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
Tuesday, October 17, 2006
Exploring cities using agent-based models and GIS
Abstract:
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.
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
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
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).
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
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
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
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
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
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
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.
Thursday, August 03, 2006
Repast Models of the Week:The SLUDGE and SluGIS models
- Parker, D. C. 1999. "Landscape Outcomes in a Model of Edge-Effect Externalities: A Computational Economics Approach", Santa Fe, NM: Santa Fe Institute Publication 99-07-051 E.
- Parker and Meretsky, 2004, "Measuring Pattern Outcomes in an Agent-Based Model of Edge-Effect Externalities Using Spatial Metrics"; Agriculture, Ecosystems, and Environment 101:233-250.
Tuesday, June 27, 2006
Repast Model of the week: jEcho
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
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 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.
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
Wednesday, June 14, 2006
GAL Files
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
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
Thursday, May 11, 2006
Trove4J
Thursday, April 27, 2006
Repast Model of the Week: The Beer Game
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).
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.
Thursday, April 20, 2006
GIS Journals
Monday, March 27, 2006
Topology and Representation in Repast
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
Cellular Space within Repast
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
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 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
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
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
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
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
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
*Utilising the Repast Software
Car Cruising model: A GIS Example
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
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.