Reversible Computing Systems, Logic Circuits, and … Computing Systems, Logic Circuits, and...

Preview:

Citation preview

Reversible Computing Systems,Logic Circuits, and Cellular Automata

Kenichi Morita

Hiroshima University

The Third International Conference on Networking andComputing (ICNC’12), Okinawa, December 5, 2012

1

Contents

1. Introduction: What is reversible computing?

2. Reversible logic elements and circuits

3. Realizing reversible logic elements with

memory in the billiard ball model

4. Reversible models of computers

5. Realizing reversible Turing machines

by reversible logic elements

6. Reversible cellular automata

2

1. Introduction:What is reversible computing?

3

Reversible computing

• Roughly speaking, it is a “backward determinis-

tic” computing; i.e., every computational con-

figuration has at most one predecessor.

· · · · · ·� � � ��

↑Computational configuration

No such configuration exists

• Though its definition is rather simple, it reflects

physical reversibility well.

4

Why reversible computing?

• Reversibility is one of the fundamental micro-

scopic physical laws of Nature.

• It is important to investigate how computation

can be carried out in a reversible system.

• It relates to energy consumption in computing,

and to quantum computing.

• We shall see that in spite of the reversibility con-

straint, they have high capability of computing.

5

Hierarchical structure in reversible computing

Levels Examples of computing modelsUniversal computing Reversible Turing machinessystem Reversible counter machines

Reversible cellular automataFinite state machine Reversible sequential machinesLogic circuit Reversible logic circuitsLogic element Reversible logic gates

Reversible logic elements with memoryPhysical system Billiard ball model

• Any reversible system in the higher level can be

realized by one in the lower level.

• Hereafter, we will show what these models are,

and how they are related and constructed.

6

2. Reversible logic elements andcircuits

7

Reversible logic elements

A logic element whose function is described by a

one-to-one mapping.

(1) Reversible logic elements without memory

(i.e., reversible logic gates):

• Toffoli gate [Toffoli, 1980]

• Fredkin gate [Fredkin and Toffoli, 1982]

• etc.

(2) Reversible logic elements with memory

(RLEMs):

• Rotary element (RE) [Morita, 2001]

• m-state n-symbol RLEM (in general)

8

Reversible logic elements with memory

Rotary element (RE) [Morita, 2001]

• A 2-state 4-input-line 4-output-line element.

State H State V

� �

��

��

n n′

e

e′

s′ s

w′

w � �

��

��

n n′

e

e′

s′ s

w′

w

• Conceptually, it has a rotatable bar as above.

• Assume signal 1 is given at most one input line.

9

Operations of a rotary element (RE)

• Its operations are very easily understood.

• The bar in the box controls an incoming signal.

• Parallel case:t

� �

��

��

t + 1

� �

��

��

• Orthogonal case:t

� �

��

��

t + 1

� �

��

��

��

10

Reversible sequential machine (RSM)

M = (Q,Σ,Γ, δ)

Q : a set of statesΣ : a set of input symbolsΓ : a set of output symbolsδ : Q × Σ → Q × Γ : a move function

presentstate input next

state output

δ(qi, aj) = (qk, bl)

� �t : aj qi

� �t + 1 : qk bl

• M is called an RSM, if δ is one-to-one.

11

RE is a 2-state 4-symbol RLEM

MRE = ( { , }, {n, e, s, w}, {n′, e′, s′, w′}, δRE)internalstates

inputsymbols

outputsymbols

movefunction

The move function δRE:Input

Present state n e s w

State H: w′ w′ e′ e′

State V: s′ n′ n′ s′

12

Any RSM can be constructed by REs

Theorem 1 [Morita, 2003] Any RSM can be simu-

lated by a circuit composed only of REs. Thus, an

RE is universal in this sense.

13

An example of an RSM constructed by REs

Example: StateInput q1 q2 q3

a1 q2 b1 q2 b2 q1 b2a2 q3 b2 q1 b1 q3 b1

� � � �

� � � ��

��

q1∗q2 q3

a1

a2

b1

b2

q1a1

q1a2

q2a1

q2a2

q3a1

q3a2

[Morita, 2003]

14

We represent a 2-state RLEM graphically

An example: No. 4-289 (equivalent to an RE)

InputPresent state a b c d

State q0 q0 w q0 x q1 w q1 x

State q1 q0 y q0 z q1 z q1 y

a

bc

d ����

����

State q0

w

xy

z

a

bc

d ����

����

State q1

w

xy

z

Solid edge: the state changes to anotherDotted edge: the state remains unchanged

15

8 representatives of 2-RLEMs

��

��

��

��

2-0 (eq. to wires)

��

��

��

��

2-1 (eq. to wires)

��

��

�����

�����

2-2

��

��

�����

��

2-3

��

��

��

�����

2-4

��

��

��

��

2-5 (eq. to wires)

��

��

��

��

2-16 (eq. to wires)

��

��

��

��������

2-17

16

24 representatives of 3-RLEMs

���

���

���

���

3-0 (eq. to wires)

���

���

���

���

3-1 (eq. to wires)

���

���

���

���

3-3 (eq. to wires)

���

���

��

���

���

3-6 (eq. to 2-2)

���

���

��

���

���

3-7

���

���

��

���

���

3-9

���

���

��

