Вы находитесь на странице: 1из 15

Physica 10D (1984) 81-95

North-Holland, Amsterdam

PHYSICS-LIKE M O D E L S OF COMPUTATION*

Norman M A R G O L U S
MIT Laboratory for Computer Science, Cambridge Massachusetts 02139, USA

Reversible Cellular Automata are computer-models that embody discrete analogues of the classical-physics notions of space,
time, locality, and microscopic reversibility. They are offered as a step towards models of computation that are closer to
fundamental physics.

1. Introduction bouring cells, and decides what should change. At


each step, this local rule is applied everywhere
Reversible Cellular Automata (RCA) are simultaneously[ 10].
computer-models that embody discrete analogues The best-known example of such a 'digital-
of the classical-physics notions of space, time, world' is Conway's[5] "Game of Life". On a sheet
locality, and microscopic reversibility. of graph-paper, fill each cell with a '1' or a '0'.
In this paper, I will describe some RCA, explain In each three-by-three neighbourhood there is a
how they can be used as computer models, and center cell and eight adjacent cells. The new state
discuss RCA analogues of energy and of each cell is determined by counting the number
entropy-concepts that are fundamental in phys- of adjacent l ' s - if exactly two adjacent cells con-
ics, but have not played a fundamental role in tain a one, the center is left unchanged. If three are
computer theory. ones, the center becomes a one. In all other cases,
the center becomes a zero.
Such a rule gives rise to a set of characteristic
patterns that 'move' (reappear in a slightly dis-
2. Cellular automata
placed position after some number of steps) pat-
terns that are stable (unchanging with time) pat-
In CA, 'space' is a regular lattice of 'cells', each
terns that oscillate (pass through some cycle of
of which contains one of a small allowed set of
configurations) and many very complicated inter-
integers. Only cells that are close together interact
actions and behaviours. The evolution of a given
in one 'time-step'-the time evolution is given by
initial configuration is often very hard to antici-
a rule that looks at the contents of a few neigh-
pate (see colour plate in [9]).
One way to show that a given rule can exhibit
* This research was supported in part by the Defense Ad- complicated behaviour is to show (as has been
vanced Research Projects Agency and was monitored by the done for "Life"[4]) that in the corresponding
Office of Naval Research under Contracts Nos.
N00014-75-C-0661 and N00014-83-K4)125, and in part by
'world' it is possible to have computers. If you start
NSF Grant No. 8214312-IST. the automaton with an appropriate initial state,
**Von Neumann[10] was interested in the problem of you will see digits acting as signals moving about
evolution -could life emerge from simple rules? He exhibited a and interacting with each other to perform all of
CA rule that permitted computers, and in which these comput-
ers could reproduce and mutate. In this paper, I refer only to the logical operations of a digital computer. Such
the existence of computers when I use the term universal. a computer-automaton is said to be universal.**

0167-2789/84/$03.00 © Elsevier Science Publishers B.V.


(North-Holland Physics Publishing Division)
82 N. M a r g o l u s / P h y s i c s - l i k e m o d e l s o f c o m p u t a t i o n

3. Reversible cellular automata evolution be invertible?

A n y C A rule can be described by an equation o f Xt_ 1 = f (x~) - Xt+l, (3)

the form*
therefore any f a t all will do**! K n o w i n g x for two
consecutive times allows y o u to calculate any
Si, t+ 1 = f ( S { q a ) , (1)
preceding or any succeeding value o f x (To m y
knowledge Fredkin [2] was the first to study revers-
where S~.,+ l is the state o f the cell at position 'i' and
ibility in finite-difference-equations o f this sort.)
at time 't + I', andf(S{~},t) is a function o f the states
The generalization to C A is straightforward - let
o f cells in a n e i g h b o u r h o o d o f i, at time t.
x in (2) be replaced by ci, the contents o f the cell
In general, (1) gives rise to a non-invertible
at position ' i ' in our a u t o m a t o n ,
dynamics. If f is the 'Life' rule, this evolution is not
reversible - if an area n o w contains only zeros, did (4)
ci.t + l = f (C{i},t) - - Ci, t - 1'
it contain zeros one step ago, or were there perhaps
some isolated ones that just changed? Its impos- w h e r e f (c/i},,) is any function involving the contents
sible to tell. o f cells near position 'i', at time ' t ' , and the
It turns out to be very easy to write d o w n C A difference is taken m o d the n u m b e r o f allowed cell
laws that give an invertible d y n a m i c s - j u s t as easy values***. I f we let the state o f a cell correspond
as constructing irreversible ones, in fact. Consider to its contents in two successive steps, then (4) can
first the following finite difference equation, with xt be reexpressed in the f o r m (1), but its reversibility
a real variable: is not manifestt.
Such rules can be universal (I give an example in
x,+, = f ( x , ) -- x,_ 1. (2) the appendix). Reversible c o m p u t a t i o n is a rela-
tively new idea [1, 3, 8] that has been used to show
If y o u want to c o m p u t e xt+l, y o u must k n o w x, that a fundamental lower b o u n d on dissipation in
and x,_ 1 these two constitute the complete 'state'
- -
computers associated with the irreversibility o f
o f the system. F o r what functions f will the time conventional logic elements[6] can be avoided.

*This serves to clarify what sorts of systems we're dealing


with, but is often not the simplest or most illuminating way to 4. Entropy in RCA
express the rule.
**Assuming integer addition and subtraction is done without If we fill the cells o f our a u t o m a t o n with ran-
error, if such an equation is iterated on a digital computer, its
d o m l y chosen binary values and then evolve it
time evolution remains exactly reversible, despite roundoff and
truncation errors in computing f according to the Life rule, we see a complex ebb
***Differences mod-k and logical functions can always be and flow o f structures and activity, with so-called
re-expressed as ordinary polynomial functions. For example, if 'gliders' arising here and there, moving across
A and B are binary variables, then (A - B ) 2 is the same as
A + B(mod 2), 1 - A is the same as not(A), A *B is the same clumps o f zeros, and then being d r a w n back into
as and(A, B), etc. Thus (4) is equivalent to.an ordinary real- a complex boiling ' s o u p ' o f activity, or perhaps
variable finite difference equation with integer initial conditions. rekindling complicated interactions in an area
tThe global time evolution generated by (4) is not guaran-
teed to be invertible unless suitable boundary conditions are which had settled d o w n into uncoupled, short
chosen, such as no boundary (i.e. an infinite or periodic space) period oscillating structures.
or 'fixed' boundaries (cell values on the boundary are not If, instead o f the Life rule, we follow some
allowed to change with time). invertible time evolution, we invariably find that,
:~Spatial correlations will not arise if they are initially absent,
but time correlations are often very evident, and are character- at each step, the state o f the a u t o m a t o n looks just
istic of the particular rule being employed - see the next section. as r a n d o m as when we started:~. This is expected
N. Margolus~Physics-like models of computation 83

