Reversible Computing Systems, Logic Circuits, and Cellular Automata Kenichi Morita Hiroshima University The Third International Conference on Networking and Computing (ICNC’12), Okinawa, December 5, 2012 1
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