���

���

���

3-10

���

���

��

���

���

3-11 (eq. to 2-3)

���

���

���

���

3-18

���

���

���

���

3-19 (eq. to 2-4)

���

���

���

���

3-21 (eq. to wires)

���

���

���

���

3-23

���

���

���

������

���������

3-60

���

���

���

������

������

3-61

���

���

���

������

���

���

3-63

���

���

���

������

���

3-64

���

���

���

������

���

������

3-65

���

���

���

���������

3-90

���

���

���

������

3-91

���

���

���

���

3-94 (eq. to wires)

���

���

���

���

������

3-95 (eq. to 2-17)

���

���

���

���

3-450 (eq. to wires)

���

���

���

���

������

3-451

���

���

���

����������

��

3-453

17

Numbers of representatives of degenerate

and non-degenerate 2-, 3-, and 4-RLEMs

Degenerate k-RLEMsNon-

degeneratek Total Type (i) Type (ii) Type (iii) k-RLEMs2 8 2 2 0 43 24 3 3 4 144 82 5 4 18 55· · · · · ·· · · · · ·

18

Universality and non-universality of

2-state RLEMs

Theorem 4 [Morita et al., 2012] Every non-degenerate

2-state k-symbol RLEM is universal if k > 2.

Theorem 5 [Mukai, Morita, 2012] 2-state 2-symbol

RLEMs 2-2, 2-3 and 2-4 are non-universal.

19

Hierarchy of 2-state non-degenerate RLEMs

Every 2-state k-symbol

RLEM k-n (k > 2)

RLEM2-17

RLEM2-3

RLEM2-4

RLEM2-2

� ��

universal

non-universal

[Mukai, Morita, 2012]

• A → B (A �→ B, respectively) represents that

A can (cannot) simulate B.• Any two combinations from {2-3, 2-4, 2-17} is

universal. [Lee, et al., 2008], [Mukai, Morita, 2011]

20

3. Realizing a reversible element withmemory in the billiard ball model

21

Billiard ball model (BBM)

• A reversible physical model of computing.

[Fredkin and Toffoli, 1982]

• It consists of ideal balls and reflectors.

22

Realization of an RE by BBM

V

H

n n′

e

e′

ss′

w

w′

n1

n0

e1

e0

s1

s0

w1

w0

[Morita, 2008]

23

Parallel case

t

� �

��

��

t + 1

� �

��

��

24

Movements of Balls (State: V , Input: s)

��n n′

e

e′

ss′

w

w′V

25

Movements of Balls (State: V , Input: s)

��n n′

e

e′

ss′

w

w′V

26

Movements of Balls (State: V , Input: s)

��n n′

e

e′

ss′

w

w′V

27

Movements of Balls (State: V , Input: s)

��n n′

e

e′

ss′

w

w′V

28

Movements of Balls (State: V , Input: s)

��n n′

e

e′

ss′

w

w′V

29

Movements of Balls (State: V , Input: s)

��n n′

e

e′

ss′

w

w′V

30

Movements of Balls (State: V , Input: s)

��n n′

e

e′

ss′

w

w′V

31

Movements of Balls (State: V , Input: s)

��n n′

e

e′

ss′

w

w′V

32

Movements of Balls (State: V , Input: s)

��n n′

e

e′

ss′

w

w′V

33

Movements of Balls (State: V , Input: s)

��n n′

e

e′

ss′

w

w′V

34

Movements of Balls (State: V , Input: s)

��n n′

e

e′

ss′

w

w′V

35

Movements of Balls (State: V , Input: s)

��n n′

e

e′

ss′

w

w′V

36

Movements of Balls (State: V , Input: s)

��n n′

e

e′

ss′

w

w′V

37

Movements of Balls (State: V , Input: s)

��n n′

e

e′

ss′

w

w′V

38

Movements of Balls (State: V , Input: s)

��n n′

e

e′

ss′

w

w′V

39

Movements of Balls (State: V , Input: s)

��n n′

e

e′

ss′

w

w′V

40

Movements of Balls (State: V , Input: s)

��n n′

e

e′

ss′

w

w′V

41

Movements of Balls (State: V , Input: s)

��n n′

e

e′

ss′

w

w′V

42

Orthogonal case

t

� �

��

��

t + 1

� �

��

��

��

43

Movements of Balls (State: H, Input: s)

�n n′

e

e′

ss′

w

w′

H

s1

s0

44

Movements of Balls (State: H, Input: s)

�n n′

e

e′

ss′

w

w′

H

s1

s0

45

Movements of Balls (State: H, Input: s)

�n n′

e

e′

ss′

w

w′

H

s1

s0

46

Movements of Balls (State: H, Input: s)

�n n′

e

e′

ss′

w

w′

H

s1

s0

47

Movements of Balls (State: H, Input: s)

�n n′

e

e′

ss′

w

w′

H

s1

s0

48

Movements of Balls (State: H, Input: s)

�n n′

e

e′

ss′

w

w′

H

s1

s0

49

Movements of Balls (State: H, Input: s)

�n n′

e

e′

ss′

w

w′

s1

s0

50

Movements of Balls (State: H, Input: s)

�n n′

e

e′

ss′

w

w′

s1

s0

51

Movements of Balls (State: H, Input: s)

�n n′

e

