1 1 CDT314 FABER Formal Languages, Automata and Models of Computation Lecture 15-1 Mälardalen University 2012.

Slides:



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

Fall 2006Costas Busch - RPI1 A Universal Turing Machine.
Fall 2006Costas Busch - RPI1 Decidable Languages.
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.
1 COMP 382: Reasoning about algorithms Unit 9: Undecidability [Slides adapted from Amos Israeli’s]
1 Undecidability Andreas Klappenecker [based on slides by Prof. Welch]
Introduction to Computability Theory
Prof. Busch - LSU1 Decidable Languages. Prof. Busch - LSU2 Recall that: A language is Turing-Acceptable if there is a Turing machine that accepts Also.
Courtesy Costas Busch - RPI1 A Universal Turing Machine.
CPSC 411, Fall 2008: Set 12 1 CPSC 411 Design and Analysis of Algorithms Set 12: Undecidability Prof. Jennifer Welch Fall 2008.
1 Linear Bounded Automata LBAs. 2 Linear Bounded Automata are like Turing Machines with a restriction: The working space of the tape is the space of the.
Fall 2004COMP 3351 Recursively Enumerable and Recursive Languages.
Fall 2003Costas Busch - RPI1 Decidability. Fall 2003Costas Busch - RPI2 Recall: A language is decidable (recursive), if there is a Turing machine (decider)
1 Undecidability Andreas Klappenecker [based on slides by Prof. Welch]
Recursively Enumerable and Recursive Languages
1 The Chomsky Hierarchy. 2 Unrestricted Grammars: Rules have form String of variables and terminals String of variables and terminals.
Decidable and undecidable problems deciding regular languages and CFL’s Undecidable problems.
1 Uncountable Sets continued Theorem: Let be an infinite countable set. The powerset of is uncountable.
Fall 2004COMP 3351 The Chomsky Hierarchy. Fall 2004COMP 3352 Non-recursively enumerable Recursively-enumerable Recursive Context-sensitive Context-free.
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.
Linear Bounded Automata LBAs
1 Decidability continued. 2 Undecidable Problems Halting Problem: Does machine halt on input ? State-entry Problem: Does machine enter state halt on input.
Fall 2005Costas Busch - RPI1 Recursively Enumerable and Recursive Languages.
Fall 2004COMP 3351 A Universal Turing Machine. Fall 2004COMP 3352 Turing Machines are “hardwired” they execute only one program A limitation of Turing.
Courtesy Costas Busch - RPI1 Reducibility. Courtesy Costas Busch - RPI2 Problem is reduced to problem If we can solve problem then we can solve problem.
January 28, 2015CS21 Lecture 101 CS21 Decidability and Tractability Lecture 10 January 28, 2015.
CS21 Decidability and Tractability
Fall 2006Costas Busch - RPI1 Undecidable Problems (unsolvable problems)
Prof. Busch - LSU1 Undecidable Problems (unsolvable problems)
1 Introduction to Computability Theory Lecture11: The Halting Problem Prof. Amos Israeli.
1 Reducibility. 2 Problem is reduced to problem If we can solve problem then we can solve problem.
The Halting Problem – Undecidable Languages Lecture 31 Section 4.2 Wed, Oct 31, 2007.
Basic Structures: Sets, Functions, Sequences, and Sums CSC-2259 Discrete Structures Konstantin Busch - LSU1.
A Universal Turing Machine
1 Linear Bounded Automata LBAs. 2 Linear Bounded Automata (LBAs) are the same as Turing Machines with one difference: The input string tape space is the.
1 Turing’s Thesis. 2 Turing’s thesis: Any computation carried out by mechanical means can be performed by a Turing Machine (1930)
CS 461 – Nov. 7 Decidability concepts –Countable = can number the elements  –Uncountable = numbering scheme impossible  –A TM undecidable –Language classes.
Recursively Enumerable and Recursive Languages
Donghyun (David) Kim Department of Mathematics and Computer Science North Carolina Central University 1 Chapter 4 Decidability Some slides are in courtesy.
Lecture 24UofH - COSC Dr. Verma 1 COSC 3340: Introduction to Theory of Computation University of Houston Dr. Verma Lecture 24.
1 Undecidability Andreas Klappenecker [based on slides by Prof. Welch]
1 CD5560 FABER Formal Languages, Automata and Models of Computation Lecture 12 Mälardalen University 2007.
1 The Chomsky Hierarchy. 2 Unrestricted Grammars: Productions String of variables and terminals String of variables and terminals.
Section 2.5. Cardinality Definition: A set that is either finite or has the same cardinality as the set of positive integers (Z + ) is called countable.
FORMAL LANGUAGES, AUTOMATA, AND COMPUTABILITY * Read chapter 4 of the book for next time * Lecture9x.ppt.
Costas Busch - RPI1 Decidability. Costas Busch - RPI2 Another famous undecidable problem: The halting problem.
1 Recursively Enumerable and Recursive Languages.
Recursively Enumerable and Recursive Languages. Definition: A language is recursively enumerable if some Turing machine accepts it.
1 A Universal Turing Machine. 2 Turing Machines are “hardwired” they execute only one program A limitation of Turing Machines: Real Computers are re-programmable.
Fall 2006Costas Busch - RPI1 RE languages and Enumerators.
The Acceptance Problem for TMs
A Universal Turing Machine
CS 461 – Nov. 2 Sets Prepare for ATM finite vs. infinite Infinite sets
Recursively Enumerable and Recursive Languages
Busch Complexity Lectures: Reductions
Linear Bounded Automata LBAs
Undecidable Problems Costas Busch - LSU.
Lecture12 The Halting Problem
Busch Complexity Lectures: Undecidable Problems (unsolvable problems)
Turing acceptable languages and Enumerators
Decidable Languages Costas Busch - LSU.
Elementary Questions about Regular Languages
Turing acceptable languages and Enumerators
Formal Languages, Automata and Models of Computation
Recall last lecture and Nondeterministic TMs
CS21 Decidability and Tractability
Instructor: Aaron Roth
Turing Machines Everything is an Integer
Presentation transcript:

