Presentation is loading. Please wait.

Presentation is loading. Please wait.

Theory of computing, part 4

Similar presentations


Presentation on theme: "Theory of computing, part 4"— Presentation transcript:

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


Download ppt "Theory of computing, part 4"

Similar presentations


Ads by Google