# Differentiable Programming of Reaction-Diffusion Patterns

arXiv: https://arxiv.org/abs/2107.06862 · HTML: https://mlsanity.com/paper/2107.06862/

## Key facts

- Cited by 6 papers in the map (data through 14 Oct 2026).
- Builds on 4 of its 15 references that are in the map.
- First posted on arXiv 22 Jun 2021.

## Builds on (most cited first, 4 of 4)

- [Adam: A Method for Stochastic Optimization](https://mlsanity.com/paper/1412.6980/) (2014)
- [Describing Textures in the Wild](https://mlsanity.com/paper/1311.3618/) (2013)
- [Searching for Activation Functions](https://mlsanity.com/paper/1710.05941/) (2017)
- [Lenia and Expanded Universe](https://mlsanity.com/paper/2005.03742/) (2020)

## Built on by (most cited first, 6 of 6)

- [Mesh Neural Cellular Automata](https://mlsanity.com/paper/2311.02820/) (2023)
- [NoiseNCA: Noisy Seed Improves Spatio-Temporal Continuity of Neural Cellular Automata](https://mlsanity.com/paper/2404.06279/) (2024)
- [Growing Steerable Neural Cellular Automata](https://mlsanity.com/paper/2302.10197/) (2023)
- [Neural Particle Automata: Learning Self-Organizing Particle Dynamics](https://mlsanity.com/paper/2601.16096/) (2026)
- [Exploring Complex Dynamical Systems via Nonconvex Optimization](https://mlsanity.com/paper/2301.00923/) (2023)
- [Differentiable Programming of Chemical Reaction Networks](https://mlsanity.com/paper/2302.02714/) (2023)

## Abstract (arXiv)

Reaction-Diffusion (RD) systems provide a computational framework that governs many pattern formation processes in nature. Current RD system design practices boil down to trial-and-error parameter search. We propose a differentiable optimization method for learning the RD system parameters to perform example-based texture synthesis on a 2D plane. We do this by representing the RD system as a variant of Neural Cellular Automata and using task-specific differentiable loss functions. RD systems generated by our method exhibit robust, non-trivial 'life-like' behavior.