1 1 CDT314 FABER Formal Languages, Automata and Models of Computation Lecture 15-1 Mälardalen University 2012

2 Countable Sets Based on course materials by Prof. Costas Busch

3 Infinite sets are either: Countable Uncountable

4 Countable set: There is a one to one correspondence between elements of the set and positive integers

5 Example: Even integers: The set of even integers is countable Positive integers: Correspondence: corresponds to

6 Example:The set of rational numbers is countable Rational numbers:

7 Naive Approach Rational numbers: Positive integers: Correspondence: Doesn’t work: we will never count numbers with nominator 2

8 Better Approach

9

10

11

12

13

14 Rational Numbers: Correspondence: Positive Integers:

15 We proved: the set of rational numbers is countable by giving an enumeration procedure

16 Definition An enumeration procedure for is a Turing machine that generates any string of in finite number of steps. Let be a set of strings

17 Enumeration Machine for Finite time: strings output

18 Enumeration Machine Configuration Time 0 Time

19 Time

20 A set is countable if there is an enumeration procedure for it

21 Example: The set of all strings is countable. We will describe the enumeration procedure.

22 Naive procedure: Produce the strings in lexicographic order: Doesn’t work! Strings starting with will never be produced.

23 Better procedure: Proper Order Produce all strings of length 1 Produce all strings of length

24 Produce strings: Length 2 Length 3 Length 1 Proper Order

25 Theorem: The set of all Turing Machines is countable. Proof: Find an enumeration procedure for the set of Turing Machine strings. Any Turing machine is a finite string Encoded with a sequence of 0’s and 1’s.

26 1. Generate the next string of 0’s and 1’s in proper order 2. Check if the string defines a Turing Machine if YES: print string on output if NO: ignore string Enumeration Procedure: Repeat

27 Uncountable Sets

28 A set is uncountable if it is not countable Definition:

29 Theorem: Let be an infinite countable set. The powerset of is uncountable. The power set of natural numbers has the same cardinality as the set of real numbers. (Using the Cantor–Bernstein–Schröder theorem, it is easy to prove that there exists a bijection between the set of reals and the power set of the natural numbers).

30 Proof: Since is countable, we can write Element of

31 Elements of the powerset have the form:

32 We encode each element of the power set with a string of 0’s and 1’s * Powerset element Encoding *Cantor’s diagonal argument

33 Let’s assume the contrary, that the powerset is countable. We can enumerate the elements of the powerset.

34 Powerset element Encoding

35 Take the powerset element whose bits are the complements of the diagonal.

36 New element: (Diagonal complement)

37 The new element must be some This is impossible: The i-th bit must be the complement of itself.

38 We have contradiction! Therefore the powerset is uncountable.

