[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
ABM/Toolkit futures [was: Swarm futures (was Re: GNUstep and MacOS X Por
From: |
Darren Schreiber |
Subject: |
ABM/Toolkit futures [was: Swarm futures (was Re: GNUstep and MacOS X Port Effort)] |
Date: |
Fri, 4 Oct 2002 09:11:00 -0700 |
[I am cross posting this to swarm-modelling to alert the modeling only
folks that an important discussion on Swarm's future (especially as it
relates to modelling) is taking place on the swarm-support list, but I
suggest we leave the discussion on swarm-support]
It has been a while since I have chimed in on the Swarm list. But, I
have been doing a lot of thinking in the past year or so about what I
would want from an agent-based modeling toolkit. My two main concerns
now are teaching and research.
For teaching, the toolkit should be simple to install. The ratio of
postings on this list about installation problems versus usage problems
has always been high. I think there is a positive aspect which means
that once installed, people can be productive with Swarm. But, it is
the barriers of installation that I know can be daunting. Now ease of
installation is important for my research, but I only have to deal with
installing it a few times myself while I expect to have to deal with an
entire classrooms worth of installation problems as an instructor.
For teaching, the toolkit should be modeler friendly/very high level. I
love the fact that I don't have to worry about linked lists or other low
level programming concerns in Swarm. I know that there have been plans
afoot to make Swarm tools that are even higher level in abstraction so
that the time from theory to model is minimized. Having higher level
tools that can routinize the topology of agent-interaction, the creation
and management of agents, the input and output of data, would also help
move our community towards standard ways of doing basic things. Of
course, the modeler should be able to make deviations from standards
when theoretically motivated reasons justify it, but having a standard
way of solving standard problems makes every model transparent. Plus,
this gives tremendous leverage to beginning users who can learn by
simply seeing how the basic units are combined to create new models.
For research, I would contend that the higher level of abstraction would
be a great boon for Swarm. Tools like Starlogo are great because you
can do a simple proof of concept in a very short time. If Swarm had a
level of tools that a user could take to prototype a model very quickly
using many standardized components, I believe that we would all be more
productive. I fantasize about a GUI where I drag some basic decision
making algorithms into my agent icon and then place my agent icon into
one of a number of interaction topologies, set some parameters with
slider bars and then watch the model run. Because it is Swarm based, I
can later go to the core of any of the many modules and make adjustments
that fit my particular theoretic constraints. And, when I publish, my
full description of the model would take very little space. And, when
some curious reader wants to replicate my model, they can build it
themselves in a matter of minutes.
For research, I would also contend that the creation of a model
validation toolkit should be high on our list. At the Agent-Based
Modeling conference at Lake Arrowhead in April, I presented a paper that
organized more than a dozen validation tests from the engineering
literature into four categories: Theory-Model tests, Model-Model tests,
Model-Phenomena tests, and Theory-Model-Phenomena tests. At the
conference I argued that a well designed toolkit could automate many of
these tests and make the scope of validity for models more transparent.
For instance, imagine tools that would automatically sweep the parameter
space in an easily specified manner and report results in a standard
way. Or, a set of docking tools that would put two models through a
standard set of paces and compare their output.
In political science, model validation (as phrased in the question "Why
should I believe anything you say about your model?") is very important
question and I believe a major hurdle for the method and for the modeler
wishing to advance in the field. A high level toolkit with many
standard components could make the development of a standard set of
validation tools a very simple exercise.
Agent-based modeling (and Swarm in particular) has been around long
enough that we could identify some standard "best practices" about how
to model. Many of the core components of models that I have seen are
extremely similar. Swarm already has substantial advantages in
standardization over roll-your-own models. When I was learning Swarm, I
benefited tremendously from the fact that all models had a Main,
Observer, Model, Agent architecture. In later years, some started using
a Parameters object to manage the sweeping of parameters. I would
propose Input, Output, and Topology as other fundamental components.
I would hope that proposing standards is not taken as a desire to impose
one vision on modelers, but as a simple starting point to make teaching
and research substantially easier. I would still hope that Swarm would
retain the power that comes from being able to make low level
adjustments when justified by the context.
Darren
==================================
Swarm-Modelling is for discussion of Simulation and Modelling techniques
esp. using Swarm. For list administration needs (esp. [un]subscribing),
please send a message to <address@hidden> with "help" in the
body of the message.
==================================
- ABM/Toolkit futures [was: Swarm futures (was Re: GNUstep and MacOS X Port Effort)],
Darren Schreiber <=
- Swarm Futures re-cap, gepr, 2002/10/10