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)

Links

We thought that it might be useful to provide a series of links which helped us with gaining an understanding of both agent-based modelling and GIS:

  • Geospatial Analysis: A comprehensive guide to principles, techniques & software tools for geospatial analysis.
  • Multiagent systems website: news and information about the design and implementation of multiagent systems.
  • OpenABM Consortium: a group of researchers, educators, and professionals with a common goal - improving the way we develop, share, and utilize agent based models.
  • SIMIAN (Simulation Innovation: a Node)

Blogs:
Agent-based Modelling Simulation/modelling systems:

Journals for urban planning, GIS and ABM:

  • JASSS (Journal of Artificial Societies and Social Simulation)
Random
  • MapShaper (line simplification for polygons and polylines)
  • Legion: pedestrian simulation software
  • AuthorMapper a online tool for visualizing the location of scientific research
If any of the links are not working or you think others should be added please let us know.