e′

ss′

w

w′

s1

s0

52

Movements of Balls (State: H, Input: s)

�n n′

e

e′

ss′

w

w′

s1

s0

53

Movements of Balls (State: H, Input: s)

�n n′

e

e′

ss′

w

w′

s1

s0

54

Movements of Balls (State: H, Input: s)

�n n′

e

e′

ss′

w

w′

s1

s0

55

Movements of Balls (State: H, Input: s)

�n n′

e

e′

ss′

w

w′

s1

s0

56

Movements of Balls (State: H, Input: s)

�n n′

e

e′

ss′

w

w′

s1

s0

57

Movements of Balls (State: H, Input: s)

�n n′

e

e′

ss′

w

w′

s1

s0

58

Movements of Balls (State: H, Input: s)

�n n′

e

e′

ss′

w

w′

s1

s0

59

Movements of Balls (State: H, Input: s)

�n n′

e

e′

ss′

w

w′

s1

s0

60

Movements of Balls (State: H, Input: s)

�n n′

e

e′

ss′

w

w′

s1

s0

61

Movements of Balls (State: H, Input: s)

�n n′

e

e′

ss′

w

w′

s1

s0

62

Movements of Balls (State: H, Input: s)

�n n′

e

e′

ss′

w

w′

s1

s0

63

Movements of Balls (State: H, Input: s)

�n n′

e

e′

ss′

w

w′

s1

s0

64

Movements of Balls (State: H, Input: s)

�n n′

e

e′

ss′

w

w′

s1

s0

65

Movements of Balls (State: H, Input: s)

�n n′

e

e′

ss′

w

w′

s1

s0

66

Movements of Balls (State: H, Input: s)

�n n′

e

e′

ss′

w

w′

s1

s0

67

Movements of Balls (State: H, Input: s)

�n n′

e

e′

ss′

w

w′

s1

s0

68

Movements of Balls (State: H, Input: s)

�n n′

e

e′

ss′

w

w′V

s1

s0

69

Movements of Balls (State: H, Input: s)

�n n′

e

e′

ss′

w

w′V

s1

s0

70

Movements of Balls (State: H, Input: s)

�n n′

e

e′

ss′

w

w′V

s1

s0

71

Movements of Balls (State: H, Input: s)

�n n′

e

e′

ss′

w

w′V

s1

s0

72

Movements of Balls (State: H, Input: s)

�n n′

e

e′

ss′

w

w′V

s1

s0

73

Movements of Balls (State: H, Input: s)

�n n′

e

e′

ss′

w

w′V

s1

s0

74

Movements of Balls (State: H, Input: s)

�n n′

e

e′

ss′

w

w′V

s1

s0

75

Movements of Balls (State: H, Input: s)

�n n′

e

e′

ss′

w

w′V

s1

s0

76

Movements of Balls (State: H, Input: s)

�n n′

e

e′

ss′

w

w′V

s1

s0

77

Movements of Balls (State: H, Input: s)

�n n′

e

e′

ss′

w

w′V

s1

s0

78

Movements of Balls (State: H, Input: s)

�n n′

e

e′

ss′

w

w′V

s1

s0

79

Movements of Balls (State: H, Input: s)

�n n′

e

e′

ss′

w

w′V

s1

s0

80

Movements of Balls (State: H, Input: s)

�n n′

e

e′

ss′

w

w′V

s1

s0

81

Movements of Balls (State: H, Input: s)

�n n′

e

e′

ss′

w

w′V

s1

s0

82

BBM realization of an RE (orthogonal case)

�n n′

e

e′

ss′

w

w′

��

��

� �

0,1

2

3

4

5

6,7

0

1

2

3

4

5

6 7

83

4. Reversible models of computing

84

Reversible Turing machine (RTM)

• A “backward deterministic” TM.

q1

· · · a b c′ · · · ·

q2

· · · a′ b c · · · · ��

q′

· · · a′ b c′ · · · ·

85

Formal definition of a TM

T = (Q, S, q0, F, s0, δ)

Q: a finite set of states.S: a finite set of tape symbols.q0: an initial state q0 ∈ Q.F : a set of final states F ⊂ Q.s0: a blank symbol s0 ∈ S.δ: a move relation given by a set of quintuples

[p, s, s′, d, q] ∈ Q× S × S × {L, N, R} × Q.p, q: states, s, s′: symbols, d: shift direction.

86

Reversibility of a TM

A TM T = (Q, S, q0, F, s0, δ) is called reversible iff

the following condition holds for any pair of distinct

quintuples [p1, s1, s′1, d1, q1] and [p2, s2, s′2, d2, q2].

If q1 = q2, then s′1 �= s′2 ∧ d1 = d2

(If the next states are the same, then the written

symbols must be different and the shift directions

must be the same.)

87

A simple example of an RTM: Tparity

Tparity = (Q, S, q0, {qacc},0, δ)

Q = {q0, q1, q2, qacc, qrej} : a set of statesS = {0,1} : a set of tape symbolsδ = {[ q0,0,1, R, q1 ], [ q1,0,1, L, qacc ],

[ q1,1,0, R, q2 ], [ q2,0,1, L, qrej ],[ q2,1,0, R, q1 ] } : a move function

• A unary expression of an integer n is given.

