NetLogo User Community Models(back to the NetLogo User Community Models)
|
Download 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
|