jean-luc beuchat and jacques-olivier haenni- von neumann’s 29-state cellular automaton: a hardware...

9
300 IEEE TRANSACTIONS ON EDUCATION, VOL. 43, NO. 3, AUGUST 2000 Von Neumann’s 29-State Cellular Automaton: A Hardware Implementation Jean-Luc Beuchat and Jacques-Olivier Haenni  , Student Member, IEEE  Abstract—In the early 1950s, Joh n von Neu man n des ign ed a cell ular automaton impl emen ting a univ ersal self -re plic ating structure. More than 40 years after his death, the first hardware impl emen tation of von Neumann’s transitio n rule is pre sente d. Unfortunately, this implementation only allows small systems to be realized, and not the complete structure, which would require 100000–200 000 cel ls, acc ord ing to some estimations. A logic cir cuit which impl emen ts the trans ition rule and represents a single cell of the array has been developed. The applications of this implementation lie mainly in the pedagogical domain. It can be used as a demonstration tool for courses on cellular automata.  Index T erms—Cell ular automata, univ ersa l comp utati on, von Neumann. I. INTRODUCTION J OHN von Neumann was born in 1903 in Budapest, Hun- gary. Although not very well-known by the general public, many of his ideas have been instrumental in shaping our daily lives. In 1931, von Neumann emigrated to the United States, where he taug ht math emat ics in Princ eton. He colla borat ed in the development of the atomic bomb in Los Alamos (in Oppen- heimer’s team) and supervised the desig n of code -brea king mach ines (the dire ct prec urso rs of compu ters ) for the army during World War II. In 1944 he joined the electronic numerical integrator and calculator (ENIAC) project. V on Neumann was also interested in the process of self-repli- cation and designed a cellular automaton endowed with this property. He died in 1957 without having completed his re- search in this domain. A. W. Burks [ 1] contributed to complete and clarify the design of von Neumann’s 29-state cellular au- tomaton. To date, only simulations of this automaton have been realized: J. Sign orin i [2] has implemented von Neumann’s transi- tion rule on an SIMD machine and simulated general-pur- pose components of the automaton. U. Pesa vent o [3] has proposed an extension of von Neu- mann’s original transition rule and simulated the entire universal constructor on a computer. This paper describes the fir st hard ware impl ementation of von Neumann’s 29-state cellular automaton. Section II defines the automaton and its transition rule. Section III describes the logic circuit which implements the behavior of one cell. Section IV Manuscript received October 16, 1996; revised March 22, 2000. Th e author s ar e wi th the Lo gi c Syst ems Labo ratory, Swiss Fed- eral Institu te of Tech nol ogy (EP FL) , Lau sanne, Swi tze rla nd (e- mai l: [email protected]; Jacques-Olivier [email protected]). Publisher Item Identifier S 0018-9359(00)07363-5. presents an algorithm providing a simple approach to the con- struction of organs. II. VON NEUMANNS 29-STATE AUTOMATON  A. Fundamental Principles In the early 1950s, von Neumann began to be interested in the process of self-replication. He studied mechanisms which provide a machine with the means to replicate itself. Von Neumann defined the universal constructor, a machine capable of building any other machine, given its description. Von Neumann’s main idea was to achieve self-replication by supplying the universal constructor with its own description. The copy of the universal constructor thus obtained has the same properties as its parent and, in particular, is itself capable of self-replication. This process requires that the description of the universal constructor include its own description. V on Neu- mann solved this infinite regression problem thusly: the descr ipti on first acts like a geno me: it is interpreted in order to build a copy of the universal constructor; the des crip tion is th en literally copied. S. Ulam, who worked with von Neumann in Los Alamos, had a passion. He created mathematical games which produced strange and aesthetic geometric beings on his computer screen. He divided the screen in a matrix of points which could be dead (off) or alive (alight). He suggested the use of such an abstract universe to von Neumann. For his uni vers e von Neumann chose an infi nite matrix , whose cells are finite-state machines. After several trials, he defined 29 states and a transition rule. He showed that a given configuration of his automaton achieves self-replication. The transition rule will be discussed in detail in Section II. Fig. 1 shows the general principles of the universal con- structor: 1 A tap e, whi ch is an unlimite d memory (as in a Tu rin g machine), contains information on the automaton to be built (its location in the cellular array and its description). The universal constr uctor interprets this description and builds the new automaton by means of a constructing arm which extends from the universal constructor to the loca- ti on of the new aut oma ton and carries the requir ed sig nal s. Note that this proce ss deals excl usi vely with info rmat ion flow: the physical material and the energy are given a priori. The universal con str uctor is end owed with the fol lo win g properties: 1 for further details, see [1] or [3]. 0018–9359/00$10.00 © 2000 IEEE

