Download presentation
Presentation is loading. Please wait.
Published byOpal Barker Modified over 9 years ago
1
1 1 CDT314 FABER Formal Languages, Automata and Models of Computation Lecture 13 School of Innovation, Design and Engineering Mälardalen University 2011
2
2 Content Alan Turing and Hilbert Program Universal Turing Machine Chomsky Hierarchy Decidability Reducibility Uncomputable Functions Rice’s Theorem Church-Turing Thesis Computation beyond Turing Model Interactive Computing, Persistent TM’s (Dina Goldin/Peter Wegner)
3
3 http://www.turing.org.uk/turing Who was Alan Turing? Founder of computer science, mathematician, philosopher, codebreaker, visionary man before his time. http://www.cs.usfca.edu/www.AlanTuring.net/turing_archive/index.html- Jack Copeland and Diane Proudfoot http://www.turing.org.uk/turing/ The Alan Turing Home Page Andrew Hodges/
4
4 Alan Turing 1912 (23 June): Birth, London 1926-31: Sherborne School 1930: Death of friend Christopher Morcom 1931-34: Undergraduate at King's College, Cambridge University 1932-35: Quantum mechanics, probability, logic 1935: Elected fellow of King's College, Cambridge 1936: The Turing machine, computability, universal machine 1936-38: Princeton University. Ph.D. Logic, algebra, number theory 1938-39: Return to Cambridge. Introduced to German Enigma cipher machine 1939-40: The Bombe, machine for Enigma decryption 1939-42: Breaking of U-boat Enigma, saving battle of the Atlantic
5
5 Alan Turing 1943-45: Chief Anglo-American crypto consultant. Electronic work. 1945: National Physical Laboratory, London 1946: Computer and software design leading the world. 1947-48: 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 FRS. Non-linear theory of biological growth 1952: Arrested as a homosexual, loss of security clearance 1953-54: Unfinished work in biology and physics 1954 (7 June): Death (suicide) by cyanide poisoning, Wilmslow, Cheshire.
6
6 Hilbert’s Program, 1900 Hilbert’s hope was that mathematics would be reducible to finding proofs (manipulating the strings of symbols) from a fixed system of axioms, axioms that everyone could agree were true. Can all of mathematics be made algorithmic, or will there always be new problems that outstrip any given algorithm, and so require creative acts of mind to solve?
7
7 TURING MACHINES
8
8 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)
9
9...... Tape Read-Write head Control Unit Standard Turing Machine
10
10...... Read-Write head No boundaries -- infinite length The head moves Left or Right The Tape
11
11...... Read-Write head 1. Reads a symbol 2. Writes a symbol 3. Moves Left or Right The head at each time step:
12
12 Example Time 0...... Time 1...... 1. Reads 2. Writes 3. Moves Left
13
13 Head starts at the leftmost position of the input string...... Blank symbol head Input string The Input String
14
14 Read Write Move Left Move Right States & Transitions
15
15...... Time 1...... Time 2
16
16 Determinism Allowed Not Allowed No lambda transitions allowed in standard TM! Turing Machines are deterministic
17
17 Formal Definitions for Turing Machines
18
18 Transition Function
19
19 Turing Machine Transition function Initial state blank Final states States Input alphabet Tape alphabet
20
20 Universal Turing Machine
21
21 A limitation of Turing Machines: Better are reprogrammable machines. Turing Machines are “hardwired” they execute only one program
22
22 Solution:Universal Turing Machine Reprogrammable machine Simulates any other Turing Machine Characteristics:
23
23 Universal Turing Machine simulates any other Turing Machine Input of Universal Turing Machine Description of transitions of Initial tape contents of
24
24 Universal Turing Machine Description of Three tapes Tape Contents of Tape 2 State of Tape 3 Tape 1
25
25 We describe Turing machine as a string of symbols: We encode as a string of symbols Description of Tape 1
26
26 Alphabet Encoding Symbols: Encoding:
27
27 State Encoding States: Encoding: Head Move Encoding Move: Encoding:
28
28 Transition Encoding Transition: Encoding: separator
29
29 Machine Encoding Transitions: Encoding: separator
30
30 Tape 1 contents of Universal Turing Machine: encoding of the simulated machine as a binary string of 0’s and 1’s
31
31 A Turing Machine is described with a binary string of 0’s and 1’s. The set of Turing machines forms a language: Each string of the language is the binary encoding of a Turing Machine. Therefore:
32
32 Language of Turing Machines L = { 010100101, 00100100101111, 111010011110010101, …… } (Turing Machine 1) (Turing Machine 2) ……
33
33 The Chomsky Hierarchy
34
34 Non-recursively enumerable Recursively-enumerable Recursive Context-sensitive Context-free Regular The Chomsky Language Hierarchy
35
35 Unrestricted Grammars Productions String of variables and terminals String of variables and terminals
36
36 Example of unrestricted grammar
37
37 A language is recursively enumerable if and only if it is generated by an unrestricted grammar. Theorem
38
38 Context-Sensitive Grammars and Productions String of variables and terminals String of variables and terminals
39
39 The language is context-sensitive:
40
40 A language is context sensitive if and only if it is accepted by a Linear-Bounded automaton. Theorem
41
41 Linear Bounded Automata (LBAs) are the same as Turing Machines with one difference: The input string tape space is the only tape space allowed to use.
42
42 Left-end marker Input string Right-end marker Working space in tape All computation is done between end markers. Linear Bounded Automaton (LBA)
43
43 There is a language which is context-sensitive but not recursive. Observation
44
44 Decidability
45
45 Consider problems with answer YES or NO. Examples Does Machine have three states ? Is string a binary number? Does DFA accept any input?
46
46 A problem is decidable if some Turing machine solves (decides) the problem. Decidable problems: Does Machine have three states ? Is string a binary number? Does DFA accept any input?
47
47 Turing Machine Input problem instance YES NO The Turing machine that solves a problem answers YES or NO for each instance.
48
48 The machine that decides a problem: If the answer is YES then halts in a yes state If the answer is NO then halts in a no state These states may not be the final states.
49
49 YES NO Turing Machine that decides a problem YES and NO states are halting states
50
50 Difference between Recursive Languages (“Acceptera”) and Decidable problems (“Avgöra”) The YES states may not be final states. For decidable problems:
51
51 Some problems are undecidable: There is no Turing Machine that solves all instances of the problem.
52
52 A famous undecidable problem: The halting problem
53
53 The Halting Problem Input: Turing Machine String Question:Does halt on ?
54
54 Theorem The halting problem is undecidable. Proof Assume to the contrary that the halting problem is decidable.
55
55 There exists Turing Machine that solves the halting problem YEShalts on doesn’t halt on NO
56
56 Input: initial tape contents Encoding of String YES NO Construction of
57
57 Construct machine returns YES then loop forever.If returns NO then halt.If
58
58 NO Loop forever YES
59
59 Construct machine Input: If halts on input Then loop forever Else halt (machine )
60
60 copy
61
61 Run machine with input itself Input: If halts on input Then loop forever Else halt (machine )
62
62 on input If halts then loops forever. If doesn’t halt then it halts. : CONTRADICTION !
63
63 This means that The halting problem is undecidable. END OF PROOF
64
64 Another proof of the same theorem: If the halting problem was decidable then every recursively enumerable language would be recursive.
65
65 Theorem The halting problem is undecidable. Proof Assume to the contrary that the halting problem is decidable.
66
66 There exists Turing Machine that solves the halting problem. YEShalts on doesn’t halt on NO
67
67 Let be a recursively enumerable language. Let be the Turing Machine that accepts. We will prove that is also recursive: We will describe a Turing machine that accepts and halts on any input.
68
68 halts on ? YES NO Run with input reject accept reject Turing Machine that accepts and halts on any input Halts on final state Halts on non-final state
69
69 Therefore is recursive. But there are recursively enumerable languages which are not recursive. Contradiction! Since is chosen arbitrarily, we have proven that every recursively enumerable language is also recursive.
70
70 Therefore, the halting problem is undecidable. END OF PROOF
71
71 A simple undecidable problem: The Membership Problem
72
72 The Membership Problem Input: Turing Machine String Question:Does accept ?
73
73 Theorem The membership problem is undecidable. Proof Assume to the contrary that the membership problem is decidable.
74
74 There exists a Turing Machine that solves the membership problem YES accepts NO rejects
75
75 Let be a recursively enumerable language. Let be the Turing Machine that accepts. We will prove that is also recursive: We will describe a Turing machine that accepts and halts on any input.
76
76 accepts ? NO YES accept Turing Machine that accepts and halts on any input reject
77
77 Therefore, is recursive. But there are recursively enumerable languages which are not recursive. Contradiction! Since is chosen arbitrarily, we have proven that every recursively enumerable language is also recursive.
78
78 Therefore, the membership problem is undecidable. END OF PROOF
79
79 Reducibility
80
80 Problem is reduced to problem If we can solve problem then we can solve problem.
81
81 If is decidable then is decidable. If is undecidable then is undecidable. Problem is reduced to problem
82
82 Example the halting problem reduced to the state-entry problem.
83
83 The state-entry problem Inputs: Question: Turing Machine State String Does enter state on input ?
84
84 Theorem The state-entry problem is undecidable. Proof Reduce the halting problem to the state-entry problem.
85
85 Suppose we have an algorithm (Turing Machine) that solves the state-entry problem. We will construct an algorithm that solves the halting problem.
86
86 Algorithm for state-entry problem YES NO enters doesn’t enter Assume we have the state-entry algorithm:
87
87 Algorithm for Halting problem YES NO halts on doesn’t halt on We want to design the halting algorithm:
88
88 Modify input machine Add new state From any halting state add transitions to halting states Single halt state
89
89 halts halts on state if and only if
90
90 Algorithm for halting problem Inputs:machine and string 2. Run algorithm for state-entry problem with inputs:,, 1. Construct machine with state
91
91 GenerateState-entry algorithm Halting problem algorithm YES NO YES NO
92
92 Since the halting problem is undecidable, it must be that the state-entry problem is also undecidable. END OF PROOF We reduced the halting problem to the state-entry problem.
93
93 Another example The halting problem reduced to the blank-tape halting problem.
94
94 The blank-tape halting problem Input:Turing Machine Question:Doeshalt when started with a blank tape?
95
95 Proof Reduce the halting problem to the blank-tape halting problem. Theorem The blank-tape halting problem is undecidable.
96
96 Suppose we have an algorithm for the blank-tape halting problem. We will construct an algorithm for the halting problem.
97
97 Algorithm for blank-tape halting problem YES NO halts on blank tape doesn’t halt on blank tape Assume we have the blank-tape halting algorithm
98
98 Algorithm for halting problem YES NO halts on doesn’t halt on We want to design the halting algorithm:
99
99 Construct a new machine On blank tape writes Then continues execution like then write step 1step2 if blank tape execute with input
100
100 halts on input string halts when started with blank tape. if and only if
101
101 Algorithm for halting problem 1. Construct 2. Run algorithm for blank-tape halting problem with input Inputs: machine and string
102
102 Generate Blank-tape halting algorithm Halting problem algorithm YES NO YES NO
103
103 Since the halting problem is undecidable, the blank-tape halting problem is also undecidable. END OF PROOF We reduced the halting problem to the blank-tape halting problem.
104
104 Summary of Undecidable Problems Halting Problem Does machine halt on input ? Membership problem Does machine accept string ? Is a string member of a recursively enumerable language ? ) (In other words:
105
105 Does machine halt when starting on blank tape? Blank-tape halting problem State-entry Problem: Does machine enter state on input ?
106
106 Uncomputable Functions
107
107 Uncomputable Functions A function is uncomputable if it cannot be computed for all of its domain. Domain Range
108
108 An uncomputable function: maximum number of moves until any Turing machine with states halts when started with the blank tape. Example
109
109 Theorem Function is uncomputable. Then the blank-tape halting problem is decidable. Proof Assume to the contrary that is computable.
110
110 Algorithm for blank-tape halting problem Input: machine 1. Count states of : 2. Compute 3. Simulate for steps starting with empty tape If halts then return YES otherwise return NO
111
111 Therefore, the blank-tape halting problem must be decidable. However, we know that the blank-tape halting problem is undecidable. Contradiction!
112
112 Therefore, function is uncomputable. END OF PROOF
113
113 Rice’s Theorem
114
114 Non-trivial property of recursively enumerable languages: Any property possessed by some (not all) recursively enumerable languages. Definition
115
115 Some non-trivial properties of recursively enumerable languages: is empty is finite contains two different strings of the same length
116
116 Rice’s Theorem Any non-trivial property of a recursively enumerable language is undecidable.
117
117 Summary in Swedish: Rices sats Om är en mängd av Turing-accepterbara språk som innehåller något men inte alla sådana språk, så kan ingen TM avgöra för ett godtyckligt Turing-accepterbart språk L om L tillhör eller ej.
118
118 Exempel Givet en Turingmaskin M, kan man avgöra om alla strängar som accepteras av M börjar och slutar på samma tecken?
119
119 Oavgörbart Problemet handlar om en icke-trivial språkegenskap. Det finns TM:er vars accepterade strängar har egenskapen i fråga, och det finns TM:er vars accepterade strängar inte har egenskapen.
120
120 Formellt: = { L | TM accepterbara språk vars strängar börjar och slutar på samma tecken. }
121
121 Now we will prove some non-trivial properties without using Rice’s theorem.
122
122 Theorem For any recursively enumerable language it is undecidable whether it is empty. Proof We will reduce the membership problem to the problem of deciding whether is empty.
123
123 Membership problem: Does machine accept string ?
124
124 Algorithm for empty language problem YES NO Assume we have the empty language algorithm: Let be the machine that accepts empty not empty
125
125 Algorithm for membership problem YES NO accepts rejects We will design the membership algorithm:
126
126 First construct machine : When enters a final state, compare original input string with. Accept if original input is the same as.
127
127 is not empty if and only if
128
128 Algorithm for membership problem Inputs: machine and string 1. Construct 2. Determine if is empty YES: then NO: then
129
129 construct Check if is empty YES NO YES Membership algorithm
130
130 Since the membership problem is undecidable, the empty language problem is also undecidable. END OF PROOF We reduced the empty language problem to the membership problem.
131
131 Decidability …continued…
132
132 Theorem For a recursively enumerable language it is undecidable to determine whether is finite. Proof We will reduce the halting problem to the finite language problem.
133
133 Assume we have the finite language algorithm: Algorithm for finite language problem YES NO finite not finite Let be the machine that accepts
134
134 We will design the halting problem algorithm: Algorithm for Halting problem YES NO halts on doesn’t halt on
135
135 First construct machine. When enters a halt state, accept any input (infinite language). Initially, simulates on input. Otherwise accept nothing (finite language).
136
136 halts on is not finite. if and only if
137
137 Algorithm for halting problem: Inputs: machine and string 1. Construct 2. Determine if is finite YES: then doesn’t halt on NO: then halts on
138
138 construct Check if is finite YES NO YES Machine for halting problem
139
139 Since the halting problem is undecidable, the finite language problem is also undecidable. END OF PROOF We reduced the finite language problem to the halting problem.
140
140 Theorem For a recursively enumerable language it is undecidable whether contains two different strings of same length. Proof We will reduce the halting problem to the two strings of equal length- problem.
141
141 Assume we have the two-strings algorithm: Let be the machine that accepts Algorithm for two-strings problem YES NO contains doesn’t contain two equal length strings
142
142 We will design the halting problem algorithm: Algorithm for Halting problem YES NO halts on doesn’t halt on
143
143 First construct machine. When enters a halt state, accept symbols or. Initially, simulates on input. (two equal length strings)
144
144 halts on if and only if accepts and (two equal length strings)
145
145 Algorithm for halting problem Inputs: machine and string 1. Construct 2. Determine if accepts two strings of equal length YES: then halts on NO: then doesn’t halt on
146
146 construct Check if has two equal length strings YES NO YES NO Machine for halting problem
147
147 Since the halting problem is undecidable, the two strings of equal length problem is also undecidable. END OF PROOF We reduced the two strings of equal length - problem to the halting problem.
148
148 Church-Turing Thesis * * Source: Stanford Encyclopaedia of Philosophy
149
149 A Turing machine is an abstract representation of a computing device. It is more like a computer program (software) than a computer (hardware).
150
150 LCMs [Logical Computing Machines: Turing’s expression for Turing machines] were first proposed by Alan Turing, in an attempt to give a mathematically precise definition of "algorithm" or "mechanical procedure".
151
151 The Church-Turing thesis concerns an effective or mechanical method in logic and mathematics.
152
152 A method, M, is called ‘effective’ or ‘mechanical’ just in case: 1.M is set out in terms of a finite number of exact instructions (each instruction being expressed by means of a finite number of symbols); 2.M will, if carried out without error, always produce the desired result in a finite number of steps; 3.M can (in practice or in principle) be carried out by a human being unaided by any machinery except for paper and pencil; 4.M demands no insight or ingenuity on the part of the human being carrying it out.
153
153 Turing’s thesis: LCMs [logical computing machines; TMs] can do anything that could be described as "rule of thumb" or "purely mechanical". (Turing 1948) He adds: This is sufficiently well established that it is now agreed amongst logicians that "calculable by means of an LCM" is the correct accurate rendering of such phrases.
154
154 Turing introduced this thesis in the course of arguing that the Entscheidungsproblem, or decision problem, for the predicate calculus - posed by Hilbert (1928) - is unsolvable.
155
155 Church’s account of the Entscheidungsproblem By the Entscheidungsproblem of a system of symbolic logic is here understood the problem to find an effective method by which, given any expression Q in the notation of the system, it can be determined whether or not Q is provable in the system.
156
156 Church’s thesis: A function of positive integers is effectively calculable only if recursive.
157
157 Misunderstandings of the Turing Thesis Turing did not show that his machines can solve any problem that can be solved "by instructions, explicitly stated rules, or procedures" and nor did he prove that a universal Turing machine "can compute any function that any computer, with any architecture, can compute".
158
158 Turing proved that his universal machine can compute any function that any Turing machine can compute; and he put forward, and advanced philosophical arguments in support of, the thesis here called Turing’s thesis.
159
159 A thesis concerning the extent of effective methods - procedures that a human being unaided by machinery is capable of carrying out - has no implication concerning the extent of the procedures that machines are capable of carrying out, even machines acting in accordance with ‘explicitly stated rules’.
160
160 Among a machine’s repertoire of atomic operations there may be those that no human being unaided by machinery can perform.
161
161 Turing introduces his machines as an idealised description of a certain human activity, the tedious one of numerical computation, which until the advent of automatic computing machines was the occupation of many thousands of people in commerce, government, and research establishments.
162
162 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 )
163
Computation Beyond Turing Model “Traditionally, the dynamics of computing systems, their unfolding behavior in space and time has been a mere means to the end of computing the function which specifies the algorithmic problem which the system is solving. In much of contemporary computing, the situation is reversed: the purpose of the computing system is to exhibit certain behaviour. (…) We need a theory of the dynamics of informatic processes, of interaction, and information flow, as a basis for answering such fundamental questions as: What is computed? What is a process? What are the analogues to Turing completeness and universality when we are concerned with processes and their behaviours, rather than the functions which they compute?” (Abramsky, 2008) Abramsky, S. (2008) Information, processes and games. In Philosophy of Information; van Benthem, J., Adriaans, P., Eds.; North Holland: Amsterdam, The Netherlands; pp. 483–549. 163
164
Computation Beyond Turing Model According to Abramsky, there is the need for second generation models of computation, and in particular there is the need for process models such as Petri nets, Process Algebra, and similar. The first generation models of computation were originating from problems of formalization of mathematics and logic, while processes or agents, interaction, and information flow are genuine product of the modern development of computing. In the second generation models of computation, previous isolated systems with limited interactions with the environment are replaced by processes or agents for which the interactions with each other and with the environment are fundamental. 164
165
Computation Beyond Turing Model As a result of interactions among agents and with the environment, complex behavior emerges. The basic building block of this interactive approach is the agent, and the fundamental operation is interaction. The ideal features sought for are computational qualities of computational agents such as biological organisms such as resilience and self-* capabilities. This approach works at both macro-scale (such as processes in operating systems, software agents on the Internet, transactions, etc.) and on micro-scale (program implementation down to hardware). 165
166
166 Interaction: Conjectures, Results, and Myths Dina Goldin Univ. of Connecticut, Brown University http://www.cse.uconn.edu/~dqg Additional reading
167
167 Fundamental Questions Underlying Theory of Computation What is computation? How do we model it?
168
168 Shared Wisdom (from our undergraduate Theory of Computation courses) computation: finite transformation of input to output input: finite size (e.g. string or number) closed system: all input available at start, all output generated at end behavior: functions, transformation of input data to output data Church-Turing thesis: Turing Machines capture this (algorithmic) notion of computation Mathematical worldview: All computable problems are function-based.
169
169 “The theory of computability and non-computability [is] usually referred to as the theory of recursive functions... the notion of TM has been made central in the development." Martin Davis, Computability & Unsolvability, 1958 “Of all undergraduate CS subjects, theoretical computer science has changed the least over the decades.” SIGACT News, March 2004 “A TM can do anything that a computer can do.” Michael Sipser, Introduction to the Theory of Computation, 1997 The Mathematical Worldview
170
170 The Operating System Conundrum Real programs, such as operating systems and word processors, often receive an unbounded amount of input over time, and never "finish" their task. Turing machines do not model such ongoing computation well… [TM entry, Wikipedia] If a computation does not terminate, it’s “useless” – but aren’t OS’s useful??
171
171 Rethinking Shared Wisdom: (what do computers do? ) computation: finite transformation of input to output input: finite-size (string or number) closed system: all input available at start, all output generated at end behavior: functions, algorithmic transformation of input data to output data Church-Turing thesis: Turing Machines capture this (algorithmic) notion of computation computation: ongoing process which performs a task or delivers a service dynamically generated stream of input tokens (requests, percepts, messages) open system: later inputs depend on earlier outputs and vice versa (I/O entanglement, history dependence) behavior: processes, components, control devices, reactive systems, intelligent agents Wegner’s conjecture: Interaction is more powerful than algorithms
172
172 Example: Driving home from work Algorithmic input: a description of the world (a static “map”) Output: a sequence of pairs of #s (time-series data) - for turning the wheel - for pressing gas/break Similar to classic AI search/planning problems.
173
173 But… in a real-world environment, the output depends on every grain of sand in the road (chaotic behavior). Can we possibly have a map that’s detailed enough? Worse yet… the domain is dynamic. The output depends on weather conditions, and on other drivers and pedestrians. We can’t possibly be expected to predict that in advance! Nevertheless the problem is solvable! Google “autonomous vehicle research” Driving home from work (cont.) ?
174
174 Driving home from work (cont.) The problem is solvable interactively. Interactive input: stream of video camera images, gathered as we are driving Output: the desired time-series data, generated as we are driving similar to control systems, or online computation A paradigm shift in the conceptualization of computational problem solving.
175
175 Rethinking the mathematical worldview Persistent Turing Machines (PTMs) PTM expressiveness Sequential Interaction –Sequential Interaction Thesis The Myth of the Church-Turing Thesis –the origins of the myth Conclusions and future work Outline
176
176 Sequential Interaction Sequential interactive computation: system continuously interacts with its environment by alternately accepting an input string and computing a corresponding output string. Examples: -method invocations of an object instance in an OO language -a C function with static variables -queries/updates to single-user databases -recurrent neural networks - control systems - online computation - transducers - dynamic algorithms - embedded systems
177
177 Sequential Interaction Thesis Universal PTM: simulates any other PTM –Need additional input describing the PTM (only once) Example: simulating Answering Machine (simulate AM, will-do), (record hello, ok), (erase, done), (record John, ok), (record Hopkins, ok), (playback, John Hopkins), … Simulation of other sequential interactive systems is analogous. Whenever there is an effective method for performing sequential interactive computation, this computation can be performed by a Persistent Turing Machine
178
178 Church-Turing Thesis Revisited Church-Turing Thesis: Whenever there is an effective method for obtaining the values of a mathematical function, the function can be computed by a Turing Machine Common Reinterpretation (Strong Church-Turing Thesis) A TM can do (compute) anything that a computer can do The equivalence of the two is a myth –the function-based behavior of algorithms does not capture all forms of computation –this myth has been dogmatically accepted by the CS community Turing himself would have denied it –in the same paper where he introduced what we now call Turing Machines, he also introduced choice machines, as a distinct model of computation –choice machines extend Turing Machines to interaction by allowing a human operator to make choices during the computation.
179
179 Origins of the Church-Turing Thesis Myth A TM can do anything that a computer can do. Based on several claims: 1.A problem is solvable if there exists a Turing Machine for computing it. 2.A problem is solvable if it can be specified by an algorithm. 3.Algorithms are what computers do. Each claim is correct in isolation provided we understand the underlying assumptions Together, they induce an incorrect conclusion TMs = solvable problems = algorithms = computation
180
180 Deconstructing the Turing Thesis Myth (1) TMs = solvable problems Assumes: All computable problems are function-based. Reasons: –Theory of Computation started as a field of mathematics; mathematical principles were adopted for the fundamental notions of computation, identifying computability with the computation of functions, as well as with Turing Machines. –The batch-based modus operandi of original computers did not lend itself to other conceptualizations of computation.
181
181 Deconstructing the Turing Thesis Myth (2) solvable problems = algorithms Assumes: -Algorithmic computation is also function based; i.e., the computational role of an algorithm is to transform input data to output data. Reasons: –Original (mathematical) meaning of “algorithms” E.g. Euclid’s greatest common divisor algorithm –Original (Knuthian) meaning of “algorithms” “An algorithm has zero or more inputs, i.e., quantities which are given to it initially before the algorithm begins.“ [Knuth’68]
182
182 Deconstructing the Turing Thesis Myth (3) algorithms = computation Reasons: –The ACM Curriculum (1968): Adopted algorithms as the central concept of CS without explicit agreement on the meaning of this term. –Textbooks: When defining algorithms, the assumption of their closed function-based nature was often left implicit, if not forgotten “An algorithm is a recipe, a set of instructions or the specifications of a process for doing something. That something is usually solving a problem of some sort.” [Rice&Rice’69] “An algorithm is a collection of simple instructions for carrying out some task. Commonplace in everyday life, algorithms sometimes are called procedures or recipes...” [Sipser’97]
183
183 Rethinking the mathematical worldview Persistent Turing Machines (PTMs) PTM expressiveness Sequential Interaction The Myth of the Church-Turing Thesis Conclusions and future work Outline
184
184 The Shift to Interaction in CS Computation = transforming input to output Computation = carrying out a task over time Logic and search in AIIntelligent agents, partially observable environments, learning Procedure-oriented programming Object-oriented programming Closed systemsOpen systems Compositional behaviorEmergent behavior Rule-based reasoningSimulation, control, semi-Markov processes Algorithmic Interactive
185
185 The Interactive Turing Test From answering questions to holding discussions. Learning from -- and adapting to -- the questioner. “Book intelligence” vs. “street smarts”. “It is hard to draw the line at what is intelligence and what is environmental interaction. In a sense, it does not really matter which is which, as all intelligent systems must be situated in some world or other if they are to be useful entities.” [Brooks]
186
186 Many other interactive models –Reactive [MP] and embedded systems –Dataflow, I/O automata [Lynch], synchronous languages, finite/pushdown automata over infinite words –Interaction games [Abramsky], online algorithms [Albers] –TM extensions: on-line Turing machines [Fischer], interactive Turing machines [Goldreich]... Concurrency Theory –Focuses on communication (between concurrent agents/processes) rather than computation [Milner] –Orthogonal to the theory of computation and TMs. What makes PTMs unique? –Provably more expressive than TMs. –Bridging the gap between concurrency theory (labeled transition systems) and traditional TOC. Modeling Interactive Computation: PTMs in Perspective
187
187 Theory of Sequential Interaction conjecture: notions analogous to computational complexity, logic, and recursive functions can be developed for sequential interaction computation Multi-stream interaction –From hidden variables to hidden interfaces conjecture: multi-stream interaction is more powerful than sequential interaction [Wegner’97] Formalizing indirect interaction –Interaction via persistent, observable changes to the common environment –In contrast to direct interaction (via message passing) conjecture: direct interaction does not capture all forms of multi-agent behaviors Future Work: 3 conjectures
188
188 References http://www.cse.uconn.edu/~dqg/papers/ [Wegner’97] Peter Wegner Why Interaction is more Powerful than Algorithms Communications of the ACM, May 1997 [EGW’04] Eugene Eberbach, Dina Goldin, Peter Wegner Turing's Ideas and Models of Computation book chapter, in Alan Turing: Life and Legacy of a Great Thinker, Springer 2004 [I&C’04] Dina Goldin, Scott Smolka, Paul Attie, Elaine Sonderegger Turing Machines, Transition Systems, and Interaction Information & Computation Journal, 2004 [GW’04] Dina Goldin, Peter Wegner The Church-Turing Thesis: Breaking the Myth presented at CiE 2005, Amsterdam, June 2005 to be published in LNCS
Similar presentations
© 2025 SlidePlayer.com. Inc.
All rights reserved.