Towards a quantum game of Life

3 downloads 0 Views 160KB Size Report
automata are given and comparisons are made with Conway's game. .... John Conway's game of Life [10] is a well known two-dimensional CA where cells are ar ...
Towards a quantum game of Life Adrian P. Flitney and Derek Abbott 1 2

Adrian P. Flitney, School of Physics, University of Melbourne, Parkville 3010, Australia, [email protected] Derek Abbott, Department of Electrical and Electronic Engineering, the University of Adelaide, Adelaide 5005, Australia, [email protected]

Summary. Cellular automata provide a means of obtaining complex behaviour from a simple array of cells and a deterministic transition function. They supply a method of computation that dispenses with the need for manipulation of individual cells and they are computationally universal. Classical cellular automata have proved of great interest to computer scientists but the construction of quantum cellular automata pose particular difficulties. We present a version of John Conway’s famous two-dimensional classical cellular automata Life that has some quantum-like features, including interference effects. Some basic structures in the new automata are given and comparisons are made with Conway’s game. “Landauer based his research on a simple rule: information is physical. That is, information is registered by physical systems such as strands of DNA, neurons and transistors; in turn the ways in which systems such as cells, brains and computers can process information is governed by the laws of physics. Landauer’s work showed that the apparently simple and unproblematic statement of the physical nature of information had profound consequences.” — Seth Lloyd on Rolf Laundauer [20]

1 Introductory Concepts of Quantum Mechanics A good introduction to all aspects of quantum computation is provided by a number of recent books. The bible remains the excellent work by Nielsen and Chuang [25]. In order for the non-specialist to follow this chapter we summarize some concepts from elementary quantum mechanics below. In the so called Dirac notation a quantum state labeled by ψ is the ket |ψ i. The state |ψ i is a member to a complex vector space known as a Hilbert space. If {|φi i, i = 1, . . . , N} is an orthonormal basis for an N-dimensional Hilbert space, then |ψ i may written as the decomposition |ψ i =

N

∑ ci |φi i,

(1)

i=1

where the ci are complex numbers. In classical computation, the bit is the fundamental unit of information, taking the values 0 or 1. The quantum bit or qubit is it’s quantum analog. The computational basis states of a

2

Adrian P. Flitney and Derek Abbott

qubit are |0i or |1i. However, a qubit may also be in a superposition of states, a convex linear combination, |ψ i = α |0i + β |1i, (2) subject to the normalization condition |α |2 + |β |2 = 1. If we examine a qubit to determine if it is |0i or |1i, that is, we take a measurement of |ψ i in the computational basis, the state |0i will be returned with probability |α |2 and |1i with probability |β |2 . The vector · ¸ α , (3) β can be used to represent the quantum state (2). A superposition is not simply a classical ensemble of its component states, which would merely represent our lack of knowledge as to whether |ψ i is actually |0i or |1i. Instead each component of the superposition is simultaneously present. The state (2) is often referred to as a coherent superposition to emphasize the existence of coherence between the components. Coherence can be thought of as a measure of the “quantumness” of a state. Multiple qubits each inhabit their own two-dimensional Hilbert space and can be written, for example, as |0i ⊗ |1i ≡ |01i. The Hermitian conjugate of a state |φ i is known as the bra φ , or hφ |, Thus, the Hermitian conjugate of (2) is hψ | = α ∗ h0| + β ∗ h1|, or

£

¤ α∗ β ∗ ,

(4) (5)

where refers to complex conjugation. The bra-ket hφ |ψ i measures the overlap between two states. That is, |hφ |ψ i|2 is the probability of a measurement3 revealing |φ i and |ψ i in the same state. The two states are orthogonal if this value is zero. If {|φi i, i = 1, . . . , N} is an orthonormal basis of an N-dimensional Hilbert space, then |hφi |φ j i|2 = δi j , where δi j is the usual Kronecker delta. Two or more qubits they may exist in an entangled state such as ∗

|ψ i =

|0iA ⊗ |0iB + |1iA ⊗ |1iB |0A 0B i + |1A 1B i √ √ ≡ . 2 2

(6)

Such a state is not decomposable to a product state of individual qubits. Much of the peculiarity of quantum mechanics resides in such states, including Einstein’s famous “spooky action at a distance” [8], but since they do not concern us in the present work they will not be discussed further. Suffice to say that the measurement correlations in the quantum state (6) are stronger than can exist in any classical system [3]. Classical computation is carried out by means of logic gates acting on bits that are transmitted down wires of some form. The NOT gate, transforming 0 ↔ 1 (Fig. 1) is the only non-trivial gate on a single bit. The quantum NOT gate switches |0i ↔ |1i and acts linearly on a superposition: α |0i + β |1i → α |1i + β |0i. (7) The action of the quantum NOT operator Xˆ can be represented by the matrix 3 We are not going to be concerned with what constitutes a measurement in quantum mechanics, since there is no clear consensus on this. A common sense definition of a measurement will suffice.

Semi-quantum Life



x



3

x

Fig. 1. A classical NOT gate.

· ¸ 01 Xˆ ≡ , 10

(8)

