CIS Automata and Formal Languages – Pei Wang

Slides:



Advertisements
Similar presentations
By John E. Hopcroft, Rajeev Motwani and Jeffrey D. Ullman
Advertisements

Lecture 3 Universal TM. Code of a DTM Consider a one-tape DTM M = (Q, Σ, Γ, δ, s). It can be encoded as follows: First, encode each state, each direction,
CS 461 – Nov. 9 Chomsky hierarchy of language classes –Review –Let’s find a language outside the TM world! –Hints: languages and TM are countable, but.
CSCI 4325 / 6339 Theory of Computation Zhixiang Chen Department of Computer Science University of Texas-Pan American.
INHERENT LIMITATIONS OF COMPUTER PROGRAMS CSci 4011.
1 Undecidability Andreas Klappenecker [based on slides by Prof. Welch]
Fall 2004COMP 3351 Undecidable problems for Recursively enumerable languages continued…
Prof. Busch - LSU1 Decidable Languages. Prof. Busch - LSU2 Recall that: A language is Turing-Acceptable if there is a Turing machine that accepts Also.
CPSC 411, Fall 2008: Set 12 1 CPSC 411 Design and Analysis of Algorithms Set 12: Undecidability Prof. Jennifer Welch Fall 2008.
Costas Busch - RPI1 Undecidable problems for Recursively enumerable languages continued…
1 Undecidability Andreas Klappenecker [based on slides by Prof. Welch]
Decidable and undecidable problems deciding regular languages and CFL’s Undecidable problems.
CHAPTER 4 Decidability Contents Decidable Languages
Fall 2004COMP 3351 Reducibility. Fall 2004COMP 3352 Problem is reduced to problem If we can solve problem then we can solve problem.
1 Decidability continued. 2 Undecidable Problems Halting Problem: Does machine halt on input ? State-entry Problem: Does machine enter state halt on input.
Automata & Formal Languages, Feodor F. Dragan, Kent State University 1 CHAPTER 5 Reducibility Contents Undecidable Problems from Language Theory.
Courtesy Costas Busch - RPI1 Reducibility. Courtesy Costas Busch - RPI2 Problem is reduced to problem If we can solve problem then we can solve problem.
1 CSE 417: Algorithms and Computational Complexity Winter 2001 Lecture 18 Instructor: Paul Beame.
CS21 Decidability and Tractability
1 Reducibility. 2 Problem is reduced to problem If we can solve problem then we can solve problem.
Decidability A decision problem is a problem with a YES/NO answer. We have seen decision problems for - regular languages: - context free languages: [Sections.
Review Byron Gao. Overview Theory of computation: central areas: Automata, Computability, Complexity Computability: Is the problem solvable? –solvable.
The Halting Problem – Undecidable Languages Lecture 31 Section 4.2 Wed, Oct 31, 2007.
1 Undecidability Reading: Chapter 8 & 9. 2 Decidability vs. Undecidability There are two types of TMs (based on halting): (Recursive) TMs that always.
1 1 CDT314 FABER Formal Languages, Automata and Models of Computation Lecture 15-1 Mälardalen University 2012.
CS 3813: Introduction to Formal Languages and Automata Chapter 12 Limits of Algorithmic Computation These class notes are based on material from our textbook,
1 Turing’s Thesis. 2 Turing’s thesis: Any computation carried out by mechanical means can be performed by a Turing Machine (1930)
 2005 SDU Lecture13 Reducibility — A methodology for proving un- decidability.
1Computer Sciences Department. Book: INTRODUCTION TO THE THEORY OF COMPUTATION, SECOND EDITION, by: MICHAEL SIPSER Reference 3Computer Sciences Department.
D E C I D A B I L I T Y 1. 2 Objectives To investigate the power of algorithms to solve problems. To explore the limits of algorithmic solvability. To.
CS 461 – Nov. 7 Decidability concepts –Countable = can number the elements  –Uncountable = numbering scheme impossible  –A TM undecidable –Language classes.
Donghyun (David) Kim Department of Mathematics and Computer Science North Carolina Central University 1 Chapter 4 Decidability Some slides are in courtesy.
1 Undecidability Andreas Klappenecker [based on slides by Prof. Welch]
1 Chapter 9 Undecidability  Turing Machines Coded as Binary Strings  Universal Turing machine  Diagonalizing over Turing Machines  Problems as Languages.
The Church-Turing Thesis Chapter Are We Done? FSM  PDA  Turing machine Is this the end of the line? There are still problems we cannot solve:
1 Recursively Enumerable and Recursive Languages.
CSC 3130: Automata theory and formal languages Andrej Bogdanov The Chinese University of Hong Kong Undecidable.
Recursively Enumerable and Recursive Languages. Definition: A language is recursively enumerable if some Turing machine accepts it.
The Acceptance Problem for TMs
Recursively Enumerable and Recursive Languages
CIS Automata and Formal Languages – Pei Wang
CSCI 2670 Introduction to Theory of Computing
Busch Complexity Lectures: Reductions
Linear Bounded Automata LBAs
FORMAL LANGUAGES AND AUTOMATA THEORY
CSCI 2670 Introduction to Theory of Computing
Reductions Costas Busch - LSU.
Automata, Grammars and Languages
MCC 2093 Advanced Theoretical Computer Science
LIMITS OF ALGORITHMIC COMPUTATION
Andreas Klappenecker [based on slides by Prof. Welch]
CSCE 411 Design and Analysis of Algorithms
Decidable Languages Costas Busch - LSU.
Decidability Turing Machines Coded as Binary Strings
Decidability and Undecidability
Decidability Turing Machines Coded as Binary Strings
Chapter 9 Undecidability
CS21 Decidability and Tractability
Proposed in Turing’s 1936 paper
Formal Languages, Automata and Models of Computation
CS21 Decidability and Tractability
Instructor: Aaron Roth
Subject Name: FORMAL LANGUAGES AND AUTOMATA THEORY
Decidability continued….
Cpt S 317: Spring 2009 Reading: Chapter 8 & 9
Instructor: Aaron Roth
Instructor: Aaron Roth
More Undecidable Problems
Sub: Theoretical Foundations of Computer Sciences
CIS Automata and Formal Languages – Pei Wang
Presentation transcript:

CIS 5513 - Automata and Formal Languages – Pei Wang 9. Undecidability CIS 5513 - Automata and Formal Languages – Pei Wang

What can a computer do? What language can be defined by any computational device whatsoever? “… recognizing the strings in a language is a formal way of expressing any problem, and solving a problem is a reasonable surrogate for what it is that computers do.”  textbook page 315

Problems and languages (review) In mathematics and computer science, a “problem” is often defined as a function from input to output In principle, a “function” problem can be converted into a “decision” problem that only has “yes/no” answers So to solve a problem means to decide whether a given string belongs to a language

Decidable problems A problem is decidable if and only if there is an algorithm that always tells correctly whether an instance of the problem has answer “yes” or “no”; If no such algorithm exists, the problem is undecidable Decidability corresponds to a universal proposition on problem instances, while undecidability to an existential proposition

Decidability and computability A function is computable if and only if there is an algorithm (or TM) that computes the output of the function with any valid input; If no such algorithm exists, the function is uncomputable The computability of a function problem can be converted to the decidability of a corresponding decision problem

Recursive enumerability A language is recursively enumerable (RE) if its sentences are accepted by a TM A language L is recursive if a TM not only accepts its sentences, but also rejects its non- sentences in finite steps, that is, both L and its complement are RE, and L is decidable If a language L is not recursive, then it is undecidable

Reduction and decidability A problem P1 is reducible to a problem P2 if an algorithm for solving problem P2 could also be used to solve problem P1 “P1 is reducible to a problem P2” means P1 corresponds to a special type of P2. In this case, if P2 is decidable, so is P1; if P1 is undecidable, so is P2 A problem’s undecidability is usually proved by reducing a known undecidable problem to it

Undecidable problems A problem is undecidable if there cannot be any algorithm for it (with guaranteed halting). It is different from a problem for which no algorithm has been found Since the algorithms (TMs) are countable, while the problems (languages) are uncountable, there must be undecidable problems Countability and Cantor's diagonal argument

A binary word as a TM Every TM can be coded as a finite binary string Every finite binary string can be interpreted as a TM according to the above coding method, or as a default TM that accepts { } All finite binary strings can be enumerated in a table, in which each entry corresponds to (1) a word, (2) a TM, and (3) a RE language All TMs are in this table

A language that is not RE In the (infinitely long) table of {0, 1}*, for every index i, word wi can be interpreted as a TM Mi Define Ld = {wi | wi is not in L(Mi)} If there is a j such that Ld = L(Mj) Then wj is in L(Mj)  wj is in Ld  wj is not in L(Mj) So Ld cannot be in the table and cannot be RE

A RE language that is not recursive The universal language Lu = {(M, w) | w is in L(M)} is RE, as it can be accepted by the universal TM U, which simulates M’s reaction to w Lu is not recursive, otherwise its complement Luc would be recursive, too, but Ld can be reduced to Luc by mapping its element w into (w, w) Membership of a RE language is undecidable

Undecidable problems of RE Every nontrivial (i.e., neither none nor all) property of RE languages is undecidable, e.g. Whether a RE language is empty Whether a RE language is finite Whether a RE language is regular Whether a RE language is context-free Proof: Lu can be reduced to each of them Whether a CFG is ambiguous is undecidable, too

The halting problem If all problems are decidable, then there is a program P(x, y) that can judge whether any program x halts on any input y In that case another program Q(x) can be built to halt if and only if P(x, x) returns No However, Q(Q) halt  P(Q, Q) returns No  Q(Q) does not halt Therefore, no such a P(x, y) can exist

Language hierarchy with examples Regular: {0*1*} Context-free: {0n1n} Recursive (decidable): {0n1n2n} Recursively Enumerable: Lu = {(M, w) | w is in L(M)} Non-RE: Luc = {(M, w) | w is not in L(M)}

Motivation and implication Hilbert’s program: to find axioms for all mathematics, and algorithms to decide the truth-value of any mathematical statement Gödel's incompleteness theorem: no consistent system of axioms can prove all truths about the relations of the natural numbers Turing's undecidability theorem: no general algorithm can solve the halting problem for all possible program-input pairs

Self-reference with negation Liar paradox Cantor's diagonal argument Russell's paradox Gödel's incompleteness theorem Turing’s halting problem For a general discussion, see Gödel, Escher, Bach: An Eternal Golden Braid