Difference between revisions of "Modeling in Numerus"
Line 22: | Line 22: | ||
Chip structure and usage in NumerusMB may best be understood through example. Click [[Using_Chips:_Example|here]] for an example of using a preexisting model (from the Model Library) and manipulating the ideas of model layers and chips. | Chip structure and usage in NumerusMB may best be understood through example. Click [[Using_Chips:_Example|here]] for an example of using a preexisting model (from the Model Library) and manipulating the ideas of model layers and chips. | ||
==Population Model 101== | |||
See the [[Example_1:_Simple_Population_Model|Simple Population Model]] tutorial in the Model Library. This tutorial demonstrates fundamental NumerusMB usage, including how to operate the Graphical User Interface, or '''GUI''', and its algorithmic and mathematical design. You will see basic usage of the ''Modeling Canvas'' and the ''Dashboard'' as well as NumerusMB's intuitive mathematical design. | See the [[Example_1:_Simple_Population_Model|Simple Population Model]] tutorial in the Model Library. This tutorial demonstrates fundamental NumerusMB usage, including how to operate the Graphical User Interface, or '''GUI''', and its algorithmic and mathematical design. You will see basic usage of the ''Modeling Canvas'' and the ''Dashboard'' as well as NumerusMB's intuitive mathematical design. | ||
Revision as of 21:38, 20 January 2018
In Modeling 101 you were introduced to the various paradigms and concepts of computational modeling. Here we discuss how these are realized in Numerus.
Basic Model Design in NumerusMB
It is important to grasp the extent of the NumerusMB platform in order to implement powerful and complex dynamical system and agent based models. As described above, NumerusMB provides an impressive range and versatility of components to effectively execute both Dynamic Systems and Agent Based models. In addition, NumerusMB has the capability to implement designs using specialized analysis like Perceptrons and other Neural Network prediction algorithms. To utilize NumerusMB's capabilities we must first understand the basics of NumerusMB's Chip component and Population Models.
Dynamical Systems Models in NumerusMB
In NumerusMD we use the Stock and Flow objects. Stocks represent a pool of what we are measuring: infected population, nitrogen in lake water, and so on. Flows represent the movement of what we are measuring from one stock to another. This would be the flow of people from uninfected to infected population, or nitrogen from lake water to the algae population. Flows can also represent a source or sink of our measured quantity. A Source flow could represent immigration and births adding people, while a Sink flow would could represent people's deaths. Similarly a Source for nitrogen could represent runoff from farmland.
Spatial Models in NumerusMB
Spatial models in NumerusMB use a CellMatrix to represent the landscape of the simulation. The Cell is the fundamental unit of analysis. A CellMatrix maintains an array of cells in either a Cartesian or Hexagonal lattice topology, in which individual cells are aware of both their location and their neighborhoods. Conway's Game of Life [citation] is an example of such a model, with the cells “alive” and “dead” depending on the state of each individual cell's neighbors. Each cell's behavior is individually programmed as a Capsule, which is then assigned to the CellMatrix.
Agent Based Models in NumerusMB
Agent based models in NumerusMB are models that make use of an AgentVector. The AgentVector contains the population of Agents, as well as their location. In addition, NumerusMB includes Simworlds and Networlds. A SimWorld combines an AgentVector with a CellMatrix that provides a landscape. The Networld component uses a NodeNetwork for the same purpose. The SIR model is an example of an agent vector, with agents moving about an open space in three possible states, Susceptible, Infected, and Recovered. The Antz model is a more complicated model that uses both an agent vector and a cell matrix in order to simulate how ants collect food and leave a path for other ants to follow in order to find the same food.
NumerusMB has a lot of tools that make agent based models simpler and more robust. In particular, it is very easy to have access to all agents and cells from each individual agent, and to incorporate a wide variety of local and global effects. It also makes it simple to set up multiple Sim Worlds in order to see various outcomes simultaneously. It is also built on arrays and methods, which makes it simple to work on a small level to tweak the model to the user’s liking. On the other hand, the visual side of NumerusMB makes it so that it is easy to quickly and efficiently set up the shell of an agent based model and immediately get down to the more important details involved in the model. A savvy NumerusMB programmer will begin an agent based model visually and slowly transition over to handling the methods and functions in a more programming heavy reference frame.
Network Based Models in NumerusMB
Chip Basics
As the NumerusMB Glossary states, a Chip is a Container component which contains a single Capsule instance. A Capsule is a prototype for a simulation unit. It contains base components and may contain other chips, inputs, and / or outputs. These definitions may appear a bit vague or broad, however, that is simply because Chips and Capsules are widely used in a variety of ways within NumerusMB.
Chip structure and usage in NumerusMB may best be understood through example. Click here for an example of using a preexisting model (from the Model Library) and manipulating the ideas of model layers and chips.
Population Model 101
See the Simple Population Model tutorial in the Model Library. This tutorial demonstrates fundamental NumerusMB usage, including how to operate the Graphical User Interface, or GUI, and its algorithmic and mathematical design. You will see basic usage of the Modeling Canvas and the Dashboard as well as NumerusMB's intuitive mathematical design.
- Jump into NumerusMB's Operational Semantics here.
- Get a run through of NumerusMB's GUI here.