Cellular Automata with Globally Determined Neighborhoods

Initializing live version
Download to Desktop

Requires a Wolfram Notebook System

Interact on desktop, mobile and cloud with the free Wolfram Player or other Wolfram Language products.

A cellular automaton with global control is one in which the evolution of the system depends not only on the states of each cell and its neighbors but also on some global feature of the system. This Demonstration examines cellular automata in which the global state of the system affects the neighborhoods that each cell examines in determining how to update itself. You choose the initial conditions for the system. In "seed" mode you select an initial state that is all zero except for some small seed. In "random" mode you select a random initial state. You then select one of 256 rules to apply. These are the conventional Wolfram elementary cellular automata. You select a "global truth controller" function. If the value of this function when applied to a row is True, then the neighborhood used to evolve each site on the next iteration is the one you select as the "true neighborhood". If the value of this function when applied to a row is False, then the neighborhood used to evolve each site on the next iteration is the one you select as the "false neighborhood". You also select the number of iterations examined. By checking "colorize" you can color-code the output depending on which neighborhood is being employed.

Contributed by: Seth J. Chandler (March 2011)
Open content licensed under CC BY-NC-SA


Snapshots


Details

The "global truth controller" takes as input the integer obtained by reading the row in binary.

In "seed mode" the automaton is not being run on finite rows with wraparound. Due to space limitations, the Demonstration just shows some central columns of the evolution.



Feedback (field required)
Email (field required) Name
Occupation Organization
Note: Your message & contact information may be shared with the author of any specific Demonstration for which you give feedback.
Send