Upload: irokk

Post on 06-Apr-2018

221 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Jean-Luc Beuchat and Jacques-Olivier Haenni- Von Neumann’s 29-State Cellular Automaton: A Hardware Implementation

8/3/2019 Jean-Luc Beuchat and Jacques-Olivier Haenni- Von Neumann’s 29-State Cellular Automaton: A Hardware Implement…

http://slidepdf.com/reader/full/jean-luc-beuchat-and-jacques-olivier-haenni-von-neumanns-29-state-cellular 1/9

300 IEEE TRANSACTIONS ON EDUCATION, VOL. 43, NO. 3, AUGUST 2000

Von Neumann’s 29-State Cellular Automaton: AHardware Implementation

Jean-Luc Beuchat and Jacques-Olivier Haenni , Student Member, IEEE 

 Abstract—In the early 1950s, John von Neumann designeda cellular automaton implementing a universal self-replicatingstructure. More than 40 years after his death, the first hardwareimplementation of von Neumann’s transition rule is presented.Unfortunately, this implementation only allows small systems tobe realized, and not the complete structure, which would require100000–200 000 cells, according to some estimations. A logiccircuit which implements the transition rule and represents asingle cell of the array has been developed. The applications of this implementation lie mainly in the pedagogical domain. It canbe used as a demonstration tool for courses on cellular automata.

  Index Terms—Cellular automata, universal computation, vonNeumann.

I. INTRODUCTION

JOHN von Neumann was born in 1903 in Budapest, Hun-

gary. Although not very well-known by the general public,

many of his ideas have been instrumental in shaping our daily

lives.

In 1931, von Neumann emigrated to the United States, where

he taught mathematics in Princeton. He collaborated in the

development of the atomic bomb in Los Alamos (in Oppen-

heimer’s team) and supervised the design of code-breaking

machines (the direct precursors of computers) for the army

during World War II. In 1944 he joined the electronic numerical

integrator and calculator (ENIAC) project.

Von Neumann was also interested in the process of self-repli-

cation and designed a cellular automaton endowed with this

property. He died in 1957 without having completed his re-

search in this domain. A. W. Burks [1] contributed to complete

and clarify the design of von Neumann’s 29-state cellular au-

tomaton. To date, only simulations of this automaton have been

realized:

• J. Signorini [2] has implemented von Neumann’s transi-

tion rule on an SIMD machine and simulated general-pur-

pose components of the automaton.

• U. Pesavento [3] has proposed an extension of von Neu-

mann’s original transition rule and simulated the entireuniversal constructor on a computer.

This paper describes the first hardware implementation of von

Neumann’s 29-state cellular automaton. Section II defines the

automaton and its transition rule. Section III describes the logic

circuit which implements the behavior of one cell. Section IV

Manuscript received October 16, 1996; revised March 22, 2000.The authors are with the Logic Systems Laboratory, Swiss Fed-

eral Institute of Technology (EPFL), Lausanne, Switzerland (e-mail:[email protected]; [email protected]).

Publisher Item Identifier S 0018-9359(00)07363-5.

presents an algorithm providing a simple approach to the con-

struction of organs.

II. VON NEUMANN’S 29-STATE AUTOMATON

  A. Fundamental Principles

In the early 1950s, von Neumann began to be interested in

the process of self-replication. He studied mechanisms which

provide a machine with the means to replicate itself.

Von Neumann defined the universal constructor, a machine

capable of building any other machine, given its description.

Von Neumann’s main idea was to achieve self-replication bysupplying the universal constructor with its own description.

The copy of the universal constructor thus obtained has the

same properties as its parent and, in particular, is itself capable