from a simple counting argument, since most becomes very difficult for a locally invertible evo-
configurations look random (only a very few lution to put the redundant pieces back
random-looking initial configurations can be together**. To use an analogy, an invertible
mapped by a given number of invertible steps into mapping could change two copies of this document
the few simple-looking configurations, since the into one copy, and several sheets of blank paper.
overall mapping is bijective). Two separate invertible mappings, each acting
This is not meant to imply that RCA are less only on one of the copies, could not accomplish
interesting than irreversible CA. Starting an RCA this end.
from a random state is like starting a thermo- From the point of view of creatures 'living'
dynamic system in a maximum entropy s t a t e - its inside an RCA, their inability to make use of
not allowed to get any simpler since its randomness complicated correlations between large numbers of
can't decrease, and it can't get more complicated, cells means that for all practical purposes, the
since its already as random as it can be, and so entropy of the automaton increases. To use a
nothing much happens. thermodynamic analogy, if I want to compress a
If we start an RCA from a very non-random gas, it doesn't help me to know that the gas was
state (e.g. some small pattern on a background of all in one corner of the room just a few minutes
zeros) then we can have an interesting time evo- ago. I have no ability to make use of the compli-
lution. If we choose a rule and an initial state that cated correlations that this statement implies, and
allow information to propagate, then what tends so I say that entropy increased when the gas
to happen is that the state of the RCA becomes expanded to its current volume.
more and more complicated. More precisely, if
each state o f the automaton is viewed as a
'message', with the contents o f the cells being the
characters of the message, and if only local mea- 5. Conservation laws in second-order RCA
sures of correlation are applied, then the amount
of information* in successive messages is in- In general, an RCA has as many conserved
creasing. O f course th~ automaton is really only quantities as there are c e l l s - i t 'remembers' the
repeatedly encrypting its state, and so if all cor- initial state of each cell, since you can recover this
relations are taken into account the amount of information by running the system backwards. Do
information really never changes. What happens is these give rise to any invariants which can be
that the automaton will introduce some redun- computed in a local manner from the current state
dancy into the message, and use more cells to of the system? Can we find an invariant that is
encode the same information. Information that analogous to a classical mechanical energy?
was initially localized becomes spread out as cor- In RCA, the simplest locally-computable invari-
relations between the states of many cells, and it ants are of course cells whose values never
change***. Such situations can arise because many
*For a discussion of the information content o f a message,
rules ignore the remainder of the neighbours when
cf. [71. part of the neighbourhood has some particular
**(4) generates a locally invertible time evolution. If we configurationt. For example, consider any rule
know the values of cells near position i at two successive times,
that, in all cases where the center cell of the
we can tell what the preceding value o f the center cell was.
***In mechanics, this corresponds to degrees o f freedom neighbourhood is 1, ignores the rest of the neigh-
that, for certain initial conditions, are decoupled from the rest. bours and returns a 2. Such a rule, when used with
t F o r rules with 2 states per cell, only two rules, "count the (4), results in a very simple conservation law. If we
parity of the neighbourhood" and its complement, have no
configuration o f part o f the neighbourhood that makes the look at the case in one dimension where the
remaining neighbours irrelevant. automaton at two consecutive time-steps looks like
84 N. Margolus ~Physics-like models of computation

this: With this rule, 'a' and 'b' standing for any binary
values, and a , their binary complements, the
t-I ...1... '.' indicates a cell whose value is second-order time evolution given by (4) says that
t ...1... irrelevant to the discussion (5)

• bE. ~ t+l .a~. (7)


then the center cell here will always be a 1.
For a more interesting l-dimensional example, which is again of the same form, so these two cells
consider a 2 state per cell CA with a rule f that are decoupled from the rest of the automaton. Any
returns a 1 iff each of the two cells adjacent to the cell which is n o t initially part of such a pair will
center is the same as the center: never be (and never was)*; counting all such cells
gives us an (invariant) estimate of how many cells
1, if c x _ 1,t = Cx,t = Cx + 1,t (6) are available to represent dynamically changing
f (C{x}'t)= O, otherwise. information (but only an estimate- whole regions
may be decoupled from the rest of the automaton
because they are surrounded by a wall of decou-
* In irreversible CA, a guarantee that a cell will always be
pled cells**; a local counting wouldn't reveal this).
part of such a pair does not guarantee that it always has been. If we concentrate on the active (as opposed to
** An extreme instance of 'decoupling' of entire regions the decoupled) cells, we can distinguish various
occurs with any rule that doesn't depend on the center cell, but
kinds of activity, and try to associate conserved
depends on its nearest neighbours. For example, in 1D we might
have a region that looks like this: quantities with each. As a simple 1-dimensional
example, consider 'dislocations' propagating in a
t--I ... 1.1.0.1... regular background pattern of cells. Using the rule
t ... 1.0.O.l.1...
t+l ... ?.?.?.?...
(6) again, consider the sequence of steps shown in
fig. 1 (light and dark squares stand for 0's and l's
From (4) it is clear that we have enough information to respectively; dislocations are triplets in a back-
compute the states of the cells marked with ' ? ' - t h e system
ground of pairs and are outlined for emphasis). In
decouples into two entirely independent (but interleaved) sub-
lattices, each evolving without reference to the other, this evolution, the number of such 'signals' is the

.... : .... ~ N$'." ~.".~ :'"'~ ~:N


r2i @ N i..i.i ....~[~ N ~ r . . . . ] N N !.21 i...;}N @ iZJ !2i @ N [..;.J • •
f..i.Ji....J N ~'i~ri.ii ..,-'.'::-: ;~::;::~.:i :'""~ ............ :
':":"'~ :?.:':..~:':-: ~
[2} [Z} @ NI
N i2i 127 ~.,.~*~iNili....', ill i....+~,~.<..N i.;.;1i..iJ N ~i~ fZJ [.;..JN N E] •
~ ~'.'~ ~:i:N :~:i:~1 :'""i :'""i : .... :~:.'.~ ~,':..~
i....i r....i ~i~
.....~ ~i~ i.;;.?r;.i;J~ ~lli....~i....~.....,1:.,,!~ . ~.... N [2'J ii..? N N [.i.J EJ N N •
12] N N i....i i.iL~ ~-~ I:..~-' i....J
. ....
i ~ ® ~.~.. ~:~,.~ i.i.J N N f.2J • •
..',..-: .:::.~:.:.: ~i:ill ,:.r.:.: ....,..: .......:
i..i.i r..iJ ~..,.Jr....J@ B • •
i2J @ N [2? ii.] @ Ni i.;..Ji..;.JN • ~.,.:~l~...., ~~ i.;..i i.211N *:~ N iZi [i.J N @ i..3 •
rzi i;i? ti/~i~i..i;Jr.i..J~ ~::?,..-'~....~ . L..~i....~R~ i.;;.J[~2J@ @
!.2! N N i....Jii.;J @ N r.ZJ i....JN ~i '''~ 'r~ i~*..
•........... ~.~..,:
'* :$ ~,,~":" ~,.:~lr.~
•~.~ ~.~*l"..... i.i? @ @
-~::-':.'~ ''!
!.....i

r.2J [..i1 N N iJJJ.i.....~ ~,~ NI [J...J[21N N !.i.J .....


•"~ ~.":~ ....;ltl~I
:< ~ ~, ~'~' N I ~ f2] @ @
[ii.J @ N L.Jf}r21N N iii] [i;.J N N ri.LJr.i.J N N E i r2J r.J.3]N N E]
Fig. 1.
N. Margolus ~Physics-like models of computation 85

:.....: ,., ~ ~ . ~'"'~ ,~ .....:


~ :~," :';.," . . . . .: • • •

"" .....: ~.-'.:'.~ ............... ~ ~'""~:'.... .,.'~:~: ~:i:.


:...... .:."~:~:~,F"~
i£i i...i] ~.~ i~ iii..i ~..... ~ : ~i~ ~;~l....J i..i..i~!~i ~..-~~....,~....~
.....................
.:...~j..,'~,~,¢~ i...J i.i..] @ ~, . . . . : •
.~ . . . . :::~:~
• •
i/.i ~ ~i~ i..i.] i....i ~,~ ...........
..... i.....i !...i.i ..... .@ iJ:....~ •
.-. ~:. x .~....: +:¢.:.x , ' " ' : ~ . . . . . ~ - " . : l : ~ : i : i ~ i .:.:~.:.x .::::~:: :. . . . . . ~.~x~
...... i...ii ~ ~ ~....~i..i.i ~!~! ii!i~iti...J ,....., ~ - ~• ~:::::~.'-::~::~: ,:~...~b~]
it ....~ i..i.i ~ ~i..]. i...i}i.i..! @ • •
~!!.~ ....... • •

~ li~ i! i J ~,. ~i~ i} i i ~~':~ ~....~~:~:l~ ~..~.ii!.L ~!!~~-~ i...i}i.i..] @ ~ •


['"'i ~ *i*i:~ ....× .".::~::~'~':':~~::::~:'"': ".'.*-'.':
~.~} ~iii ~....]
.... .--:~,~1,.....
".....
~"~: .... ~ ~I:~:':'~:' ~:"~:'~l!~!~ii.i..}i..i.! ~ i~li] i../i ~.i.~}@ @ •
~ ~!} i..i.}i.i..}~}ii}~}}I}}....}i.....!,..... ~....~ i.i..i .....: ~:~':' @

~~i @ ~:~ i i} i .il~:~!~~ ~!~l~.ii ~i.i • ~ i.i..] I ~ Z ~ • ~lii..J i i.ii ~ @ iZ} • • •


Fig. 2.

same as the number of blocks of cells we start off 6. First-order RCA


with the form ........
bb . . . , and is conserved.

If two such dislocations collide, we know that R a t h e r t h a n c o n t i n u e to a n a l y z e R C A in o r d e r


they can't just completely stop moving. Proof: if we to discover c o n s e r v a t i o n laws, we will n o w p r o c e e d
tried to invert the evolution, we wouldn't know to c o n s t r u c t a class o f a u t o m a t a t h a t all o b e y a
when to start the signals moving again. In fig. 2, very simple local c o n s e r v a t i o n law: the t o t a l n u m -
the following quantity is the same for every pair of ber o f l ' s never changes, a n d neither d o e s the
consecutive time-steps: n u m b e r o f O's.
T h e trick we will use is quite general, b u t it will

( # of cells in blocks of form


""aa"i) bb
be illustrated in 2 d i m e n s i o n s with 2 states per cell.
Fig. 3 shows a C a r t e s i a n lattice o f cells, d i v i d e d
into 2 x 2 b l o c k s o f cells. W e treat each 2 × 2 b l o c k

+
( # of cells in blocks of form
""c'c"i) d d.
as a conservative-logic[3] gate, with 4 i n p u t s (its
c u r r e n t state) a n d 4 o u t p u t s (its next state). These
'gates' are i n t e r c o n n e c t e d in an entirely u n i f o r m
(8)
a n d p r e d i c t a b l e m a n n e r - i n a p p l y i n g the rule to
the 2 × 2 blocks, we a l t e r n a t e between using the
The first term counts the number of moving sig- solid b l o c k i n g in this d i a g r a m for one step, a n d
nals, and so could be thought of as a 'kinetic- then using the d o t t e d b l o c k i n g for the next*. Fig.
energy' analogue. The second term accounts for
the disappearance of this 'K.E.' during a collision,
and so could be considered a potential-energy
analogue. I i. ¸.......

b q ............
* Iff~ is the global rule that applies to the solid blocking, and
fa to the dotted blocking, then St+ l =fs(fd(St)) describes the ~ i ,-~ ,
evolution using a time independent rule. By including a small
amount of positional information in the state of each cell, this
rule can be written in the form(l). Fig. 3.
86 N. Margolus / Physics-like models of computation

On .__. D O gate. If a logic gate is not universal, then no


DO D13 interconnection of such gates can be a computer.
no ~ nm Thus the only candidates for universal CA's in the
mo DO scheme described above are those whose rule corre-
sponds to a universal logic gate.
Dm , mD In order to promote the CA rule of fig. 4 as a
mD Dm
link between classical mechanics and computation,
Dm _+ Dm I will first discuss Fredkin's Billiard Ball Model
Dm om
(BBM) of computation[3] - a classical mechanical
mm _+ mm system that can be used to do digital computation.
Dn Dm It will then be easier to discuss this rule, which I
call the B B M C A - a purely digital model of com-
mml ~, m m
mm Nil putation which is closely related to the BBM.
Fig. 4.

7. The billiard ball model of computation


4 shows an example of a conservative rule (one that
conserves l's and O's) that is reversible. In the case The BBM is a classical mechanical system, and
of all O's or all l's, there is no choice, they remain obeys a continuous d y n a m i c s - p o s i t i o n s and ve-
unchanged. Any rotation of one of the blocks on locities, masses and times are all real variables. In
the left is mapped onto the corresponding rotation order to make it perform a digital computation, we
of the result to its r i g h t - t h i s rule is rotationally make use of the fact that integers are also real
symmetrical, and these are all of the possible cases. numbers. By suitably restricting the initial condi-
Since each distinct initial state of a block is mapped tions we allow the system to have, and by only
onto a distinct final state, this rule is reversible. As looking at the system at regularly spaced time
will be shown later, the a u t o m a t o n corresponding intervals, we can make a continuous dynamics
to this rule is universal. perform a digital process. In this case, we begin
One could easily have written down an example with a 2-dimensional gas of identical hard spheres.
of a rule that conserved l's and O's, but that didn't If the center of a sphere is present at a given point
always m a p a distinct initial state of a block into in space at a given point in time, we will say that
a distinct final state - such a rule would be conser- there is a '1' there, otherwise there is a '0' there.
vative, but not reversible. As the corresponding The l's can move from place to place, but their
automaton evolved, it would forget all sorts of number never changes.
details about the initial state, but it would always The key insight behind the BBM is this: every
remember the numbers of l's and O's.* Thus the place where a collision of finite-diameter hard
existence of an interesting local conservation law spheres might occur can be viewed as a boolean logic
does not depend on the rule being reversible! gate**. W h a t path a ball follows depends upon
In the language of digital logic, a gate from whether or not it hits a n y t h i n g - i t makes a deci-
which it is possible to construct any boolean func- sion.
tion of any number of input variables is a universal To see how to use this decision to do boolean
logic, consider fig. 5. At points A and B and at time
* For each gate (block), we can tell after each step how m a n y ti, we either put balls at A, B, or both, or we put
possible predecessors the result-block has. Thus we can count
none. Any balls present are moving as indicated
exactly how m u c h information is lost at each step.
**The B B M C A models space as being uniformly filled with with a speed 's'. If balls are present at both A and
gates, and so a connection is already apparent. B, then they will collide and follow the outer
N. Margolus ~Physics-like models of computation 87

A? AB

! X
f • • I

Fig. 6.

B? AB
Fig. 5.

outgoing paths• Otherwise, only the inner outgoing


paths will be used. At time t = ti, position A is
a 1 if a ball is there, and 0 otherwise (similarly for
position B). At t = tf, the four labeled spots have
a ball or no b a l l - which they have is given by the
logical function labeling the spot. For example, if Fig. 7
A = 1 and B = 0 , then the ball coming from A
encounters no ball coming from B, and ends up at
the point labeled "A and not B". A place where a
collision might occur acts as a reversible, universal
[3] l-conserving logic-gate, with two inputs and
four outputs. A path that may or may not contain
balls acts as a signal-carrying wire. Mirrors
(reflectors) allows bends in the paths. In order to
be able to use the outputs from such a collision-
gate as inputs to other such gates, we need to very Fig. 8.
precisely control the angle and timing of the col-
lisions, as well as the relative speeds of the balls. A** ,, B
We make this simple to do by severely restricting
the allowed initial conditions. Each ball must start
at a grid point of a Cartesian lattice, moving
'along' the grid in one o f 4 allowed directions. See
fig. 6. All balls move at the same speed• The time 7t ~-k
B/ "A
it takes a ball to move from one grid point to
another we call our unit of time. The grid spacing Fig. 9.
is chosen so that balls collide while at grid-points.
See fig. 7. All collisions are right angle collisions, routed and delayed as required to perform digital
so that one time-step after a collision, balls are still logic. The configuration of mirrors in fig. 9 solves
on the grid. Fixed mirrors are positioned so that the problem o f making two signals cross without
balls hit them while at a grid point, and so stay on affecting each other. (Notice that if two balls come
the grid. See fig. 8. By using mirrors, signals can be in together, the signals cross but the balls don't!).
88 N. Margolus ~Physics-like models of computation

Mirrors and collisions determine the possible to be a straightforward matter to find a CA rule
paths that signals may follow ('wires'). In order to that duplicates this digital time evolution.
ensure that all collisions will be right-angle col- Unfortunately, the most direct translation of the
lisions (and not head-on, for example, which would BBM into a CA has several problems. First of all,
take us off our grid) we can label all 'wires' with to have separate states of a cell to represent 4 kinds
arrows, and restrict initial conditions and inter- of balls (4 directions) an empty cell and a mirror,
connections so that a ball found on a given 'wire' and to have the balls absolutely conserved (as they
always moves in the labeled direction. are in the original BBM) would require a standard
Thus our universal gates can be connected as "change the center cell" rule with 6 states per cell,
required to 'build' a computer. Computations can and a 17 cell neighbourhood. Such a rule has a very
be p i p e l i n e d - a n efficient 'assembly-line' way of large number of possible configurations for its
doing things, where questions flow in one end and neighbourhood, which makes it unwieldy. M o r e -
finished products (answers) flow out the other, over, many of these configurations involve such
while all the stages in between are kept busy. events as head-on collisions, which were disallowed
Reversibility turns out not to be a great in the B B M - a CA rule, however, should be
h i n d r a n c e - u n w a n t e d intermediate results can be defined for all configurations. It is not at all clear
mostly 'erased' by copying the answer once you how to extend the BBM rule to these extra cases,
have it, and then running the computation back- and still have it remain reversible and 'energy'
wards to get rid of everything but a copy of the conserving.
inputs. At the expense of making collisions cause a
This then, in brief, is the BBM. Kinetic energy slight delay, we can get away with the very simple
is conserved, since all collisions are elastic. Mo- rule of fig. 4, which involves only 2 states per cell
mentum is not conserved, since the mirrors are in a 4 cell neighbourhood, is reversible, and con-
assumed to be fixed (infinitely massive). serves the number of ones (and zeros) in all cases.
The IIDDD .._. DDDlI (and rotations) case in fig.
4 is the one that causes an isolated'l' to propagate
8. The BBM cellular automaton in a straight line, in one of four directions (depending
on which of the four corners of its starting block
When viewed only at integer time-steps, the you put it in). See fig. 10. The legend "solid" or
BBM consists of a Cartesian lattice of points, each "dotted" below each of these automaton
of which may 'contain' a 0 or a 1, evolving configurations tells you whether the grouping of
according to a local rule. It would therefore seem cells into blocks for the next application of the rule

4 .... " "~'~t " ~ ' " ~"i ^'~'~" ~"" ~

x,,~..,. ~J L,
dotted solid dotted
Fig. 10.
N. Margolus I Physics-like models of computation 89

i JlJ ,41
i ............... . . . . . . . . . . . . ~ iii - • i),
...... t1......... -
{ - + ! ...... i "i"
......[............ ~........ ~ ............ ...) .....)......lli m r-

L,~..
k
dotted solid dotted
Fig. 11.

is indicated by the solid or the dotted lines. In these figures, the paths the ones were originally
the diagrams, a 0 is shown as an e m p t y (blank) following have been lightly drawn in, to show that
cell, a one is shown as a filled-in cell. Since the ' a n d ' case shown results in an o u t w a r d dis-
Ell
am
__~ EllElm (and rotations), a square o f four placement, just as in the BBM. (Unlike the BBM,
ones straddling the b o u n d a r y o f two adjacent blocks there is a delay in such a collision, which we'll have
will be s t a b l e - w e will use such squares to construct to worry a b o u t in synchronizing signals). Finally,
mirrors. See fig 11. The four l's straddle two dotted Ill ~
12111
11/ (and rotations) permits the re-
Elm
blocks horizontally, then two solid blocks vertically, flection o f double signals by a mirror. See
and then two dotted again. Since Ell ~ 1112 fig. 13. The ' m i r r o r ' consists o f two adjacent
. ma Elm
(and rotations), pairs o f travelling ones p e r f o r m stable squares (notice that a square is stable no
a billiard-ball type collision. See fig. 12. In all o f matter what you put next to it - its

i ;.:~]
..................
,,:~.......... >,o:.~ ........... mi ...................~ 2 : : : ......
ill • i", .... /f ! i I/
II .,...
.......................
i ... ~~::'
,, /" ""!"~'t..............

i~..,,,.,~ ill i ""~


-7
.............:!::.,....,...,,.^,,~ ........ '\.,~ !! I ".,,
..............j:;':~................................... '~'i ~
..... .,,, ,J,.,
in id: ......
/.
dotted solid dotted

.: '-. N,
", i .". t/
. . . . . . . . . . . . . , .............o?~....... ..,,,,,¢ J I ~<j
........ :':~".
........ i! .......1:7~<---- i"",..: ~ " t --i~.........7 ........
--) ill
....................... ....::..';:L..
............... ~" g -+

"¢mll"m)
.........<):2.. . . . . . . . .
\(
"~,~
' !1 ........i"\.7t ......

7 I,,,f:11
,''11\.

~i
i i7i ..........i ~' ! i........::,-.,~
k:LJ 23 L::I
solid dotted solid
Fig. 12.
90 N. Margolus ~Physics-like models of computation

,•.
%•,%',',1
)"',,i i L,/
L m!,," t ~ ii:i!~{~ t ) i m~,,"
7
........... ii i N ii ...........
iNDia ...........,.= "i }|mi ~.........
L,,. .... ~ C .....
solid dotted solid

~T '7 ~ ~:~ ,~ ,
t ...... "i i,
j~":::::7
...........
I mli",,.i ........ ) ............... j ) , ............................... li,," ?,
l i i t i~i ........ im m m ! i i .................. ...)!..,.~l=in
... Hi
............ )m m ! ! mi (iill ............
)m i m l n ) .......... mim m)..............
dotted solid dotted
Fig. 13.

'decoupled'). Again, the signal path has been In the BBM, such a reflection would cause no
lightly drawn in. After each reflection such as that horizontal delay. We can compensate for such
shown above, the signal has been delayed by a extra delays, as well as add any desired horizontal
distance of one block along the plane of the mirror delay of 2 or more blocks. See fig. 14.
(in this picture, the signal winds up one block- Suppose we want to arrange for two signals to
column behind where it would have been had it not collide, with the plane of the collision being hori-
hit the mirror). zontal. I f we get the two signals aligned vertically
and they are approaching each other as they move
* We can tell how many steps a signal will take to traverse forward, they will collide properly. We can
a given path (from one position where the signal is moving adjust the time it takes one or both signals to
freely to another) by simply drawing the path joining the two
points (including all points that may be visited by at least one reach a given vertical column by using delays such
'1') and counting how many cells are on the path. as those in fig. 14".

2-delay 3-delay ~i ~
"\~ m~m m m "% {

i "'. i / " x t
............... ~. ............. ~,~::. . . . . . . . . . . • ...... ~ ,
...... i x !\
I ni 'i" iN
. t
F ~m m e Hi 1 n~i,,-"d Him
[~ )m mm )
Fig. 14.
N. Margolus / Physics-like models of computation 91

Irl DD . r i __. n l
DD --* HD on dotted steps, and Dn DD
on the solid steps, etc.) then we get another rule
i i n i l n~
................... ii iiil i!i ...... 7 that is also computation universal. Its universality
can be shown in a direct manner by using this rule
.....- . ,~
...............................
~ i / .........."~ ......
/
......r"i ',.. / to simulate the BBMCA (this rule can simulate a
-- t ,
given BBMCA computation isomorphically using
":::;:l':"~"~7~':"........... i~,, eight times as much space, and four times as much
~/ , / " time)*.

Fig. 15.
9. Relationship of BBMCA to conservative logic
In order to allow signal-paths to cross without
The collision-gate of fig. 5 has two inputs and
interacting, we use signal timing. By leaving a gap
four outputs. If we wish to consider it to be a
long enough for one signal (2 blocks) between all
conservative-logic gate (one that conserves both 0's
signals, we need only delay one of the paths by 2
and l's) then we must regard it as a gate with four
blocks along the plane of the collision we're avoid-
inputs and four outputs, two of the inputs being
ing, in order to allow the signals to pass each other
constrained to always be zeros.
harmlessly. This gap is also enough to allow us to
The gate upon which the BBMCA is based also
separate parallel output paths from a collision. See
has four inputs and four outputs. Is there some
fig. 15. After the collision (fig. 12) the upper path
connection here? Let us redraw the BBMCA rule
already has a 1-block horizontal delay relative to
in a different form (see fig. 16). The mapping of
the lower path. The mirror introduces a further
input variables onto output variables of the
1-block delay, and so the upper signal passes
BBMCA has been redrawn as if the inputs all
through the timing-gap left in the lower signal
arrive and leave in a vertical column. If we use this
path. With the addition of some extra syn-
correspondence to draw the four possible cases
chronization and crossover delays, any BBM cir-
with a = d = 0, drawing [] for 0, • for 1, and
cuit can now be translated into a BBMCA circuit.
showing each input/output case, we get an evo-
Since the BBM has been shown to be a universal
lution (see fig. 17) which is logically the same as the
computer, the BBMCA is also.
collision gate. Thus the BBMCA rule of fig. 4 can
There are many rules similar to the BBMCA
be regarded as a completion of the collision-gate to
that are also universal - for example, if we take the
a (reversible) conservative-logic gate!
BBMCA rule of fig. 4 and modify it so that for
each case shown, the result (right-hand side) is
a-I I-A
rotated 90-degrees clockwise on the 'dotted' steps,
and counterclockwise on the 'solid' steps (i.e. ab AB becomes
b-f I-a
cd --* CD c-I I-c
d-I I-D
*The idea for this B B M C A variation arose out o f a
discussion with T o m m a s o Toffoli. Fig. 16.

o-I I-o o-I I-O D-I I-D D-I l-m


0-1 I-0 m-I I-o D-I l-i U-I l-n
o-I I-o o-I I-n "-I I°n l-I l-n
O-I I-[] []-I I-[] D-I l-n D-I l-m
Fig. 17.
92 N. Margolus ~Physics-like models of computation

10. Energy in the BBMCA inable would make the most direct possible use of
the physical interactions and degrees of freedom
In the BBM, the kinetic energy is proportional available. Physical quantities and concepts would
to the number of moving l's. In the BBMCA, if we have a direct computational interpretation. Com-
let Px,y,t-1/2 = Cx, y,t - - Cx,y,t-t, then 2
Y~xy(Px,y,,.l/2/2) puter scientists cannot hope to find the right
counts the number of moving ones (each moving quantities to use to talk about efficient com-
one disappears from one cell, and appears in putation until they have models of computation
another, so Zxyp2_ which counts how many places that are much closer to fundamental physics. Re-
c h a n g e - would count each moving one twice). versible Cellular Automata are offered as a step
The ones that aren't moving are at those places towards this end.
that were a one at t - 1, and still are one at time
t. Thus the number of stationary ones is
•xyCx,y,tCx,y,t - 1. A complicated way of writing the
Appendix A
(constant) total number of ones is
2
Et.l/2 -~ ~" " Px,y,t 1/2 .4_ ~'~ A second-order, reversible, universal automaton
2 _ ,.., e , c , _ 1. (9)
xy
This appendix describes another BBM-type au-
During a collision, some of the 'kinetic-energy'
tomaton. As before, we begin with a 2-dimensional
changes into 'potential-energy', and then it
cartesian lattice, this time with 3 states per cell,
changes back again.*
which we can designate as - 1, 0, + 1, and which
Since (9) is a constant for a n y rule for which
2 we will draw as '\', blank, and '/' respectively in
Exj,c~,~,, is constant, it is not possible to derive the
diagrams.
particular rule from this expression. We might (for
The time evolution will be given by
example) introduce the rule into (9) by using it to
Cx,y,, + l = f(cl~,~l,,) - Cx,y,,_ ~, w h e r e f (e{x,y},t)is a func-
eliminate c, (thus writing E as a function of Pt-U2
tion that 'looks' at the 3 × 3 neighbourhood with
and c t _ ~) and see if we can push the mechanics
cx, ~, as its center cell, and ' - ' is taken mod3.
analogy further.
For each possible configuration of the neigh-
Using number-of-ones to play the role of energy
bourhood, f will return a value of - 1, 0, or + 1.
in BBMCA circuits and considering circuits for
Just as head-on collisions never arise in BBM
which we have only a statistical knowledge of what
computations, many configurations o f this R C A
the different inputs will be, elaborate thermo-
need not arise in order to 'build' a universal
dynamic analogues can be established, but this will
computer. We will leave these cases u n d e f i n e d -
be discussed elsewhere. Although the overall sys-
each choice for these undefined cases defines a
tem has a single deterministically evolving state,
distinct universal RCA.
from the point of view of small pieces of the
An isolated '/' or ' \ ' will correspond to a travel-
system, their inputs may appear random.
ling billiard b a l l - if only the cases defined here
arise, the number of such 'balls' will be conserved.
11. Conclusion An isolated '/' will propagate along a positively
sloped d i a g o n a l - its evolution will be governed by
The laws of nature are the ultimate computing the following cases:
r e s o u r c e - - t h e most efficient computation imag-
* One can think o f mechanical models o f the B B M C A for
ooo ooo /oo ooo o/o ooo ooo ooo
which the two terms of (9) are proportional to the physical
kinetic and potential energy o f the system midway between two ooo o/o ooo ooo ooo /oo oo/ ooo
steps. ooo ooo ooo oo/ ooo ooo ooo o/o
N. Margolus f Physics-like models of computation 93

~ . ' :..~':.>~',~..",o~
.i<..'.~;~.!U.<:-~.~..N.k<':.~e...N,
'r.;"..~"~' '.h~.~ '': ~'.~.,';.:,."~";:f"r.:2:x..~" ":,x.'~.~
:.x.i :x.: i,:.~.." i..,'-,: .~.%: !..~x2 .~,'k.' ~'x2 .k';..':'~..~.:';.:';~.~.."7..':~..!::2";. )::~'~. )::.,' '
~ : :';"~7::~7 '>;';;. ~'7<::<:'<~~.~..:
.; ~
~.7:.~'~::..'~r: Y.~Uli'W:..,,'.~..~..,.>#~."~ )
~:,:,: ;,.~/,~ ~,,~~ , . ' ~ . . ~
~.......'~.....;';;...,.:'~.-..~'~....,%..-~%...~4%..~ ~...>:,~...:+'~/~.><'.,,.,:(.~:~.~

Fig. 18,

all return a '0' as the value f o r f ; For compactness in writing the complete rule,
we adopt the convention that inversions as well as
00/ 000 rotations of the cases given are mapped onto the
000 000 corresponding inversions or rotations of the result
000 /00 given.
These cases become zero:
both yield a value of '/' (i.e. + 1). A sample time
evolution (using halftones to show a cell's contents \\\ \\0 \\0 \\0 \\0 \\/ \V \o\ \o\ \o\ \oo \oo \oo
at time t - 1 and solid lines for time t, with ooo ooo IOO /oo 1/o ooo iot ooo ioo foo ooo I\O I\1,
diagonals lightly drawn through all cells) is shown //I tlO ooo oo/ oo/ /f\ i\\ IOl ooo OOl too ooo ooo
in fig. 18. Intuitively, this rule at time t tries to
make the '/' travel both forwards and backwards \oo \oo \oo \oo \oo \oo \oo \oo \oo \oo \oo \oo \oo
along its diagonal-subtracting away a '/' where it IO\ IO\ IOO IOO 1oo IOO /oo IOO /Ol /o/ //\ //o //o'
was at time t - 1 just leaves a '/' in the forwards ooo OOl \oo \Ol ooo OOl o/o o// ooo oo/ ooo ooo oo/
direction.
We define this rule to be rotationally symmetric. \Ol \ot \Ol oo\\ o\\ o\o o\o o\o o\o oo\ oo\ oo\ oo\
It will be helpful to adopt the following con- ooo IO\ fo\ ooo ooo ooo ooo ooo /o/ o\o oo\ ooo ooo'
vention: the 90-degree clockwise rotation of 1o\ \Ol ooo ooo Oli ooo OOl o/o o\o ooo oo/ ooo oo/

ooo \oo -+\. oo\ ooo ooo o o o / \ \ / \ \ fo\


/ is
000 000 OOl o\o ooo IO\ ooo IOl ooo
/oo ooo ooo ooo ooo \ot \tl \ V \Ol

Inversions are defined analogously. Thus an iso- These cases become one:
lated '\' will follow a negatively sloped diagonal
path if the propagation of signals is governed by \oo \oo \oo \oo \o/ \o/ \Ol V\ o\o oV oV oV
the cases:
/\o/oo /oo / o o / o \ / o o / o o ioo /\o \oo oo\ ooo'
Vo /\o /oo /o/ OOl ooo oo/ooo \/o /oo ooo /oo
ooo ooo /oo o/o 00\ 000 000 000 000 000 000
000 0/0 000 000
O, /\o ooo ooo I\\ i\o I\O I\1
Vo /oo tOl VI \1o VI \1o
000 000 000 000
(plus rotations and inversions). There are 2617
000 - - , /
undefined cases.
000
Using this rule, a mirror is shown in fig. 19. We
/00
needed to define certain cases just to allow a mirror
(and rotations and inversions). to remain unchanged when no signals are nearby.
94 N. Margolus / Physics-like models of computation

...... ×"~. • ..... .x"R ...........


A signal bouncing on a mirror is shown in fig. 20.
¢:.vx...>: .::.~.~i:.//<.~,<::.N::.N:::# (Notice that there is no horizontal delay, as there
<. : X'"~ {. :,?',':~.2;::~;<::~¢g ~ was in the BBMCA). If this signal had been shifted
.%:..,r:r.:.:..,t:r:,::,r'-,,:"r-.~'t:~ one column to the right, it would have passed the
iX:~.;.:.i:,x. :,..' ~.,;: "~:
mirror unaffected. We put some mirrors near
'<i. l'I . ''' .'J ),il '~ ~ l i ~ "I ." ill

places where signals might collide, so that (with its


small neighbourhood) this rule can simulate an
Fig. 19.
attractive c o l l i s i o n - t h e signal paths will be dis-
placed inward in a collision, rather than outward
as in the BBM. See fig. 21. (If a signal arrives on

.~. i...~.:.~':%"..i:::~..~::.":..
~k.6~
~{'i<",,. .c.,',.m'I~,¢ 4";~g'2h.."
~,.'.'.'.~.',.v:'>'¢:.'.'~,.=:.'.,,;':.-_¢..':X'.'.':.) ~ ' I ~ ~ ' ' ~I~. I. . < I J . :<l~: J ~ ' ' ' ~ : I " X ~ : 'I
.................. ~-:..~:.'~1 :,..~j,c...~ .~
,,
...~......%.>...-.., .,..,i~ iw.......,
¢...,,,. .......... .,.-,. :~'.,.....X.... :.,,'-...'.'~.?... . .... ) ) , A ~:~ ~i:,..~:~ F ~ . , ~ , ~
i" ": i',,~i i".;.: :' . iN": i" ": i :
,::,, ,: s.:,, :,>. •,,.¢...,~....:...:..;.:.'..;.. ,e'~ •::,.,<,... x.%.¢ .2g~.¢:~. ~.~g'r~L: .:~..~z';h" ~.-,':~.I~3,'." I~ ~...~.
...... .....~...: .....,,,:...., ... .,..,...~... i" !X ~k ~>" ~: i~" ~ 'k,..~~ ~:'.~..i.&~ i..'.~.-~l ~
f'~:~'..'t':':."::'r':.':".":.':-:":=',(!i~.:.':.:..r¢'7 ~ . . ~ ~ . ~

Fig. 20.

.~..~
: . . : '......~'.¢..~,~..,.~.2
...: /.: ..., .~,,.# .'~..~'~.~,e~.~ X~ ~:.~ ~;<~ ~,'xi! : "i b-Ki i ~~ .
j~a..i:....~;,..':.:-/,j,::.4;,,'...~~ ~:.",~ ~:b~ u:~i..i..x..'.~.~,.~.. :~..¢'.~.:...a.'~',,,,,.'
~:~ ],::~. ~
~..:.: ,,%..,.,%...,:x......,,,.....:. .~..~-~c
.'.k:..:,.'~.:...:,
:~: :;~: ~....,..':...,:.N--.....~%.>..{',-,.v...~..V.
GI~ : :'~: :X: :..',i :, ".. :, :'
y.:~ ¢ .',.( ,~¢....,. k,:N ...:, .,..,:. :.::.', x...':, ~z...N .2...%~...%
~.:.~ .:.:.:.:, :.:.,:.:..rT~ i.:..',z",>~ ,,,.>,:'X..>.,:'.~.¢ ~.K:.,: ,"'.:.:~•'.:e':~'L:.f:c 'x . % : , ' ( ~
~.~x ".:N.;.~:.~...f,...~ i.:'.:4 !,:~;.~ !~" ~" < ".N ~5;. ~ ~.~ .!,'.%.~
."r.:" ".x" .'.'X''.:.'r'I.:.:':'l~ :.-" ~ "..,;~'~..:" ..x-":.:. '..'.r" ."t(' :.,'¢'.'%" 7'[ .C" ~-:":':.:';< ":,:"r:' ,:~:%:":d%'"~%: "'x~
:~k: :,~: • " • " " " : ~k: :~: : °'" ".." :
.... ~..~:..::5..=...~
%.:,,-',.:.., ~:.,......'~~......:'k..:.:...-'..,:...%~
.,:.. :,--'-. .k;,":..N
:.:,:,i,...:~ ~:..;~:--.,?
.!~.~i ......_,.. .... • ".C"'x'" •.....
'~..-.~:
. , . . : '.,....:.:":,...:.:'i,.,:,.'
,...: .-.::. • ': ~..:,
, : N:"i ."J I~ ,'r<.;,',~
~.¢:; "':.:'." .X';:'~:..~ :'~ .('>~: :.' '. .
i>": !.:,.(: i .:.: i .:.': !,',,': !),.,: " • . • i :
,~..",,.,:...~.:..<..,. >::..'4 ..~..:,...':...-' F.'J~ "~..~.'" .i)
~.'." ."":'~':'''~ ":"'."" :~. '~-:"~.''-.~. ".:'t':-2{ ~':.'.:" ":'.' ".":"."."~'.'~':":':"~.'..~':-.-..'"":"~
:',.,'i--.~ .... ""'" %'2
..-.:...;, .,,......:.....,, .:.:..,., .:A.,. ×..... £."~1I I~.~ ;,~:..".t .,..~. " ,,,.,... ;....... I~t'..:.., ..... ~..': ....., ...... ..::.,.,. _~...:,.:.:....~,,.,w,w....,
"'.:" ~" )~"~' ' " ':': ~ ; ' ' ; : .~.'7"." . ' " . •
.~...:.=".,.:....:,::"
.-:.~'~.~'i..:,,-t',.:. :..'.r.',.:...:f'~ "'."'x '~'".:.:'?-;/:~j'~:all'lJm2" ".'"~." ~'"''"..':,'~.'," ~'.:.""" k<I: ~ . . ..........
,~.;,4.J>fJ.~...., .~..~,a, ;,:'..N;-,-'..::4
........... ,, ,i.,.:.~~.. X':.:':."X"',-,"~:,-:'. '~:~ >~i"~::.'
i,~..~'~i~ ~,'~. ~i ..¢
~..~
.,,~..~:,c~....z~2
"'~'~'"~
~'~
.................•........~..~ ~.¢...., .,:~..e..N."~.'.~ ..:'::-,% i,:':::4 ..=....:,J..!.:,1 W'.'.~, i~ii
.qv:,,:...,~.:,...~.~....~:.,...#.~..,:<::~..)
:% :.:f'?..:.:.~.?-:.':.,~:~.~:.:.r'~;:.r:.::
:. .,ZS.~..~f..~...N~.
;,.~-.-~.:,,..-b~..,:.N~::..'.J.k:N. ~t ."C.~-...%"k:.~.."& ..'.....',.. ):...%..............., ..... % ',~:
}.:.:...f't.....:-:.~.-:..,:'.'.~.:
.:.:...'%..:.:,.&.,:..:f%.-;..g'.~ ,.:. ;,.,'.,:. 7,.,'T.,;:.~f~.Zr ~...~ ~

i~:~. I'll ,~(~. ~" ~ ,,'1 ~..'' ~.." .,, "

5:1..~
,.,:.:~,,~..., .,: - ,.,,~..-.,.-~%":%......, :~ :,..,-.~:,~~ . ~ ' - : r. ~:.,~,~.:.~. ~ - , . ~ . .............:":<'~..'aI'I~:<
w'x~. "............... '" .~. '~?.'C.'&'~::::>
>'¢.~.~.X'~.'~m ..'~.
'" : ~64 k.N ~..-~..~...~l~,:,:'~.~.
.. k...%.~..~J~...~ .<.:,.'X'~:.~'~':-'I~7<'~X..
.,.~. x" .~ -..-,r".-~'.:.:'i:_:.? .x" :~ .-.:...x'.%~
~:IL ]~..x.:.~k.:.4~ f..:. iZk .i::~ ~ k,.'3.j
?~.:~ .....,c~, .:.~',...,:.'......,,~...dS~'i~.~. , V
~-:.;:.~"r~.~:r::~'r.:,(~,!f~'.'.~ '.~V:.~"~¢.":;:'%:' ;"f" ?'? ;.'.."~,~!'?.3I Ii~h'%, 'L~
~'~.~:':..~ !,,:..':.~]:,:.':% Y:~ ~ . ~ . . ~ .k,.',s k < .~
%¢'V

~.*...~. :... " .:.~-.~ ,':.-.'.~ :;~::,:.'. Y . . ~ I .a . I 4: ........


~..,.:>: :...... ;,..,... . : ..: .. : , . . : .
],6
'.,.~..;
. :'."
,:~.~..~
! "'. >':'~.'"
~ ~ " ' ":':''."
. : 7"."" ".": :.~'N" ~ ."".
:>z :x :,..'.~.~ ..'~:..'..~ :,-'.,2 i,~
~...~'.'rc ,,~.~.:.,..".~:.~'~j .,..~.~..~] ~:":'x:. : ,~ ' ~ ' . "."
~Z:..~.~.,'].~!,~:~.:~.~ ~. ~..~ :;.,:...~ .~ 2,/
5..,. i: ...,,%.... ,%....).: ... , .....i ..,¢ '.'" :< "~.:":< ~,;"'.>r ~."" >: .~"X.."IK'2.~ .~L2{ .~.
~:~ ~"~ ]~;:~'~;:.:I'r':.';:[%:. :~.'~! :v', :,.,~ :>'. :'.," :,.~ ..~ 4 :~"I ..~f
"..... a " , . " . . ~ ". • ' • x'~...-' .-." ' . . . ' . ' : ¢ ' ~ " ? f . . ~ .
~:~...'.~,,r,:.. ,% ... ,,-,.....,,-,.,:.....<-~...,.,~¢ :.,.,'~ .. ~ .'~..~ ,.:::.:.:"}:::.:,.."?.;..:.>]'..:.~ ..~.:;~,;..." ..~',,; :~.
..... :.-,~::)<..: ..: ..:.,..:x,~: .
N ~:'-G<..U~...~:~ .N..:~ ; . . ~ ~.~. , : . . . , & ~ . . . ' & ~ , . , . ~ ~

Fig. 21.
N. Margolus ~Physics-like models of computation 95

Вам также может понравиться