|Table of contents|
4.1 3-D network layout
We need network models, including any basic well known models that are considered the standard examples used in teaching and referred to by researchers. These could be gotten from the standard network books, e.g. Barabasi's books.
The Repast demos are a likely source of basic network example we should replicate as well, particularly their JinGerNew and JainModel examples. The latter looks like it would be particularly easy to do.
We need more simple math models: topics that school or freshman/sophmores in high school would be studying. The first thing that comes to my mind is basic algebra...I have no ideas what but that seemed to be the need.
The "Code Examples" section of NetLogo is not all that great -- many of the StarLogoT code examples were not converted ("Mutual Exclusion" and "Order of Execution", for example). "Inspect Patches" and "Inspect Turtles" could be converted now that we have "inspect" in 1.1pre2. And there are probably new features of NetLogo that could use new code examples -- for example, turtle sizes and exact turtle positioning. (Check the code examples folder in "under development", though.)
Go to the Museum of Science and Industry in Chicago, or the Exploratorium in San Francisco, and look for exhibits that could be turned into models... you might see things (either computer-based or not) that could be translated pretty much directly into NetLogo, or you might just be inspired by something.
make a model based off of  (http://volokh.com/2004_04_25_volokh_archive.html#108319321341086042) which talks about a estimated disproportion of the number of male and female children in china in 2040.
the models listed at http://cs.gmu.edu/~eclab/projects/mason/ include many things we already have, but also some things we don't have
the models at http://www.xjtek.com/models/agent_based_models/ include some we have (Segregation, Flocking) and others we don't, including some map-based models. nice production values.
like 'dice' is to 'disease,' there is interesting fun stuff here for future models: http://www.mathdance.org/
[http://www.amazon.com/exec/obidos/tg/detail/-/0691012113/002-1212325-6812815 Self-Organization in Biological Systems] by Scott Camazine has a bunch of associated StarLogo models on the web at http://www.scottcamazine.com/personal/selforganization/starlogo/starlogo.htm . It'd be great to have NetLogo versions of these (some we already have).
David Wade's book Li: Dynamic Form in Nature has a lot of graphics in it that are beautiful and would make good NetLogo models: "...sand and wave patterns, big-cat markings, bark and leaf designs, soap and marbling swirls, crystalline and rock forms, tree branching types..."
there's a bunch of cool starlogo models at http://www.asap.um.maine.edu/starlogo/models/ and cool biology starlogo models at http://www.psu.edu/dept/beehive/R-so/starlogo/starlogo.htm
there's a lot of cellular automata Java applets at http://cell-auto.com/ some of which are ridiculously cool, and more applets that use freely moving particles instead of grids at http://atoms.org.uk/ , all of which are even more ridiculously cool
a site called "Virtual labs in evolutionary game theory" at http://www.univie.ac.at/virtuallabs/ has Java applets of a bunch of NetLogo-type, Prisoner's Dilemma-type models of cooperators and defectors, rewards and punishment, etc.
http://www.theatlantic.com/issues/2002/04/rauch.htm discusses about a half dozen societal models, two of which already exist in NetLogo (Segregation and Wealth Distribution), but the others would make great NetLogo models. There's a model of the sizes of cities, a model of genocide, a model of corruption in economies, and a model of the growth of Anasazi society.
Uri: "I had a fun meeting today with several complexity folks at NWU. Many of them use the Ising model -- Sara Solla uses it in physics and Dan Diermeier uses it for economic and social simulations at Kellogg. Dan has also got a lot of models that he does using time series that could be really fun to do in NetLogo. He has said he would welcome having students from CCL come by and he would explain the models enough to run them." [Ben Shapiro did one of Dan's models, "demonstrations"; it's in under development. He met with Dan, who was very helpful. I think at least one MAM student has done a model with Dan as well.]
some of the Ascape demos would make good NetLogo models (although at least at present [Dec. 2003] Ascape has been pulled from the net, so finding a copy in order to view the demos might be difficult)
Epstein and Axtell's book Growing Artificial Societies: Social Science from the Bottom Up, published in 1996, is a likely source of models
There is also a 3-D version posted to netlogo-users.
a super cool demo of Jim's NetLogo 3-D prototype would be a conversion of Owen Densmore's spring-based network Layout model to 3-D
Owen is already working on this
This looks pretty neat. It's a 1-D CA type model that ought to be straightforward to do in NetLogo as far as I can tell?
- - - - - - - - - - - - - - - - - - - - - - - -> Nature Paper <-
E. M. Rauch and Y. Bar-Yam, Theory predicts the uneven distribution of genetic diversity within species, Nature 431, pp. 449-452, Sept. 23, 2004.
We studied genealogical trees and discovered that they have quite general properties that imply a population will have small groups that are very distinct from all the rest. These small groups are like diversity hotspots that we have been trying to protect in conservation efforts. Since we need to protect biodiversity to ensure species survival, we should identify these small groups and protect them from going extinct.
For more information: http://necsi.org/projects/evolecol/diversity1.html http://necsi.org/projects/evolecol/diversitynaturepr.html http://necsi.org/projects/evolecol/BBCTodayInterview.mp3
Emergence of Prime Numbers as the Result of Evolutionary Strategy, Paulo R. A. Campos, Viviane M. de Oliveira, Ronaldo Giro, Douglas S. Galvo, Phys. Rev. Lett. 93, 098107, 04/08/27
"We investigate by means of a simple theoretical model the emergence of prime numbers as life cycles, as those seen for some species of cicadas. The cicadas, more precisely the Magicicadas, spend most of their lives below the ground and then emerge and die in a short period of time. The Magicicadas display an uncommon behavior: their emergence is synchronized and these periods are usually prime numbers. In the current work, we develop a spatially extended model at which preys and predators coexist and can change their evolutionary dynamics through the occurrence of mutations. We verified that prime numbers as life cycles emerge as a result of the evolution of the population. Our results seem to be a first step in order to prove that the development of such strategy is selectively advantageous, especially for those organisms that are highly vulnerable to attacks of predators."
I've looked at the paper (which is linked from  (http://www.comdig.org/issue.php?id_issue=2004.35#17764)) and the model looks extremely amenable to being implemented in NetLogo.
Make a model that grows realistic looking snowflakes. Wolfram's A New Kind of Science includes some treatment of snowflakes, and there must be other sources out there. (See Hex Cells Example for a very simple snowflake-type model.)
One of the Repast demos, "Hypercycles", would be amenable to NetLogo. It's a social network model that happens on a grid. It's an implementation of the simulation described in John Padgett's "The Emergence of Simple Ecologies of Skill: A Hypercycle Approach to Economic Organization" in The Economy as an Evolving Complex System II, Eds. Arthur, Durlauf, and Lane. SFI Studies in the Sciences of Complexity, Vol. XXVII, Addison-Wesley, 1997, pp. 199-221. the model is also described at: http://faculty.babson.edu/krollag/org_site/org_theory/march_articles/padgett_hyper.html .
Craig is working on this
at http://groups.yahoo.com/group/netlogo-users/message/471 , Robert Axtell writes:
Seth: "I was in San Francisco I visited the Exploratorium and they had a neat working model of a geyser (I mean a real model, made of plastic and water and a heater). Could we replicate this phenomenon using GasLab? We could call it GasLab Geyser."
See http://www.necsi.org/projects/gavin/interact.html for a Java applet version and a page reference to Yaneer Bar-Yam's Dynamics of Complex Systems (http://www.necsi.org/publications/dcs/index.html).
see http://maa.org/editorial/mathgames/mathgames_10_24_03.html : "Worms eat sediment, delineating some sort of path. The 21 November 1969 issue of Science had computer simulations of worms, side by side with images of actual worm trail fossils. The ancient slimetrails enthralled John Conway and Mike Paterson. Mike started drawing algorithmic doodles for worms eating from an isometric grid (sometimes during lectures). His simple rules led to simple patterns for some worms, but many other doodles wound up being decidedly non-simple. Mike Beeler, who worked in the MIT Artificial Intelligence Laboratory, became interested in 'Paterson's Worms', and came up with a method of rendering their patterns on the cutting-edge green CRTs of the era. In 1973, Martin Gardner wrote a column: 'Fantastic patterns traced by programmed worms.' Inspired by this, Sven Kahrkling developed a web page about isometric worms."
See the web page for some nice images of the worms. Note that the page actually contains a plug for NetLogo!
Yet another 1-D cellular automaton. See http://www.necsi.org/projects/gavin/interact.html for a Java applet version and a page reference to Yaneer Bar-Yam's Dynamics of Complex Systems (http://www.necsi.org/publications/dcs/index.html).
Thomas Schmickl has a neat StarLogo model online at http://zool33.uni-graz.at/schmickl/Self-organization/Thermoregulation/Bee_thermoregulation/bee_thermoregulation.html : "This program simulates the cluster formation of bees in times of low ambient temperatures. It represents a comb with a set of bees moving on. Only one bee can be located at the same time on a place (= one patch). While bees move randomly in their preferred temperature range, they move directed when they are outside this range to find places with better environment. Below a certain temperature they fall into a chill coma (cannot move anymore). Moving bees produce heat according to the temperature in the environment. Heat diffuses between patches, whereby chilled bees hinder this flow a bit and therefore have an insulating effect."
It's not too different from the Heatbugs model from the Swarm demos.
Schmickl comments: "Unfortunately, StarLogo does not support differently scaled lattices and is not fast enough for multiple diffusions." Presumably NetLogo fixes the speed problem; not sure whether the differently scaled lattice stuff could be done or not.
Most of Schmickl's other models are in NetLogo, and we've been in regular contact with him. I'm sure he'd welcome help converting his older models to NetLogo.
(from Daniel Diermeier, a Kellogg prof)
"Probably easiest if I explain the project in person. It is about voting in elections with many candidates (like California Recall). The point is to find out how voters can coordinate on one candidate without wasting their vote. If you have students interested in this project, please have the contact Kristen Lueking (Kristen Lueking, firstname.lastname@example.org) to set up a meeting."
from prof. umbanhowar - a physics prof at northwestern:
"I would like to see if anyone can develop a model of granular materials in 2D or 3D (3D preferred). Here are the basic requirements:
model of making a minimal connective network -- is there a way to make it emerge? (like how soap bubbles will find the minimum surface for connecting a wireframe, but in 2d)
Wind, rain, stream flow, etc.
Greg Dunham built one for MAM class in fall 2003, but there are almost certainly other aspects of the phenomenon that could be explored.
seems like this'd make a neat model: http://www.esam.northwestern.edu/~matkowsky/fingering.html
regarding sunflower: I (Seth) got the idea of John H. Conway and Richard K. Guy's The Book of Numbers (pp 113-24). Conway and Guy cite a book called The Algorithmic Beauty of Plants which I don't have. http://www.math.smith.edu/~phyllo/ is a whole website about this stuff. (undoutedly there are other interesting models to be made based on info from these sources)
Ben Shargel sent an E-mail to ccl-models on 7/30/01 and attached a paper that described some theoretical models that are very similar to our Termites model, but more sophisticated; the agents use a technique called LALI (local activation and long-range inhibition). This would make a good new model or set of new models.
This might be very similar, or could be very different: http://www.nature.com/nsu/020708/020708-1.html says: "Ants arrange their dead using the same principles that are thought to produce the markings on animal skin and on tropical sea shells. This is the first clear example of so-called Turing patterns in communities of higher organisms, say researchers Guy Theraulaz of the Universite Paul Sabatier in Toulouse, France, and co-workers."
(see the Fur model for an example of this)
"But no one deer or bee or buffalo decides when the group moves. If democracy means that actions are taken based not on a ruler's preference, but the preferences of a majority, then animals have democracy..." (http://www.nytimes.com/2003/01/14/science/life/14DEMO.html)
Uri: "interesting, though it sounds like some of their models show only the calculated benefits without postulating a mechanism for the 'democracy'. Alife folks have shown a mechanism for birds and fish -- maybe one of us will try to do the same with some of the data in this paper. It could be interesting."
The earthquake stuff at http://www.cz3.nus.edu.sg/~chenk/gem2503_1/lab4.htm seems like it would make a great (and fairly simple) sample model to flesh out our rather thin Earth Science section...
Uri E-mailed ccl-models on 9/5/01 with info on possible models of mixing phenomenon:
Try taking some dry white sand and mixing in a few pieces of metal shot. Shake the sand shot mixture. Would you expect the more dense metal particles to sink to the bottom? The actual result appears to contradict "entropy" as the system becomes more ordered.
See the actual E-mail for more info.
the "Ulam spiral" would make a good model about prime numbers: http://yoyo.cc.monash.edu.au/~bunyip/primes/primeSpiral.htm
Ascape's Firms demo is a model of growing businesses, described in this paper: http://www.brook.edu/dybdocroot/dynamics/papers/firms/
Uri: "One of the student teachers here heard me talk about osmosis related to the local high school. She has 'begged' me to create some NetLogo models of osmosis for her."
10/31/01, Uri sent message to ccl-models with subject "NYTimes.com Article: Particles Are Tiny, but Damage Can Be Great" about how anthrax particles enter the body, and suggested this could be modeled
http://plus.maths.org/issue19/features/liki/index.html says: "Inspiration from Angolan traditional designs: Since the middle of the 1980's I have been analysing mathematical properties of traditional ideo- and pictograms of the Tchokwe population in Angola. Above is an example of a typical Tchokwe pictogram. It belongs to a very particular class of curves that I call 'mirror curves'. I discovered that these curves share interesting mathematical properties, and decided to define the class of designs they generate as 'Lunda-designs'..."
The article includes pretty pictures, too.
Matt Goto writes:
recently i wrote to one of my comp sci profs from college and i remembered that he was interested in the use of graphics in explaining and demonstrating algorithms. if you want to take a look at the software that he is creating go to http://csf9.acs.uwosh.edu/ . there is some info about it there and you can also download it if you like to test it.
anyway, i thought that some good comp sci model ideas would be
using netlogo to graphically display how some algorithms work. i think that this might be able to work out especially for something like merge sort. each of the turtles could be a piece of data in the array (list, etc.) being sorted.
i guess just pick your favorite comp sci algorithm and take a
crack at it. a list of possible algorithms might be: bubble sort, heap sort, quicksort, merge sort, binary search, red-black trees, convex hull problem, and many, many more- if you want more, just pick up a book on algorithms and flip through it. you are bound to find lots that i didn't mention here.
we should make a hubnet version of this game. it's one of my favorites. http://www.setgame.com/set/index.html
http://icosystem.com/game.htm has a nice Java applet, that you could easily reproduce in NetLogo, of a system where the rules are:
You get a lot of interesting emergent behavior out of this.
Scott Styles writes:
with regards to new prisoner's dilemma models: The direction I would take from here were I still at the CCL is as follows:
Create an advanced iterated PD model - Currently the iterated model does not demonstrate many of the conclusions found in Robert Axelrod's 1984 book, The Evolution of Cooperation. The reason for this is the following complex strategies are not used (names taken from the book): DOWNING, REVISED DOWNING, TESTER, TRANQUILIZER, TWO-TIT-FOR-TAT, REVISED STATE TRANSITION, and JOSS. Information on how each of these strategies work can be found in Chapter 2 and Appendix A of the book. Implementation of these is needed to really test the ideas in Axelrod's book. The only additional code that should be needed is that for the new strategies. I would probably make a new model combining those above with the Tit-for-Tat and Random strategies.
I believe with moderate modification two different hubnet versions of the iterated PD could be made:
Create an evolutionary PD model. Modify what is presented to include evolution, allowing poorly performing strategies to die off and good ones to reproduce. The real challenge I see here is figuring out a way to record the histories without needing to search through a turtle's entire history list on each interaction. The prospect of exponential population explosion may also be an issue. The use of patches in a fashion similar to the Basic Evolutionary PD model may provide a way around these issues. Axelrod describes the results of such a program, but my guess is things will not emerge to be as simple as he makes them
The genetic algorithm approach discussed in a paper in Axelrod's most recent book, as mentioned in a previous e-mail of mine to ccl-models along with implementation suggestions, may fit nicely here.
Introduce the concept of noise in interactions. This is where Tit-for-Tat is supposed to fall apart and generous or contrite strategies emerge as superior.
Two ideas I had for prisoners dilemma models that I definitely will not be able to get to but I think would be cool:
The classical prisoner's dilemma does not include the concept of miscommunication. Code a PD model with noise and strategies to handle it. Guide the user to understanding the implications of this.
Axelrod discusses using a genetic algorithm to evolve a "best" prisoners dilemma strategy. Basically, each interaction is coded in the form XY where X and Y are the actions of the individual and their partner respectively. 1 stands for cooperate, 0 stands for defect. Each agent's strategy consists of a gene which is a list of all possible interactions that could have occurred in the past Z turns, with each situation associated with a reaction:
For example, a gene for an agent that only looks at the last turn (this particular one would code for tit for tat) :
00 : 0 01 : 1 10 : 0 11 : 1
Evolution in the form of mutation and recombination is allowed for the best strategies to emerge. Initially I had thought this too memory intensive for NetLogo, but then realized if we store genes in binary, as well as interactions, it extends to use the list primitives beautifully.
For instance, the above gene would become:
set gene [0 1 0 1]
and reference to what to do in the case 10 would simply be
set action (item 2 gene)
If each agent has an N element list storing Z interactions with each of the other turtles, and a 2^(2*Z) element list storing each gene we can have turtles which handle 4 turn histories, exactly as in Axelrod's book. Assuming item does not just cdr down the list, the only limiting factor is storage of the genes.