Evolving and Understanding Cellular Arrays

Postdoc: Manuel Marques-Pita
Students: Martin Cenek, Mick Thomure

Grant support: Center on Functional Engineered Nano Architectonics (part of the Focus Center Research Program of the Semiconductor Research Corporation)

Effective and robust nanoscale computation will require large numbers of simple component devices that can be densely packed, locally connected, and can perform sophisticated information processing with high parallelism, robust operation, and no central control. Cellular arrays are a natural architecture for fulfilling these requirements, and, due to their regular structure, are amenable to molecular self-assembly techniques. While there has been tremendous progress on building nanoscale devices, there has been less progress on programming and combining these devices to produce useful computation. Cellular array architectures such as cellular automata and cellular non-linear networks have been proved to be capable of universal computation. However, these proofs simply demonstrate that classical, serial, Boolean logic gates or Turing machines can be (laboriously) simulated by cellular arrays, and do not suggest practical ways to program these devices in efficient ways that take advantages of their parallelism and potential robustness. We believe that a more powerful and ultimately practical approach is to harness the ability of cellular arrays to form complex patterns in ways that will produce decentralized collective information processing. This approach to information processing is very different from classical approaches, and will require non-standard programming and analysis techniques. The objective of this project is to develop such techniques. In particular, we are investigating evolutionary computation, and in particular, coevolutionary learning as a method for "programming" cellular arrays to perform computations, and to investigate analysis techniques that build on both pattern dynamics and classical computation theory for understanding the computations in such arrays. We are also extending our studies beyond the idealized cases of noise-free systems with perfectly synchronous updating and periodic boundary conditions, and to investigate the "real-world" requirements of dealing with asynchronous updating, unreliable components, and non-periodic boundary conditions.

Figure 1: Behavior of a CA evolved by the GA for the density classification task. (a) Initial configuration is low-density (majority white). CA correctly goes to fixed-point of all white. (b) Initial configuration is high-density (majority black). CA correctly goes to fixed-point of all black. (c) Regular regions of (b) are filtered out, leaving particles. (d) Catalog of all possible particles, particle velocities, and interactions for this CA.


The work proposed here builds on our previous research on one-dimensional cellular automata (Crutchfield & Mitchell, 1995; Mitchell, Crutchfield, & Das, 1996). We used a genetic algorithm (GA) to evolve radius-3 CA rules with synchronous updates and periodic boundary conditions to perform two tasks, density classification and synchronization, that require collective computation. Figure 1a-b gives space-time diagrams illustrating the behavior of one of the evolved CAs for the density classification task on both a low-density and high-density initial configuration. The space-time diagrams exhibit three types of regions (domains) described by simple regular languages: all 0s (white), all 1s (black), and alternating 1s and 0s (checkerboard pattern, appearing as gray area in this low-resolution figure).

Because the task requires computational power equivalent to a context-free language, the relevant features of the computation are the boundaries between regular domains, here called "particles" (Hanson and Crutchfield,1993). Figure 1c shows the particles that are embedded in Figure 1b. As viewed in Figure 1c, particles are coherent structures that propagate in space and time. Figure 1d lists all the types of particles that this CA can form, their velocities, and their possible interactions (collisions) with one another. This table, in effect, gives the "laws of particle physics" in the small "universe" defined by this CA.

To understand how this CA performs the density classification task, we can identify particles as information carriers, and collisions between particles as the loci of information processing. This framework has been shown to formally characterize computational behavior of such cellular automata (Hordijk, Crutchfield, & Mitchell, 1996). In short, particles and particle interactions form a high-level language for describing computations in spatially extended systems such as CAs, and for predicting the results of those computations.

In recent work, we investigated "coevolutionary" learning, in which the CAs and the test initial configurations coevolve to challenge one another. We found that such coevolution dramatically improves success of the genetic algorithm (Pagie & Mitchell, 2002; Mitchell, Thomure, & Williams, 2006).

References: