Alan Turing. Hilbert s Program, Alan Turing. Content CD5560 FABER

CD5560 Content FABER Introduction Universal Turing Machine Chomsky Hierarchy Decidability Reducibility Uncomputable Functions Rice’s Theorem Interac...
Author: Britton Oliver
2 downloads 1 Views 242KB Size
CD5560

Content

FABER Introduction Universal Turing Machine Chomsky Hierarchy Decidability Reducibility Uncomputable Functions Rice’s Theorem Interactive Computing & Persistent TM’s (Dina Goldin)

Formal Languages, Automata and Models of Computation Lecture 13 Mälardalen University 2007

1

2

Alan Turing

http://www.turing.org.uk/turing/

1912 (23 June): Birth, London

Who was Alan Turing? Founder of computer science, mathematician, philosopher, codebreaker, visionary man before his time.

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

http://www.cs.usfca.edu/www.AlanTuring.net/turing_archive/index.html- Jack

1936-38: Princeton University. Ph.D. Logic, algebra, number theory 1938-39: Return to Cambridge. Introduced to German Enigma cipher machine

Copeland and Diane Proudfoot

1939-40: The Bombe, machine for Enigma decryption

http://www.turing.org.uk/turing/ The Alan Turing Home Page Andrew Hodges

1939-42: Breaking of U-boat Enigma, saving battle of the Atlantic 3

4

Hilbert’s Program, 1900

Alan Turing

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.

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

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?

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. 5

6

Turing’s "Machines". These machines are humans who calculate. (Wittgenstein)

TURING MACHINES A man provided with paper, pencil, and rubber, and subject to strict discipline, is in effect a universal machine. (Turing)

7

8

Standard Turing Machine Tape ......

The Tape No boundaries -- infinite length

...... ......

......

Read-Write head Read-Write head

Control Unit

The head moves Left or Right

9

10

Example ......

......

......

Time 0

a b a c

......

Read-Write head Time 1 ......

The head at each time step: 1. Reads a symbol 2. Writes a symbol 3. Moves Left or Right

a b k c

......

1. Reads a 2. Writes k 3. Moves Left 11

12

States & Transitions

The Input String Input string ......

Blank symbol

# # a b a c # # #

Write

Read

......

Move Left

a → b, L

q1

q2

head Move Right

Head starts at the leftmost position of the input string

q1

a → b, R

q2

13

14

Determinism

Time 1 ......

# # a b a c # # #

...... Turing Machines are deterministic

q1

a → b, R

Time 2 ......

# # a b b c # # #

......

a → b, R

q2

q2

a → b, R

q2

a → d, L

q3

q1

q1 q3

b → d, L

q2 q1

Not Allowed

Allowed

No lambda transitions allowed in standard TM! 15

16

Transition Function

Formal Definitions for Turing Machines

q1

a → b, R

q2

δ (q1, a ) = (q2 , b, R)

17

18

Turing Machine Input alphabet

Tape alphabet

States

Universal Turing Machine

