and Models of Computation

Size: px
Start display at page:

Download "and Models of Computation"

Transcription

1 CDT314 FABE Formal anguages, Automata and Models of Computation ecture 12 Mälardalen University

2 Content Chomsky s anguage Hierarchy Turing Machines Determinism Halting TM Examples Standard TM Computing Functions with TM Combining TMs Turing Thesis 2

3 {! : n a n n n { a n b c : n 0} { ww : w { a, b }} ecursively enumerable languages Turing Machines 0} n n { a b : n Context-free languages Push-down Automata t 0} n 2 n { a b : n { ww : w { a, b}*} 0} egular anguages Finite Automata a *b a *b* 3

4 Turing Machines Theoretical Aspects Based on C Busch, PI, Models of Computation 4

5 TUING MACHINES Unlike egular anguages (with Finite Automata, egular Expressions and egular Grammars) and Context Free anguages (with Pushdown Automata and Context Free Grammars) with many practical applications, estriction Free anguages (and corresponding Turing Machines) are primarily important for Theoretical Computer Science as a means of study of the mechanisms and limits of computability. 5

6 Alan Turing Who was Alan Turing? Founder of Computability Theory, Mathematician, Codebreaker, Natural philosopher, Visionary man before his time. Alan Turing archive - Jack Copeland and Diane Proudfoot The Alan Turing Home Page Andrew Hodges 6

7 Alan Turing 1912 (23 June): Birth, ondon : Sherborne School 1930: Death of friend Christopher Morcom : 34: Undergraduate at King's College, Cambridge University : Quantum mechanics, probability, logic 1935: Elected fellow of King's College, Cambridge 1936: The Turing machine, computability, universal machine : Princeton University. Ph.D. ogic, algebra, number theory : eturn to Cambridge. Introduced to German Enigma cipher machine : The Bombe, machine for Enigma decryption : Breaking of U-boat Enigma, saving battle of the Atlantic 7

8 Alan Turing : Chief Anglo-American crypto consultant. Electronic work. 1945: National Physical aboratory, ondon 1946: Computer and software design leading the world : Programming, neural nets, and artificial intelligence 1948: Manchester University 1949: First serious mathematical use of a computer 1950: The Turing Test for machine intelligence 1951: Elected FS. Non-linear theory of biological growth 1952: Arrested as a homosexual, loss of security clearance : Unfinished work in biology and physics 1954 (7 June): Death (suicide) id by cyanide poisoning, i Wilmslow, l Cheshire. hi 8

9 Turing's Work and Scientific egacy The Mathematics of Emergence: The Mysteries of Morphogenesis Possibility of Building a Brain: Intelligent Machines, Practice and Theory Nature of Information: Complexity, andomness, Hiddenness of Information How should we compute? New Models of ogic and Computation 9

10 Hilbert s Program - formalization of mathematics, 1900 Hilbert s hope was that mathematics would be reducible to finding proofs (syntactic manipulating the strings of symbols) from a fixed system of axioms. Can all of mathematics be made algorithmic, or will there always be new problems that surpass any given algorithm, and so require creative acts of mind to solve? 10

11 Turing Machines and Computability The question Hilbert asked was: is there a general method or process by which one could decide whether a mathematical proposition could be proved? But what exactly was meant by a 'method' or 'process'? People had already used the concept of a 'mechanical' process, and Turing had an idea which made this quite precise: computation. 11

12 Turing Machines and Computability The Turing machine concept involves specifying a very restricted set of logical operations, but Turing showed how other more complex mathematical procedures could be built out of these atomic components. Turing argued that his formalism was sufficiently i general to encompass anything that a human being could do when carrying out a definite computation method. Question: How about geometric methods? There is a way to translate geometry into algebra algebraic geometry. 12

13 Turing Machines and Computability Turing's famous paper On computable numbers, with an application to the Entscheidungsproblem, which worked out the theory of Turing machines and the definition of computability, is available as a PDF file on-line:

14 Turing Machines Turing s "Machines". These machines are humans who calculate. (Wittgenstein) A man provided with paper, pencil, and rubber, and subject to strict discipline, is in effect a universal machine. (Turing) 14

15 Turing Machine Examples Based on C Busch, PI, Models of Computation 15

16 Tape... Turing Machine... Control Unit ead-write head 16

17 ... The Tape No boundaries -- infinite length... ead-write head The head moves eft or ight 17

18 ead-write head The head at each time step: 1. eads a symbol 2. Writes a symbol 3. Moves eft or ight 18

19 Example Step 0... a b a c... Step 1... a b k c eads a 2. Writes k 3. Moves eft 19

20 Step 1... a b k c... Step 2... a f k c eads b 2. Writes f 3. Moves ight 20

21 The Input String Input string Blank symbol... # # a b a c # # #... head Head starts t at the leftmost t position of the input string 21

22 States & Transitions ead Write Move eft a b, q q2 1 Move ight a b, q q2 1 22

23 Example Step 1... # # a b a c # # #... q 1 current state a b, q q

24 Step 1... # # a b a c # # #... q 1 Step # # a b b c # # # q 2 a b, q q2 1 24

25 Example Step 1... # # a b a c # # #... q 1 Step # # a b b c # # # q 2 a b, q q2 1 25

26 Example Step 1... # # a b a c # # #... q 1 Step 2... g # # a b b c g # #... # g, q q2 1 q 2 26

27 Determinism Turing Machines are deterministic Allowed Not Allowed q 1 a b, a b, q2 q 2 q d 3 q 3 a d, b d, q 1 No lambda transitions allowed in TM! 27

28 Determinism Note the difference between state indeterminism when not even possible future states are known in advance and choice indeterminism when possible future states are known, but we do not know which state will be taken. 28

29 Example Partial Transition Function... # # a b a c # # #... q 1 q 1 a b, b d, q 2 q 3 Allowed No transition for input symbol c 29

30 Halting The machine halts if there are no possible transitions to follow 30

31 Example... # # a b a c # # #... q 1 a b, b d, q 2 q 3 q 1 No possible transition HAT! 31

32 Final States q q 2 1 Allowed q1 q2 Not Allowed Final states have no outgoing transitions In a final state the machine halts 32

33 Acceptance Accept Input If machine halts in a final state eject Input If machine halts in a non-final state or If machine enters an infinite loop 33

34 Turing Machine Example A TM that accepts the language aa * a a, # #, q 0 q 1 34

35 Step 0 # # a a a # # q 0 a a, # #, q 0 q 1 35

36 Step 1 # # a a a # # q 0 a a, # #, q0 q 1 36

37 Step 2 # # a a a # # q 0 a a, # #, q0 q 1 37

38 Step 3 # # a a a # # q 0 a a, # #, q0 q 1 38

39 Step 4 # # a a a # # q 1 a a, Halt & Accept # #, q 0 q 1 39

40 ejection Example Step 0 # # a b a # # q 0 a a, # #, q0 q 1 40

41 Step 1 # # a b a # # q 0 a a, No possible Transition Halt & eject # #, q0 q 1 41

42 Infinite oop Example Another TM for language aa * b b, a a, # #, q0 q 1 42

