Download presentation
Presentation is loading. Please wait.
Published byChrystal Randall Modified over 6 years ago
1
Formal Languages, Automata and Models of Computation
CDT314 FABER Formal Languages, Automata and Models of Computation Lecture 15-1 Mälardalen University 2012 1
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: The set of even integers is countable Even integers: Correspondence: Positive integers: corresponds to
6
Example: The set of rational numbers is countable Rational numbers:
7
Naive Approach Rational numbers: Correspondence: Positive integers: Doesn’t work: we will never count numbers with nominator 2
8
Better Approach
14
Rational Numbers: Correspondence: Positive Integers:
15
We proved: the set of rational numbers is countable by giving an enumeration procedure
16
Definition Let be a set of strings An enumeration procedure for is a Turing machine that generates any string of in finite number of steps.
17
strings Enumeration Machine for output Finite time:
18
Enumeration Machine Configuration Time 0 Time
19
Time 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 2
24
Produce strings: Length 1 Length 2 Proper Order Length 3
25
Theorem: The set of all Turing Machines is countable. Proof: Any Turing machine is a finite string Encoded with a sequence of 0’s and 1’s. Find an enumeration procedure for the set of Turing Machine strings.
26
Enumeration Procedure:
Repeat 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
27
Uncountable Sets
28
Definition: A set is uncountable if it is not countable
29
Let be an infinite countable set. The powerset of is uncountable.
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 *
Encoding Powerset element *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
Let be a recursively enumerable language
and be the Turing Machine that accepts it. For a string : if then halts in a final state if then 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
Let be a recursive language
and be the Turing Machine that accepts it. For a string : if then halts in a final state. if then 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
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 Enumerates all strings of input alphabet Accepts
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 Enumerates all strings of input alphabet Accepts
56
NAIVE APPROACH Enumeration procedure Repeat: generates a string checks if YES: print to output NO: ignore Problem: If machine may loop forever
57
BETTER APPROACH generates first string executes first step on generates second string executes first step on second step on
58
Generates third string
executes first step on second step on third step on And so on
59
Move 1 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 Machine that accepts Enumerator for Compare
63
Turing machine that accepts
For input string Repeat: Using the enumerator, generate the next string of Compare generated string with If same, accept and exit loop End of proof
64
Question: This is not a membership algorithm. Why? 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
72
Consider the language consists of the 1’s on the diagonal
74
Consider the language consists from of 0’s on the diagonal
76
Theorem: Language is not recursively enumerable.
77
Proof: Assume on the contrary that is recursively enumerable 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
Is recursively enumerable But not recursive There is a Turing Machine that accepts the language The machine doesn’t necessarily halt on any input
89
We will prove that the language
Is recursively enumerable but not recursive.
90
Theorem: The language 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
Non Recursively Enumerable
Similar presentations
© 2025 SlidePlayer.com. Inc.
All rights reserved.