• If n is even, Tparity halts in the final state qacc.

• If n is odd, Tparity halts in the state qrej.

• All the symbols read by Tparity are complemented.

88

A computing process of Tparity for input “11”

t = 0�

q0

0 1 1 0 0

t = 1�

q1

1 1 1 0 0

t = 2�

q2

1 0 1 0 0

t = 3�

q1

1 0 0 0 0

t = 4�

qacc

1 0 0 1 0

δ = {[ q0,0,1, R, q1 ],[ q1,0,1, L, qacc ],[ q1,1,0, R, q2 ],[ q2,0,1, L, qrej ],[ q2,1,0, R, q1 ] }

89

Any irreversible TM can be simulated by

a time- or space-efficient reversible TM

Theorem 7 [Bennett, 1973] For any irreversible

TM, we can construct a garbage-less linear-time

reversible TM that simulates the former.

Theorem 8 [Morita, 2012] For any irreversible TM,

we can construct a garbage-less reversible TM that

simulates the former, and uses exactly the same

numbers of tape squares and tape symbols.

90

5. Realizing reversible Turingmachines by reversible logic circuits

91

Realizing RTMs by REs

• A memory cell (i.e., a tape square), and a finite-

state control of an RTM are formalized as RSMs.

92

Memory cell realized by REs

• It keeps a tape symbol

s ∈ {0,1}.• It also keeps the informa-

tion h whether the head is

on this cell (h = 1) or not

(h = 0).

• The REs at the positions

h and s are set to if the

value is 0, and if it is 1.

SLc′

SLI′

SLSRc′

SRI

SR

R1′

R0′

W1

W0

h

s

��

� ��

��

� �

��

��

� �

� �

SLcSLISL′

SRcSRI′

SR′

R1

R0

W1′

W0′

93

Finite-state control of Tparity realized by REs

• The three REs in the 4th

row correspond to q0, q1and q2. They read the

symbol currently scanned.

• Then, the four REs of the

3rd row perform writing

and state-change.

• Finally, the REs of the

1st or 2nd rows perform

a head shift.

��

��

� �� �

� �� � �

��

��

��

q0 q1 q2

q00 q10 q11 q20 q21

q1 qacc q2 qrej

SLc

SL′

SRc

SR′

R1

R0

W1′

W0′

Reject

Accept

Begin•

94

The whole RE circuit that simulates Tparity

��

��

� �� �

� �� � �

��

��

��

��

��

� ��

��

� �

��

��

� �

� �

��

� ��

��

� �

��

��

� �

� �

��

� ��

��

� �

��

��

� �

� �

��

� ��

��

� �

��

��

� �

� �

Reject

Accept

Begin •

• • •

Head 0 1 1 0

• Giving a particle to “Begin,” it starts to compute.

• It is also possible to further realize this circuit in BBM.

95

6. Reversible cellular automata(RCAs)

96

Reversible cellular automaton (RCA)

• A cellular automaton (CA) is a discrete model

for spatiotemporal phenomena.

• A reversible CA (RCA) is a one whose global

function is one-to-one.

• RCAs have high capability of computing.

– Computation-universality

– Self-reproduction

– etc.

97

1-dimensional cellular automaton (CA)

• A local function f of a 1-D CA

t

t + 1

i − 1 i i + 1

︸ ︷︷ ︸

︷ ︸︸ ︷�f

• The local function is applied to all the cells.

• Difficult to design RCAs using this framework.

98

1-dimensional partitioned cellular automaton

(PCA)

• A local function f of a 1-D PCA.

L L LC C CR R R

t

t + 1

i − 1 i i + 1

︸ ︷︷ ︸

︷ ︸︸ ︷�f

• RCAs can be easily designed using PCAs.

99

2-dimensional partitioned cellular automaton

• Example:

A local function of a 4-neighbor PCA S1.

•→ •

•• → ••

•→ ••

••• → •••

••

•• → ••••

100

Computationally universal reversible CAs

— 1-D Case —

Theorem 11

(1) There is a 24-state universal reversible PCA

with infinite configurations. [Morita, 2008]

(2) There is a 96-state universal reversible PCA

with finite configurations. [Morita, 2007]

101

A 24-state 1-D reversible PCA that

simulates any cyclic tag systemt0 − n − y − − − ∗ − n − n − − − ∗ − y − − − ∗ N − Y − Y − − − Y − Y − Y − Y − Y −1 − ∗ − n − y − − − ∗ − n − n − − − ∗ − y − − − / Y − Y − − − Y − Y − Y − Y − Y −2 − − − ∗ − n − y − − − ∗ − n − n − − − ∗ − y − − Y / Y − − − Y − Y − Y − Y − Y −3 − y − − − ∗ − n − y − − − ∗ − n − n − − − ∗ − y Y − Y / − − Y − Y − Y − Y − Y −4 − ∗ − y − − − ∗ − n − y − − − ∗ − n − n − − − ∗ Y y Y − + n Y − Y − Y − Y − Y −5 − − − ∗ − y − − − ∗ − n − y − − − ∗ − n − n − − + / Y y − + Y n Y − Y − Y − Y −6 − n − − − ∗ − y − − − ∗ − n − y − − − ∗ − n − n − + Y / − y Y + Y n Y − Y − Y −7 − n − n − − − ∗ − y − − − ∗ − n − y − − − ∗ − n − n Y + + n Y y Y + Y n Y − Y −8 − ∗ − n − n − − − ∗ − y − − − ∗ − n − y − − − ∗ − n Y n + + Y n Y y Y + Y n Y −9 − − − ∗ − n − n − − − ∗ − y − − − ∗ − n − y − − − ∗ Y n N ∗ Y + Y n Y y Y + Y n