M = (Q, Σ, Γ, δ , q0 , # , F ) Final states

Transition function Initial state

blank 19

A limitation of Turing Machines:

20

Solution: Universal Turing Machine

Turing Machines are “hardwired” Characteristics: they execute only one program

• Reprogrammable machine

Better are reprogrammable machines.

• Simulates any other Turing Machine

21

22

Tape 1

Three tapes Universal Turing Machine simulates any other Turing Machine

M Universal Turing Machine

Input of Universal Turing Machine • Description of transitions of M • Initial tape contents of

Description of M Tape 2

Tape Contents of M Tape 3

M

State of 23

M 24

Tape 1

Description of

M

Alphabet Encoding

We describe Turing machine M as a string of symbols: We encode

M

Symbols:

a

b

c

d

Encoding:

1

11

111

1111

as a string of symbols

25

K

26

State Encoding States:

q1

q2

q3

q4

Encoding:

1

11

111

1111

Head Move Encoding Move:

L

R

Encoding:

1

11

Transition Encoding

K Transition:

δ (q1, a ) = (q2 , b, L)

Encoding:

1 0 1 0 11 0 11 0 1 separator

27

28

Machine Encoding Transitions:

δ (q1, a ) = (q2 , b, L)

δ (q2 , b) = (q3 , c, R )

Encoding:

Tape 1 contents of Universal Turing Machine: encoding of the simulated machine M as a binary string of 0’s and 1’s

1 0 1 0 11 0 11 0 1 00 11 0 1 10 111 0 111 0 11 separator

29

30

Language of Turing Machines A Turing Machine is described with a binary string of 0’s and 1’s.

(Turing Machine 1)

L = { 010100101, Therefore:

00100100101111,

The set of Turing machines forms a language:

(Turing Machine 2)

111010011110010101,

Each string of the language is the binary encoding of a Turing Machine.

……

…… } 31

32

The Chomsky Language Hierarchy Recursively-enumerable Recursive

The Chomsky Hierarchy Context-sensitive Context-free Regular

Non-recursively enumerable 33

34

Unrestricted Grammars Example of unrestricted grammar Productions

u→v String of variables and terminals

String of variables and terminals

35

S → aBc aB → cA Ac → d

36

Context-Sensitive Grammars Productions

Theorem

u→v

A language L is recursively enumerable if and only if it is generated by an unrestricted grammar.

String of variables and terminals

and

String of variables and terminals

|u| ≤ |v|

37

The language

38

{a nb n c n } Theorem

is context-sensitive:

S → abc | aAbc

A language L is context sensitive

Ab → bA

if and only if it is accepted by a Linear-Bounded automaton.

Ac → Bbcc bB → Bb aB → aa | aaA 39

40

Linear Bounded Automaton (LBA) Linear Bounded Automata (LBAs)

Input string

are the same as Turing Machines with one difference:

[ a b c d e ]

The input string tape space is the only tape space allowed to use.

Left-end marker

Working space in tape

Right-end marker

All computation is done between end markers. 41

42

Observation

Decidability There is a language which is recursive but not context-sensitive.

43

44

A problem is decidable if some Turing machine solves (decides) the problem.

Consider problems with answer YES or NO.

Examples

Decidable problems:

• Does Machine M have three states ?

• Does Machine M have three states ?

• Is string w a binary number?

• Is string w a binary number?

• Does DFA M accept any input?

• Does DFA M accept any input?

45

The Turing machine that solves a problem answers YES or NO for each instance.

46

The machine that decides a problem: • If the answer is YES then halts in a yes state

Input problem instance

YES • If the answer is NO then halts in a no state

Turing Machine NO

These states may not be the final states.

47

48

Turing Machine that decides a problem

YES

Difference between Recursive Languages accept (“Acceptera”) and Decidable problems decide (“Avgöra”) For decidable problems:

NO

The YES states may not be final states.

YES and NO states are halting states 49

50

Some problems are undecidable: A famous undecidable problem: There is no Turing Machine that solves all instances of the problem.

The halting problem

51

52

Theorem

The Halting Problem

The halting problem is undecidable. Input: • Turing Machine M • String w

Proof Assume to the contrary that the halting problem is decidable.

Question: Does M halt on w?

53

54

There exists Turing Machine H

Construction of

that solves the halting problem

M

Input: initial tape contents

M halts on w

YES

q y YES

wM w

H w

M doesn’t halt on w

NO

H

q0 qn NO

encoding of

M

w

string

H

55

56

H′ Construct machine



H

If H returns YES then loop forever.

wM w

If H returns NO then halt.

Loop forever

qy

YES

qn

NO

qa

qb

q0

57

Construct machine Input:

If

M

wM

58

Hˆ (machine

halts on input

M

)



wM

wM

copy

wM

wM wM

H′

Then loop forever Else halt 59

60

Run machine Input:

wHˆ



If



with input itself (machine

halts on input





)

wHˆ

wHˆ :

on input If



halts then loops forever.

If



doesn’t halt then it halts.

Then loop forever CONTRADICTION ! Else halt 61

This means that

62

Another proof of the same theorem

The halting problem is undecidable. If the halting problem was decidable then every recursively enumerable language would be recursive.

END OF PROOF 63

64

There exists Turing Machine

H

that solves the halting problem.

Theorem The halting problem is undecidable.

M

Proof

YES

M halts on w

NO

M doesn’t halt on w

H w

Assume to the contrary that the halting problem is decidable.

65

66

Turing Machine that accepts L and halts on any input Let Let

L be a recursively enumerable language.

H

M

NO

M be the Turing Machine that accepts L.

w We will prove that

M halts on w ? YES

L is also recursive:

accept w

We will describe a Turing machine that accepts L and halts on any input.

Run M

Halts on final state

with input w

reject w Halts on non-final 68 state

67

Therefore

Since

reject w

L is recursive.

L is chosen arbitrarily, we have

proven that every recursively enumerable language is also recursive.

Therefore, the halting problem is undecidable.

But there are recursively enumerable languages which are not recursive.

Contradiction! END OF PROOF

69

70

The Membership Problem

Input:

A simple undecidable problem:

• Turing Machine

M

• String w

The Membership Problem

Question: Does

71

M accept w?

72

There exists Turing Machine H that solves the membership problem

Theorem The membership problem is undecidable.

M

YES

M accepts w

NO

M rejects w

H w

Proof Assume to the contrary that the membership problem is decidable.

73

74

Turing Machine that accepts

L

and halts on any input Let

L be a recursively enumerable language.

Let

M be the Turing Machine that accepts L.

M We will prove that

L is also recursive:

w

H

YES

accept w

M accepts w? NO

reject w

We will describe a Turing machine that accepts

L and halts on any input. 75

Therefore Since

76

L is recursive.

L is chosen arbitrarily, we have

Therefore, the membership problem is undecidable.

proven that every recursively enumerable language is also recursive. But there are recursively enumerable languages which are not recursive.

Contradiction! 77

END OF PROOF

78

Problem

A is reduced to problem B.

B then we can solve problem A.

If we can solve problem

Reducibility

B

A 79

Problem

80

A is reduced to problem B. Example the halting problem

If B is decidable then

A is decidable.

reduced to the state-entry problem.

If

A is undecidable then B is undecidable.

81

82

The state-entry problem Input: •Turing Machine

Theorem

M

The state-entry problem is undecidable.

q •String w •State

Proof

Question:

Reduce the halting problem to

M enter state q on input w? Does

the state-entry problem.

83

84

Assume we have the state-entry algorithm: Suppose we have an algorithm (Turing Machine) that solves the state-entry problem.

YES

M w

We will construct an algorithm that solves the halting problem.

q

Algorithm for state-entry problem

M enters q

NO

M doesn’t enter q

85

86

Modify input machine M We want to design the halting algorithm:

• Add new state q • From any halting state add transitions to q

YES

M

M halts on q

M′

Algorithm for Halting problem

NO

w

M doesn’t halt on q

q

M halting states

single halt state

87

88

Algorithm for halting problem

M

halts Input: machine

if and only if

M and string w

1. Construct machine

M ′ halts on state q

M’ with state q

2. Run algorithm for state-entry problem with inputs:

89

M’, q, w

90

We reduced the halting problem to the state-entry problem.

Halting problem algorithm

M

Generate

M′

M′ q w

State-entry algorithm

YES

YES

NO

NO

Since the halting problem is undecidable, it must be that the state-entry problem is also undecidable.

w END OF PROOF 91

92

Another example

Theorem

The halting problem reduced to the blank-tape halting problem.

Input: Turing Machine

The blank-tape halting problem is undecidable.

Proof

M

Reduce the halting problem to the blank-tape halting problem.

Question: Does M halt when started with a blank tape?

93

94

Assume we have the blank-tape halting algorithm Suppose we have an algorithm for the blank-tape halting problem.

YES M halts on

M

We will construct an algorithm for the halting problem.

Algorithm for blank-tape halting problem

blank tape

NO

M doesn’t halt on blank tape

95

96

Construct a new machine

We want to design the halting algorithm:

YES

M Algorithm for halting problem

NO

w

Mw

• On blank tape writes w • Then continues execution like

M halts on w

M

Mw

M doesn’t halt on w

step 1

step2

M with input w

if blank tape

execute

then write w 97

M

halts on input string

98

Algorithm for halting problem

w

Inputs: machine if and only if

M

and string

w

1. Construct M w 2. Run algorithm for blank-tape halting problem with input M w

M w halts when started with blank tape.

99

100

Halting problem algorithm We reduced the halting problem to the blank-tape halting problem.

M w

YES Generate

Mw

Mw

Blank-tape halting algorithm

NO

YES NO

Since the halting problem is undecidable, the blank-tape halting problem is also undecidable.

END OF PROOF 101

102

Summary of Undecidable Problems Blank-tape halting problem Halting Problem Does machine

Does machine

M halt on input w?

Membership problem Does machine

M halt when starting

on blank tape?

State-entry Problem:

M accept string w?

Does machine

In other words: Is a string w a member of a

on input

M enter state q

w?

recursively enumerable language L?) 103

104

Uncomputable Functions

f Uncomputable Functions

Domain

Range

A function is uncomputable if it cannot be computed for all of its domain.

105

106

Example Theorem

f (n)

An uncomputable function:

Function is uncomputable.

Proof

maximum number of moves until

f (n) =

Assume to the contrary that

any Turing machine with n states halts when started with the blank tape.

f (n) is computable. Then the blank-tape halting problem is decidable. 107

108

Algorithm for blank-tape halting problem Input: machine 1. Count states of 2. Compute

Therefore, the blank-tape halting problem must be decidable.

M

M: m

f (m)

However, we know that the blank-tape halting problem is undecidable.

3. Simulate M for f (m) steps starting with empty tape

Contradiction! If

M

halts then return YES otherwise return NO 109

Therefore, function

110

Rice’s Theorem

f (n)

is uncomputable.

END OF PROOF

111

112

Some non-trivial properties of recursively enumerable languages:

Definition Non-trivial properties of recursively enumerable languages:

• L is empty • L is finite • L contains two different strings

any property possessed by some (not all) recursively enumerable languages.

of the same length

113

114

Rice’s Theorem We will prove some non-trivial properties without using Rice’s theorem.

Any non-trivial property of a recursively enumerable language is undecidable.

115

116

Theorem For any recursively enumerable language

L

it is undecidable whether it is empty.

Membership problem:

Proof

Does machine

We will reduce the membership problem

M accept string w?

to the problem of deciding whether L is empty.

117

118

Let M be the machine that accepts L

L( M ) = L

We will design the membership algorithm:

Assume we have the empty language algorithm:

M M

Algorithm for empty language problem

YES L(M) empty

w NO

YES Algorithm for membership problem

NO

M accepts w

M rejects w

L(M) non-empty 119

120

First construct machine

When

w∈ L

Mw

if and only if

M enters a final state,

compare original input string with

w.

L( M w )

Accept if original input is the same as

w.

is not empty

L( M w ) = {w}

121

122

Algorithm for membership problem Inputs: machine 1. Construct

M

and string

Membership algorithm

w

Mw

2. Determine if

M construct

L( M w ) is empty

w

YES: then w∉ L(M ) NO: then

Mw

Mw

YES

NO

NO

YES

Check if

L( M w ) is empty

w∈ L(M ) 123

We reduced the empty language problem to the membership problem.

124

Decidability …continued…

Since the membership problem is undecidable, the empty language problem is also undecidable.

END OF PROOF 125

126

Theorem

Let

For a recursively enumerable language it is undecidable whether

M be the machine that accepts L

L( M ) = L

L

L is finite. Assume we have the finite language algorithm:

YES Proof

Algorithm for finite language problem

M

We will reduce the halting problem to the finite language problem.

L(M) finite

NO L(M) not finite

127

128

First construct machine

Mw.

We will design the halting problem algorithm: Initially simulates M on input

M w

YES Algorithm for halting problem

NO

When

M halts on w

w.

M enters a halt state,

accept any input (infinite language). Otherwise accept nothing (finite language).

M doesn’t halt on w 129

130

Algorithm for halting problem:

M

halts on

Inputs: machine

w

if and only if

1. Construct

Mw

2. Determine if

L( M w ) is not finite.

YES: then NO: then 131

M and string w

L( M w ) is finite

M doesn’t halt on w M halts on w 132

Machine for halting problem We reduced the finite language problem to the halting problem. YES

M

construct

Mw

w

NO

Check if

L( M w ) NO

is finite

YES

Since the halting problem is undecidable, the finite language problem is also undecidable.

END OF PROOF 133

134

Let

M be the machine that accepts L:

Theorem

L( M ) = L

For a recursively enumerable language L

Assume we have the equal-strings algorithm:

it is undecidable whether L contains two different strings of same length.

M

Proof We will reduce the halting problem to the two strings of equal length- problem.

YES L(M) contains

Algorithm for two-strings problem

NO

L(M) does not contain two equal length strings

135

We will design the halting problem algorithm:

M w

YES Algorithm for halting problem

136

First construct machine

Initially simulates

Mw

M on input w.

M halts on w M enters a halt state, accept symbols a and b.

When

NO

M doesn’t halt on w

(two equal length strings)

137

138

Algorithm for halting problem

M

Inputs: machine

halts on w

1. Construct

if and only if

M

and string

w

Mw

2. Determine if M w accepts two strings of equal length

M w accepts a and b

M halts on w then M doesn’t halt on w

YES: then

(two equal length strings)

NO: 139

140

Machine for halting problem We reduced the two strings of equal length problem to the halting problem.

M w

YES construct

Mw

YES

Check if

L( M w ) has two equal length strings

NO

NO

Since the halting problem is undecidable, the two strings of equal length problem is also undecidable.

END OF PROOF 141

Rice's theorem: (Henry Gordon Rice ) If S is a non-trivial property of Turing-acceptable languages, then the problem

142

Example

‘Does L(M) have the property S? is undecidable.

Given a Turing machine M, is it possible to decide if all strings accepted by M start and end with the same symbol?

Any nontrivial property of the language recognized by a Turing machine is undecidable. (Only trivial properties of programs are algorithmically decidable. Undecidability is not the exception when it comes to recursively enumerable sets, it is the rule. ) If Ω is a set of Turing-acceptable languages, containing some but not all such languages, no TM can decide for an arbitrary Turing-acceptable language L if not.

L belongs to Ω or 143

144

Formally Undecidable Problem is about non-trivial property of a language. There exist TM’s with given property, and TM’s without.

Ω = { L | TM acceptable languages With strings that start and end with the same symbol. }

145

146

Fundamental Questions Underlying Theory of Computation

Interaction: Conjectures, Results, and Myths

What is computation? Dina Goldin Univ. of Connecticut, Brown University

How is computation modeled?

http://www.cse.uconn.edu/~dqg 147

Shared Wisdom

148

The Mathematical Worldview

(from our undergraduate Theory of Computation courses)

“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."

computation: finite transformation of input to output

Martin Davis, Computability & Unsolvability, 1958

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

Mathematical worldview: All computable problems are function-based.

“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.”

Church-Turing thesis: Turing

Michael Sipser, Introduction to the Theory of Computation, 1997

Machines capture this (algorithmic) notion of computation

149

150

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]

Rethinking Shared Wisdom:

*

(what do computers do?) input to output

computation: ongoing process which performs a task or delivers a service

input: finite-size (string or number)

dynamically generated stream of input tokens (requests, percepts, messages)

closed system: all input available at start, all output generated at end

open system: later inputs depend on earlier outputs and vice versa (I/O entanglement, history dependence)

computation: finite transformation of

If a computation does not terminate, it’s “useless” – but aren’t OS’s useful??

behavior: functions, algorithmic transformation of input data to output data

behavior: processes, components, control devices, reactive systems, intelligent agents

Church-Turing thesis: Turing Machines capture this (algorithmic) notion of computation

Wegner’s conjecture: Interaction is more powerful than algorithms

151

152

* Enigma

Example: Driving home from work

Driving home from work (cont.)

?

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 Worse yet… the domain is dynamic. The output enough? depends on weather conditions, and on other drivers and pedestrians.

Algorithmic input: a description of the world (a static “map”)

We can’t possibly be expected to predict that in advance! Nevertheless the problem is solvable!

Output: a sequence of pairs of #s (time-series data) - for turning the wheel - for pressing gas/break

Google “autonomous vehicle research”

Similar to classic AI search/planning problems. 153

154

Sequential Interaction

Driving home from work (cont.) The problem is solvable interactively.

• Sequential interactive computation: system continuously interacts with its environment by alternately accepting an input string and computing a corresponding output string.

Interactive input: stream of video camera images, gathered as we are driving

• 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

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. 155

- control systems - online computation - transducers - dynamic algorithms - embedded systems

156

Church-Turing Thesis Revisited

Sequential Interaction Thesis Whenever there is an effective method for performing sequential interactive computation, this computation can be performed by a Persistent Turing Machine



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

• Universal PTM: simulates any other PTM



– Need additional input describing the PTM (only once)

Common Reinterpretation (Strong Church-Turing Thesis) A TM can do (compute) anything that any computer can do!

• 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. 157

Church-Turing Thesis Revisited

158

Origins of the Church-Turing Thesis Myth A TM can do 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

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.

– 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

Each claim is correct in isolation

– choice machines extend Turing Machines to interaction by allowing a human operator to make choices during the computation.

provided we understand the underlying assumptions

Together, they induce an incorrect conclusion TMs = solvable problems = algorithms = computation 159

Deconstructing the Turing Thesis Myth (1)

160

Deconstructing the Turing Thesis Myth (2)

solvable problems = algorithms

TMs = solvable problems Assumes:

• Assumes:

- Algorithmic computation is also function based; i.e., the computational role of an algorithm is to transform input data to output data.

All computable problems are function-based.

• Reasons:

• 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.

– Original (mathematical) meaning of “algorithms” E.g. Euclid’s greatest common divisor algorithm

– Original (Knuthian) meaning of “algorithms”

– The batch-based modus operandi of original computers did not lend itself to other conceptualizations of computation. 161

“An algorithm has zero or more inputs, i.e., quantities which are given to it initially before the algorithm begins.“ [Knuth’68] 162

Deconstructing the Turing Thesis Myth (3)

The Shift to Interaction in CS algorithms = computation

Algorithmic

• Reasons: – The ACM Curriculum (1968): Adopted algorithms as the central concept of CS without explicit agreement on the meaning of this term.

Computation = transforming input to output

Computation = carrying out a task over time

Logic and search in AI

Intelligent agents, partially observable environments, learning

Procedure-oriented programming

Object-oriented programming

Closed systems

Open systems

Compositional behavior

Emergent behavior

Rule-based reasoning

Simulation, control, semiMarkov processes

– 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 [Rice&Rice’69] a problem of some sort.” “An algorithm is a collection of simple instructions for carrying out some task. Commonplace in everyday life, algorithms sometimes [Sipser’97] are called procedures or recipes...”

Interactive

163

164

Modeling Interactive Computation: PTMs in Perspective

The Interactive Turing Test • From answering questions to holding discussions. • Learning from -- and adapting to -- the questioner. • “Book intelligence” vs. “street smarts”.

• 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 “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]

– 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.

165

166

References

Future Work: 3 conjectures

http://www.cse.uconn.edu/~dqg/papers/

• Theory of Sequential Interaction

[Wegner’97] Peter Wegner Why Interaction is more Powerful than Algorithms Communications of the ACM, May 1997

conjecture: notions analogous to computational complexity, logic, and recursive functions can be developed for sequential interaction computation

[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

• Multi-stream interaction – From hidden variables to hidden interfaces conjecture: multi-stream interaction is more powerful than sequential interaction [Wegner’97]

[I&C’04] Dina Goldin, Scott Smolka, Paul Attie, Elaine Sonderegger Turing Machines, Transition Systems, and Interaction Information & Computation Journal, 2004

• Formalizing indirect interaction – Interaction via persistent, observable changes to the common environment – In contrast to direct interaction (via message passing)

[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

conjecture: direct interaction does not capture all forms of multi-agent behaviors 167

168

Suggest Documents