43 Step 0 # # a b a # # q 0 b b, a a, q # #, 0 q 1 43

44 Step 1 # # a b a # # q 0 b b, a a, # #,# q0 q 1 44

45 Step 2 # # a b a # # q 0 b b, a a, # #, q0 q 1 45

46 Step 2 # # a b a # # q 0 Step 3 # # a b a # # q 0 Step 4 # # a b a # # q 0 Step 5 # # a b a # #... infinite loop q 0 46

47 Because of the infinite loop: The final state cannot be reached The machine never halts The input is not accepted 47

48 Another Turing Machine Example Turing machine for the language { a n b n } y y, q 4 # #, y y, a a, y y, a a, q 3 y y, a x, q 0 1 q b y, q 2 x x, 48

49 Step 0 # a a b b # # { a n b n } q 0 y y, q 4 # #, y y, a a, y y, a a, q 3 y y, a, x, b y,, q0 1 q q2 x x, 49

50 Step 1 # x a b b # # q 1 { a n b n } y y, q 4 # #,# y y, a a, y y, a a, q 3 y y, a x, q0 1 q b y, q2 x x, 50

51 Step 2 # x a b b # # { a n b n } q 1 y y, q 4 # #, y y, a a, y y, a a, q 3 y y, a x, q0 1 q b y, q2 x x, 51

52 Step 3 # x a y b # # { a n b n } q 2 y y, q 4 # #, y y, a a, y y, a a, q 3 y y, a x, q0 1 q b y, q2 x x, 52

53 Step 4 # x a y b # # { a n b n } q 2 y y, q 4 # #, y y, a a, y y, a a, q 3 y y, a x, q 0 1 q b y, q 2 x x, 53

54 Step 5 # x a y b # # { a n b n } q 0 y y, q 4 # #, y y, a a, y y, a a, q 3 y y, a x, q 0 1 q b y, q 2 x x, 54

55 Step 6 # x x y b # # { a n b n } q 1 y y, q 4 # #, y y, a a, y y, a a, q 3 y y, a x, q 0 1 q b y, q 2 x x, 55

56 Step 7 # x x y b # # { a n b n } q 1 y y, q 4 # #, y y, a a, y y, a a, q 3 y y, a x, q 0 1 q b y, q 2 x x, 56

57 Step 8 # x x y y # # { a n b n } q 2 y y, q 4 # #, y y, a a, y y, a a, q 3 y y, a x, q 0 1 q b y, q 2 x x, 57

58 Step 9 # x x y y # # { a n b n } q 2 y y, q 4 # #, y y, a a, y y, a a, q 3 y y, a x, q 0 1 q b y, q 2 x x, 58

59 Step 10 # x x y y # # { a n b n } q 0 y y, q 4 # #, y y, a a, y y, a a, q 3 y y, a x, q 0 1 q b y, q 2 x x, 59

60 Step 11 # x x y y # # { a n b n } q 3 y y, q 4 # #, y y, a a, y y, a a, q 3 y y, a x, q 0 1 q b y, q 2 x x, 60

61 Step 12 # x x y y # # { a n b n } q 3 y y, q 4 # #, y y, a a, y y, a a, q 3 y y, a x, q 0 1 q b y, q 2 x x, 61

62 Step 13 # x x y y # # { a n b n } q 4 Halt & Accept y y, q 4 # #, y y, a a, y y, a a, q 3 y y, a x, q 0 1 q b y, q 2 x x, 62

63 Observation If we modify the n b n machine for the language g { a } we can easily construct t a machine for the language { a b c } n n n 63

64 Formal Definitions for Turing Machines 64

65 Transition Function a b, q q 2 1 δ ( 2 q 1, a) = ( q, b, ) 65

66 Transition Function c d, q q2 1 δ ( q 1, c ) = ( q2, d, ) 66