10 − y − − − ∗ − n − n − − − ∗ − y − − − ∗ − n − y − − + / N n + / Y + Y n Y y Y +11 − n − y − − − ∗ − n − n − − − ∗ − y − − − ∗ − n − y − + N / N ∗ Y / Y + Y n Y y

12 − ∗ − n − y − − − ∗ − n − n − − − ∗ − y − − − ∗ − n − y N + N / + / Y / Y + Y n

13 − − − ∗ − n − y − − − ∗ − n − n − − − ∗ − y − − − ∗ − n N y N + + y Y / Y / Y +14 − y − − − ∗ − n − y − − − ∗ − n − n − − − ∗ − y − − − ∗ N n N y + + Y y Y / Y /

15 − ∗ − y − − − ∗ − n − y − − − ∗ − n − n − − − ∗ − y − − − / N n Y ∗ Y + Y y Y /

16 − − − ∗ − y − − − ∗ − n − y − − − ∗ − n − n − − − ∗ − y − − N / Y n + / Y + Y y

17 − n − − − ∗ − y − − − ∗ − n − y − − − ∗ − n − n − − − ∗ − y N − Y / N ∗ Y / Y +18 − n − n − − − ∗ − y − − − ∗ − n − y − − − ∗ − n − n − − − ∗ N y Y − N / + / Y /

19 − ∗ − n − n − − − ∗ − y − − − ∗ − n − y − − − ∗ − n − n − − − / Y y N − + y Y /

20 − − − ∗ − n − n − − − ∗ − y − − − ∗ − n − y − − − ∗ − n − n − − Y / N y − + Y y

21 − y − − − ∗ − n − n − − − ∗ − y − − − ∗ − n − y − − − ∗ − n − n Y − N / − y Y +22 − n − y − − − ∗ − n − n − − − ∗ − y − − − ∗ − n − y − − − ∗ − n Y n N − + n Y y

23 − ∗ − n − y − − − ∗ − n − n − − − ∗ − y − − − ∗ − n − y − − − ∗ Y n N n − + Y n

102

A 24-state 1-D reversible PCA that

simulates any cyclic tag system

(Color version)t0123456789

1011121314151617181920212223

103

Computationally universal reversible CAs

— 2-D case (1) —

Theorem 12 [Imai, Morita, 2000] The reversible

8-state PCA having the following local function

with infinite configurations is universal.

•→ •

•• → ••

••

• → •••

104

A Fredkin gate in the 8-state reversible PCA

105

Computationally universal reversible CAs

— 2-D case (2) —

Theorem 13 [Morita et al., 2002] There is a re-

versible 81-state PCA P3 with finite configurations

that can simulate any reversible counter machine.

Hence, it is universal.

106

The local function of the 81-state RPCA P3

◦→ ◦ (a)

•→ • (b)

•• → •• (c)

••• → •

•• (d)

•→ •◦ (e)

◦•

•→ ••◦ (f)

•• → ◦•◦◦ (g)

•◦◦ → ◦•◦ (h)

•◦

◦→ ◦◦• (i)

◦◦ → •◦◦ (j)

◦•

•• → •••◦ (k)

•◦

◦◦ → ◦•• (l)

w

xy

z → wxyz (m)

The rule scheme (m) represents 33 rules not specified by (a)–(l)(w, x, y, z ∈ { blank, ◦, • } = {0,1,2}).

107

A rotary element implemented in P3

Parallel case:t = 0◦◦ •◦ ◦• ◦◦◦• •◦◦• ◦◦ ••◦◦

◦•◦◦◦

◦◦◦

•◦◦◦•• ◦◦ ◦••◦ ◦•◦◦ •◦ •◦ ◦◦

t = 1◦◦ •◦ ◦• ◦◦◦• •◦◦• ◦◦ ••◦◦

◦•◦◦ ◦◦ ◦

◦•◦◦◦•• ◦◦ ◦••◦ ◦•◦◦ •◦ •◦ ◦◦•

t = 2◦◦ •◦ ◦• ◦◦◦• •◦◦• ◦◦ ••◦◦

◦•◦◦◦

◦◦◦

•◦◦◦••

•◦◦ ◦••◦ ◦•◦◦ •◦ •◦ ◦◦

t = 3◦◦ •◦ ◦• ◦◦◦• •◦◦• ◦◦ ••◦◦

◦•◦◦

•◦◦ ◦◦

•◦◦◦•• ◦◦ ••◦ ◦•◦◦ •◦ •◦ ◦◦

t = 4◦◦ •◦ ◦• ◦◦◦• •◦◦•

•◦◦ ••◦◦◦•

◦◦◦◦◦◦

•◦◦◦•• ◦◦ ◦••◦ ◦•◦◦ •◦ •◦ ◦◦

t = 5◦◦ •◦ ◦• ◦◦◦• •◦◦• ◦◦ ••◦◦