of self-replication. This process requires that the description of 

the universal constructor include its own description. Von Neu-

mann solved this infinite regression problem thusly:

• the description first acts like a genome: it is interpreted

in order to build a copy of the universal constructor;

• the description is then literally copied.

S. Ulam, who worked with von Neumann in Los Alamos,

had a passion. He created mathematical games which produced

strange and aesthetic geometric beings on his computer screen.

He divided the screen in a matrix of points which could be dead(off) or alive (alight). He suggested the use of such an abstract

universe to von Neumann.

For his universe von Neumann chose an infinite matrix,

whose cells are finite-state machines. After several trials, he

defined 29 states and a transition rule. He showed that a given

configuration of his automaton achieves self-replication. The

transition rule will be discussed in detail in Section II.

Fig. 1 shows the general principles of the universal con-

structor:1

• A tape, which is an unlimited memory (as in a Turing

machine), contains information on the automaton to be

built (its location in the cellular array and its description).

• The universal constructor interprets this description and

builds the new automaton by means of a constructing arm

which extends from the universal constructor to the loca-

tion of the new automaton and carries the required signals.

Note that this process deals exclusively with information

flow: the physical material and the energy are given a priori.

The universal constructor is endowed with the following

properties:

1for further details, see [1] or [3].

0018–9359/00$10.00 © 2000 IEEE

Page 2: Jean-Luc Beuchat and Jacques-Olivier Haenni- Von Neumann’s 29-State Cellular Automaton: A Hardware Implementation

8/3/2019 Jean-Luc Beuchat and Jacques-Olivier Haenni- Von Neumann’s 29-State Cellular Automaton: A Hardware Implement…

http://slidepdf.com/reader/full/jean-luc-beuchat-and-jacques-olivier-haenni-von-neumanns-29-state-cellular 2/9

BEUCHAT AND HAENNI: VON NEUMANN’S 29-STATE CELLULAR AUTOMATON 301

Fig. 1. Constructing arm.

Fig. 2. Constructional universality.

• constructional universality (Fig. 2): the universal con-

structor is able to buildany automatongiven its description

;

• universal constructor’s self-replication (Fig. 3);

• universal computer’s self-replication (Fig. 4); is

a universal Turing machine and is the universal

constructor; the tape contains the description of both

automata.

  B. Transition Rule

Each cell of the automaton is a finite 29-state machine. These

states will not be referred to as numbers between 1 and 29, but

rather using graphical symbols evocating their “functionality”

(Table I). In his manuscript, von Neumann first introduced a

literal notation instead of the graphical one, an approach whichwas advantageous to a formal definition of the transition rule.

The first state is the quiescent state. A cellin thisstatehas noinfluence on its neighborhood. The cells located in the unused

parts of the cellular array are in the quiescent state.

The 16 transmission states are responsible for the propaga-

tion of excitations, i.e., information, between two given points

of the cellular array. Each transmission state has a direction

(north, south, east, or west) and is excited or unexcited. More-

over, one must distinguish between ordinary and special trans-

mission states which propagate different kinds of excitation,

whose function will be shown later.

An ordinary (respectively, special) transmission state prop-

agates an ordinary (respectively, special) excitation in a given

direction (output direction). It introduces a delay of one time

step in the propagation of the excitation and acts as an OR gate.

It becomes excited if it receives an ordinary (respectively, spe-

cial) or confluent (see below) excitation from one of its three

nonoutput sides.

Fig. 5 illustrates the evolution of the transmission states with

a simple example (note that the cells in the quiescent state have

not been drawn).

The four confluent states are also used for the transmissionof excitations. They act as AND gates, introduce a delay of two

time units in the transmission of excitations and offer the pos-

sibility of splitting transmission lines, behaving as fan-outs. A

confluent state can go in the C or C state only if all the

neighboring ordinary transmission states directed to it, if any,

are excited. Fig. 6 shows the evolution of the confluent states.

The eight remaining states are used for the construction

process, or direct  process, which changes a cell from the

quiescent state to an unexcited transmission or confluent state.

These states are called sensitized states and are temporary, in

that a cell can not be in such a state for more than one time unit.

A cell in the quiescent state goes into the S state if it receives

an ordinary or special excitation on one of its sides. Then itproceeds to the S state if it does not receive any ordinary or

special excitation, or to the S state otherwise. The cell keeps

evolving according to the tree of Fig. 7 until it is in one of the

nine unexcitedstates. A cell in a sensitized state hasno influence

on its neighborhood.

The last topic to be discussed is the destruction process, or re-

verse process. This is the transition from a transmission or con-

fluent state to the quiescent state. This process is also referred

to as killing a cell. This is achieved

• by sending a special excitation on one of the four sides of 

an ordinary transmission state or of a confluent state;

• by sending an ordinary excitation on one of the four sidesof a special transmission state.

It is clear now why it is necessary to have two kinds of excita-

tions (ordinary and special).

Fig. 8 shows some examples of cell destruction.

C. Application

The complete universal self-replicating automaton can be di-

vided into many functional blocks called “organs” (decoders,

pulsers, crossing organs, etc.). This section presents a decoder

and a pulser. These organs do not necessarily belong to the com-

plete automaton, but all decoders and all pulsers are ruled by the

same principles.The pulser P(101001) is shown on Fig. 9. Its function is to

generate at the output the sequence of excitations 101001

whenever it receives an input excitation at . This initial ex-

citation is then fanned-out by the confluent states, and the new

excitations are transmitted to the output with different delays, in

order to produce the desired sequence.

Of course, to ensure a correct result, two input excitations

should not be too close in time, or the output sequences couldoverlap and give an unexpected result.

The decoder D(1001001) (Fig. 9) is able to recognize the se-

quence of excitations 1001001 at its input . If it detects such a

sequence, it produces an excitation at the output . In fact, this

Page 3: Jean-Luc Beuchat and Jacques-Olivier Haenni- Von Neumann’s 29-State Cellular Automaton: A Hardware Implementation

8/3/2019 Jean-Luc Beuchat and Jacques-Olivier Haenni- Von Neumann’s 29-State Cellular Automaton: A Hardware Implement…

http://slidepdf.com/reader/full/jean-luc-beuchat-and-jacques-olivier-haenni-von-neumanns-29-state-cellular 3/9

302 IEEE TRANSACTIONS ON EDUCATION, VOL. 43, NO. 3, AUGUST 2000

Fig. 3. Constructor’s self-replication.

Fig. 4. Universal computer’s self-replication.

TABLE ITHE 29 STATES

decoder only decodes the “1” signals, that is, it only checks that

excitations are present when required. In other words, the de-

coder D(1001001) decodes the family of sequences 1 1 1,

where is the “don’t care” condition, i.e., 1101001, 1011101,

1101011, etc.

The basic idea is to delay the input signal in order to obtain

three shifted sequences, which are then ANDed together. A “1”

in the output sequence indicates that the correct pattern has en-

tered the circuit.

III. HARDWARE IMPLEMENTATION

  A. Introduction

A logic module, which implements the behavior of one cell,

has been realized. Each module is embedded in a plastic box (8

8 4 cm.) whose top face contains some connection points

and a LED 8 8 dot-matrix display showing the current state

of the cell (Fig. 10). The plastic boxes, called “biodules,” can

be fitted together to produce a small cellular array. The sides of 

the “biodules” contain electrical contacts, which allow adjacent

cells to transmit information to each other without additional

wiring.

Each logic module is composed of two units. The first one,

called “computation unit,” is implemented in a field-pro-

grammable gate array (FPGA) [4] and is responsible for the

calculation of the future state of the cell. It communicates

directly with the adjacent cells, stores the current state, and

outputs it to the other unit, the “display unit.”

The “display unit” is implemented with a dot-matrix display,

a microcontroller, and some latches. This unit permanently

reads the current state of the cell and updates the display

accordingly.

These two units are shown on Fig. 11. The “display unit” will

not be discussed in this paper, while the “computation unit” will

be described in the following sections.

  B. Communication Between Cells

A first observation is that it is not necessary for a cell to know

exactly in which states its neighbors are. For example, a cell in

the quiescent state and one in a sensitized state have the same

effect on their neighborhood. Actually only five different noti-

fications, instead of 29, are sufficient, assuming that a cell doesnot send the same information in the four directions. These are:

• “don’t care” (emitted by, among others, the quiescent

state);

• ordinary excitation (emitted into one direction by an ex-

cited ordinary transmission state);

• special excitation (emitted into one direction by an excited

special transmission state);

• confluent excitation (emitted by either the C or C

state);

• unexcited ordinary transmission state (emitted into one

direction by an unexcited ordinary transmission state and

used for the evolution of confluent states).

Page 4: Jean-Luc Beuchat and Jacques-Olivier Haenni- Von Neumann’s 29-State Cellular Automaton: A Hardware Implementation

8/3/2019 Jean-Luc Beuchat and Jacques-Olivier Haenni- Von Neumann’s 29-State Cellular Automaton: A Hardware Implement…

http://slidepdf.com/reader/full/jean-luc-beuchat-and-jacques-olivier-haenni-von-neumanns-29-state-cellular 4/9

BEUCHAT AND HAENNI: VON NEUMANN’S 29-STATE CELLULAR AUTOMATON 303

Fig. 5. Transmission states evolution.

Fig. 6. Confluent states evolution.

Fig. 7. Construction process.

These notifications are coded on three bits as indicated in

Table II.

Therefore, each cell has three bits of input and three bits of 

output in each direction.

Compared to sending the complete state of each cell to its

four neighbors, this method requires fewer connection wires and

avoids the need to serialize the communication. Furthermore,

Fig. 8. Cell destruction examples.

the computation part of the circuit is much simplified by the

choice of this communication method.

C. State Encoding

The next problem to solve is how to store the state in a cell.

Two main options have to be considered: either a minimal en-

coding on five bits, or a redundant encoding on more than five

bits. The advantage of the latter is that it is easier to manipulate,

if well-chosen. The storage size is not critical, so a redundant en-

coding on 10 bits, divided into three fields (Fig. 12) was chosen.

Page 5: Jean-Luc Beuchat and Jacques-Olivier Haenni- Von Neumann’s 29-State Cellular Automaton: A Hardware Implementation

8/3/2019 Jean-Luc Beuchat and Jacques-Olivier Haenni- Von Neumann’s 29-State Cellular Automaton: A Hardware Implement…

http://slidepdf.com/reader/full/jean-luc-beuchat-and-jacques-olivier-haenni-von-neumanns-29-state-cellular 5/9

304 IEEE TRANSACTIONS ON EDUCATION, VOL. 43, NO. 3, AUGUST 2000

Fig. 9. A pulser and a decoder.

Fig. 10. Top face of the “biodule”.

Fig. 11. Block diagram of the “biodule”.

• Four bits indicate the state type (confluent state, trans-

mission state, etc.). The sensitized states have been arbi-

trarily numbered from 0–7. Table III shows the informa-

tion stored in these four bits.

TABLE IITRANSMISSION BETWEEN CELLS

Fig. 12. Encoding on ten bits divided into three fields.

TABLE IIIENCODING OF THE STATE TYPE

• Two bits store the excitation. For a confluent state, both

bits are used. For a transmission state, only one is used,

and the other’s value is “0” by convention. For the quies-

cent state or a sensitized state, these two bits are ignored.

• Four bits indicate which directions are used as inputs. For

example, a transmission state directed toward the north

uses the south, east, and west directions as inputs. Each

bit corresponds to a direction. These bits all are “1” for a

confluent state and “0” for the quiescent state or a sensi-

tized state.

Table IV shows a few examples of state encoding.

Page 6: Jean-Luc Beuchat and Jacques-Olivier Haenni- Von Neumann’s 29-State Cellular Automaton: A Hardware Implementation

8/3/2019 Jean-Luc Beuchat and Jacques-Olivier Haenni- Von Neumann’s 29-State Cellular Automaton: A Hardware Implement…

http://slidepdf.com/reader/full/jean-luc-beuchat-and-jacques-olivier-haenni-von-neumanns-29-state-cellular 6/9

BEUCHAT AND HAENNI: VON NEUMANN’S 29-STATE CELLULAR AUTOMATON 305

TABLE IVEXAMPLES OF STATE ENCODING

Fig. 13. FPGA content.

  D. Transition Rule Implementation

The FPGA implementing the transition rule can be divided

into four units (Fig. 13):

• a ten-bit register stores the current state of the cell;

• a logic circuit (a) generates the outputs of the cell (4 3

bits) according to the current state;

• a logic circuit (b) generates seven control signals from the

12 inputs (4 3 bits) and the current state;

• a logic circuit (c) computes the future state of the cell from

the current state and the seven control signals generated bythe logic circuit (b).

The content of the logic circuit (a) will not be explained here,

as it only implements very simple functions.

The logic circuit (b) computes the following signals.

• Excitation indicates whether the cell should be excited at

the next time step (for transmission states);

• Confluent is “1” when the cell is a confluent;

• All Excited ’s value is “1” if and only if all the ordinary

transmission states directed toward the current cell, if any,

are excited (this is the condition for a confluent to receive

an excitation);

• Sens. Excitation is “1” if one of the four sides receives anordinary or special excitation; this signal is used for the

quiescent and the sensitized states;

• U is “1” if the cell is in the quiescent state;

• S is “1” if the cell is in a sensitized state;

• Kill indicates whether the cell will be killed.

The equations used to compute these signals will not be de-

scribed in detail, as they are for the most part trivial [ 5].

The logic circuit (c), whose schematic diagram is shown in

Fig. 14, determines the future state of the cell.

When the signal S is activated, the future state of the cell is

extracted from a look-up table (which can be seen as a ROM).

This choice was dictated by the fact that the evolution of a sen-

Fig. 14. Logic circuit (c).

sitized state does not respond to any “logic” rule at the last step

of the evolution tree (Fig. 7), but rather to an arbitrary rule.

When the cell is in the quiescent state, only the first bit (r ,

on the left) is subject to change. This transition to either the qui-

escent state or the S state is accomplished by a simple multi-

plexer.

The excitation of a transmission state of of a confluent state

is realized by a multiplexer which determines if the excitation

bits should be shifted (for a confluent) or not, and by an AND

gate which sets the second excitation bit to “0” when not used.An eight-bit-wide AND gate kills the cell, i.e., sets all bits to

“0,” when needed. It is sufficient to clear eight bits, as the first

two bits are “0” for all the states which can be killed.

Finally, a ten-bit-wide multiplexer selects one of the future

states (one coming from the look-up table, and the other coming

from the logic described above) depending on whether the cell

is in a sensitized state or not.

IV. THE CONSTRUCTING ARM

  A. Specification

In the previous section, the design of one cell has been de-scribed. However, there is no easy way of building an organ in

the cellular array. The aim of this section is to develop an algo-

rithm to address this problem.

As von Neumann supposed the existence of a given initial

configuration of the cellular array (i.e., a first automaton), he

never faced this problem in quite the same terms. Remember

the general construction procedure: a coded representation of an

automaton is read and interpreted by the universal constructor,

which creates the new automaton by means of a constructing

arm (or information path). The universal constructor first builds

this arm out to the location of the new automaton, and then sends

signals down the arm to construct the automaton.

Page 7: Jean-Luc Beuchat and Jacques-Olivier Haenni- Von Neumann’s 29-State Cellular Automaton: A Hardware Implementation

8/3/2019 Jean-Luc Beuchat and Jacques-Olivier Haenni- Von Neumann’s 29-State Cellular Automaton: A Hardware Implement…

http://slidepdf.com/reader/full/jean-luc-beuchat-and-jacques-olivier-haenni-von-neumanns-29-state-cellular 7/9

306 IEEE TRANSACTIONS ON EDUCATION, VOL. 43, NO. 3, AUGUST 2000

Fig. 15. Simulation of the universal constructor.

The general idea of this algorithm consists of simulating a

universal constructor on a computer (Fig. 15), which determines

all required signals and sends them to a cell on the periphery of 

the cellular array.

  B. The Algorithm

Von Neumann proposed two different procedures concerningthe constructing arm.

• The single-path construction procedure. The arm con-

sists of a single path of ordinary or special transmission

states. The information path extends from the universal

constructor to the new automaton and builds a cell. Then

the arm is changed from ordinary transmission states to

special transmission states (or vice versa) and the new in-

formation path builds another cell. The automaton is built

line by line following this procedure.• The double-path construction procedure. This con-

structing arm consists of two adjacent, parallel paths. One

path is made of ordinary transmission states, and the other

of special transmission states. The construction principles

are very similar to those described above. The main

advantage of this method is that it allows to withdraw or

to lengthen the arm in constant time (i.e., independently

of the arm’s length).

Note that several cells are involved only in the construction

process and remain in the quiescent state in the final automaton.

As only a few “biodules” are available and in order not to waste

them, the following constraint is imposed: only cells which arenot in the quiescent state in the final automaton are involved in

the construction process.

This choice implies the use of the single-path constructing

arm. As above-mentioned, this algorithm consists of two steps.

Its operation will be illustrated with the help of the automaton

described in Fig. 15.

The algorithm starts by computing all required signals. The

main difficulty lies in determining the order in which cells will

be built. When a cell has been built, it cannot be involved in the

construction process any longer. A simple marking algorithm

solves this problem. A data structure, which represents an au-

tomaton, has been defined:

Fig. 16. Cell data structure.

Fig. 17. Marking algorithm’s result.

• an automaton is an array of cells;

• each cell contains two fields; the first depicts the cell state

and the second is used by the marking algorithm (see

Fig. 16).

All cells are initially marked with “0”. The algorithm consists

then on the following steps:

1) ;

2) mark the cell which is connected to the computer with ;

3) ;4) all cells which are not marked ( ) and

• which are in the neighborhood of a cell marked with

and

• whose state is not the quiescent state

are marked with ;

5 goto Step 3 if there are cells which are not in the quiescent

state and not marked;

Fig. 17 shows the result of this algorithm applied to an ex-

ample. All cells are handled in decreasing order of their marks.

Consider a cell marked with . The information path consists of 

cells whose marks are . There may

be more than one path carrying information to a given cell. The

marking algorithm certifies that they all have the same length,and thus any one can be chosen arbitrarily. One then computes

and inserts in a FIFO the signals required to

• grow an arm of ordinary or special transmission states fol-

lowing the path;

• build the cell at the end of the arm.

Then the computer sends all the signals to the cellular array,

effecting the growth of the automaton. A constructing arm of or-

dinary transmission states extends from the connector to a given

cell and configures it (Fig. 18). The arm is then replaced by a

single path of special transmission states which creates a neigh-

boring cell (Fig. 19).

Page 8: Jean-Luc Beuchat and Jacques-Olivier Haenni- Von Neumann’s 29-State Cellular Automaton: A Hardware Implementation

8/3/2019 Jean-Luc Beuchat and Jacques-Olivier Haenni- Von Neumann’s 29-State Cellular Automaton: A Hardware Implement…

http://slidepdf.com/reader/full/jean-luc-beuchat-and-jacques-olivier-haenni-von-neumanns-29-state-cellular 8/9

BEUCHAT AND HAENNI: VON NEUMANN’S 29-STATE CELLULAR AUTOMATON 307

Fig. 18. Single path of ordinary transmission states.

Fig. 19. Single path of special transmission states.

V. CONCLUSION

In this paper, the first hardware implementation of von Neu-

mann’s transition rule is described. This implementation has a

mainly pedagogical purpose in the sense that it allows students

to observe a construction process and some organs running.

The photograph of Fig. 20 shows the complete system, i.e.,

the computer connected to a small cellular array of “biodules.”

This implementation is limited in size and therefore allows

the realization of small organs only. It is important to note thatthe complete universal self-replicating automaton is extremely

large (100 000–200 000 cells according to some estimations).

This is due to the fact that von Neumann’s work was very the-

oretical. For example, the organ needed to cross two (or more)

information paths is many thousands of cells wide.

Furthermore, while von Neumann’s automaton is very inter-

esting at a theoretical level, it is useless for practical applica-

tions.

It should be noted that von Neumann’s 29-state automaton

implements self-replication, as well as constructional univer-

sality, but not self-repair or error-detection, two essential prop-

erties for an automaton of such a size.

Fig. 20. Photograph of the complete system.

In the framework of the embryonics (embryonic electronics)