39 Theorem: Let be an infinite countable set. The powerset of is uncountable.

40 Application: Languages Alphabet: Set of Strings: infinite and countable Powerset: all languages uncountable

41 Languages: uncountable Turing machines: countable There are infinitely many more languages than Turing machines!

42 There are some languages not accepted by Turing Machines. These languages cannot be described by algorithms.

43 Recursively Enumerable Languages and Recursive Languages

44 Definition: A language is recursively enumerable if some Turing machine accepts it.

45 For a string : Let be a recursively enumerable language and be the Turing Machine that accepts it. ifthen halts in a final state ifthen halts in some state or loops forever

46 Definition: A language is recursive if some Turing machine accepts it and halts on any input string. In other words: A language is recursive if there is a membership algorithm for it

47 For a string : Let be a recursive language and be the Turing Machine that accepts it. ifthen halts in a final state. ifthen halts in a non-final state.

48 We will prove: 1. There is a specific language which is not recursively enumerable. 2. There is a specific language which is recursively enumerable but not recursive.

49 Recursive Recursively Enumerable Non Recursively Enumerable

50 First we prove: If a language is recursive then there is an enumeration procedure for it. A language is recursively enumerable if and only if there is an enumeration procedure for it.

51 Theorem: if a language is recursive then there is an enumeration procedure for it.

52 Proof: Enumeration Machine Accepts Enumerates all strings of input alphabet

53 Enumeration procedure Repeat: generates a string checks if YES: print to output NO: ignore End of proof

54 Theorem: if language is recursively enumerable then there is an enumeration procedure for it.

55 Proof: Enumeration Machine Accepts Enumerates all strings of input alphabet

56 Enumeration procedure Repeat: generates a string checks if YES: print to output NO: ignore NAIVE APPROACH Problem: If machine may loop forever

57 executes first step on BETTER APPROACH generates second string executes first step on second step on generates first string

58 Generates third string executes first step on second step on third step on And so on

59 1 Move 2 3

60 If for string machine halts in a final state then it prints on the output. End of proof

61 Theorem: If for language there is an enumeration procedure then is recursively enumerable.

62 Proof: Input Tape Enumerator for Compare Machine that accepts

63 Turing machine that accepts Repeat: Using the enumerator, generate the next string of For input string Compare generated string with If same, accept and exit loop End of proof

64 This is not a membership algorithm. Why? Question: Answer: The enumeration procedure may not produce strings in proper order

65 We have shown: A language is recursively enumerable if and only if there is an enumeration procedure for it.

66 A Language which is not Recursively Enumerable

67 We search for a language that is not Recursively Enumerable. This language is not accepted by any Turing Machine.

68 Consider alphabet Strings:

69 Consider Turing Machines that accept languages over alphabet They are countable:

70 Example language accepted by Alternative representation

71

72 Consider the language consists of the 1’s on the diagonal

73

74 Consider the language consists from of 0’s on the diagonal

75

76 Theorem: Language is not recursively enumerable.

77 Proof: is recursively enumerable Assume on the contrary that There must exist some machine that accepts

78 Question:

79 Answer:

80 Question:

81 Answer:

82 Question:

83 Answer:

84 Similarly: for any Because either: or

85 Therefore the machine cannot exist CONTRADICTION!!! The language is not recursively enumerable. End of proof

86 Observation: There is no algorithm that describes (otherwise it would be accepted by a Turing Machine)

87 A Language which is Recursively Enumerable and not Recursive

88 We want to find a language which There is a Turing Machine that accepts the language The machine doesn’t necessarily halt on any input Is recursively enumerable But not recursive

89 We will prove that the language Is recursively enumerable but not recursive.

90 The language Theorem: is recursively enumerable

91 Proof: We will give a Turing Machine that accepts

92 Turing Machine that accepts For any input string Write Find Turing machine (using the enumeration procedure for Turing Machines) Simulate on input If accepts, then accept End of proof

93 Observation: Recursively enumerable Not recursively enumerable (Thus, not recursive)

94 Theorem: The language is not recursive.

95 Proof: Assume on the contrary that is recursive. Then is recursive: Take the Turing Machine that accepts halts on any input If accepts then reject If rejects then accept

96 Therefore: recursive But we know: not recursively enumerable thus, not recursive CONTRADICTION! Therefore, is not recursive End of proof

97 Recursive Recursively Enumerable Non Recursively Enumerable