NetLogo banner

 Home
 Download
 Help
 Resources
 Extensions
 FAQ
 References
 Contact Us
 Donate

 Models:
 Library
 Community
 Modeling Commons

 User Manuals:
 Web
 Printable
 Chinese
 Czech
 Japanese

  Donate

NetLogo User Community Models

(back to the NetLogo User Community Models)

totalistic2dCA

by suslik (Submitted: 12/30/2010)

[screen shot]

Download totalistic2dCA
If clicking does not initiate a download, try right clicking or control clicking and choosing "Save" or "Download".(The run link is disabled because this model uses extensions.)

WHAT IS IT?

This is a totalistic 2 dimensional cellular automata explorer.

HOW IT WORKS

Patches get new states by summing up the states of their 8 closest neighbors and the state of themself and looking up the corresponding value in the rule array.
It is possible for the patch not to change its state. In that case the corresponding value in the rule array would be the boolean "false".

Rules can be:
1)evolved
2)expanded
3)changed manually
4)gotten from examples

HOW TO USE IT

BASICS:

go:
start the program

states:
how many different states can there be

new-rules:
Makes completely new rules

random-values:
random patch values

mutate-rules:
mutate the rules based on current rule

shuffle-colors:
shuffle coloring array

world:
switch active world (or rule)

examples:
Example rules. Just push initiate-example to view some interesting rules.

setup:
Restarts the model. There is no need to press this unless you encounter some crazy errors i think

ADVANCED:

death-state:
The state used for background or the most common patch state. This is used in several places.

density:
The chance of a state being something else instead of the death-state

Algorithm-choice:
Depending on the nature of the rule one algorithm may be better than the other

custom:
custom patch values upon pressing random-values defined by the list state-values

change%:
Max % of rule to change. There will always be at least one change

death%:
Chance of 0 being a new value in mutated rule instead of any other value

balance:
If balance is 0.5 then the maximum amount of 0's in a rule with 3 states is random ((9 * 3) * 0.5). Amount of 1's will be random ((9 * 3) - amount of 0's) * 0.5. Special value "false" will never be a part of initial rules. Unused spots will be populated with 0's and the result will be shuffled

get/set:
get the current rule or set the current rule on the rule input field.

expand-rule:
To get a nice overview of what this does:
1)initiate-example 0
2)get the rules and remember them well (or copy them somewhere)
3)now enter [2] as levels and press expand-current
4)get the rules and compare to the previous rule from point 2)
5)enter [1 2] as levels and expand-previous
6)get the rules and try to understand what happened

patch-state and drawing:
should be self-explanatory

superspeed:
no color updates

THINGS TO TRY

Try to evolve some interesting rules from scratch.

EXTENDING THE MODEL

Easy :
1)Allow the user define custom neighborhoods
2)Fix bugs (there should be errors)

Normal:
Find more efficient ways to navigate CA world. Maybe another tool besides evolving or expanding the rules or a tweaked version of those 2.

Hard :
Find more efficient general algorithms. Many CA have oscillators that make the patches switch states periodically. There may be a speed increase possibility

NETLOGO FEATURES

There is no need to shuffle the patches, but "ask agentset" construct (like many other agentset related consturcts) does that by default and this takes valuable time when there are 40 thousand patches. Shuffeling is avoided with:
http://groups.yahoo.com/group/netlogo-users/message/6599

RELATED MODELS

Cellular automata group in Netlogo models library

(back to the NetLogo User Community Models)