67 Turing Machine States Input alphabet Tape alphabet M = ( Q, Σ, Γ, δ, q, #, F 0 ) Transition Final function Initial state blank states 67

68 Configuration # # c a b a # # q 1 Instantaneous description: ca q 1 ba 68

69 Step 4 Step 5 # x a y b # # # x a y b # # q2 q0 A move: q2 xayb a x q0 ayb 69

70 Step 4 Step 5 # x a y b # # # x a y b # # q 2 q q 0 Step 6 Step 7 # x x y b # # # x x y b # # q1 q 1 q2 xayb a x q0 ayb a xx q1 yb a xxy q1 70 b

71 q2xayb a xq0ayb a xxq1 yb a xxq1 b Equivalent notation: q 2 xayb a xxy q 1 b 71

72 Initial configuration: q w q 0 Input string w # a a b b # # q 0 72

73 The Accepted anguage For any Turing Machine M ( M ) = { w : q0 w a x1 q f x2} Initial state Final state 73

74 Standard Turing Machine The machine we described is the standard: Deterministic Infinite tape in both directions Tape is the input/output file 74

75 Computing Functions with Turing Machines 75

76 Af function f (w ) Domain D (domän): has: w D ange S f ( w ) S (värdemängd): 76

77 A function may have many parameters: Example: Addition function f ( x, y) = x + y 77

78 Integer Domain Decimal: 5 Binary: 101 Unary: We prefer unary representation: easier to manipulate 78

79 Definition f A function is computable if M there is a Turing Machine such that: Initial configuration Final configuration # w # # f (w) # q0 initial state q f final state For all w D Domain 79

80 In other words f A function is computable if there is a Turing Machine M such that a q0 w a q f f (w) w Initial Configuration Final Configuration For all w D Domain 80

81 Example (Addition) The function f ( x, y) = x + y is computable x, y are integers Turing Machine: Input string: x00 y unary Output string: xy0 unary 81

82 x y Start 0 # # q 0 initial state x + y Finishi # # q f final state 82

83 Turing machine for function f ( x, y) = x + y 1 1, 1 1, 1 1, 0 1, 1 q0 q 1 2 # #, q 1 0, q3 q 4 # #, 83

84 Execution Example: Time 0 x y =11 x (2) # # y =11 (2) q0 Final esult x + y # # q 4 84

85 f ( x, y) = x + y Step 0 0 # # q 0 1 1, 1 1, 1 1 1, 0 1, # #, q0 q 1 2 q 1 0, q3 q 4 # #, 85

86 f ( x, y) = x + y Step 1 # # q 0 1 1, 1 1, 1 1 1, 0 1, # #, q0 q 1 2 q 1 0, q3 # #, q 4 86

87 Step 2 # # q 0 f ( x, y) = x + y 1 1, 1 1, 1 1, 0 1, # #, q0 q 1 2 q 1 0, q3 q 4 # #, 87

88 f ( x, y) = x + y Step 3 # # q 1 1 1, 1 1, 1 1 1, 0 1, # #, q0 q 1 2 q 1 0, q3 # #, q 4 88

89 f ( x, y) = x + y Step 4 # # q 1 1 1, 1 1, 1 1 1, 1 0 1, # #, q0 q 1 2 q 1 0, q3 q 4 # #, 89

90 f ( x, y) = x + y Step 5 # # q 1 1 1, 1 1, 1 1 1, 0 1, # #, q0 q 1 2 q 1 0, q3 q 4 # #, 90

91 f ( x, y) = x + y Step 6 # # q 2 1 1, 1 1, 1 1 1, 0 1, # #, q0 q 1 2 q 1 0, q3 # #, q 4 91

92 f ( x, y) = x + y Step 7 # # q 3 1 1, 1 1, 1 1 1, 0 1, # #, q0 q 1 2 q 1 0, q3 q 4 # #, 92

93 f ( x, y) = x + y Step 8 # # q 3 1 1, 1 1, 1 1 1, 0 1, # #, q0 q 1 2 q 1 0, q3 q 4 # #, 93

94 f ( x, y) = x + y Step 9 # # q 3 1 1, 1 1, 1 1 1, 1 0 1, # #, q0 q 1 2 q 1 0, q3 q 4 # #, 94

95 f ( x, y) = x + y Step 10 # # q 3 1 1, 1 1, 1 1 1, 0 1, # #, q0 q 1 2 q 1 0, q3 q 4 # #, 95

96 f ( x, y) = x + y Step 11 # # q 3 1 1, 1 1, 1 1 1, 0 1, # #, q0 q 1 2 q 1 0, q3 # #, q 4 96

97 f ( x, y) = x + y Step 12 # # q 4 1 1, 1 1, 1 1, 0 1, # #, q0 q 1 2 q 1 0, q3 HAT & accept q 4 # #, 97

98 Another Example (Multiplication) The function f ( x ) = 2x is computable x is integer Turing Machine Input string: x unary Output string: xx unary 98

99 x Start 1 # 1 1 # q0 initial state 2x Finishi # # q f final state 99

100 Turing Machine Pseudocode for f ( x ) = 2x eplace every 1 with $ epeat: Find rightmost $, replace it with 1 Go to right end, insert 1 Until no more $ remain 100

101 Turing Machine for f ( x ) = 2x 1 $, 1 1, 1 1, # #, q 0 1 # #, q3 q $ 1, q2 # 1, 101

102 Start f ( x) = 2x Finish # 1 1 # # # q 0 1 $, 1 1, q 3 1 1, # #, q $ 1, 0 q 1 q2 # #, q3 # 1, 102

103 Step 0 # 1 # # # 1 f ( x) = 2x q 0 1 $, 1 1, 1 1, # #, $ 1, q q 1 q2 q 0 # #, q3 # 1, 103

104 Step 1 # $ 1 # # # f ( x) = 2x q 0 1 $, 1 1, 1 1, # #, $ 1, q q 1 q2 q 0 # #, q3 # 1, 104

105 Step 2 # $ $ # # # f ( x) = 2x q 0 1 $, 1 1, 1 1, # #, $ 1, q q 1 q2 q 0 # #, q3 # 1, 105

106 Step 3 # # # # $ $ f ( x) = 2x q 1 1 $, 1 1, 1 1, # #, $ 1, q q 1 q2 q 0 # #, q3 # 1, 106

107 Step 4 # 1 # # # $ f ( x) = 2x q 2 1 $, 1 1, 1 1, # #, $ 1, q q 1 q2 q 0 # #, q3 # 1, 107

108 Step 5 # 1 1 # # $ f ( x) = 2x q 1 1 $, 1 1, 1 1, # #, $ 1, q q 1 q2 q 0 # #, q3 # 1, 108

109 Step 6 # 1 1 # # $ f ( x) = 2x q 1 1 $, 1 1, 1 1, # #, $ 1, q q 1 q2 q 0 # #, q3 # 1, 109

110 Step 7 # # # f ( x) = 2x q 2 1 $, 1 1, 1 1, # #, $ 1, q q 1 q2 q 0 # #, q3 # 1, 110

111 Step 8 # # # f ( x) = 2x q 2 1 $, 1 1, 1 1, # #, $ 1, q q 1 q2 q 0 # #, q3 # 1, 111

112 Step 9 # # # f ( x) = 2x q 2 1 $, 1 1, 1 1, # #, $ 1, q q 1 q2 q 0 # #, q3 # 1, 112

113 Step 10 # # f ( x) = 2x q 1 1 $, 1 1, 1 1, # #, $ 1, q q 1 q2 q 0 # #, q3 # 1, 113

114 Step 11 # # f ( x) = 2x q 1 1 $, 1 1, 1 1, # #, $ 1, q q 1 q2 q 0 # #, q3 # 1, 114

115 Step 12 # # f ( x) = 2x q 1 1 $, 1 1, 1 1, # #, $ 1, q q 1 q2 q 0 # #, q3 # 1, 115

116 Step 13 # # f ( x) = 2x q 1 1 $, 1 1, 1 1, # #, $ 1, q q 1 q2 q 0 # #, q3 # 1, 116

117 Step 14 # # f ( x) = 2x q 3 1 $, 1 1, 1 1, # #, $ 1, q q 1 q2 q 0 # #, q3 # 1, 117

118 Yet Another Example Turing Machine for f ( x, y ) = 1 if x > y 0 if x y The function is computable Input: x0y or Output:

119 Turing Machine Pseudocode epeat Match a 1 from x with a 1 from y Until all of x or y are matched x If a 1 from is not matched erase tape, write 1 else erase tape, write 0 119

120 Combining Turing Machines 120

121 Block Diagram input Turing Machine output 121

122 Example x + y if x > y f ( x, y) = 0 x y if Adder x + y x, y x > y Comparer x y 0 Eraser 122

123 Turing s Thesis 123

124 Question: Do Turing machines have the same power as a digital computer? Intuitive answer: Yes There is no formal proof! Among others because computers develop all the time. The Church-Turing Thesis over Arbitrary Domains Udi Boker and Nachum Dershowitz 124

125 Turing s thesis (1930) Any computation carried out by mechanical means can be performed by a Turing Machine. p p p The Origins of the Turing Thesis Myth Goldin & Wegner 125

126 And, the other way round: A computation is mechanical if and only if it can be performed by a Turing Machine. Strong Turing Thesis: There is no known model of computation more powerful than Turing Machine. Wrong. Asynchronous parallel computation is more powerful than TM model, and cannot be reduced to TM. 126

127 Definition of an Algorithm An algorithm for function f (w) is a Turing Machine which computes f (w) 127

128 Algorithms are Turing Machines When we say: There exists an algorithm It means: There exists a Turing Machine. 128

129 anguages, Grammars, Machines properly inclusive anguage Grammar Machine Chomsky Hierarchy Non-computable?? ecursively enumerable (E) ecursive Unrestricted Turing machines 0 Turing machines that always halt 0 Context-sensitive Context-sensitive grammar inear-bounded automata 1 Context-free Context-free grammar Non-deterministic pushdown automata 2 egular egular expressions Finite state automata 3 129

130 { a n! : n 0} { a b : n 0} n n n { a b c : n 0} { ww : w { a, b }} n Unrestricted grammar languages TUING MACHINES Context-free languages PUSH-DOWN AUTOMATA { a n n b : n 0} { ww : w { a, b }*} 2 n egular anguages FINITE AUTOMATA a *b* 130

131 Turing Machine Video Examples EGO Turing Machine g_machines/turing_machines.mov Salling on Turing Machines Overview Turing Machines Subtraction 131

132 Interesting Further eading The Alan Turing World Turing s thesis Computational and evolutionary aspects of language Symposium on Natural/Unconventional Computing AISB/IACAP World Congress 132

HIS LEGACY. 100 Years Turing celebration. Gordana Dodig Crnkovic, IDT Open Seminar. Computer Science and Network Department Mälardalen University

HIS LEGACY. 100 Years Turing celebration. Gordana Dodig Crnkovic, IDT Open Seminar. Computer Science and Network Department Mälardalen University IDT Open Seminar AAN TUING AND HIS EGACY 00 Years Turing celebration http://www.mrtc.mdh.se/~gdc/work/turingcentenary.pdf http://www.mrtc.mdh.se/ mdh se/~gdc/work/turingmachine.pdf Gordana Dodig Crnkovic,

More information

Busch Complexity Lectures: Turing Machines. Prof. Busch - LSU 1

Busch Complexity Lectures: Turing Machines. Prof. Busch - LSU 1 Busch Complexity ectures: Turing Machines Prof. Busch - SU 1 The anguage Hierarchy a n b n c n? ww? Context-Free anguages n b n a ww egular anguages a* a *b* Prof. Busch - SU 2 a n b anguages accepted

More information

Turing Machines. The Language Hierarchy. Context-Free Languages. Regular Languages. Courtesy Costas Busch - RPI 1

Turing Machines. The Language Hierarchy. Context-Free Languages. Regular Languages. Courtesy Costas Busch - RPI 1 Turing Machines a n b n c The anguage Hierarchy n? ww? Context-Free anguages a n b n egular anguages a * a *b* ww Courtesy Costas Busch - PI a n b n c n Turing Machines anguages accepted by Turing Machines

More information

Turing Machines. Wen-Guey Tzeng Computer Science Department National Chiao Tung University

Turing Machines. Wen-Guey Tzeng Computer Science Department National Chiao Tung University Turing Machines Wen-Guey Tzeng Computer Science Department National Chiao Tung University Alan Turing One of the first to conceive a machine that can run computation mechanically without human intervention.

More information

Finite Automata Theory and Formal Languages TMV027/DIT321 LP4 2018

Finite Automata Theory and Formal Languages TMV027/DIT321 LP4 2018 Finite Automata Theory and Formal Languages TMV027/DIT321 LP4 2018 Lecture 15 Ana Bove May 17th 2018 Recap: Context-free Languages Chomsky hierarchy: Regular languages are also context-free; Pumping lemma

More information

Introduction to Turing Machines

Introduction to Turing Machines Introduction to Turing Machines Deepak D Souza Department of Computer Science and Automation Indian Institute of Science, Bangalore. 12 November 2015 Outline 1 Turing Machines 2 Formal definitions 3 Computability

More information

Fundamentals of Computer Science

Fundamentals of Computer Science Fundamentals of Computer Science Chapter 8: Turing machines Henrik Björklund Umeå University February 17, 2014 The power of automata Finite automata have only finite memory. They recognize the regular

More information

CSci 311, Models of Computation Chapter 9 Turing Machines

CSci 311, Models of Computation Chapter 9 Turing Machines CSci 311, Models of Computation Chapter 9 Turing Machines H. Conrad Cunningham 29 December 2015 Contents Introduction................................. 1 9.1 The Standard Turing Machine...................

More information

CSE 105 Theory of Computation

CSE 105 Theory of Computation CSE 105 Theory of Computation http://www.jflap.org/jflaptmp/ Professor Jeanne Ferrante 1 Today s Agenda Quick Review of CFG s and PDA s Introduction to Turing Machines and their Languages Reminders and

More information

Before We Start. Turing Machines. Languages. Now our picture looks like. Theory Hall of Fame. The Turing Machine. Any questions? The $64,000 Question

Before We Start. Turing Machines. Languages. Now our picture looks like. Theory Hall of Fame. The Turing Machine. Any questions? The $64,000 Question Before We Start s Any questions? Languages The $64,000 Question What is a language? What is a class of languages? Now our picture looks like Context Free Languages Deterministic Context Free Languages

More information

Turing machines Finite automaton no storage Pushdown automaton storage is a stack What if we give the automaton a more flexible storage?

Turing machines Finite automaton no storage Pushdown automaton storage is a stack What if we give the automaton a more flexible storage? Turing machines Finite automaton no storage Pushdown automaton storage is a stack What if we give the automaton a more flexible storage? What is the most powerful of automata? In this lecture we will introduce

More information

cse303 ELEMENTS OF THE THEORY OF COMPUTATION Professor Anita Wasilewska

cse303 ELEMENTS OF THE THEORY OF COMPUTATION Professor Anita Wasilewska cse303 ELEMENTS OF THE THEORY OF COMPUTATION Professor Anita Wasilewska LECTURE 13 CHAPTER 4 TURING MACHINES 1. The definition of Turing machine 2. Computing with Turing machines 3. Extensions of Turing

More information

Chapter 1 Welcome Aboard

Chapter 1 Welcome Aboard Chapter 1 Welcome Aboard Abstraction Interface Source: http://static.usnews.rankingsandreviews.com/images/auto/izmo/365609/2014_hyundai_elantra_gt_dashboard.jpg http://www.ridelust.com/wp-content/uploads/2012/12/engine2.jpg

More information

Decidability: Church-Turing Thesis

Decidability: Church-Turing Thesis Decidability: Church-Turing Thesis While there are a countably infinite number of languages that are described by TMs over some alphabet Σ, there are an uncountably infinite number that are not Are there

More information

Most General computer?

Most General computer? Turing Machines Most General computer? DFAs are simple model of computation. Accept only the regular languages. Is there a kind of computer that can accept any language, or compute any function? Recall

More information

Models. Models of Computation, Turing Machines, and the Limits of Turing Computation. Effective Calculability. Motivation for Models of Computation

Models. Models of Computation, Turing Machines, and the Limits of Turing Computation. Effective Calculability. Motivation for Models of Computation Turing Computation /0/ Models of Computation, Turing Machines, and the Limits of Turing Computation Bruce MacLennan Models A model is a tool intended to address a class of questions about some domain of

More information

FORMAL LANGUAGES, AUTOMATA AND COMPUTABILITY

FORMAL LANGUAGES, AUTOMATA AND COMPUTABILITY 15-453 FORMAL LANGUAGES, AUTOMATA AND COMPUTABILITY Chomsky Normal Form and TURING MACHINES TUESDAY Feb 4 CHOMSKY NORMAL FORM A context-free grammar is in Chomsky normal form if every rule is of the form:

More information

Computability Theory. CS215, Lecture 6,

Computability Theory. CS215, Lecture 6, Computability Theory CS215, Lecture 6, 2000 1 The Birth of Turing Machines At the end of the 19th century, Gottlob Frege conjectured that mathematics could be built from fundamental logic In 1900 David

More information

Chomsky Normal Form and TURING MACHINES. TUESDAY Feb 4

Chomsky Normal Form and TURING MACHINES. TUESDAY Feb 4 Chomsky Normal Form and TURING MACHINES TUESDAY Feb 4 CHOMSKY NORMAL FORM A context-free grammar is in Chomsky normal form if every rule is of the form: A BC A a S ε B and C aren t start variables a is

More information

Turing Machines. Lecture 8

Turing Machines. Lecture 8 Turing Machines Lecture 8 1 Course Trajectory We will see algorithms, what can be done. But what cannot be done? 2 Computation Problem: To compute a function F that maps each input (a string) to an output

More information

Undecidability COMS Ashley Montanaro 4 April Department of Computer Science, University of Bristol Bristol, UK

Undecidability COMS Ashley Montanaro 4 April Department of Computer Science, University of Bristol Bristol, UK COMS11700 Undecidability Department of Computer Science, University of Bristol Bristol, UK 4 April 2014 COMS11700: Undecidability Slide 1/29 Decidability We are particularly interested in Turing machines

More information

Part I: Definitions and Properties

Part I: Definitions and Properties Turing Machines Part I: Definitions and Properties Finite State Automata Deterministic Automata (DFSA) M = {Q, Σ, δ, q 0, F} -- Σ = Symbols -- Q = States -- q 0 = Initial State -- F = Accepting States

More information

Turing Machines (TM) The Turing machine is the ultimate model of computation.

Turing Machines (TM) The Turing machine is the ultimate model of computation. TURING MACHINES Turing Machines (TM) The Turing machine is the ultimate model of computation. Alan Turing (92 954), British mathematician/engineer and one of the most influential scientists of the last

More information

CS5371 Theory of Computation. Lecture 10: Computability Theory I (Turing Machine)

CS5371 Theory of Computation. Lecture 10: Computability Theory I (Turing Machine) CS537 Theory of Computation Lecture : Computability Theory I (Turing Machine) Objectives Introduce the Turing Machine (TM)? Proposed by Alan Turing in 936 finite-state control + infinitely long tape A

More information

Introduction to Turing Machines. Reading: Chapters 8 & 9

Introduction to Turing Machines. Reading: Chapters 8 & 9 Introduction to Turing Machines Reading: Chapters 8 & 9 1 Turing Machines (TM) Generalize the class of CFLs: Recursively Enumerable Languages Recursive Languages Context-Free Languages Regular Languages

More information

Turing s thesis: (1930) Any computation carried out by mechanical means can be performed by a Turing Machine

Turing s thesis: (1930) Any computation carried out by mechanical means can be performed by a Turing Machine Turing s thesis: (1930) Any computation carried out by mechanical means can be performed by a Turing Machine There is no known model of computation more powerful than Turing Machines Definition of Algorithm:

More information

Turing machines and linear bounded automata

Turing machines and linear bounded automata and linear bounded automata Informatics 2A: Lecture 30 John Longley School of Informatics University of Edinburgh jrl@inf.ed.ac.uk 25 November 2016 1 / 17 The Chomsky hierarchy: summary Level Language

More information

Decision Problems with TM s. Lecture 31: Halting Problem. Universe of discourse. Semi-decidable. Look at following sets: CSCI 81 Spring, 2012

Decision Problems with TM s. Lecture 31: Halting Problem. Universe of discourse. Semi-decidable. Look at following sets: CSCI 81 Spring, 2012 Decision Problems with TM s Look at following sets: Lecture 31: Halting Problem CSCI 81 Spring, 2012 Kim Bruce A TM = { M,w M is a TM and w L(M)} H TM = { M,w M is a TM which halts on input w} TOTAL TM

More information

CS5371 Theory of Computation. Lecture 10: Computability Theory I (Turing Machine)

CS5371 Theory of Computation. Lecture 10: Computability Theory I (Turing Machine) CS537 Theory of Computation Lecture : Computability Theory I (Turing Machine) Objectives Introduce the Turing Machine (TM) Proposed by Alan Turing in 936 finite-state control + infinitely long tape A stronger

More information

Turing Machines. COMP2600 Formal Methods for Software Engineering. Katya Lebedeva. Australian National University Semester 2, 2014

Turing Machines. COMP2600 Formal Methods for Software Engineering. Katya Lebedeva. Australian National University Semester 2, 2014 Turing Machines COMP2600 Formal Methods for Software Engineering Katya Lebedeva Australian National University Semester 2, 2014 Slides created by Jeremy Dawson and Ranald Clouston COMP 2600 Turing Machines

More information

Theory of Computation (IX) Yijia Chen Fudan University

Theory of Computation (IX) Yijia Chen Fudan University Theory of Computation (IX) Yijia Chen Fudan University Review The Definition of Algorithm Polynomials and their roots A polynomial is a sum of terms, where each term is a product of certain variables and

More information

Chapter 3: The Church-Turing Thesis

Chapter 3: The Church-Turing Thesis Chapter 3: The Church-Turing Thesis 1 Turing Machine (TM) Control... Bi-direction Read/Write Turing machine is a much more powerful model, proposed by Alan Turing in 1936. 2 Church/Turing Thesis Anything

More information

CS4026 Formal Models of Computation

CS4026 Formal Models of Computation CS4026 Formal Models of Computation Turing Machines Turing Machines Abstract but accurate model of computers Proposed by Alan Turing in 1936 There weren t computers back then! Turing s motivation: find

More information

Turing machines and linear bounded automata

Turing machines and linear bounded automata and linear bounded automata Informatics 2A: Lecture 29 John Longley School of Informatics University of Edinburgh jrl@inf.ed.ac.uk 27 November 2015 1 / 15 The Chomsky hierarchy: summary Level Language

More information

Theory of Computation Turing Machine and Pushdown Automata

Theory of Computation Turing Machine and Pushdown Automata Theory of Computation Turing Machine and Pushdown Automata 1. What is a Turing Machine? A Turing Machine is an accepting device which accepts the languages (recursively enumerable set) generated by type

More information

Turing Machines Part II

Turing Machines Part II Turing Machines Part II COMP2600 Formal Methods for Software Engineering Katya Lebedeva Australian National University Semester 2, 2016 Slides created by Katya Lebedeva COMP 2600 Turing Machines 1 Why

More information

Turing Machines (TM) Deterministic Turing Machine (DTM) Nondeterministic Turing Machine (NDTM)

Turing Machines (TM) Deterministic Turing Machine (DTM) Nondeterministic Turing Machine (NDTM) Turing Machines (TM) Deterministic Turing Machine (DTM) Nondeterministic Turing Machine (NDTM) 1 Deterministic Turing Machine (DTM).. B B 0 1 1 0 0 B B.. Finite Control Two-way, infinite tape, broken into

More information

Turing machines and linear bounded automata

Turing machines and linear bounded automata and linear bounded automata Informatics 2A: Lecture 29 John Longley School of Informatics University of Edinburgh jrl@inf.ed.ac.uk 25 November, 2011 1 / 13 1 The Chomsky hierarchy: summary 2 3 4 2 / 13

More information

Chapter 8. Turing Machine (TMs)

Chapter 8. Turing Machine (TMs) Chapter 8 Turing Machine (TMs) Turing Machines (TMs) Accepts the languages that can be generated by unrestricted (phrase-structured) grammars No computational machine (i.e., computational language recognition

More information

Turing Machines A Turing Machine is a 7-tuple, (Q, Σ, Γ, δ, q0, qaccept, qreject), where Q, Σ, Γ are all finite

Turing Machines A Turing Machine is a 7-tuple, (Q, Σ, Γ, δ, q0, qaccept, qreject), where Q, Σ, Γ are all finite The Church-Turing Thesis CS60001: Foundations of Computing Science Professor, Dept. of Computer Sc. & Engg., Turing Machines A Turing Machine is a 7-tuple, (Q, Σ, Γ, δ, q 0, q accept, q reject ), where

More information

CS21 Decidability and Tractability

CS21 Decidability and Tractability CS21 Decidability and Tractability Lecture 8 January 24, 2018 Outline Turing Machines and variants multitape TMs nondeterministic TMs Church-Turing Thesis So far several models of computation finite automata

More information

Turing machines COMS Ashley Montanaro 21 March Department of Computer Science, University of Bristol Bristol, UK

Turing machines COMS Ashley Montanaro 21 March Department of Computer Science, University of Bristol Bristol, UK COMS11700 Turing machines Department of Computer Science, University of Bristol Bristol, UK 21 March 2014 COMS11700: Turing machines Slide 1/15 Introduction We have seen two models of computation: finite

More information

Equivalent Variations of Turing Machines

Equivalent Variations of Turing Machines Equivalent Variations of Turing Machines Nondeterministic TM = deterministic TM npda = pushdown automata with n stacks 2PDA = npda = TM for all n 2 Turing machines with n tapes (n 2) and n tape heads has

More information

Turing Machines. Nicholas Geis. February 5, 2015

Turing Machines. Nicholas Geis. February 5, 2015 Turing Machines Nicholas Geis February 5, 2015 Disclaimer: This portion of the notes does not talk about Cellular Automata or Dynamical Systems, it talks about turing machines, however this will lay the

More information

Theory of Computation

Theory of Computation Theory of Computation Lecture #6 Sarmad Abbasi Virtual University Sarmad Abbasi (Virtual University) Theory of Computation 1 / 39 Lecture 6: Overview Prove the equivalence of enumerators and TMs. Dovetailing

More information

CS154, Lecture 10: Rice s Theorem, Oracle Machines

CS154, Lecture 10: Rice s Theorem, Oracle Machines CS154, Lecture 10: Rice s Theorem, Oracle Machines Moral: Analyzing Programs is Really, Really Hard But can we more easily tell when some program analysis problem is undecidable? Problem 1 Undecidable

More information

X-machines - a computational model framework.

X-machines - a computational model framework. Chapter 2. X-machines - a computational model framework. This chapter has three aims: To examine the main existing computational models and assess their computational power. To present the X-machines as

More information

Automata & languages. A primer on the Theory of Computation. Laurent Vanbever. ETH Zürich (D-ITET) October,

Automata & languages. A primer on the Theory of Computation. Laurent Vanbever.   ETH Zürich (D-ITET) October, Automata & languages A primer on the Theory of Computation Laurent Vanbever www.vanbever.eu ETH Zürich (D-ITET) October, 19 2017 Part 5 out of 5 Last week was all about Context-Free Languages Context-Free

More information

Lecture 13: Turing Machine

Lecture 13: Turing Machine Lecture 13: Turing Machine Instructor: Ketan Mulmuley Scriber: Yuan Li February 19, 2015 Turing machine is an abstract machine which in principle can simulate any computation in nature. Church-Turing Thesis:

More information

The Church-Turing Thesis

The Church-Turing Thesis The Church-Turing Thesis Huan Long Shanghai Jiao Tong University Acknowledgements Part of the slides comes from a similar course in Fudan University given by Prof. Yijia Chen. http://basics.sjtu.edu.cn/

More information

Lecture notes on Turing machines

Lecture notes on Turing machines Lecture notes on Turing machines Ivano Ciardelli 1 Introduction Turing machines, introduced by Alan Turing in 1936, are one of the earliest and perhaps the best known model of computation. The importance

More information

State Machines. Example FSM: Roboant

State Machines. Example FSM: Roboant page 1 State Machines 1) State Machine Design 2) How can we improve on FSMs? 3) Turing Machines 4) Computability Oh genie, will you now tell me what it means to compute? Doctor, I think you ve built a