◦•◦◦ ◦◦ ◦

◦•◦◦◦•• ◦◦ ◦••◦ ◦•◦◦ •◦ •◦ ◦◦

•�

Orthogonal case:t = 0◦◦ •◦ ◦• ◦◦◦• •◦◦• ◦◦◦

••◦◦◦•

◦◦

◦◦

•◦◦◦••

◦◦◦ ◦••◦ ◦•◦◦ •◦ •◦ ◦◦•

t = 1◦◦ •◦ ◦• ◦◦◦• •◦◦• ◦◦ ••◦◦

◦•◦◦

◦◦

◦◦

•◦◦◦•• ◦◦ ◦••◦ ◦•◦◦ •◦ •◦ ◦◦•

t = 2◦◦ •◦ ◦• ◦◦◦• •◦◦• ◦◦◦

••◦◦◦•

◦◦

◦◦

•◦◦◦••

••◦ ◦••◦ ◦•◦◦ •◦ •◦ ◦◦

t = 3◦◦ •◦ ◦• ◦◦◦• •◦◦• ◦◦ ••◦◦

◦•◦◦ •◦ ◦

◦•◦◦◦•• ◦◦ •••◦ ◦•◦◦ •◦ •◦ ◦◦

t = 4◦◦ •◦ ◦• ◦◦◦• •◦◦• ◦◦ ••◦◦

◦•◦◦◦

◦•◦◦•◦◦◦•• ◦◦ ◦••◦ ◦•◦◦ •◦ •◦ ◦◦

t = 5◦◦ •◦ ◦• ◦◦◦• •◦◦• ◦◦ ••◦◦

◦•◦◦ ◦◦ ◦

◦•◦◦◦•• ◦◦ ◦••◦ ◦•◦◦ •◦ •◦ ◦◦

•�

108

Reversible counter machine (RCM) in P3�� ���� ��

�� ���� ��

�� ���� ��

�� ���� ��

�� ���� ��

�� ���� ��

�� ���� ��

�� ���� ��

�� ���� ��

�� ���� ��

�� ���� ��

�� �� �� ���� ���� �� ����

��������

������ �� ���� ��

�� �� �� ���� �� �� ���� ��� ��

�����

�� ���� ��

������� ��� ��

�� �� �� ��

�� ���� ��

�� �� �� ���� ���� �� ����

��������

������ �� ���� ��

�� �� �� ���� �� �� ���� ��� ��

�����

�� ���� ��

������� ��� ��

�� �� �� ��

�� ���� ��

�� �� �� ���� ���� �� ����

��������

������ �� ���� ��

�� �� �� ���� �� �� ���� ��� ��

�����

�� ���� ��

������� ��� ��

�� �� �� ��

�� ���� ��

�� �� �� ���� ���� �� ����

��������

������ �� ���� ��

�� �� �� ��

�� �� �� ���� ���� �� ����

��������

������ �� ���� ��

�� �� �� ��

�� �� �� ���� ���� �� ����

��������

������ �� ���� ��

�� �� �� ��

�� ���� ��

�� ���� ��

�� ���� ��

�� ���� ��

�� �� �� ���� ��� ��

�����

�� ���� ��

������� ��� ��

�� �� �� ��

�� ���� ��

�� �� �� ���� ���� �� ����

��������

������ �� ���� ��

�� �� �� ��

�� ���� ��

�� ���� ��

�� ���� ��

�� ���� ��

�� ���� ��

�� ���� ��

�� ���� ���� ���� ��

�� ���� ��

�� ���� ��

�� ���� ��

�� ���� ��

�� ���� ��

�� ���� ��

�� ���� ��

�� ���� ��

�� ���� ��

�� ���� ��

�� ���� ��

�� ���� ��

�� ���� ��

�� ���� ��

�� ���� ��

�� ���� ��

�� ���� ��

�� ���� �� �� ���� ���� ��

�� ��

�� ���� ��

�� ���� ��

�� ���� ��

�� ���� ��

�� ���� ��

�� ���� ��

�� ���� ��

�� ���� ��

�� ���� ��

�� ���� ��

�� ���� ��

�� ���� ��

�� ���� ��

�� ���� ��

�� ���� ��

�� ���� ��

�� ���� ��

�� ���� ��

�� ���� ��

�� ���� ��

�� ���� ��

�� ���� ��

�� ���� ���� ��

�� ��

�� ���� �� �� ��

�� ��

�� ���� ���� ��

�� ��

�� ���� ��

�� ���� ��

�� ���� ��

�� ���� ��

�� ���� ��

�� ���� ��

�� ���� �� �� ��

�� ��

�� ���� ��

�� ���� ���� ��

�� ��

�� ���� ��

�� ���� ���� ��

�� ��

�� ���� �� �� ��

�� ��

�� ���� ��

�� ���� ��

�� ���� ��

�� ���� ��

�� ���� ���� ��

�� ���� ���� ��

�� ���� ���� ��

�� ��

�� ���� ��

�� ���� ���� ��

�� ��

�� ���� ��

�� ���� ���� ��

�� ��

�� ���� ��

�� ���� ��

�� ���� ��

�� ���� ��

�� ���� ��

�� �� �� ���� ��� ��

�����

�� ���� ��

������� ��� ��

