CAUS is a cellular automaton simulator (its name is an acronym of Cellular AUtomaton Simulator). Cellular Automata is a microstructure modeling, according to Wikipedia, "a cellular automaton consists of a regular grid of cells, each in one of a finite number of states, such as on and off (in contrast to 6B93 a coupled map lattice)."
Rulestrings, according to LifeWiki, "are a way of describing the behavior of various classes of cellular automaton in the form of a string." B/S notation is a rulestring that defines the rules of birth (B) and survival (S): B{number list}/S{number list}. This notation allows to simulate the birth of a cell, survival or death. Each item needs a list of number of neighbors that make dead cells to come alive (be born) or make live cells to remain alive (survive).
Dependencies:
- C++17;
- CMake 3.13.
To build the project, go to the root and, through terminal, run the following commands:
mkdir build
cd build
cmake ..
Then, type the following command to run CAUS (see the samples):
./caus <cellular-automaton-file>.yml
Example:
./caus samples/cheshire_cat.yml
Or generate a random world and set the rulestring manually by using the follow command:
./caus -rand <width> <height> <string_rule> <max_number_of_generations>
Example:
./caus -rand 20 20 B3/S23 20
This project is licensed under MIT license - see the LICENSE file for details.