Learning Path 05

Cellular Automata: From First Principles to Artificial Life

Build cellular automata from tiny local rules, then use them to study emergence, computation, simulation, procedural generation and learned self-organising systems.

Start with one cell, one neighborhood and one update rule. From there we will build elementary cellular automata, Conway’s Life, simulation systems, procedural worlds, continuous automata and neural cellular automata.

Simulation and Artificial Life 59 chapters Sequential or reference
Complete curriculum

Chapters

Work through the path in order, or jump directly to the mechanism you need.

  1. 00How Can Tiny Rules Build Complex Worlds?
  2. 01Build Your First Automaton
  3. 02Encode All 256 Elementary Rules
  4. 03Rule 30 and the Surprise of Complexity
  5. 04Rule 110 and Computation in a Grid
  6. 05Conway's Game of Life
  7. 06Patterns as Data — Oscillators, Spaceships and Gliders
  8. 07Beyond Conway — Life-like and Multi-State Rules
  9. 08Add Randomness Without Losing the Model
  10. 09Build a Forest Fire Simulation
  11. 10Simulate Traffic with Rule 184
  12. 11Diffusion as Local Exchange
  13. 12Reaction-Diffusion and Pattern Formation
  14. 13Build a Predator-Prey Ecosystem
  15. 14Generate Caves from Noise
  16. 15Grow Terrain from Local Height Rules
  17. 16Generate Textures with Local Rules
  18. 17Measure a Cellular Automaton
  19. 18Activity, Density and Change
  20. 19Entropy and Information
  21. 20Periodicity and Attractors
  22. 21Sensitivity to Initial Conditions
  23. 22Classify Rule Behaviour
  24. 23Search All 256 Elementary Rules
  25. 24Search Larger Rule Spaces
  26. 25Evolve Rules for Desired Behaviour
  27. 26Cellular Automata as Computation
  28. 27From Discrete Cells to Continuous State
  29. 28Neighborhoods as Convolution Kernels
  30. 29Growth Functions
  31. 30Build Lenia From First Principles
  32. 31Discover Your First Lenia Organisms
  33. 32Search Lenia Parameter Space
  34. 33Multi-Kernel and Multi-Channel Lenia
  35. 34Damage, Robustness and Persistence
  36. 35Flow-Lenia and Mass-Conserving Artificial Life
  37. 36Make the Automaton Differentiable
  38. 37Learn the Local Update Rule
  39. 38Hidden Cell Channels and Local Memory
  40. 39Grow a Target From One Seed
  41. 40Randomize the Update Schedule
  42. 41Train for Persistence
  43. 42Regenerate After Damage
  44. 43Test Generalization Beyond Training
  45. 44Neural Cellular Automata for Pathfinding
  46. 45Learn to Solve Mazes
  47. 46Generalize to Harder and Larger Mazes
  48. 47Inspect Hidden-State Propagation
  49. 48What Did the Neural CA Actually Learn?
  50. 49Profile Before You Optimize
  51. 50Vectorize the Update Loop
  52. 51Run Cellular Automata on the GPU
  53. 52Use FFTs for Large Neighborhoods
  54. 53Build a Reusable Cellular Automata Engine
  55. 54Make Experiments Reproducible
  56. 55Run Parameter Sweeps and Benchmarks
  57. 56Generate Figures and Animations
  58. 57Build a Cellular Automata Laboratory
  59. 58Capstone — Discover, Measure and Explain a New System