�� �� �� ��

�� �� �� ���� ���� �� ����

���� �� �

������� �� ���� ��

�� �� �� ��

�� �� �� ���� ���� �� ����

���� �� �

������� �� ���� ��

�� �� �� ��

�� �� �� ���� ��� � ��� ��

�� ��� � ��� ���� �� �� ��

�� �� �� ���� ��� ��

�����

�� ���� ��

������� ��� ��

�� �� �� ��

�� ���� ��

�� ���� �� �� ���� ���� ��

�� ��

�� ���� ��

�� ���� ��

�� ���� ��

�� ���� ��

�� ���� ���� ��

�� ��

�� ���� �� �� ��

�� ��

�� ���� ��

�� ���� ��

�� ���� ��

�� ���� ��

�� ���� ��

�� ���� ���� ��

�� ��

�� ���� ��

�� ���� ���� ��

�� ���� ���� ��

�� ���� ��

�� ���� ��

�� ���� ��

�� ���� ��

�� ���� ��

�� ���� ���� ��

�� ��

�� ���� �� �� ��

�� ��

�� ���� ��

�� ���� ���� ��

�� ��

�� ���� ��

�� ���� ��

�� ���� ��

�� ���� ��

�� ���� ��

�� ���� ��

�� ���� ��

�� ���� ��

�� �� �� ���� ��� ��

�����

�� ���� ��

������� ��� ��

�� �� �� ��

�� �� �� ���� ���� �� ����

���� �� �

������� �� ���� ��

�� �� �� ��

�� �� �� ���� ���� �� ����

���� �� �

������� �� ���� ��

�� �� �� ��

�� �� �� ���� ���� �� ����

���� �� �

������� �� ���� ��

�� �� �� ��

�� �� �� ���� ���� �� ����

���� �� �

������� �� ���� ��

�� �� �� ��

�� �� �� ���� ��� ��

�����

�� ���� ��

������� ��� ��

�� �� �� ��

�� �� �� ���� ���� �� ����

���� �� �

������� �� ���� ��

�� �� �� ��

�� �� �� ���� ���� �� ����

���� �� �

������� �� ���� ��

�� �� �� ��

�� �� �� ���� ���� �� ����

���� �� �

������� �� ���� ��

�� �� �� ��

�� �� �� ���� ���� �� ����

���� �� �

������� �� ���� ��

�� �� �� ��

�� ���� ��

�� ���� ��

�� ���� ��

�� ���� �� �� ��

�� ��

�� ���� ��

�� ���� ��

�� ���� ��

�� ���� ��

�� ���� ��

�� ���� ���� ��

�� ���� ���� ��

�� ���� ��

�� ���� ��

�� ���� ��

�� ���� ���� ��

�� ��

�� ���� ��

�� ���� ��

�� ���� ���� ��

�� ��

�� ���� ��

�� �� �� ���� ��� ��

�����

�� ���� ��

������� ��� ��

�� �� �� ��

�� �� �� ���� ���� �� ����

���� �� �

������� �� ���� ��

�� �� �� ��

�� �� �� ���� ���� �� ����

���� �� �

������� �� ���� ��

�� �� �� ��

�� �� �� ���� ��� ��

�����

�� ���� ��

������� ��� ��

�� �� �� ��

�� �� �� ���� ��� � ��� ��

�� ��� � ��� ���� �� �� ��

�� ���� ��

�� ���� ��

�� ���� ��

�� ���� ��

�� ���� ��

�� ���� ��

��

��

�� ���� ��

�� ���� ���� ��

�� ��

�� ���� ��

�� ���� ���� ��

�� ��

�� ���� �� �� ��

�� ��

�� ���� ��

�� ���� ��

�� ���� ��

�� ���� ��

�� ���� ���� ��

�� ���� ���� ��

�� ���� ���� ��

�� ��

�� ���� ��

�� ���� ���� ��

�� ��

�� ���� ��

�� ���� ���� ��

�� ��

�� ���� ��

�� ���� ��

�� ���� ��

�� ���� ��

�� ���� ��

�� �� �� ���� ��� ��

�����

�� ���� ��

������� ��� ��

�� �� �� ��

�� �� �� ���� ���� �� ����

���� �� �

������� �� ���� ��

�� �� �� ��

�� �� �� ���� ���� �� ����

���� �� �

������� �� ���� ��

�� �� �� ��

�� �� �� ���� ��� � ��� ��

�� ��� � ��� ���� �� �� ��

�� �� �� ���� ��� ��

�����

�� ���� ��

������� ��� ��

�� �� �� ��

�� ���� ��

�� ���� �� �� ���� ���� ��

�� ��

�� ���� ��

�� ���� ��

�� ���� ��

�� ���� ��

�� ���� ���� ��

�� ��

�� ���� �� �� ��

�� ��

�� ���� ��

�� ���� ��

�� ���� ��

�� ���� ��

�� ���� ��

�� ���� ���� ��

�� ��

�� ���� ��

�� ���� ���� ��

�� ���� ���� ��

�� ���� ��

�� ���� ��

�� ���� ��

�� ���� ��

�� ���� ��

�� ���� ���� ��

�� ��

�� ���� �� �� ��

�� ��

�� ���� ��

�� ���� ���� ��

�� ��

�� ���� ��

