VCA
The contraction ‘VCA’ derives from Voting Cellular Automaton. My late friend and colleague, pioneering British computational artist Julian Sullivan introduced me to the world of cellular automata (CA) at the Slade School of Art, London in Spring 1977. As from the 1940s, the idea of CA developed from research at Los Alamos – Von Neuman dreaming to create self-replicating machines and Ulam’s attempt to model self-similar structures in nature.
CA are abstract universes composed of cells arranged in some regular structure such as a 2-dimensional grid. Every cell holds a particular value which is progressively updated according to the application of a specific rule. The generative power of CA follows from the relationship between the simplicity of the rule and its solid impact on the creation of complex spatiotemporal patterns – the CA evolves in cycles and, while animated on a display, provides the impression of continuous life-like behavior. Global emergent complexity issues from the articulation of simple local cellular interactions. In addition, the resulting patterns are nontrivial being both unpredictable and coherent which adds to the perception of implied tendencies in any specific behavioral development.
CA exhibit a particular behavioral scope determined by the underlying rule, some rules produce relatively periodic, wave-like patterns while others develop more chaotic configurations. Still other rules imply progress into a point attractor; the CA moves itself into total stability. VCA contains an algorithm to track such impasses and reignite the automation by slightly mutating the current rule and introducing some noise, the CA then reboots itself into a dynamic pattern.
A rule is constructed as a small array of 5 by 5 cells, every cell holds a “weight”, a signed random number between -5 and +5. In every process cycle, this rule array is applied on top of every cell in the automation – shifting top to bottom, left to right. Every weight contributes by summing up scaled cell values into a final sum resulting into a zero, positive or negative numeric value. Two higher-level values impacted by this global weight are maintained in this process: the total accumulated strength of both cell types (0 or 1 / white or black) according to the effect of the majority ruling of this voting mechanism. This procedure returns a value 0, 1 or 2 – according to whether the two values are equal or mutually higher or lower. Finally, this value is used to affect the actual binary array as it will appear in the next generation. If 0, the value is discarded and the current value remains unchanged. Otherwise, 1 is subtracted resulting in 0 or 1 – this value determines the updated state of the center cell in the next generation.
VCA is built in two layers; (1) a binary automation (cells are valued zero or one), and (2) a cellular mapping algorithm which translates the 5 by 5 neighborhood of any cell into a specific color: the neighborhood sum (0 to 24, excluding the center cell) maps to a given color palette holding 25 randomly generated colors. Consequently, a color animation results from the procedural activity in a merely binary automation. The interaction of both procedures creates surprising complexity over time, yet the approach is purely deterministic.
While at Brussels University, AI Lab (1986) VCA was initially implemented as a performance interface, as an experimental human-computer interaction mechanism, the rule itself was conceived of as something quasi-physical, an abstract grid that could relate to real-world input. Rather than transforming captured human movement, one could “walk in the rule” – an actual rule, conceived of as a 5 by 5 grid-like structure in physical space equipped with a camera to track human movement inside that grid. Human action would then influence the behavior of the underpinning automaton, however, without any opportunity to exercise explicit control.
Cellular automata are computationally expensive since local computations add up exponentially according to the size of the automation. At the time, only small arrays could run on the then available personal computer hardware producing just a few frames per second. Much later, the VCA algorithm created transitive generative work through the interpolation of two specific rules, one at both ends of a horizontal rectangular space, every cell then feels the impact of either given rule according to its distance from the edges.
VCA now developed into a self-running and self-regulating generative system and is conceived of as a form of algorithmic cinema. The actual version documented here contains 25600 cells and runs smoothly in a browser as implemented in JavaScript.
Peter Beyls, March 24, 2025
Medium
Software
Process
Procedural
Tags
Pioneering
Edition Type
1/1
Date of Mint
April 25, 2025
Date of Acquisition
April 25, 2025
Acquisition Number
1289
Contract Address
Token ID
2