project [6] of the LSL, novel automata were designed, endowed

with self-repair and self-replicating properties.To date, this laboratory has developed a cellular automaton

derived from Langton’s loop and characterized by the self-repli-

cation of a Turing machine [7], as well as a family of multicel-

lular automata endowed with self-repair and self-replication im-

plementing various examples such as an up-down counter [8], a

random number generator [9], or a specialized Turing machine

[10].

The final goal is the design of very robust integrated cir-

cuits, capable of operating in dangerous or unpredictable envi-

ronments such as space or nuclear plants; self-repair and self-

replication, inspired by the multicellular organization of livingbeings, are essential features of these new fault tolerant devices.

REFERENCES

[1] J. von Neumann, Theory of Self-Reproducing Automata, A. W. Burks,Ed. Urbana, IL: Univ. of Illinois Press, 1966.

[2] J. Signorini, “How a SIMD machine can implement a complex cellularautomaton? A case study: von Neumann’s 29-state cellular automaton,”in IEEE Proc. Supercomput., 1989, pp. 175–186.

[3] U. Pesavento, “An implementation of von Neumann’s self-reproducingmachine,” Artif. Life J., vol. 2, no. 4, pp. 337–354, 1995.

[4] M. J. S. Smith, Application-Specific Integrated Circuits. Reading,MA: Addison-Wesley, 1997.

[5] J.-L. Beuchat and J.-O. Haenni, “Logidule de von Neumann,” LogicSyst. Lab., EPFL, Switzerland, int. rep., June 1995.

[6] D. Mange and M. Tomassini, Bio-Inspired Computing Ma-chine. Lausanne, Switzerland: Presses Polytech. Univ. Romandes,1998.

[7] J.-Y. Perrier,M. Sipper, and J. Zahnd, “Toward a viable, self-reproducinguniversal computer,” Phys. D, pp. 335–352, 1996.

[8] D. Mange, E. Sanchez, A. Stauffer, G. Tempesti, P. Marchal, and C.Piguet, “Embryonics: A new methodology for designing field-pro-grammable gate arrays with self-repair and self-replicating properties,”

 IEEE Trans. VLSI Syst., vol. 6, pp. 387–399, Sept. 1998.[9] D. Mange, M. Goeke, D. Madon, A. Stauffer, G. Tempesti, and S. Du-

rand, “Embryonics: A newfamily of coarse-grainedfield-programmablegate array with self-repair and self-reproducing properties,” in Towards

  Evolvable Hardware. New York: Springer-Verlag, 1996, vol. 1062 of Lecture Notes Comput. Sci., pp. 197–220.

[10] D. Mange, D. Madon, A. Stauffer, and G. Tempesti, “Von Neumann re-visited: A turing machine with self-repair and self-reproduction proper-ties,” Robot. Auton. Syst., vol. 22, no. 1, pp. 35–58, 1997.

Page 9: Jean-Luc Beuchat and Jacques-Olivier Haenni- Von Neumann’s 29-State Cellular Automaton: A Hardware Implementation

8/3/2019 Jean-Luc Beuchat and Jacques-Olivier Haenni- Von Neumann’s 29-State Cellular Automaton: A Hardware Implement…

http://slidepdf.com/reader/full/jean-luc-beuchat-and-jacques-olivier-haenni-von-neumanns-29-state-cellular 9/9

308 IEEE TRANSACTIONS ON EDUCATION, VOL. 43, NO. 3, AUGUST 2000

Jean-Luc Beuchat received the diploma degree in computer engineering fromthe SwissFederal Institute of Technology, Lausanne, in 1997. Since then,he hasbeen pursuing the Ph.D. degree at the Logic Systems Laboratory of the SwissFederal Institute of Technology, working on the digital implementation of re-configurable neuroprocessors, field-programmable devices, reconfigurable sys-tems, and online arithmetic.

Jacques-Olivier Haenni (S’99) received the diploma degree in computer en-gineering from the Swiss Federal Institute of Technology, Lausanne, in 1997.Since then, he has been pursuing the Ph.D. degree in the Logic Systems Labo-ratory, Swiss Federal Institute of Technology.

His research interests include computer architecture, multimedia instructionsets, and compilation.