where the hat over a symbol indicates that it is an operator. In quantum mechanics multiplying a state by an arbitrary phase eiα has no physical effect since the probabilities of measurement are proportional to the square of the modulus. However, the relative phase between the components of a superposition is important as we shall see later. Thus, other important single qubit gates exist in quantum mechanics. The phase flip operator · ¸ 1 0 Zˆ ≡ , (9) 0 −1 has the effect of reversing the relative phase between the |0i and |1i components of a superposition, while an arbitrary phase difference is applied by the phase operator ¸ · ˆ α) ≡ 1 0 . P( (10) 0 ei α The Hadamard gate

· ¸ 1 1 1 Hˆ ≡ √ , (11) 2 1 −1 changes the computational basis states into a superposition half way between |0i and |1i. That is, √ ˆ H|0i = (|0i + |1i)/ 2, √ ˆ H|1i = (|0i − |1i)/ 2. (12) Note that all operators act linearly on a superposition. Figure 2 represents a quantum circuit that shows the action of the Hadamard gate. The “wires” represent any medium through which a qubit can propagate. Any single qubit operation can be represented by a 2 × 2 unitary matrix,

j0 i + j1 i

H^

j0ip+2j1i

+ j0ip2j1i

Fig. 2. A Hadamard gate.

where the overall phase is not physically relevant. An N-qubit operator can be represented by a 2N × 2N unitary matrix.

4

Adrian P. Flitney and Derek Abbott

A particular useful operator when discussing measurement is the projection operator onto the state |φ i: Pˆ = |φ ihφ |. (13) It has the effect of projected out of a state |ψ i only the component parallel with |φ i. For example, Pˆ0 ≡ |0ih0| applied to (2) results in the state α |0i. Multi-qubit projection operators, such as |01ih01|, are also possible. The two-bit gate NAND is known to be universal for classical computation. That is, combinations of single-bit gates (NOT gates) and NAND gates can perform any computation. In quantum computation all gates are necessarily reversible. Hence, there can be no quantum analogue of the NAND gate, or of the other two-bit gates, AND, OR, and XOR. However, the two-qubit controlled-not, or CNOT, gate together with the set of single-qubit gates forms a universal set for quantum computation. The CNOT gate flips the second qubit if the first, or control qubit, is in the |1i state, as shown in Fig. 3.

jAi jB i

t i

jAi jB  Ai

Fig. 3. A controlled-NOT gate, where the binary operator ⊕ represents addition modulo two.

2 Background and motivation for quantum Life In this section some of the major results for one-dimensional classical cellular automata (CA) are presented and some of the problems of making quantizable versions of CA are discussed.

2.1 Classical cellular automata A cellular automaton consists of an infinite array of identical cells, the states of which are simultaneously updated in discrete time steps according to a deterministic rule. Formally, they consist of a quadruple (d, Q, N, f ), where d ∈ Z+ is the dimensionality of the array, Q is a finite set of possible states for a cell, N ⊂ Zd is a finite neighbourhood, and f : Q|N| → Q is a local mapping that specifies the transition rule of the automaton. The simplest cellular automata are constructed from a one-dimensional array of cells taking binary values, with a nearest neighbour transition function , as indicated in Fig. 4. Such CA were studied intensely by Wolfram [28] in a publication that lead to a resurgence of interest in the field. Wolfram classified cellular automata into four classes. The classes showed increasingly complex behaviour, culminating in class four automata that exhibited self-organization, that is, the appearance of order from a random initial state. In general, information is lost during the evolution of a CA. Knowledge of the state at a given time is not sufficient to determine the complete history of the system. However, reversible CA are of particular importance, for example, in the modeling of reversible phenomena. Furthermore, it has been shown that there exists a one-dimensional reversible CA that is computationally universal [24]. Toffoli [27] demonstrated that any d-dimensional CA could

Semi-quantum Life

5

be simulated by a (d + 1)-dimensional reversible CA and later Morita [23] found a method using partitioning (see Fig. 5) where by any one-dimensional CA can be simulated by a reversible one-dimensional CA. There is an algorithm for deciding on the reversibility of a one-dimensional CA [1], but in dimensions greater than one, the reversibility of a CA is, in general, undecidable [16].

:::

:::

| {z } 

ells 2 f0 1g rule  ? R

time

;

:::

? :::

Fig. 4. A schematic of a one-dimensional, nearest neighbour, classical cellular automaton showing the updating of one cell in an infinite array.

2.2 Conway’s game of Life John Conway’s game of Life [10] is a well known two-dimensional CA where cells are arranged in a square grid and have binary values generally known as “dead” or “alive.” The status of the cells change in discrete time steps known as “generations.” The new value depends upon the number of living neighbours, the general idea being that a cell dies if there is either overcrowding or isolation. There are many different rules that can be applied for birth or survival of a cell and a number of these give rise to interesting properties such as still lives (stable patterns), oscillators (patterns that periodically repeat), spaceships or gliders (fixed shapes that move across the Life universe), glider guns, and so on [11, 12, 5]. Conway’s original rules are one of the few that are balanced between survival and extinction of the Life “organisms.” In this version a dead (or empty) cell becomes alive if it has exactly three living neighbours, while an alive cell survives if and only if it has two or three living neighbours. Much literature on the game of Life and its implications exists. For a discussion on the possibilities of this and other CA the interested reader is referred to Ref. [30].

2.3 Quantum cellular automata The idea of generalizing classical cellular automata to the quantum domain was already considered by Feynman [9]. Gr¨ossing and Zeilinger made the first serious attempts to consider quantum cellular automata (QCA) [13, 14], though their ideas are considerably different from modern approaches. Quantum cellular automata are a natural model of quantum computation where the well developed theory of classical CA might be exploited. Quantum computation using optical lattices [21] or with arrays of microtraps [6] are possible candidates for the experimental implementation of useful quantum computing. It is typical of such systems that the

6

Adrian P. Flitney and Derek Abbott

 PPPP    ? q  P ) rule ? z }| {

:::

(a)

:::

time

?

:::

:::

|

{z

}

original ell

:::

(b)

:::

| {z }

| {z }

| {z }

| {z }

? z }| {

? z }| {

? z }| {

? z }| {

:::

:::

rule one :::

| {z }

| {z }

| {z }

? z }| {

? z }| {

? z }| {

rule two

time

?

:::

Fig. 5. One-dimensional partitioned cellular automata A schematic of a one-dimensional, nearest neighbour, classical (a) partitioned cellular automaton [23] and (b) block (or Margolus) partitioned cellular automata. In (a), each cell is initially duplicated across three cells and a new transition rule f : Q3 → Q3 is used. In (b), a single step of the automata is carried out over two clock cycles, each with its own rule f : Q2 → Q2 .

addressing of individual cells is more difficult than a global change made to the environment of all cells [4] and thus they become natural candidates for the construction of QCA. An accessible discussion of QCA is provided by Gruska [15] and a more recent review by Auon [2]. There is also a relationship between the heavily analyzed area of quantum walks [17] and quantum cellular automata [19, 18]. The simple idea of quantizing existing classical CA by making the local translation rule unitary is problematic: the global rule on an infinite array of cells is rarely described by a well defined unitary operator. One must decide whether a given local unitary rule leads to

Semi-quantum Life

7

“well-formed” unitary QCA [7] that properly transform probabilities by preserving their sum squared to one. One construction method to achieve the necessary reversibility of a QCA is to partition the system into blocks of cells and apply blockwise unitary transformations. This is the quantum generalization to the scheme shown in Fig. 5(b)—indeed, all QCA, even those with local irreversible rules, can be obtained in such a manner [26]. Formal rules for the realization of QCA using a transition rule based on a quasi-local algebra on the lattice sites is described in Ref. [26]. In this formalism, a unitary operator for the time evolution is not necessary. The authors demonstrate that all nearest neighbour one-dimensional QCA arise by a combination of a single qubit unitary, a possible left- or right-shift, and a control-phase gate,4 as indicated in Fig. 6. Reversible one-dimensional nearest neighbour classical CA are a subset of the quantum ones. In the classical case, the single qubit unitary can only be the identity or a bit-flip, while the control-phase gate is absent. This leaves just six classical CA, all of which are trivial.

:::

U^

U^

U^

U^

U^ : : :

H H H H H HHH HHH HHH HHH :::





one qubit unitaries

right shift

:::

time

?

ontrol-phase gates

Fig. 6. A schematic of a one-dimensional nearest neighbour quantum cellular automaton according to the scheme of [26] (adapted from Fig. 10 of that publication). The right-shift may be replaced by a left-shift or no shift.

3 Semi-quantum Life We now present a plausible variant of the game of Life that reproduces some quantum features.

3.1 The idea Conway’s Life is irreversible while, in the absence of a measurement, quantum mechanics is reversible. In particular, operators that represent measurable quantities must be unitary. A full quantum Life on an infinite array would be impossible given the known difficulties of constructing unitary QCA [22]. Interesting behaviour is still obtained in a version of Life that has some quantum mechanical features. Cells are representing by classical sine-wave oscillators with a period equal to one generation, an amplitude between zero and one, and a 4A

control-phase gate is a two-qubit gate that applies the phase operator (10) to the target qubit by if the control qubit is 1.

8

Adrian P. Flitney and Derek Abbott

variable phase. The amplitude of the oscillation represents the coefficient of the alive state so that the square of the amplitude gives the probability of finding the cell in the alive state when a measurement of the “health” of the cell is taken. If the initial state of the system contains at least one cell that is in a superposition of alive and dead the neighbouring cells will be influenced according to the coefficients of these states, propagating the superposition to the surrounding region. If the coefficients of the superpositions are restricted to positive real numbers, qualitatively new phenomena are not expected. By allowing the coefficients to be complex, that is, by allowing phase differences between the oscillators, qualitatively new phenomena such as interference effects, may arise. The interference effects seen are those due to an array of classical oscillators with phase shifts and are not fully quantum mechanical.

3.2 A first model To represent the state of a cell introduce the following notation: |ψ i = a|alivei + b|deadi,

(14)

subject to the normalization condition |a|2 + |b|2 = 1.

(15) |a|2

|b|2 ,

The probability of measuring the cell as alive or dead is or respectively. If the values of a and b are restricted to non-negative real numbers, destructive interference does not occur. The model still differs from a classical probabilistic mixture, since here it is the amplitudes that are added and not the probabilities. In our model |a| is the amplitude of the oscillator. Restricting a to non-negative real numbers corresponds to the oscillators all being in phase. The birth, death and survival operators have the following effects: ˆ ψ i = |alivei, B| ˆ ψ i = |deadi, D|

(16)

ˆ ψ i = |ψ i. S| A cell can be represented by the vector [ ab ]. The Bˆ and Dˆ operators are not unitary. Indeed they can be represented in matrix form by · ¸ 11 Bˆ ∝ , 00 (17) · ¸ 00 Dˆ ∝ , 11 where the proportionality constant is not relevant for our purposes. After applying Bˆ or Dˆ (or some mixture) the new state will require (re-)normalization so that the probabilities of being dead or alive still sum to unity. A new generation is obtained by determining the number of living neighbours each cell has and then applying the appropriate operator to that cell. The number of living neighbours in our model is the amplitude of the superposition of the oscillators representing the surrounding eight cells. This process is carried out on all cells effectively simultaneously. When the cells are permitted to take a superposition of states, the number of living neighbours need not be an ˆ Dˆ and Sˆ operators may need to be applied. For consistency integer. Thus a mixture of the B, with standard Life the following conditions will be imposed upon the operators that produce the next generation:

Semi-quantum Life • •



9

If there are an integer number of living neighbours the operator applied must be the same as that in standard Life. The operator that is applied to a cell must continuously change from one of the basic forms to another as the sum of the a coefficients from the neighbouring cells changes from one integer to another. The operators can only depend upon this sum and not on the individual coefficients.

If the sum of the a coefficients of the surrounding eight cells is 8

A=

∑ ai

(18)

i=1

then the following set of operators, depending upon the value of A, is the simplest that has the required properties ˆ 0 ≤ A ≤ 1; Gˆ 0 = D, √ ˆ 1 < A ≤ 2; Gˆ 1 = ( 2 + 1)(2 − A)Dˆ + (A − 1)S, √ ˆ 2 < A ≤ 3; Gˆ 2 = ( 2 + 1)(3 − A)Sˆ + (A − 2)B, √ ˆ 3 < A < 4; Gˆ 3 = ( 2 + 1)(4 − A)Bˆ + (A − 3)D, ˆ A ≥ 4; Gˆ 4 = D.

(19)

For integer values of A, the Gˆ operators are the same as the basic operators of standard Life, as required. For non-integer values in the√range (1, 4), the operators are a linear combination of the standard operators. The factors of 2 + 1 have been inserted to give more appropriate √ behaviour in the middle of each range. For example, consider the case where A = 3 + 1/ 2, a value that may represent three neighbouring cells that are alive and one the has a probability of one-half of being alive. The operator in this case is · ¸ 1 ˆ 1 11 1 ∝√ . (20) Gˆ = √ Bˆ + √ D, 2 2 2 11 £ ¤ £ ¤ Applying this to either a cell in the alive, 10 or dead, 01 states will produce the state 1 1 |ψ i = √ |alivei + √ |deadi 2 2

(21)

which represents a cell with a 50% probability of being alive. That is, Gˆ is an equal combination of the birth and death operators, as might have been expected given the possibility that A represents an equal probability of three or four living neighbours. Of course the same value of A may have been obtained by other combinations of neighbours that do not lie half way between three and four living neighbours, but one of our requirements is that the operators can only depend on the sum of the a coefficients of the neighbouring cells and not on how the sum was obtained. In general the new state of a cell is obtained by calculating A, applying the appropriate ˆ operator G: · 0¸ · ¸ a a ˆ =G , (22) b0 b and then normalizing the resulting state so that |a0 |2 + |b0 |2 = 1. It is this process of normalization that means that multiplying the operator by a constant has no effect. Hence, for example, Gˆ 2 for A√= 3 has the same effect as Gˆ 3 in the limit as A → 3, despite differing by the constant factor ( 2 + 1).

10

Adrian P. Flitney and Derek Abbott

3.3 A semi-quantum model To get qualitatively different behaviour from classical Life we need to introduce a phase associated with the coefficients, that is, a phase difference between the oscillators. We require the following features from this version of Life: • • • •

It must smoothly approach the classical mixture of states as all the phases are taken to zero. Interference, that is, partial or complete cancellation between cells of different phases, must be possible. The overall phase of the Life universe must not be measurable, that is, multiplying all cells by eiφ for some real φ will have no measurable consequences. ˆ |alivei) and (D, ˆ |deadi) that is a feature of the original game The symmetry between (B, of Life should be retained. This means that if the state of all cells is reversed (|alivei ←→ |deadi) and the operation of the Bˆ and Dˆ operators is reversed the system will behave in the same manner.

In order to incorporate complex coefficients, while keeping the above properties, the basic operators are modified in the following way: ˆ B|deadi = eiφ |alivei, ˆ B|alivei = |alivei, ˆ D|alivei = eiφ |deadi, ˆ D|deadi = |deadi,

(23)

ˆ ψ i = |ψ i, S| where the superposition of the surrounding oscillators is

α=

8

∑ ai = Aeiφ ,

(24)

i=1

A and φ being real positive numbers. That is, the birth and death operators are modified so that the new alive or dead state has the phase of the sum of the surrounding cells. The operation of the Bˆ and Dˆ operators on the state [ ab ] can be written as · ¸ · ¸ a a + |b|eiφ Bˆ = , b 0 ¸ · ¸ · 0 a , Dˆ = b |a|eiφ + b

(25)

with Sˆ leaving the cell unchanged. The modulus of the sum of the neighbouring cells A determines which operators apply, in the same way as before [see Eq. (19)]. The addition of the phase factors for the cells allows for interference effects since the coefficients of alive cells may not always reinforce in taking the sum, α = ∑ ai . A cell with a = −1 still has a unit probability of being measured in the alive state but its effect on the sum will cancel that of a cell with a = 1. A phase for the dead cell is retained in order to maintain the alive ←→ dead symmetry, however, it has no effect. Such an effect would conflict with the physical model presented earlier and would be inconsistent with Conway’s Life, where the empty cells have no influence.

Semi-quantum Life

11

A useful notation to represent semi-quantum Life is to use an arrow whose length represents the amplitude of the a coefficient and whose angle with the horizontal is a measure of the phase of a. That is, the arrow represents the phaser of the oscillator at the beginning of the generation. For example · ¸ 1 −→ = , 0 · ¸ · ¸ 1/2 i/2 = √ , ↑ = eiπ /2 √ (26) 3/2 i 3/2 · √ ¸ · ¸ 1/√2 (1 + i)/2 % = eiπ /4 = , (1 + i)/2 1/ 2 etc. In this picture, α is the vector sum of the arrows. This notation includes no information about the b coefficient. The magnitude of this coefficient can be determined from a and the normalization condition. The phase of the b coefficient has no effect on the evolution of the game state so it is not necessary to represent this.

3.4 Discussion The above rules have been implemented in the computer algebra language Mathematica [29]. All the structures of standard Life can be recreated by making the phase of all the alive cells equal. The interest lies in whether there are new effects in the semi-quantum model or whether existing effects can be reproduced in simpler or more generalized structures. The most important aspect not present in standardLife is interference. Two live cells can work against each other as indicated in Fig. 7 that shows an elementary example in a block still life with one cell out of phase with its neighbours. In standard Life there are linear structures called wicks that die or “burn” at a constant rate. The simplest such structure is a diagonal line of live cells as indicated in Fig. 8(a). In this, it is not possible to stabilize an end without introducing other effects. In the new model a line of cells of alternating phase (. . . −→←− . . .) is a generalization of this effect since it can be in any orientation and the ends can be stabilized easily. Figures 8(b)–(c) shows some examples. A line of alternating phase live cells can be used to create other structures such as the loop in Fig. 9. This is a generalization of the boat still life in the standard Life that is of a fixed size and shape. The stability of the line of −→←−’s results from the fact that while each cell in the line has exactly two living neighbours, the cells above or below this line have a net of zero (or one at a corner) living neighbours due to the canceling effect of the opposite phases. No new births around the line will occur, unlike the case where all the cells are in phase. Figure 10 shows a stable boundary that results from the appropriate adjustment of the phase differences between the cells. The angles have been chosen so that each cell in the line has between two and three living neighbours, while the empty cells above and below the line have either two or four living neighbours and so remain life-less. Such boundaries are known in standard Life but require a more complex structure. Oscillators and spaceships cannot be made simpler than the minimal examples presented for standard Life. In Conway’s Life interesting effects can be obtained by colliding gliders. In the semi-quantum model additional effects can be obtained from colliding gliders and “antigliders,” where all the cells have a phase difference of π with those of the original glider. For example, a head-on collision between a glider and an anti-glider, as indicated in Fig. 11, causes annihilation, where as the same collision between two gliders leaves a block. However, there

12

Adrian P. Flitney and Derek Abbott

is no consistency with this effect since other glider-antiglider collisions produce alternative effects, sometimes being the same as those from the collision of two gliders.

(a)

- -

q

q

- - 6

q

q

q

2

3

(ii)

- - I = 3

initial

q

2nd gen.

- - J℄ =

(i)

( )



1st gen.

initial

(b)

q

4

- -  I 1st gen.

- -  I 2nd gen.

Fig. 7. (a) A simple example of destructive interference in semi-quantum Life: a block with one cell out of phase by π dies in two generations. (b) Blocks where the phase difference of the fourth cell is insufficient to cause complete destructive interference; each cell maintains a net of at least two living neighbours and so the patterns are stable. In the second of these, the fourth cell is at a critical angle. Any greater phase difference causes instability resulting in eventual death as seen in (c), which dies in the fourth generation.

4 Conclusion John Conway’s game of Life is a two-dimensional cellular automaton where the new state of a cell is determined by the sum of neighbouring states that are in one particular state generally referred to as “alive.” A modification to this model is proposed where the cells may be in a superposition of the alive and dead states with the coefficient of the alive state being represented by an oscillator having a phase and amplitude. The equivalent of evaluating the number of living neighbours of a cell is to take the superposition of the oscillators of the surrounding states. The amplitude of this superposition will determine which operator(s) to apply to the central cell to determine its new state, while the phase gives the phase of any new state produced. Such a system show some quantum-like aspects such as interference. Some of the results that can be obtained with this new scheme have been touched on in this chapter. New effects and structures occur and some of the known effects in Conway’s Life can occur in a simpler manner. However, the scheme described should not be taken to be a full quantum analogue of Conway’s Life and does not satisfy the definition of a QCA.

Semi-quantum Life

(a)

p

p

p









p

p

p

- - - - - -

(b)

6 - - - 6 - - - -

( )

13

...

... ...

Fig. 8. (a) A wick (an extended structure that dies, or “burns”, at a constant rate) in standard Life that burns at the speed of light (one cell per generation), in this case from both ends. (’X’ represents an alive cell.) It is impossible to stabilize one end without giving rise to other effects. (b) In semi-quantum Life an analogous wick can be in any orientation. The block on the left-hand end stabilizes that end; a block on both ends would give a stable line; the absence of the block would give a wick that burns from both ends. (c) Another example of a light-speed wick in semi-quantumLife showing one method of stabilizing the left-hand end.

-



-

 - -

 - - -

 

Fig. 9. An example of a stable loop made from cells of alternating phase. Above a certain minimum, such structures can be made of arbitrary size and shape compared with a fixed size and limited orientations in Conway’s scheme.

14

Adrian P. Flitney and Derek Abbott

...

 JJ^

 - - - - - - ℄J



...

℄J

Fig. 10. A boundary utilizing appropriate phase differences to produce stability. The upper cells are out of phase by ±π /3 and the lower by ±2π /3 with the central line.

- - -

    

Fig. 11. A head on collision between a glider and its phase reversed counter part, an anti-glider, produces annihilation in six generations.

The field of quantum cellular automata is still in its infancy. The protocol of Ref. [26] provides a construction method for the simplest QCA. Exploration and classification of these automata is an important unsolved task and may lead to developments in the quantum domain comparable to those in the classical field that followed the exploration of classical CA. Quantum cellular automata are a viable candidate for achieving useful quantum computing.

Semi-quantum Life

15

References [1] Amoroso, S., Patt, Y.N.: Decision procedures for surjectivity and injectivity of parallel maps for tesselation structures. J. Comput. Syst. Sci. 6, 448–64 (1972) [2] Auon, B., Tarifi, M.: Introduction to quantum cellular automata (2004). Eprint: arXiv:quant-ph/0401123 [3] Bell, J.S.: On the Einstein-Podolsky-Rosen paradox. Physics 1, 195–200 (1964) [4] Benjamin, S.C.: Schemes for parallel quantum computation without local control of qubits. Phys. Rev. A 61, 020,301 (2000) [5] Berlekamp, E.R., Conway, J.H., Guy, R.K.: Winning Ways for Your Mathematical Plays, vol. 2. Academic Press, London (1982) [6] Dumke, R., Volk, M., Muether, T., Buchkremer, F.B.J., Birkl, G., Ertmer, W.: Microoptical realization of arrays of selectively addressable dipole traps: a scalable configuration for quantum computation with atomic qubits. Phys. Rev. Lett. 89, 097,903 (2002) [7] D¨urr, C., Santha, M.: A decision procedure for well-formed unitary linear quantum cellular automata. SIAM J. Comput. 31, 1076–89 (2002) [8] Einstein, A., Podolsky, B., Rosen, N.: Can quantum-mechanical description of physical reality be considered complete? Phys. Rev. 47, 777–80 (1935) [9] Feynman, R.P.: Simulating physics with computers. Int. J. Theor. Phys. 21, 467–88 (1982) [10] Gardner, M.: Mathematical games: The fantastic combinations of John Conway’s new solitiare game of “Life”. Sci. Am. 223(10), 120 (1970) [11] Gardner, M.: Mathematical games: On cellular automata, self-reproduction, the Garden of Eden and the game of “Life”. Sci. Am. 224(2), 116 (1971) [12] Gardner, M.: Wheels, Life and Other Mathematical Amusements. W. H. Freeman, New York (1983) [13] Gr¨ossing, G., Zeilinger, A.: Quantum cellular automata. Complex Systems 2, 197–208 (1988) [14] Gr¨ossing, G., Zeilinger, A.: Structures in quantum cellular automata. Physica B 151, 366–70 (1988) [15] Gruska, J.: Quantum Computing. McGraw Hill, Maidenhead, Berkshire, UK (1999) [16] Kari, J.: Reversibility of two-dimensional cellular automata is undecidable. Physica D 45, 379–85 (1990) [17] Kempe, J.: Quantum random walks: an introductory overview. Contemp. Phys. 44, 307– 27 (2003) [18] Konno, N.: Quantum walks and quantum cellular automata. Lecture Notes in Computer Science. Springer, Berlin/Heidelberg (2008) [19] Konno, N., Mistuda, K., Soshi, T., Yoo, H.J.: Quantum walks and reversible cellular automata. Phys. Lett. A 330, 408–17 (2004) [20] Lloyd, S.: Obituary: Rolf Laundauer. Nature 400, 720 (1999) [21] Mandel, D., Greiner, M., Widera, A., Rom, T., H¨ansch, T.W., Bloch, I.: Coherent transport of neutral atoms in spin-dependent optical lattice potentials. Phys. Rev. Lett. 91, 010,407 (2003) [22] Meyer, D.A.: From quantum cellular automata to quantum lattice gases. J. Stat. Phys. 85, 551–74 (1996) [23] Morita, K.: Reversible simulation of one-dimensional irreversible cellular automata. Theor. Comput. Sci. 148, 157–63 (1995) [24] Morita, K., Harao, M.: Computation universality of one-dimensional reversible (injective) cellular automata. Trans. IEICE 72, 758–62 (1989)

16

Adrian P. Flitney and Derek Abbott

[25] Nielsen, M.A., Chuang, I.: Quantum Computation and Quantum Information. Cambridge University Press, Cambridge, UK (2000) [26] Schumacher, B., Werner, R.F.: Reversible quantum cellular automata (2004). Eprint: arXiv:quant-ph/0405174 [27] Toffoli, T.: Cellular Automata Mechanics. PhD thesis, The University of Michigan (1977) [28] Wolfram, S.: Statistical mechanics of cellular automata. Rev. Mod. Phys. 55, 601–44 (1983) [29] Wolfram, S.: Mathematica: A System for Doing Mathematics by Computer. AddisonWesley, Redwood City, CA (1988) [30] Wolfram, S.: A New Kind of Science. Wolfram Media Inc., Champaign, IL (2002)

Semi-quantum Life

Appendix

17

1 Mathematica code for semi-quantum Life

Listed below is a package written in the computer algebra language Mathematica [29] for exploring semi-quantum Life. The package is written in a functional programming style. Commands are carried out by functions returning the desired value or array. The functions are nested so that the “guts” of the calculations are carried out at the deepest levels. The package is commented and usage statements are provided for the main commands. Function names begin with a capital letter, as is standard in Mathematica, while variable names are lower case. CountNeigh::usage = "CountNeigh[universe, x, y] returns the sum of the alive coefficients of the cells surrounding (x,y)." DisplayUni::usage = "DisplayUni[universe] displays a graphic of the universe with arrows representing living cells, the length being the magnitude and the angle with the horizontal being the phase. DisplayUni[universe, m] displays the universe after m generations." ExpandUni::usage = "ExpandUni[universe, n] returns an nxn universe with the old universe centred in it. n must be larger than the existing universe dimensions." Generation::usage = "Generation[universe, x, y] returns a universe with the new value of the cell at (x,y)." InsertBlinker::usage = "InsertBlinker[universe, x, y] returns a universe with the addition of a blinker (horizontal) starting at (x,y)." InsertBlock::usage = "InsertBlock[universe, x, y] returns a universe with the addition of a block (2x2 square of live cells) with the lower left corner (x,y). InsertBlock[universe, x1, y1, x2, y2] returns a universe with the addition of a group of alive cells with lower left corner (x1,y1) and upper right corner (x2,y2)."

20

Book Title

InsertGlider::usage = "InsertGlider[universe, x, y, dir] returns a universe with the addition of a glider with the lower left corner of the 3x3 square containing the glider at (x,y). dir gives the direction of the glider NE, NW, SW, SE." InsertLine::usage = "InsertLine[universe, x, y, m] returns universe with the addition of a line of alive cells starting at (x,y) of length |m|. The line is horizontal if m is positive, vertical if m is negative." InsertString::usage = "InsertString[universe, x, y, m] returns a universe with the addition of a line of alive cells of alternating phase (a ’string’) of length |m|. The line is horizontal if m is positive, vertical if m is negative." MakeUni::usage = "MakeUni[n] returns an empty universe of dimension nxn." NextGeneration::usage = "NextGeneration[universe] returns the next generation of the universe. NextGeneration[universe, m] returns the universe after m generations." NormaliseCell::usage = "NormaliseCell[cell] returns the normalised value of the given cell. All cells are automatically normalised when producing the next generation by the function Generations." Reflect::usage = "Reflect[universe, x, y] returns a universe with the cell at (x,y) phase Reflected. ie {1,0} -> {-1,0}. Reflect[universe, x1, y1, x2, y2] returns a universe with the group of cells with bottom left corner at (x1,y1) and top right corner at (x2,y2) phase Reflected. Reflect[universe, {{x1,y1}, {x2,y2}, ...} ] returns a universe with all the points in the list Reflected." Rotate::usage = "Rotate[universe, x, y, phi] returns a universe with the cell at (x,y) Rotated in phase by phi. Rotate[universe, x1, y1, x2, y2, phi] returns a universe with the group of cells with bottom left corner at (x1,y1) and top right corner at (x2,y2) rotated in phase by phi. Rotate[universe, {{x1,y1}, {x2,y2}, ...}, phi] returns a universe with all the points in the list Rotated by phi." SetValue::usage = "SetValue[universe, x, y, value] returns a universe with the cell at (x,y) set to value (defult=alive). SetValue[universe, {{x1,y1}, {x2,y2}, ...}, value] returns a universe with all the points in the list set to value (default=alive). SetValue[universe, {{x1,y1,val1}, {x2,y2,val2}, ...}] sets the cell {x1,y1} to val1, {x2,y2} to val2 etc."

Software routine for semi-quantum Life

21

TakeMeasurement::usage = "TakeMeasurement[universe] takes a measurement of the universe based on the quantum amplitudes, making each cell either {1,0} or {0,1}." ex) && (j > ex) && (i True,

22

Book Title GridLines -> None ] ]