More information

10. Finite Automata and Turing Machines

10. Finite Automata and Turing Machines . Finite Automata and Turing Machines Frank Stephan March 2, 24 Introduction Alan Turing s th Birthday Alan Turing was a completely original thinker who shaped the modern world, but many people have never

More information

CSE 105 THEORY OF COMPUTATION

CSE 105 THEORY OF COMPUTATION CSE 105 THEORY OF COMPUTATION Fall 2016 http://cseweb.ucsd.edu/classes/fa16/cse105-abc/ Today's learning goals Sipser Ch 3 Trace the computation of a Turing machine using its transition function and configurations.

More information

COMP-330 Theory of Computation. Fall Prof. Claude Crépeau. Lec. 16 : Turing Machines

COMP-330 Theory of Computation. Fall Prof. Claude Crépeau. Lec. 16 : Turing Machines COMP-330 Theory of Computation Fall 2017 -- Prof. Claude Crépeau Lec. 16 : Turing Machines COMP 330 Fall 2017: Lectures Schedule 1-2. Introduction 1.5. Some basic mathematics 2-3. Deterministic finite

More information

Turing Machines Part III

Turing Machines Part III Turing Machines Part III Announcements Problem Set 6 due now. Problem Set 7 out, due Monday, March 4. Play around with Turing machines, their powers, and their limits. Some problems require Wednesday's