�� ���� ��

�� ���� ��

�� ���� ��

�� ���� ��

�� ���� ��

�� ���� ��

�� ���� ��

�� �� �� ���� ��� ��

�����

�� ���� ��

������� ��� ��

�� �� �� ��

�� �� �� ���� ���� �� ����

���� �� �

������� �� ���� ��

�� �� �� ��

�� �� �� ���� ���� �� ����

���� �� �

������� �� ���� ��

�� �� �� ��

�� �� �� ���� ���� �� ����

���� �� �

������� �� ���� ��

�� �� �� ��

�� �� �� ���� ���� �� ����

���� �� �

������� �� ���� ��

�� �� �� ��

�� �� �� ���� ��� ��

�����

�� ���� ��

������� ��� ��

�� �� �� ��

�� �� �� ���� ���� �� ����

���� �� �

������� �� ���� ��

�� �� �� ��

�� �� �� ���� ���� �� ����

���� �� �

������� �� ���� ��

�� �� �� ��

�� �� �� ���� ���� �� ����

���� �� �

������� �� ���� ��

�� �� �� ��

�� �� �� ���� ���� �� ����

���� �� �

������� �� ���� ��

�� �� �� ��

�� ���� ��

�� ���� ��

�� ���� ��

�� ���� �� �� ��

�� ��

�� ���� ��

�� ���� ��

�� ���� ��

�� ���� ��

�� ���� ��

�� ���� ���� ��

�� ���� ���� ��

�� ���� ��

�� ���� ��

�� ���� ��

�� ���� ���� ��

�� ��

�� ���� ��

�� ���� ��

�� ���� ���� ��

�� ��

�� ���� ��

�� �� �� ���� ��� ��

�����

�� ���� ��

������� ��� ��

�� �� �� ��

�� �� �� ���� ���� �� ����

���� �� �

������� �� ���� ��

�� �� �� ��

�� �� �� ���� ���� �� ����

���� �� �

������� �� ���� ��

�� �� �� ��

�� �� �� ���� ��� ��

�����

�� ���� ��

������� ��� ��

�� �� �� ��

�� �� �� ���� ��� � ��� ��

�� ��� � ��� ���� �� �� ��

�� ���� ��

�� ���� ��

�� ���� ��

�� ���� ��

�� ���� ��

�� ���� ��

��

��

begin

→ �

end←

109

Concluding remarks

• We have seen even very simple reversible logic

elements have universality.

• Reversible computers can be constructed in a

very different way from that of conventional

computers.

• Studies on reversible computing will give new

insights for future computing.

110

Some references

[20] Morita, K., Reversible computing and cellular automata

— A survey, Theoretical Computer Science, 395, 101–131

(2008). http://ir.lib.hiroshima-u.ac.jp/00025576 (2008).

[21] Morita, K., Constructing a reversible Turing machine by

a rotary element, a reversible logic element with memory,

http://ir.lib.hiroshima-u.ac.jp/00029224 (2010).

[25] Morita, K., Reversible computing — Can we construct a

computer out of billiard balls? (in Japanese), J. Information

Proc. Soc. of Japan, 53 pp.496–502 (2012).

[26] Morita, K., Reversible computing (in Japanese), Kindai

Kagaku-sha Co., Ltd., Tokyo (2012).

111

[20] Morita, K., Reversible computing and cellular automata

— A survey, Theoretical Computer Science, 395, 101–131

(2008). http://ir.lib.hiroshima-u.ac.jp/00025576 (2008).

Theoretical Computer Science 395 (2008) 101–131www.elsevier.com/locate/tcs

Reversible computing and cellular automata—A survey

Kenichi Morita∗

Hiroshima University, Higashi-Hiroshima 739-8527, Japan

Received 6 July 2007; received in revised form 3 December 2007; accepted 17 January 2008

Communicated by G. Rozenberg

Abstract

Reversible computing is a paradigm where computing models are defined so that they reflect physical reversibility, one of thefundamental microscopic physical property of Nature. In this survey/tutorial paper, we discuss how computation can be carried outin a reversible system, how a universal reversible computer can be constructed by reversible logic elements, and how such logicelements are related to reversible physical phenomena. We shall see that, in reversible systems, computation can often be carriedout in a very different manner from conventional (i.e., irreversible) computing systems, and even very simple reversible systemsor logic elements have computation- or logical-universality. We discuss these problems based on reversible logic elements/circuits,reversible Turing machines, reversible cellular automata, and some other related models of reversible computing.c© 2008 Elsevier B.V. All rights reserved.

Keywords: Reversible logic element; Reversible Turing machine; Reversible cellular automata; Computation-universality

112

[21] Morita, K., Constructing a reversible Turing machine by

a rotary element, a reversible logic element with memory,

http://ir.lib.hiroshima-u.ac.jp/00029224 (2010).

t = 4405

Reject

Accept

Begin

head1 0 0 1

An example of a whole computing process is shown.

113

[25] Morita, K., Reversible computing — Can we construct a

computer out of billiard balls? (in Japanese), J. Information

Proc. Soc. of Japan, Vol.53, No.5, pp.496–502 (2012).

114

[26] Morita, K., Reversible computing (in Japanese), Kindai

Kagaku-sha Co., Ltd., Tokyo (2012).

115

Recommended