(* print the universe as an array of alive coefficients *) PrintUni[u , m Integer] := PrintUni[ NextGeneration[u, m] ] PrintUni[u ] := Do[ Print[ Table[ u[[i,j]][[1]] /. {0.+1. I -> I, 0. - 1. I -> -I, 1. + 0. I -> 1, -1. + 0. I -> -1, 0. -> 0, 1. -> 1, -1. -> -1}, {j,1,Length[u]} ] ], {i,Length[u],1,-1} ] (*----------------------------------------------------------------*) (* Functions for producing new generations *)

(* return the Universe after m (default = 1) generations *) NextGeneration[u , m Integer] := Block[ {k, nu=u}, Do[ nu = NextGeneration[nu], {k,1,m} ]; nu ] NextGeneration[u ] := Table[ Generation[u, i, j], {i,1,Length[u]}, {j,1,Length[u]} ] (* generate the new value of the cell at position (x,y) *) Generation[u , x , y ] := Block[ {neigh=0, phi, A, cell=u[[x, y]], newcell={0,0}}, neigh = CountNeigh[u, x, y]; A = Abs[neigh]; If[ !(neigh == 0), phi = Arg[neigh], phi=0 ]; Which[ (A = 4), newcell = Death[cell, phi], (A > 1) && (A 2) && (A 3) && (A < 4), newcell = (Sqrt[2] + 1)(A-3) * Death[cell, phi] + (4-A) Birth[cell, phi] ]; NormaliseCell[newcell] ] (* count the number of neighbours to cell (x,y) *) CountNeigh[u , x , y ] :=