More information

IV. Turing Machine. Yuxi Fu. BASICS, Shanghai Jiao Tong University

IV. Turing Machine. Yuxi Fu. BASICS, Shanghai Jiao Tong University IV. Turing Machine Yuxi Fu BASICS, Shanghai Jiao Tong University Alan Turing Alan Turing (23Jun.1912-7Jun.1954), an English student of Church, introduced a machine model for effective calculation in On

More information

Harvard CS 121 and CSCI E-121 Lecture 14: Turing Machines and the Church Turing Thesis

Harvard CS 121 and CSCI E-121 Lecture 14: Turing Machines and the Church Turing Thesis Harvard CS 121 and CSCI E-121 Lecture 14: Turing Machines and the Church Turing Thesis Harry Lewis October 22, 2013 Reading: Sipser, 3.2, 3.3. The Basic Turing Machine The Basic Turing Machine a a b a

More information

CSCI3390-Assignment 2 Solutions

CSCI3390-Assignment 2 Solutions CSCI3390-Assignment 2 Solutions due February 3, 2016 1 TMs for Deciding Languages Write the specification of a Turing machine recognizing one of the following three languages. Do one of these problems.

More information

Turing Machines and the Church-Turing Thesis

Turing Machines and the Church-Turing Thesis CSE2001, Fall 2006 1 Turing Machines and the Church-Turing Thesis Today our goal is to show that Turing Machines are powerful enough to model digital computers, and to see discuss some evidence for the

