Main Page
From PandaWiki
PLEASE NOTE THIS WIKI IS UNDER CONSTRUCTION - PLEASE REVISIT US IN A FEW WEEKS
Contents |
Introduction
The Panda project is an attempt to bring together many 'models' that describe the world. It comprises this Wiki and the related Panda simulation software for creating and running simulations of models. By 'models' we mean computer simulations that capture some aspect of the real world and allow us to play with it to gain insight about the real world.
The hope is that people who are 'domain' experts in some area, will take the trouble to build models in their field and put them up here. The rest of us can then hope to understand that field better by downloading the models and running simulations.
Simulations and Models
Simulation of the type covered by the Panda project is generally known as discrete event simulation.(Here's the Wikipedia article on it). This means the simulation 'clock' moves in steps (rather than continuously) as the simulation proceeds.
There could be other types of simulations, perhaps some that do not involve time at all. These are not covered here.
Simulation involves a series of entities, a set of starting conditions and the interaction rules between these entities. Suppose we take the simple example of three countries (or groups of countries), which all trade with each other. They each produce services and products which they sell to each other, according to the rules of demand and supply. In this case, the entities would be the countries, the starting conditions might by the amount of foreign exchange reserves they have, and the interaction rules would be the rules of demand and supply.
In practice, one builds simulations in some computer program or programming language. The actual description of a particular simulation (i.e. its entities, inititial conditions, and interaction rules) are specific to that program or language, and comprises the 'model' itself.
What do we want as the output of a simulation ? It seems this does not have a straightforward answer - sometimes I may want to know the value of a single simulation variable (e.g. the foreign exchange reserves of each country), sometimes it might be the evolution of one or more variables over time. It may even be that I derive value ('aquire knowledge') out of the simulation by watching how some aspect of a simulation 'run' changes over time (perhaps the physical location, colour, or size of an 'entity') .(Eg. Life).
The Panda Simulation Laboratory
Of course you may run simulations in your favourite language or package. There are other simulation packages available (See SimPy). What's different about Panda ?
- Presentation - How a simulation evolves over time is often what helps us understand it. Panda therfore makes all simulation entities and their values available as an animated presentation. Many on-screen 'gadgets' can be attached (e.g graphs) to entities in order to see how they evolve.(See demo: Trading Example)
- Interactive Development - Building model requires a substantial amount of trial and error for the rule writing part. Panda therefore incorporates a simple development environment that allows one to incrementally build, stop and debug, and then continue.
- Scripting - Interaction Rules are written in the Bean Shell scripting language (almost exactly Java), so that there is no separate compile step. This makes the edit/run cycle faster.
Having said all that, we believe the value of simulation is in the knowledge incorporated in the model, not the package itself. So feel free to upload models in your favourite package here. Just make sure you describe how to download, install and run the model.
Available Models
Each model resides in its own page. The page describes what the model is about, and also contains a 'Panda' software description of the model. You will need to use the panda simulation software to run the model.
If you create your own models, add them to the list here:
- Economic
- Cellular Automation