Software routine for semi-quantum Life Block[ {temp=0, n=Length[u]}, If[ (x > 1) && (y > 1), temp += u[[x-1, y-1]][[1]] If[ (x > 1), temp += u[[x-1, y]][[1]] ]; If[ (x > 1) && (y < n), temp += u[[x-1, y+1]][[1]] If[ (y > 1), temp += u[[x, y-1]][[1]] ]; If[ (y < n), temp += u[[x, y+1]][[1]] ]; If[ (x < n) && (y > 1), temp += u[[x+1, y-1]][[1]] If[ (x < n), temp += u[[x+1, y]][[1]] ]; If[ (x < n) && (y < n), temp += u[[x+1, y+1]][[1]] temp ]

23

]; ];

]; ];

(* B, D operators *) Birth[c , phi ] := {c[[1]] + Exp[I phi] * Abs[ c[[2]] ], 0} Death[c , phi ] := {0, c[[2]] + Exp[I phi] * Abs[ c[[1]] ]}

(* normalise a cell so |a|ˆ2 + |b|ˆ2 = 1 *) NormaliseCell[c ] := Block[ {normfact=Sqrt[ Abs[c[[1]]]ˆ2 + Abs[c[[2]]ˆ2] ], nc = dead}, If[ !(normfact == 0), ( nc[[1]] = c[[1]]/normfact; nc[[2]] = c[[2]]/normfact ) ]; N[nc] ] (*-----------------------------------------------------------------------*) (* Functions for setting cell and manipulating cell values *)