More information

Decidable Languages - relationship with other classes.

Decidable Languages - relationship with other classes. CSE2001, Fall 2006 1 Last time we saw some examples of decidable languages (or, solvable problems). Today we will start by looking at the relationship between the decidable languages, and the regular and

More information

The purpose here is to classify computational problems according to their complexity. For that purpose we need first to agree on a computational

The purpose here is to classify computational problems according to their complexity. For that purpose we need first to agree on a computational 1 The purpose here is to classify computational problems according to their complexity. For that purpose we need first to agree on a computational model. We'll remind you what a Turing machine is --- you

More information

7.1 The Origin of Computer Science

7.1 The Origin of Computer Science CS125 Lecture 7 Fall 2016 7.1 The Origin of Computer Science Alan Mathison Turing (1912 1954) turing.jpg 170!201 pixels On Computable Numbers, with an Application to the Entscheidungsproblem 1936 1936:

More information

Busch Complexity Lectures: Turing s Thesis. Costas Busch - LSU 1

Busch Complexity Lectures: Turing s Thesis. Costas Busch - LSU 1 Busch Complexity Lectures: Turing s Thesis Costas Busch - LSU 1 Turing s thesis (1930): Any computation carried out by mechanical means can be performed by a Turing Machine Costas Busch - LSU 2 Algorithm:

More information

The Turing Machine. CSE 211 (Theory of Computation) The Turing Machine continued. Turing Machines

The Turing Machine. CSE 211 (Theory of Computation) The Turing Machine continued. Turing Machines The Turing Machine Turing Machines Professor Department of Computer Science and Engineering Bangladesh University of Engineering and Technology Dhaka-1000, Bangladesh The Turing machine is essentially

More information

Section 14.1 Computability then else

Section 14.1 Computability then else Section 14.1 Computability Some problems cannot be solved by any machine/algorithm. To prove such statements we need to effectively describe all possible algorithms. Example (Turing machines). Associate

More information

CSE 2001: Introduction to Theory of Computation Fall Suprakash Datta

CSE 2001: Introduction to Theory of Computation Fall Suprakash Datta CSE 2001: Introduction to Theory of Computation Fall 2013 Suprakash Datta datta@cse.yorku.ca Office: CSEB 3043 Phone: 416-736-2100 ext 77875 Course page: http://www.cse.yorku.ca/course/2001 11/7/2013 CSE

More information

Turing Machines. Wolfgang Schreiner

Turing Machines. Wolfgang Schreiner Turing Machines Wolfgang Schreiner Wolfgang.Schreiner@risc.jku.at Research Institute for Symbolic Computation (RISC) Johannes Kepler University, Linz, Austria http://www.risc.jku.at Wolfgang Schreiner

More information

TURING MAHINES

TURING MAHINES 15-453 TURING MAHINES TURING MACHINE FINITE STATE q 10 CONTROL AI N P U T INFINITE TAPE read write move 0 0, R, R q accept, R q reject 0 0, R 0 0, R, L read write move 0 0, R, R q accept, R 0 0, R 0 0,

More information

The Turing Machine. Computability. The Church-Turing Thesis (1936) Theory Hall of Fame. Theory Hall of Fame. Undecidability

The Turing Machine. Computability. The Church-Turing Thesis (1936) Theory Hall of Fame. Theory Hall of Fame. Undecidability The Turing Machine Computability Motivating idea Build a theoretical a human computer Likened to a human with a paper and pencil that can solve problems in an algorithmic way The theoretical provides a

More information

CS Lecture 28 P, NP, and NP-Completeness. Fall 2008

CS Lecture 28 P, NP, and NP-Completeness. Fall 2008 CS 301 - Lecture 28 P, NP, and NP-Completeness Fall 2008 Review Languages and Grammars Alphabets, strings, languages Regular Languages Deterministic Finite and Nondeterministic Automata Equivalence of

More information

Lecture 19: Universality and Computability

Lecture 19: Universality and Computability Fundamental Questions Lecture 19: Universality and Computability Universality What is a general purpose computer? Computability Are there problems that no machine can solve? Church-Turing thesis Are there

More information

Automata Theory (2A) Young Won Lim 5/31/18

Automata Theory (2A) Young Won Lim 5/31/18 Automata Theory (2A) Copyright (c) 2018 Young W. Lim. Permission is granted to copy, distribute and/or modify this document under the terms of the GNU Free Documentation License, Version 1.2 or any later

More information

Designing 1-tape Deterministic Turing Machines

Designing 1-tape Deterministic Turing Machines MCS-265: The Theory of Computation Handout #T1 San Skulrattanakulchai Gustavus Adolphus College April 5, 2011 Designing 1-tape Deterministic Turing Machines A TM corresponds to a computer program. We will

More information

FORMAL LANGUAGES, AUTOMATA AND COMPUTATION

FORMAL LANGUAGES, AUTOMATA AND COMPUTATION FORMAL LANGUAGES, AUTOMATA AND COMPUTATION DECIDABILITY ( LECTURE 15) SLIDES FOR 15-453 SPRING 2011 1 / 34 TURING MACHINES-SYNOPSIS The most general model of computation Computations of a TM are described

More information

CST Part IB. Computation Theory. Andrew Pitts

CST Part IB. Computation Theory. Andrew Pitts Computation Theory, L 1 1/171 CST Part IB Computation Theory Andrew Pitts Corrections to the notes and extra material available from the course web page: www.cl.cam.ac.uk/teaching/0910/comptheory/ Introduction

More information

Universality and Computability. 7.4 Turing Machines. Fundamental Questions. Turing Machine

Universality and Computability. 7.4 Turing Machines. Fundamental Questions. Turing Machine Fundamental Questions Universality and Computability Q. What is a general-purpose computer? Q. Are there limits on the power of digital computers? Q. Are there limits on the power of machines we can build?

More information

Theory of Computer Science

Theory of Computer Science Theory of Computer Science D1. Turing-Computability Malte Helmert University of Basel April 18, 2016 Overview: Course contents of this course: logic How can knowledge be represented? How can reasoning

More information

The Unsolvability of the Halting Problem. Chapter 19

The Unsolvability of the Halting Problem. Chapter 19 The Unsolvability of the Halting Problem Chapter 19 Languages and Machines SD D Context-Free Languages Regular Languages reg exps FSMs cfgs PDAs unrestricted grammars Turing Machines D and SD A TM M with

More information

Final Exam Comments. UVa - cs302: Theory of Computation Spring < Total

Final Exam Comments. UVa - cs302: Theory of Computation Spring < Total UVa - cs302: Theory of Computation Spring 2008 Final Exam Comments < 50 50 59 60 69 70 79 80 89 90 94 95-102 Total 2 6 8 22 16 16 12 Problem 1: Short Answers. (20) For each question, provide a correct,

More information

Theory of Computation - Module 4

Theory of Computation - Module 4 Theory of Computation - Module 4 Syllabus Turing Machines Formal definition Language acceptability by TM TM as acceptors, Transducers - designing of TM- Two way infinite TM- Multi tape TM - Universal Turing

More information

Undecidable Problems. Z. Sawa (TU Ostrava) Introd. to Theoretical Computer Science May 12, / 65

Undecidable Problems. Z. Sawa (TU Ostrava) Introd. to Theoretical Computer Science May 12, / 65 Undecidable Problems Z. Sawa (TU Ostrava) Introd. to Theoretical Computer Science May 12, 2018 1/ 65 Algorithmically Solvable Problems Let us assume we have a problem P. If there is an algorithm solving

More information

Foundations of

Foundations of 91.304 Foundations of (Theoretical) Computer Science Chapter 3 Lecture Notes (Section 3.3: Definition of Algorithm) David Martin dm@cs.uml.edu With modifications by Prof. Karen Daniels, Fall 2012 This

More information

Sequence of Topics. 1. The Nature of Truth. 2. Biography of Alan Turing ( ) 3. The Church-Turing Thesis. 4. Interactive Computing

Sequence of Topics. 1. The Nature of Truth. 2. Biography of Alan Turing ( ) 3. The Church-Turing Thesis. 4. Interactive Computing 1 Sequence of Topics 1. The Nature of Truth 2. Biography of Alan Turing (1912-1954) 3. The Church-Turing Thesis 4. Interactive Computing 5. Rationalism Versus Empiricism 6. Can Machines Think? 7. Stephen

More information

CPSC 421: Tutorial #1

CPSC 421: Tutorial #1 CPSC 421: Tutorial #1 October 14, 2016 Set Theory. 1. Let A be an arbitrary set, and let B = {x A : x / x}. That is, B contains all sets in A that do not contain themselves: For all y, ( ) y B if and only

More information

ECS 120 Lesson 15 Turing Machines, Pt. 1

ECS 120 Lesson 15 Turing Machines, Pt. 1 ECS 120 Lesson 15 Turing Machines, Pt. 1 Oliver Kreylos Wednesday, May 2nd, 2001 Before we can start investigating the really interesting problems in theoretical computer science, we have to introduce

More information

Chapter 7 Turing Machines

Chapter 7 Turing Machines Chapter 7 Turing Machines Copyright 2011 The McGraw-Hill Companies, Inc. Permission required for reproduction or display. 1 A General Model of Computation Both finite automata and pushdown automata are

More information

Turing Machines. Fall The Chinese University of Hong Kong. CSCI 3130: Formal languages and automata theory

Turing Machines. Fall The Chinese University of Hong Kong. CSCI 3130: Formal languages and automata theory The Chinese University of Hong Kong Fall 2011 CSCI 3130: Formal languages and automata theory Turing Machines Andrej Bogdanov http://www.cse.cuhk.edu.hk/~andrejb/csc3130 Turing Machines control head a

More information

Turing s Thesis. Fall Costas Busch - RPI!1

Turing s Thesis. Fall Costas Busch - RPI!1 Turing s Thesis Costas Busch - RPI!1 Turing s thesis (1930): Any computation carried out by mechanical means can be performed by a Turing Machine Costas Busch - RPI!2 Algorithm: An algorithm for a problem

More information

MA/CSSE 474 Theory of Computation

MA/CSSE 474 Theory of Computation MA/CSSE 474 Theory of Computation CFL Hierarchy CFL Decision Problems Your Questions? Previous class days' material Reading Assignments HW 12 or 13 problems Anything else I have included some slides online

More information

CSCE 551: Chin-Tser Huang. University of South Carolina

CSCE 551: Chin-Tser Huang. University of South Carolina CSCE 551: Theory of Computation Chin-Tser Huang huangct@cse.sc.edu University of South Carolina Church-Turing Thesis The definition of the algorithm came in the 1936 papers of Alonzo Church h and Alan

More information

CS Lecture 29 P, NP, and NP-Completeness. k ) for all k. Fall The class P. The class NP

CS Lecture 29 P, NP, and NP-Completeness. k ) for all k. Fall The class P. The class NP CS 301 - Lecture 29 P, NP, and NP-Completeness Fall 2008 Review Languages and Grammars Alphabets, strings, languages Regular Languages Deterministic Finite and Nondeterministic Automata Equivalence of

More information

Theory of Computation Lecture Notes. Problems and Algorithms. Class Information

Theory of Computation Lecture Notes. Problems and Algorithms. Class Information Theory of Computation Lecture Notes Prof. Yuh-Dauh Lyuu Dept. Computer Science & Information Engineering and Department of Finance National Taiwan University Problems and Algorithms c 2004 Prof. Yuh-Dauh

More information

Turing Machines COMP1600 / COMP6260. Dirk Pattinson Australian National University. Semester 2, 2017

Turing Machines COMP1600 / COMP6260. Dirk Pattinson Australian National University. Semester 2, 2017 Turing Machines COMP1600 / COMP6260 Dirk Pattinson Australian National University Semester 2, 2017 Catch Up / Drop in Lab When Fridays, 15.00-17.00 Where N335, CSIT Building (bldg 108) Until the end of

More information

Computational Models - Lecture 6

Computational Models - Lecture 6 Computational Models - Lecture 6 Turing Machines Alternative Models of Computers Multitape TMs, RAMs, Non Deterministic TMs The Church-Turing Thesis The language classes R = RE core David Hilbert s Tenth

More information

Theory of Computation CS3102 Spring 2014 A tale of computers, math, problem solving, life, love and tragic death

Theory of Computation CS3102 Spring 2014 A tale of computers, math, problem solving, life, love and tragic death Theory of Computation CS3102 Spring 2014 A tale of computers, math, problem solving, life, love and tragic death Nathan Brunelle Department of Computer Science University of Virginia www.cs.virginia.edu/~njb2b/theory

More information

Variants of Turing Machine (intro)

Variants of Turing Machine (intro) CHAPTER 3 The Church-Turing Thesis Contents Turing Machines definitions, examples, Turing-recognizable and Turing-decidable languages Variants of Turing Machine Multi-tape Turing machines, non-deterministic

More information

COMP-330 Theory of Computation. Fall Prof. Claude Crépeau. Lec. 14 : Turing Machines

COMP-330 Theory of Computation. Fall Prof. Claude Crépeau. Lec. 14 : Turing Machines COMP-330 Theory of Computation Fall 2012 -- Prof. Claude Crépeau Lec. 14 : Turing Machines 1 COMP 330 Fall 2012: Lectures Schedule 1. Introduction 1.5. Some basic mathematics 2. Deterministic finite automata

More information

Limits of Computation

Limits of Computation The real danger is not that computers will begin to think like men, but that men will begin to think like computers Limits of Computation - Sydney J. Harris What makes you believe now that I am just talking

More information

Equivalence of TMs and Multitape TMs. Theorem 3.13 and Corollary 3.15 By: Joseph Lauman

Equivalence of TMs and Multitape TMs. Theorem 3.13 and Corollary 3.15 By: Joseph Lauman Equivalence of TMs and Multitape TMs Theorem 3.13 and Corollary 3.15 By: Joseph Lauman Turing Machines First proposed by Alan Turing in 1936 Similar to finite automaton, but with an unlimited and unrestricted

More information