A key feature of biological replication is a template molecule's ability to make copies of itself (as in the case of DNA) by selecting the appropriate building blocks (nucleotides) from parts that are randomly and continuously distributed in its environment; the system also has a built-in ability to correct errors made during copying4. The efficiency of this two-step process enables biological systems to generate exponential numbers of accurate copies of themselves as a function of time. To create these properties in an artificial system, a machine needs to be capable of autonomous acquisition of randomly distributed building blocks and of carrying out error correction during the copying process.

A scheme for the autonomous self-replication of a simple 2-bit mechanical string was outlined almost half a century ago3. Replication of more complex systems using structured inputs has since been achieved5,6,7, including a self-reproducing machine that relies on a well-ordered supply of its building blocks8.

Our focus is on the autonomous replication of complex systems from random inputs. The complexity of a given structure may be defined by the bit length describing the configuration of parts — in this case, a 5-bit string. If the error per addition (arising from random input) of each new building block in the copied string is ɛ, then the yield for replicating an n-bit string is (1−ɛ)n, which becomes exponentially small for complex (large n) systems (ɛ=0.5, n=5; the yield is about 3% in the case described here).

For complex structures to be copied accurately from random inputs, some mechanism for error correction is required9; here, error correction is defined as a process in which a linear increase in resource leads to an exponential decrease in error rate. In DNA replication, for example, the polymerase enzymes responsible for copying may also check each recruited nucleotide base for correct complementary base-pairing with the DNA template strand: if the incoming base does not fit, it is removed by the enzyme's exonuclease domain.

To implement error-correcting replication in an artificial system, we constructed a set of programmable electromechanical components that are run as a 7-state, finite-state machine; the components can be reversibly latched and unlatched in response to nearest-neighbour communications10 (see supplementary information). These parts interact by floating on a two-dimensional air table on which motion is random.

Figure 1 shows a series of frame shots that start with a single-seed string (coloured in a green, green, yellow, yellow, green sequence). Self-replication of this sequence occurs as a result of a random part latching on to the seed string, then the part is queried for self-similarity and proper position in the growing replicant, and subsequently it is either permanently latched or released according to an embedded rule (for movie, see supplementary information). We note that each part needs only to run a local, compact (7-state) state machine and does not, in itself, store an entire copy of the structure. The kinetics of these processes are exponential until they become limited by the supply of parts (Fig. 2).

Figure 1: Self-replication of a 5-bit string.
figure 1

Frames 1-9 (from left to right in each row): time sequence of photographs showing the autonomous replication of a 5-bit string of electromechanical units, starting from a single initial input string (number 1: green, green, yellow, yellow, green); frame 3: multiple replicants (numbered 1,2) assembling on a single substrate. Addition of building blocks is purely sequential along the string, as governed by a rule running in each block's state machine; frame 9: four independent strings (numbered 1-4) result from the action of templating and division. For movie, see supplementary information.

Figure 2: Replication kinetics for bound building blocks (blue) and completed strings (red) as a function of time.
figure 2

The kinetics of these processes are exponential until they become limited by the supply of component parts. Strings are numbered as in Fig. 1.

In addition to replication, several other algorithms, including one-dimensional (line) and two-dimensional (checkerboard) pattern formation from internal rules, as well as a reconfigurable pattern formation, were run using the same system (see supplementary information). Controls run without error correction, however, show large (random) error rates in the final assemblages.

Given the compact requirements of internal-state machines, coupled with recent advances in microelectromechanical systems, it is possible that components such as those we describe here could eventually be miniaturized. They might be used to create a general system that is capable of self-replicating or of being programmed to self-fabricate into complex structures that run with exponential kinetics.