Skip to content

Companion repo for my blog post about Wolfram's elementary cellular automata

License

Notifications You must be signed in to change notification settings

avyfain/automata

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

5 Commits
 
 
 
 
 
 
 
 

Repository files navigation

automata

rule30

A companion repo for my blog post about Wolfram's elementary cellular automata.

Currently requires Python 3.x, and no other dependencies.

Usage

To run with the default arguments, just run:

$ python3 wolfram.py
Using rule 30
                                      █
                                     ███
                                    ██  █
                                   ██ ████
                                  ██  █   █
                                 ██ ████ ███
                                ██  █    █  █
                               ██ ████  ██████
                              ██  █   ███     █
                             ██ ████ ██  █   ███
                            ██  █    █ ████ ██  █
                           ██ ████  ██ █    █ ████
                          ██  █   ███  ██  ██ █   █
                         ██ ████ ██  ███ ███  ██ ███
                        ██  █    █ ███   █  ███  █  █
                       ██ ████  ██ █  █ █████  ███████
                      ██  █   ███  ████ █    ███      █
                     ██ ████ ██  ███    ██  ██  █    ███
                    ██  █    █ ███  █  ██ ███ ████  ██  █
                   ██ ████  ██ █  ██████  █   █   ███ ████
                  ██  █   ███  ████     ████ ███ ██   █   █
                 ██ ████ ██  ███   █   ██    █   █ █ ███ ███
                ██  █    █ ███  █ ███ ██ █  ███ ██ █ █   █  █
               ██ ████  ██ █  ███ █   █  ████   █  █ ██ ██████
              ██  █   ███  ████   ██ █████   █ █████ █  █     █
             ██ ████ ██  ███   █ ██  █    █ ██ █     █████   ███
            ██  █    █ ███  █ ██ █ ████  ██ █  ██   ██    █ ██  █
           ██ ████  ██ █  ███ █  █ █   ███  ████ █ ██ █  ██ █ ████
          ██  █   ███  ████   ████ ██ ██  ███    █ █  ████  █ █   █
         ██ ████ ██  ███   █ ██    █  █ ███  █  ██ ████   ███ ██ ███
        ██  █    █ ███  █ ██ █ █  █████ █  ██████  █   █ ██   █  █  █
       ██ ████  ██ █  ███ █  █ ████     ████     ████ ██ █ █ █████████
      ██  █   ███  ████   ████ █   █   ██   █   ██    █  █ █ █        █
     ██ ████ ██  ███   █ ██    ██ ███ ██ █ ███ ██ █  █████ █ ██      ███
    ██  █    █ ███  █ ██ █ █  ██  █   █  █ █   █  ████     █ █ █    ██  █
   ██ ████  ██ █  ███ █  █ ████ ████ █████ ██ █████   █   ██ █ ██  ██ ████
  ██  █   ███  ████   ████ █    █    █     █  █    █ ███ ██  █ █ ███  █   █
 ██ ████ ██  ███   █ ██    ██  ███  ███   ██████  ██ █   █ ███ █ █  ████ ███
██  █    █ ███  █ ██ █ █  ██ ███  ███  █ ██     ███  ██ ██ █   █ ████    █  █

To get a random seed, use the -r flag:

$ python3 wolfram.py -r
Here's a random initial state
Using rule 30
█ ███    █████  █ █ ██  █ ██  ██ █ ███ █  ██    ██
  █  █  ██    ███ █ █ ███ █ ███  █ █   ████ █  ██
 ████████ █  ██   █ █ █   █ █  ███ ██ ██    ████
 █        ████ █ ██ █ ██ ██ ████   █  █ █  ██   █
 ██      ██    █ █  █ █  █  █   █ █████ ████ █ ██
 █ █    ██ █  ██ ████ ████████ ██ █     █    █ █
 █ ██  ██  ████  █    █        █  ██   ███  ██ ██
 █ █ ███ ███   ████  ███      █████ █ ██  ███  █
 █ █ █   █  █ ██   ███  █    ██     █ █ ███  ████
 █ █ ██ █████ █ █ ██  ████  ██ █   ██ █ █  ███
 █ █ █  █     █ █ █ ███   ███  ██ ██  █ ████  █
 █ █ █████   ██ █ █ █  █ ██  ███  █ ███ █   ████
 █ █ █    █ ██  █ █ ████ █ ███  ███ █   ██ ██   █
 █ █ ██  ██ █ ███ █ █    █ █  ███   ██ ██  █ █ ██
 █ █ █ ███  █ █   █ ██  ██ ████  █ ██  █ ███ █ █
 █ █ █ █  ███ ██ ██ █ ███  █   ███ █ ███ █   █ ██
 █ █ █ ████   █  █  █ █  ████ ██   █ █   ██ ██ █
 █ █ █ █   █ ████████ ████    █ █ ██ ██ ██  █  ██
 █ █ █ ██ ██ █        █   █  ██ █ █  █  █ ██████
 █ █ █ █  █  ██      ███ █████  █ ███████ █     █
 █ █ █ ███████ █    ██   █    ███ █       ██   ██
 █ █ █ █       ██  ██ █ ███  ██   ██     ██ █ ██
 █ █ █ ██     ██ ███  █ █  ███ █ ██ █   ██  █ █ █
 █ █ █ █ █   ██  █  ███ ████   █ █  ██ ██ ███ █ █
 █ █ █ █ ██ ██ ██████   █   █ ██ ████  █  █   █ █
 █ █ █ █ █  █  █     █ ███ ██ █  █   ███████ ██ █
 █ █ █ █ ████████   ██ █   █  █████ ██       █  █
 █ █ █ █ █       █ ██  ██ █████     █ █     █████
 █ █ █ █ ██     ██ █ ███  █    █   ██ ██   ██
 █ █ █ █ █ █   ██  █ █  ████  ███ ██  █ █ ██ █
 █ █ █ █ █ ██ ██ ███ ████   ███   █ ███ █ █  ██
 █ █ █ █ █ █  █  █   █   █ ██  █ ██ █   █ ████ █
 █ █ █ █ █ ████████ ███ ██ █ ███ █  ██ ██ █    ██
 █ █ █ █ █ █        █   █  █ █   ████  █  ██  ██
 █ █ █ █ █ ██      ███ █████ ██ ██   ██████ ███ █
 █ █ █ █ █ █ █    ██   █     █  █ █ ██      █   █
 █ █ █ █ █ █ ██  ██ █ ███   █████ █ █ █    ███ ██
 █ █ █ █ █ █ █ ███  █ █  █ ██     █ █ ██  ██   █
 █ █ █ █ █ █ █ █  ███ ████ █ █   ██ █ █ ███ █ ███
 █ █ █ █ █ █ █ ████   █    █ ██ ██  █ █ █   █ █

To pick a different rule, use the --rule argument:

$ python3 wolfram.py -r --rule 110
Here's a random initial state
Using rule 110
 █ ██ ██   █ █ ██  █  █  █  ████████  ███   █ █ ██
 ███████  ███████ ██ ██ ██ ██      █ ██ █  ██████
 █     █ ██     █████████████     ███████ ██    █
 █    █████    ██           █    ██     ████   ██
 █   ██   █   ███          ██   ███    ██  █  ███
 █  ███  ██  ██ █         ███  ██ █   ███ ██ ██ █
 █ ██ █ ███ █████        ██ █ █████  ██ █████████
 ████████ ███   █       ███████   █ █████       █
 █      ███ █  ██      ██     █  ████   █      ██
 █     ██ ███ ███     ███    ██ ██  █  ██     ███
 █    █████ ███ █    ██ █   ██████ ██ ███    ██ █
 █   ██   ███ ███   █████  ██    ██████ █   █████
 █  ███  ██ ███ █  ██   █ ███   ██    ███  ██   █
 █ ██ █ █████ ███ ███  ████ █  ███   ██ █ ███  ██
 ████████   ███ ███ █ ██  ███ ██ █  ███████ █ ███
 █      █  ██ ███ ██████ ██ ██████ ██     █████ █
 █     ██ █████ ███    ██████    ████    ██   ███
 █    █████   ███ █   ██    █   ██  █   ███  ██ █
 █   ██   █  ██ ███  ███   ██  ███ ██  ██ █ █████
 █  ███  ██ █████ █ ██ █  ███ ██ ████ ███████   █
 █ ██ █ █████   ████████ ██ ██████  ███     █  ██
 ████████   █  ██      ██████    █ ██ █    ██ ███
 █      █  ██ ███     ██    █   ███████   █████ █
 █     ██ █████ █    ███   ██  ██     █  ██   ███
 █    █████   ███   ██ █  ███ ███    ██ ███  ██ █
 █   ██   █  ██ █  █████ ██ ███ █   █████ █ █████
 █  ███  ██ █████ ██   ██████ ███  ██   █████   █
 █ ██ █ █████   ████  ██    ███ █ ███  ██   █  ██
 ████████   █  ██  █ ███   ██ █████ █ ███  ██ ███
 █      █  ██ ███ ████ █  █████   █████ █ █████ █
 █     ██ █████ ███  ███ ██   █  ██   █████   ███
 █    █████   ███ █ ██ ████  ██ ███  ██   █  ██ █
 █   ██   █  ██ ████████  █ █████ █ ███  ██ █████
 █  ███  ██ █████      █ ████   █████ █ █████   █
 █ ██ █ █████   █     ████  █  ██   █████   █  ██
 ████████   █  ██    ██  █ ██ ███  ██   █  ██ ███
 █      █  ██ ███   ███ ███████ █ ███  ██ █████ █
 █     ██ █████ █  ██ ███     █████ █ █████   ███
 █    █████   ███ █████ █    ██   █████   █  ██ █
 █   ██   █  ██ ███   ███   ███  ██   █  ██ █████

About

Companion repo for my blog post about Wolfram's elementary cellular automata

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages