The Church-Turing Thesis Jos Baeten Centrum Wiskunde & Informatica, Amsterdam, and LoCo, ILLC Midsummernight Colloquium, Amsterdam June 17, 2015
Alonzo Church and Alan Turing 1903 - 1995 1912 - 1954
Informatics = Information + Computation Computation: Church-Turing computation theory (1936) � Church defines computable function by means of λ -calculus; non-computability � Turing defines computable function by means of machine model; non-computability of halting problem
Computation Theory � A Turing machine is an adequate abstract model of a computer � Church-Turing thesis (strong): anything that can be done with a computer, now or in the future, can also be done with a Turing machine, given enough time and memory.
Turing Machine Input Output Automaton Tape
Turing machine for unary addition [ | / | ] R [ | / | ] R [+ / | ] R [ � / � ] L [ | / � ] L || + ||
Turing machine for unary addition [ | / | ] R [ | / | ] R [+ / | ] R [ � / � ] L [ | / � ] L || + || || + ||
Turing machine for unary addition [ | / | ] R [ | / | ] R [+ / | ] R [ � / � ] L [ | / � ] L || + || || + || || + ||
Turing machine for unary addition [ | / | ] R [ | / | ] R [+ / | ] R [ � / � ] L [ | / � ] L || + || || + || || + || |||||
Turing machine for unary addition [ | / | ] R [ | / | ] R [+ / | ] R [ � / � ] L [ | / � ] L || + || || + || || + || ||||| ||||| |||||
Turing machine for unary addition [ | / | ] R [ | / | ] R [+ / | ] R [ � / � ] L [ | / � ] L || + || || + || || + || ||||| ||||| ||||| |||||
Turing machine for unary addition [ | / | ] R [ | / | ] R [+ / | ] R [ � / � ] L [ | / � ] L || + || || + || || + || ||||| ||||| ||||| ||||| ||||
What is a computation? � Turing machine gives a function transforming input string on tape to output string � Models a computer of the ’70s (program, CPU, RAM) � Criticism possible on suitability as a theoretical model of a modern-day computer
Reactive Systems “A Turing machine cannot drive a car, but a real computer can!”
Controversy 20 years ago Peter Wegner: Church-Turing thesis is wrong! Turing machine can be fixed in several ways. Most elegantly: it denotes function on streams
Interaction User interaction: not just initial, final word on the tape. Make interaction between control and memory explicit. . . . a theory of concurrency and interaction requires a new conceptual framework, not just a refinement of what we find natural for sequential computing. Robin Milner, Turing Award Lecture, 1993
Concurrency � Transition systems � Bisimulation (Park, Van Benthem) � Structural operational semantics (Plotkin) � Process algebra (Milner, Hoare, Bergstra, Klop) � Comparative concurrency semantics (Van Glabbeek)
Executability Theory Computability + Concurrency Real integration, aim is not to increase the computational power of the traditional model nor to investigate the extra expressivity of interaction
Reactive Turing Machine i [ � / 1] R o [1 / � ] L τ [ � / � ] L τ [ � / � ] R i i i i τ τ τ τ τ o o o
The stack o ! ∅ [ � / � ] L o ! n [ n/ � ] L i ?0[ � / � ] R i ?0[ n/n ] R τ [ � / � ] L τ [ � / 0] R i ?1[ � / � ] R i ?1[ n/n ] R τ [ � / � ] L τ [ � / 1] R
Behavior of the stack o ! ∅ o !0 i ?1 i ?0 o !1 o !0 i ?1 o !0 i ?1 i ?0 o !1 i ?0 o !1
Executable process � An executable process is a branching bisimilarity class of transition systems containing one of an RTM
Results � Transition system defined by an RTM is computable � Every finitely branching computable transition system is executable � The parallel composition of two executable transition systems is executable � There is a universal RTM � There is a good grammar for executable processes, that makes interaction between control and memory explicit
Robustness Bas Luttik, Fei Yang: Executability characterized by a simple variant of the π -calculus (with replication) up to branching bisimulation.
Conclusion � Executability = Computability + Concurrency � Unified framework for computation and interaction � Upcoming course in Master of Logic: Computability and Interaction
Recommend
More recommend