Download presentation
Presentation is loading. Please wait.
1
Theory of computing, part 4
2
Course outline 1 Introduction 2
Theoretical background Biochemistry/molecular biology 3 Theoretical background computer science 4 History of the field 5 Splicing systems 6 P systems 7 Hairpins 8 Detection techniques 9 Micro technology introduction 10 Microchips and fluidics 11 Self assembly 12 Regulatory networks 13 Molecular motors 14 DNA nanowires 15 Protein computers 16 DNA computing - summery 17 Presentation of essay and discussion
3
Turing machines
4
The language hierarchy
Context-Free Languages Regular Languages
5
The language hierarchy
Languages accepted by Turing Machines Context-Free Languages Regular Languages
6
A Turing machine Tape ...... ...... Read-Write head Control Unit
7
...... ...... The tape No boundaries -- infinite length
Read-Write head The head moves Left or Right
8
...... ...... The tape Read-Write head The head at each time step:
1. Reads a symbol 2. Writes a symbol 3. Moves Left or Right
9
Example Time 0 ...... ...... Time 1 ...... ...... 1. Reads 2. Writes
3. Moves left
10
...... ...... ...... ...... Example Time 1 Time 2 1. Reads 2. Writes
3. Moves right
11
The input string Input string Blank symbol ...... ...... head
Head starts at the leftmost position of the input string
12
States and transitions
Write Read Move Left Move Right
13
Example Time 1 ...... ...... current state
14
Example Time 1 ...... ...... Time 2 ...... ......
15
Example Time 1 ...... ...... Time 2 ...... ......
16
Example Time 1 ...... ...... Time 2 ...... ......
17
Determinism Turing Machines are deterministic Allowed Not Allowed
18
...... ...... Example: partial transition function Allowed:
No transition for input symbol
19
Halting The machine halts if there are no possible transitions to follow
20
Example ...... ...... No possible transition HALT
21
Final states Allowed Not Allowed
Final states have no outgoing transitions In a final state the machine halts
22
Acceptance If machine halts in a final state Accept Input
in a non-final state or If machine enters an infinite loop Reject Input
23
Turing machine example
A Turing machine that accepts language a*
24
Turing machine example
Time 0
25
Turing machine example
Time 1
26
Turing machine example
Time 2
27
Turing machine example
Time 3
28
Turing machine example
Time 4 Halt & Accept
29
Rejection example Time 0
30
Rejection example Time 1 No possible Transition Halt & Reject
31
Infinite loop example Another Turing machine for language a* and is this one correct???
32
Infinite loop example Time 0
33
Infinite loop example Time 1
34
Infinite loop example Time 2
35
Infinite loop example Time 2 Time 3 Time 4 Time 5 ... Infinite Loop
36
Infinite loop example Because of the infinite loop:
The final state cannot be reached The machine never halts The input is not accepted
37
Another Turing machine example
Turing machine for the language
38
Another Turing machine example
Time 0
39
Another Turing machine example
Time 1
40
Another Turing machine example
Time 2
41
Another Turing machine example
Time 3
42
Another Turing machine example
Time 4
43
Another Turing machine example
Time 5
44
Another Turing machine example
Time 6
45
Another Turing machine example
Time 7
46
Another Turing machine example
Time 8
47
Another Turing machine example
Time 9
48
Another Turing machine example
Time 10
49
Another Turing machine example
Time 11
50
Another Turing machine example
Time 12
51
Another Turing machine example
Time 13 Halt & Accept
52
Observation If we modify the machine for the language
we can easily construct a machine for the language
53
Formal definitions
54
Transition function
55
Transition function
56
Turing machine Input alphabet Tape alphabet States Final states
Transition function Initial state blank
57
Configuration Instantaneous description:
58
Configuration Time 4 Time 5 A Move:
59
Configuration Time 4 Time 5 Time 6 Time 7
60
Configuration Equivalent notation:
61
Initial configuration
Input string
62
The accepted language For any Turing Machine Initial state Final state
63
Standard Turing machine
The machine we described is the standard Deterministic Infinite tape in both directions Tape is the input/output file
64
Computing functions
65
Functions A function has: Domain: Result Region:
66
Functions A function may have many parameters Example:
Addition function
67
Integer domain Decimal: 5 Binary: 101 Unary: 11111
We prefer unary representation: easier to manipulate with Turing machines
68
Functions definition A function is computable if
there is a Turing Machine such that: Initial configuration Final configuration initial state final state For all Domain
69
Functions definition A function is computable if
there is a Turing Machine such that: Initial Configuration Final Configuration For all Domain
70
Example The function is computable are integers Turing Machine:
Input string: unary Output string: unary
71
Example Start initial state The 0 is the delimiter that
separates the two numbers
72
Example Start initial state Finish final state
73
Example The 0 helps when we use the result for other operations Finish
final state
74
Turing machine example
Turing machine for function
75
Turing machine example
Time 0 Execution Example: (2) (2) Final Result
76
Turing machine example
Time 0
77
Turing machine example
Time 1
78
Turing machine example
Time 2
79
Turing machine example
Time 3
80
Turing machine example
Time 4
81
Turing machine example
Time 5
82
Turing machine example
Time 6
83
Turing machine example
Time 7
84
Turing machine example
Time 8
85
Turing machine example
Time 9
86
Turing machine example
Time 10
87
Turing machine example
Time 11
88
Turing machine example
Time 12 HALT & accept
89
Another example The function is computable is integer Turing Machine:
Input string: unary Output string: unary
90
Another example Start initial state Finish final state
91
Pseudocode Turing Machine Pseudocode for Replace every 1 with $
Repeat: Find rightmost $, replace it with 1 Go to right end, insert 1 Until no more $ remain
92
Example Turing Machine for
93
Example Start Finish
94
Another example The function if if is computable
95
Another example if Turing Machine for if Input: Output: or
96
Pseudocode Repeat Match a 1 from with a 1 from
Until all of or is matched If a 1 from is not matched erase tape, write 1 else erase tape, write 0
97
Combining Turing machines
98
Combining Turing machines
Block Diagram input Turing Machine output
99
Example if if Adder Comparer Eraser
100
Turing’s thesis
101
Turing’s thesis Question:
Do Turing machines have the same power with a digital computer? Intuitive answer: Yes There is no formal answer!!!
102
Turing’s thesis Any computation carried out by mechanical means can be performed by a Turing Machine (1930)
103
Computer science law A computation is mechanical if and only if it can be performed by a Turing Machine There is no known model of computation more powerful than Turing Machines
104
Definition of an algorithm
An algorithm for function is a Turing Machine which computes
105
Algorithms are Turing machines
When we say: There exists an algorithm We mean: There exists a Turing Machine that executes the algorithm
106
Molecular application
107
Literature A nanoscale programmable computing machine with input, output, software and hardware made of biomolecules Nature 414, (2001) Ehud Shapiro, Dept of Computer Science & Applied Math Weizmann Institute, Israel
108
Finite automaton, an example
An even number of b’s b S0, a S0 S0, b S1 S1, a S1 S1, b S0 a a S0 S1 b Two-states, two-symbols automaton
109
Automaton 1 b a b S0 S0, a S0 S0, b S1 S1, a S1 S1, b S0
An even number of b’s S0, a S0 S0, b S1 S1, a S1 S1, b S0 S0 b a b
110
Automaton 1 S0, b S1 b a b S0 S0, a S0 S0, b S1 S1, a S1
An even number of b’s S0, b S1 S0, a S0 S0, b S1 S1, a S1 S1, b S0 S0 b a b
111
Automaton 1 a b S1 S0, a S0 S0, b S1 S1, a S1 S1, b S0
An even number of b’s S0, a S0 S0, b S1 S1, a S1 S1, b S0 S1 a b
112
Automaton 1 S1, a S1 a b S1 S0, a S0 S0, b S1 S1, a S1
An even number of b’s S1, a S1 S0, a S0 S0, b S1 S1, a S1 S1, b S0 S1 a b
113
Automaton 1 b S1 S0, a S0 S0, b S1 S1, a S1 S1, b S0
An even number of b’s S0, a S0 S0, b S1 S1, a S1 S1, b S0 S1 b
114
Automaton 1 S1, b S0 b S1 S0, a S0 S0, b S1 S1, a S1
An even number of b’s S1, b S0 S0, a S0 S0, b S1 S1, a S1 S1, b S0 S1 b
115
Automaton 1 S0 S0, a S0 S0, b S1 S1, a S1 S1, b S0
An even number of b’s S0, a S0 S0, b S1 S1, a S1 S1, b S0 S0 The output
116
Rationale for the molecular design
117
Rationale for the molecular design
CTGGCT GACCGA CGCAGC GCGTCG a b
118
CTGGCT GACCGA CGCAGC GCGTCG GGCT CAGC a b
Rationale for the molecular design CTGGCT GACCGA CGCAGC GCGTCG a b S0, a S0, b GGCT CAGC
119
CTGGCT GACCGA CGCAGC GCGTCG GGCT CAGC CTGGCT GA CGCAGC CG a b
Rationale for the molecular design CTGGCT GACCGA CGCAGC GCGTCG a b S0, a S0, b GGCT CAGC S1, a S1, b CTGGCT GA CGCAGC CG
120
CAGCCTGGCTCGCAGCTGTCGC GACCGAGCGTCGACAGCG
Rationale for the molecular design Transitions S0, b CAGCCTGGCTCGCAGCTGTCGC GACCGAGCGTCGACAGCG a b t
121
CAGCCTGGCTCGCAGCTGTCGC GACCGAGCGTCGACAGCG
Rationale for the molecular design Transitions S0, b CAGCCTGGCTCGCAGCTGTCGC GACCGAGCGTCGACAGCG a b t S0, b S1
122
CTGGCTCGCAGCTGTCGC GAGCGTCGACAGCG Rationale for the molecular design
Transitions S1, a CTGGCTCGCAGCTGTCGC GAGCGTCGACAGCG b t S0, b S1
123
CTGGCTCGCAGCTGTCGC GAGCGTCGACAGCG Rationale for the molecular design
Transitions S1, a CTGGCTCGCAGCTGTCGC GAGCGTCGACAGCG b t S1, a S1
124
CGCAGCTGTCGC CGACAGCG Rationale for the molecular design S1, b t
Transitions S1, b CGCAGCTGTCGC CGACAGCG t S1, a S1
125
CGCAGCTGTCGC CGACAGCG Rationale for the molecular design S1, b t
Transitions S1, b CGCAGCTGTCGC CGACAGCG t S1, b S0
126
Rationale for the molecular design
Transitions S0, t TCGC S1, b S0
127
Rationale for the molecular design
Transitions S0, t TCGC Output: S0
128
CAGCCTGGCTCGCAGCTGTCGC GACCGAGCGTCGACAGCG
Rationale for the molecular design Transition procedure: a concept S0, b CAGCCTGGCTCGCAGCTGTCGC GACCGAGCGTCGACAGCG a b t
129
CAGCCTGGCTCGCAGCTGTCGC GACCGAGCGTCGACAGCG
Rationale for the molecular design Transition procedure: a concept S0, b CAGCCTGGCTCGCAGCTGTCGC GACCGAGCGTCGACAGCG a b t GTCG 4 nt 8 nt S0, b -> S1
130
CAGCCTGGCTCGCAGCTGTCGC GACCGAGCGTCGACAGCG
Rationale for the molecular design Transition procedure: a concept GTCG 4 nt 8 nt CAGCCTGGCTCGCAGCTGTCGC GACCGAGCGTCGACAGCG b t S0, b -> S1
131
CTGGCTCGCAGCTGTCGC GAGCGTCGACAGCG Rationale for the molecular design
Transition procedure: a concept S1, a CTGGCTCGCAGCTGTCGC GAGCGTCGACAGCG b t S0, b -> S1
132
CTGGCTCGCAGCTGTCGC GAGCGTCGACAGCG Rationale for the molecular design
Transition procedure: a concept S1, a CTGGCTCGCAGCTGTCGC GAGCGTCGACAGCG b t S1, a -> S1
133
CTGGCTCGCAGCTGTCGC GAGCGTCGACAGCG GACC
Rationale for the molecular design Transition procedure: a concept S1, a CTGGCTCGCAGCTGTCGC GAGCGTCGACAGCG b t GACC 6 nt 10 nt S1, a -> S1
134
CTGGCTCGCAGCTGTCGC GAGCGTCGACAGCG GACC
Rationale for the molecular design Transition procedure: a concept GACC 6 nt 10 nt CTGGCTCGCAGCTGTCGC GAGCGTCGACAGCG t S1, a -> S1
135
CGCAGCTGTCGC CGACAGCG Rationale for the molecular design S1, b t
Transition procedure: a concept S1, b CGCAGCTGTCGC CGACAGCG t S1, a -> S1
136
CGCAGCTGTCGC CGACAGCG GCGT Rationale for the molecular design S1, b t
Transition procedure: a concept S1, b CGCAGCTGTCGC CGACAGCG t GCGT 8 nt 12 nt S1, b -> S0
137
CGCAGCTGTCGC CGACAGCG GCGT Rationale for the molecular design
Transition procedure: a concept GCGT 8 nt 12 nt CGCAGCTGTCGC CGACAGCG S1, b -> S0
138
TCGC Rationale for the molecular design S0, t Output: S0
Transition procedure: a concept S0, t TCGC Output: S0
139
TCGC AGCG Rationale for the molecular design S0, t Output: S0
In situ detection S0, t Detection molecule for S0 output TCGC AGCG Output: S0
140
TCGC AGCG Rationale for the molecular design Output: S0
In situ detection TCGC Reporter molecule for S0 output AGCG Output: S0
141
Inside the transition molecule
GTCG 4 nt 8 nt S0,b -> S1
142
GGATGACGAC CCTACTGCTG GTCG FokI Inside the transition molecule
4 nt GGATGACGAC CCTACTGCTG GTCG 8 nt S0,b -> S1
143
GGATGACGAC CCTACTGCTG GTCG FokI Inside the transition molecule
9 nt 4 nt GGATGACGAC CCTACTGCTG GTCG 8 nt 13 nt S0,b -> S1
144
GGATGACGAC CCTACTGCTG GTCG FokI Inside the transition molecule
9 nt GGATGACGAC CCTACTGCTG GTCG 13 nt S0,b -> S1
145
Inside the transition molecule
146
Inside the transition molecule
GACC 6 nt 10 nt S1,a -> S1
147
GGATGACG CCTACTGC GACC FokI Inside the transition molecule
9 nt 6 nt GGATGACG CCTACTGC GACC 10 nt 13 nt S1,a -> S1
148
GGATGACG CCTACTGC GACC FokI Inside the transition molecule
9 nt GGATGACG CCTACTGC GACC 13 nt S1,a -> S1
149
Inside the transition molecule
8 nt GCGT 12 nt S1,b -> S0
150
GGATGG CCTACC GCGT FokI Inside the transition molecule S1,b -> S0
9 nt 8 nt GGATGG CCTACC GCGT 12 nt 13 nt S1,b -> S0
151
GGATGG CCTACC GCGT FokI Inside the transition molecule S1,b -> S0
9 nt GGATGG CCTACC GCGT 13 nt S1,b -> S0
152
GGATGACGAC CCTACTGCTG GTCG GGATGACG CCTACTGC GACC GGATGG CCTACC GCGT
Inside the transition molecule GGATGACGAC CCTACTGCTG S0 -> S1 GTCG S0 -> S0 GGATGACG CCTACTGC GACC S1 -> S1 GGATGG CCTACC S1 -> S0 GCGT
153
Transition rules
154
Automata programmes used
155
Transition molecules
156
Input and detection molecules
157
Experiments on programmes A1-A6
158
Computation over 6-letter long input
159
Parallel computation
160
Identification of the components
161
Inspection of the intermediates
162
Estimate of system fidelity
163
Summary 1012 automata run independently and in parallel
on potentially distinct inputs in 120 ml at room temperature at combined rate of 109 transitions per second with accuracy greater than 99.8% per transition, consuming less than Watt. 12/9/2018
Similar presentations
© 2024 SlidePlayer.com. Inc.
All rights reserved.