(* set the (x,y) cell in u to value val (default=alive) *) SetValue[u , x Integer, y Integer] := SetValue[u, x, y, alive] SetValue[u , x Integer, y Integer, val ] := Block[ {nu = u}, nu[[x, y]] = val; nu] (* set the list of points to the specified value (default=alive) *) SetValue[u , pts List] := SetValue[u, pts, alive] SetValue[u , pts List, val ] := Block[ {i, nu = u}, Do[ nu[[ pts[[i]][[1]], pts[[i]][[2]] ]] = val, {i,1,Length[pts]} ]; nu ] (* set a list of points to the specified individual values *) SetValue[u , pts List] := Block[ {i, nu=u}, Do[ nu = SetValue[ nu, pts[[i]][[1]], pts[[i]][[2]], pts[[i]][[3]] ], {i,Length[pts]} ]; nu ]

24

Book Title

(* Reflect the phase of the alive coefficient of the cell at (x,y) *) Reflect[u , x Integer, y Integer] := SetValue[ u, x, y, {-u[[x, y]][[1]], u[[x, y]][[2]]} ] (* Reflect the phase of a group of cells with bottom left corner (x1,y1) *) (* and top right corner (x2,y2). *) Reflect[u , x1 Integer, y1 Integer, x2 Integer, y2 Integer] := Block[ {i,j, nu=u}, Do[ nu = Reflect[ nu, i, j ], {i,x1,x2}, {j,y1,y2} ]; nu ] (* Reflect the list of points in ’pts’ *) Reflect[u , pts List] := Block[ {i, nu=u}, Do[ nu = Reflect[ nu, pts[[i]][[1]], pts[[i]][[2]] ], {i,1,Length[pts]} ]; nu ] (* Rotate the alive coefficient of the cell at (x,y) by phi *) Rotate[u , x Integer, y Integer, phi ] := SetValue[ u, x, y, {u[[x, y]][[1]] * Exp[I phi], u[[x, y]][[2]]} ] (* Rotates a group of cells with bottom left corner (x1,y1) and top right *) (* corner (x2,y2), by phi *) Rotate[u , x1 Integer, y1 Integer, x2 Integer, y2 Integer, phi ] := Block[ {i,j, nu=u}, Do[ nu = Rotate[nu, i, j, phi], {i,x1,x2}, {j,y1,y2} ]; nu ] (* Rotate the list of points in the list ’pts’ by phi *) Rotate[u , pts List, phi ] := Block[ {i, nu=u}, Do[ nu = Rotate[ nu, pts[[i]][[1]], pts[[i]][[2]], phi ], {i,1,Length[pts]} ]; nu ] (*---------------------------------------------------------------*) (* Some functions for inserting certain structures *)

