300 likes | 428 Views
A Self-Replicating Universal Turing Machine. DATA. TAPE. . . 0. 0. 1. 0. 0. …. …. State table 1 (ST1). FSM. A specialized Turing machine (1). Binary counter: A machine which writes out the binary numbers 1, 10, 11, 100, 101, etc. DATA. STATE TABLE 1 (ST1). TAPE. . . 0.
E N D
DATA TAPE 0 0 1 0 0 … … State table 1 (ST1) FSM A specialized Turing machine (1) Binary counter: A machine which writes out the binary numbers 1, 10, 11, 100, 101, etc.
DATA STATE TABLE 1 (ST1) TAPE 0 0 1 0 0 … … Q+, S+ S=0 S=1 Q = 0 0,0 1,1 Q = 1 0,1 1,0 State table 1 (ST1) FSM A specialized Turing machine (2)
DATA TAPE 0 0 1 0 0 … … State table 2 (ST2) FSM Universal Turing machine (UTM) PROGRAM STATE TABLE 1 … 0 1 0 0 1 1 1 1 Q S Q+ S+ Q S Q+ S+ Q+, S+ S=0 S=1 Q = 0 0,0 1,1 Q = 1 0,1 1,0
PROGRAM ADDR DATA PROGRAM 00 5 if (Q) 01 5 if (S) 02 A do 0 (S) 03 9 do 1<- (Q) 04 4 else 05 B do 1 (S) 06 8 do 0-> (Q) 07 6 endif 08 4 else 09 5 if (S) 0A B do 1 (S) 0B 9 do 1<- (Q) 0C 4 else 0D A do 0 (S) 0E 8 do 0-> (Q) 0F 6 endif 10 6 endif 11 2 end STATE TABLE 1 Q+, S+ S=0 S=1 Q = 0 0,0 1,1 Q = 1 0,1 1,0 UTM: From state table to PICOPASCAL program
STATE TABLE PROGRAM DATA HEAD PROGRAM UTM: Towards a cellular implementation (1)
UTM: Towards a cellular implementation (2) DATA TAPE (shift right, shift left, hold) … … 0 0 1 0 0 FIXED HEAD PROGRAM TAPE (Picopascal) … if if do do else endif end
UTM: Ideal cellular implementation … QL0 = 0 QL1 = 0 DATA TAPE … QC = 1 QR0 = 0 QR1 = 0 STACK … ST1 = 1 ST2 = 0 ST3 = 0 FIXED HEAD Q, S REGISTER … Q = 0 S = 1 … if if else PROGRAM TAPE … end endif if
UTM: Ideal cellular implementation … QL1 = 0 QL0 = 0 DATA TAPE … QC = 1 QR0 = 0 QR1 = 0 STACK … ST1 = 1 ST2 = 0 ST3 = 0 FIXED HEAD Q, S REGISTER … Q = 0 S = 1 … if if else PROGRAM TAPE … end endif if if
UTM: Ideal cellular implementation ... QL1 = 0 QL0 = 0 DATA TAPE … QC = 1 QR0 = 0 QR1 = 0 STACK … ST1 = 1 ST2 = 0 ST3 = 0 FIXED HEAD Q, S REGISTER … Q = 0 S = 1 … if if else PROGRAM TAPE … end endif if
UTM: Ideal cellular implementation … QL1 = 0 DATA TAPE QL0 = 0 … QC = 1 QR0 = 0 QR1 = 0 STACK … ST1 = 1 ST2 = 0 ST3 = 0 FIXED HEAD Q, S REGISTER … Q = 0 S = 1 … if if else PROGRAM TAPE … end endif if
UTM: Ideal cellular implementation DATA TAPE … … QL0 = 0 QL1 = 0 QC = 1 QR0 = 0 QR1 = 0 STACK … ST1 = 1 ST2 = 0 ST3 = 0 FIXED HEAD Q, S REGISTER … Q = 0 S = 1 … if if else PROGRAM TAPE … end endif if
UTM: Ideal cellular implementation DATA TAPE … … QC QL3:0 QR0:3 STACK … ST1 = 1 ST2 = 0 ST3 = 0 FIXED HEAD Q, S REGISTER … Q = 0 S = 1 … if if else PROGRAM TAPE … end endif if
UTM: Ideal cellular implementation … … QC QL3:0 QR0:3 DATA TAPE STACK … ST1 = 1 ST2 = 0 ST3 = 0 FIXED HEAD Q, S REGISTER … Q = 0 S = 1 … if if else PROGRAM TAPE … end endif if
… ST1 = 1 ST2 = 0 ST3 = 0 UTM: Ideal cellular implementation … … QC QL3:0 QR0:3 DATA TAPE STACK FIXED HEAD Q, S REGISTER … Q = 0 S = 1 … if if else PROGRAM TAPE … end endif if
UTM: Ideal cellular implementation … … QC QL3:0 QR0:3 … DATA TAPE ST3 = 0 ST2 = 0 STACK ST1 = 1 FIXED HEAD Q, S REGISTER … Q = 0 S = 1 … if if else PROGRAM TAPE … end endif if
UTM: Ideal cellular implementation DATA TAPE … … QC QL3:0 QR0:3 … ST3 = 0 ST2 = 0 STACK ST1 = 1 FIXED HEAD … Q = 0 S = 1 Q, S REGISTER … if if else PROGRAM TAPE … end endif if
Q = 0 S = 1 ST3 = 0 ST2 = 0 ST1 = 1 UTM: Ideal cellular implementation DATA TAPE … … QC QL3:0 QR0:3 STACK FIXED HEAD … … Q, S REGISTER … if if else PROGRAM TAPE … end endif if
Q S ST3 ST2 ST1 UTM: Ideal cellular implementation DATA TAPE … … QC QL3:0 QR0:3 … … STACK FIXED HEAD Q, S REGISTER … if if else PROGRAM TAPE … end endif if
Q S ST3 ST2 ST1 UTM: Ideal cellular implementation DATA TAPE … … QC QL3:0 QR0:3 … … FIXED HEAD … if if else PROGRAM TAPE … end endif if
Q S ST3 ST2 ST1 UTM: Ideal cellular implementation STACK REGISTER DATA TAPE QC QL3:0 QR0:3 … if if else PROGRAM TAPE … end endif if
Q S ST3 ST2 ST1 UTM: Ideal cellular implementation STACK REGISTER DATA TAPE QC QL3:0 QR0:3 … if if else PROGRAM TAPE … end endif if
UTM: Actual cellular implementation STACK REGISTER DATA TAPE ST3 ST2 ST1 Q S QL3:0 QC QR0:3 PROGRAM TAPE if if do 0 do 1 else do 1 do 0 endif else … end endif endif do 0 do 0 else do 1 do 1 if
The Mictree artificial cell SB BDM REG3:0 X3:0 Y3:0 PROGRAM RAM
ST3 ST2 ST1 Q S QC QL3:0 QR0:3 0 0 1 0 1 0000 1 0000 prog prog prog prog prog prog prog prog prog if if do 0 do 1 else do 1 do 0 endif else Y Gene (subprogram) 3 prog prog prog prog prog prog prog prog prog endif endif endif do 0 do 0 else do 1 do 1 if X 2 Initial condition 1 1 2 3 4 5 6 7 8 9 UTM: Embryonic actual implementation (1)
3 Daughter ST3 ST3 ST2 ST2 ST1 ST1 Q Q S S QC QC 2 QL3:0 QL3:0 QR0:3 QR0:3 0 0 0 0 1 1 0 0 1 1 0000 0000 1 1 0000 0000 prog prog prog prog prog prog prog prog prog prog prog prog prog prog prog prog prog prog 1 if if if if do 0 do 0 do 1 do 1 else else do 1 do 1 do 0 do 0 endif endif else else Y prog prog prog prog prog prog prog prog prog prog prog prog prog prog prog prog prog prog 3 endif endif endif endif endif endif do 0 do 0 do 0 do 0 else else do 1 do 1 do 1 do 1 if if Mother X 2 self-replication 1 1 2 3 4 5 6 7 8 9 self-repair UTM: Embryonic actual implementation (2) self-replication
Spare cells 3 2 ST3 ST3 ST2 ST2 ST1 ST1 Q Q S S QC QC QL3:0 QL3:0 QR0:3 QR0:3 0 0 0 0 1 1 0 0 1 1 0000 0000 1 1 0000 0000 1 prog prog prog prog prog prog prog prog prog prog prog prog prog prog prog prog prog prog if if if if do 0 do 0 do 1 do 1 else else do 1 do 1 do 0 do 0 endif endif else else Y 1 2 3 4 5 6 8 9 9 7 prog prog prog prog prog prog prog prog prog prog prog prog prog prog prog prog prog prog endif endif endif endif endif endif do 0 do 0 do 0 do 0 else else do 1 do 1 do 1 do 1 if if 3 X 2 self-replication 1 1 2 3 4 5 6 7 8 9 7 Faulty column self-repair UTM: Embryonic actual implementation (3) self-repair
Second organism First organism Actual implementation (2) (self-replication)
Conclusion • We presented a new ``multicellular'' automaton, in which every cell contains a complete copy of the genome. • We showed that such an automaton is able to self-replicate and to self-repair. • We showed that it is possible to embed a universal Turing machine in such a multicellular array.