(* blinker (period two oscillator -- horizontal -- starting at (x,y) *) InsertBlinker[u , x Integer, y Integer] := Block[ {nu=u}, Do[ nu = SetValue[nu, x, y+i, alive], {i,0,2} ]; nu ]

Software routine for semi-quantum Life

25

(* block still life, lower left corner at (x,y) *) InsertBlock[u , x Integer, y Integer] := Block[ {nu=u}, Do[ nu = SetValue[nu, i, j, alive], {i,x,x+1}, {j,y,y+1} ]; nu ] (* set a block of cells to a value, (default = alive) *) InsertBlock[u , x1 Integer, y1 Integer, x2 Integer, y2 Integer] := InsertBlock[u, x1, y1, x2, y2, alive] InsertBlock[u , x1 Integer, y1 Integer, x2 Integer, y2 Integer, val ] := Block[ {nu=u}, Do[ nu = SetValue[nu, i, j, alive], {i,x1,x2}, {j,y1,y2} ]; nu ] (* Insert a glider, lower corner of 3x3 square containing glider at (x,y) *) (* dir specifies the direction *) InsertGlider[u , x Integer, y Integer, dir ] := Block[ {nu=u}, Which[ dir == "se") || (dir == "SE"), nu = SetValue[nu, x, y+1, alive]; nu = SetValue[nu, x-1, y+2, alive]; Do[ nu = SetValue[nu, x-2, y+i, alive], {i,0,2} ], (dir == "sw") || (dir == "SW"), nu = SetValue[nu, x-2, y+1, alive]; nu = SetValue[nu, x-1, y+2, alive]; Do[ nu = SetValue[nu, x-i, y, alive], {i,0,2} ], (dir == "nw") || (dir == "NW"), nu = SetValue[nu, x-1, y, alive]; nu = SetValue[nu, x-2, y+1, alive]; Do[ nu = SetValue[nu, x, y+i, alive], {i,0,2} ], (dir == "ne") || (dir == "NE"), nu = SetValue[nu, x-1, y, alive]; nu = SetValue[nu, x, y+1, alive]; Do[ nu = SetValue[nu, x-i, y+2, alive], {i,0,2} ] ]; nu ] (* insert a line of live cells starting at (x,y) of length |m| *) (* horizontal if m > 0, vertical if m < 0 *) InsertLine[u , x Integer, y Integer, m Integer] := Block[ {nu=u, i}, If[m > 0, Do[nu = SetValue[nu, x, y + i, alive], {i, 0, m-1}], Do[nu = SetValue[nu, x + i, y, alive], {i, 0, -m-1}] ]; nu ]

26

Book Title

(* horizontal "string" starting at (x,y) of length m, if m > (* or a vertical "string" starting at (x,y) of length -m, if (* string starts with {1,0} *) InsertString[u , x Integer, y Integer, m Integer] := Block[ {nu=u, i}, If[m > 0, Do[nu = SetValue[nu, x, y + i, {(-1)ˆi, 0}], {i, Do[nu = SetValue[nu, x + i, y, {(-1)ˆi, 0}], {i, ]; nu ]

0 *) m < 0 *)

0, m-1}], 0, -m-1}]