CS 208: Computing Theory

1 / 37

# CS 208: Computing Theory - PowerPoint PPT Presentation

CS 208: Computing Theory. Assoc. Prof. Dr. Brahim Hnich Faculty of Computer Sciences Izmir University of Economics. Computability Theory. Decidability. Motivation. Turing machines: a general purpose computer; Formalizes the notion of an algorithm (Church-Turing thesis)

I am the owner, or an agent authorized to act on behalf of the owner, of the copyrighted work described.

## PowerPoint Slideshow about 'CS 208: Computing Theory' - melangell

Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author.While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server.

- - - - - - - - - - - - - - - - - - - - - - - - - - E N D - - - - - - - - - - - - - - - - - - - - - - - - - -
Presentation Transcript

### CS 208: Computing Theory

Assoc. Prof. Dr. Brahim Hnich

Faculty of Computer Sciences

Izmir University of Economics

### Computability Theory

Decidability

Motivation
• Turing machines:
• a general purpose computer;
• Formalizes the notion of an algorithm (Church-Turing thesis)
• We now turn our attention into the power of algorithms (i.e. Turing machines) to solve problems
• Try to understand the limitation of computers
Is studying decidability useful?
• An example of a decidable problem:
• Is a string a member of a context-free language?
• This problem is at the heart of the problem of recognizing and compiling programs in a programming language
Preliminaries
• Acceptance problem: Does DFAB accept input string w?
• For convenience we use languages to represent various computational problems
• So, the acceptance problem can be expressed as a language
• ADFA = {| B is a DFA that accepts input string w}
Preliminaries
• ADFA = {| B is a DFA that accepts input string w}
• The problem of testing whether a DFAB accepts a string w is the same as testing whether is a member of the language ADFA
• Thus, showing that the language is decidable is the same as showing that the computational problem is decidable!
Examples of Decidable Languages
• ADFA = {| B is a DFA that accepts input string w}
• Theorem: ADFA is a decidable language
• Proof idea: Design a TM M that decides ADFA
• How?
• On input
• Simulate B on input w
• If simulation ends in accepting state, accept, otherwise reject
Examples of Decidable Languages
• ANFA = {| B is a NFA that accepts input string w}
• Theorem: ANFA is a decidable language
• Proof idea: Design a TM M that decides ANFA
• How?
• On input
• Convert NFA B into equivalent DFA C
• Run previous TM on input
• If that TM accepts, accept, otherwise reject
Examples of Decidable Languages
• AREX = {| R is a regular expression that generates string w}
• Theorem: AREX is a decidable language
• Proof idea: Design a TM M that decides AREX
• How?
• On input
• Convert R into equivalent NFA C
• Run previous TM on input
• If that TM accepts, accept, otherwise reject
Examples of Decidable Languages
• ACFG = {| G is a CFG that generates string w}
• Theorem: ACFG is a decidable language
• Proof idea: Design a TM M that decides ACFG
• How?
• (Interested students can read the book p. 156)
Examples of Decidable Languages
• Theorem: Every CFGis a decidable
Relationships among classes of languages

Context-free

regular

enumerable

decidable

The Haling Problem
• One of the most philosophically important theorems of the theory of computation
• Computers (and computation) are limited ina very fundamental way
• Common, every-day problem are unsolvable
• Does a program sort an array of integers?
• Both program and specification are precise
• But, automating the verification is undecidable
• No computer program can perform the task of checking the program against the specification!
Halting Problem
• Halting problem: Does a Turing machine accept a string?
• ATM = {| M is a Turing machine that accepts string w}
• Theorem: ATM is undecidable
Halting Problem
• Before proving that ATM is undecidable, note that ATM is enumerable
• How? Design a Turing Machine U that recongnizes ATM
• On input
• Simulate M on w
• If M ever enters its accept state, accept, and if M ever enters its reject state reject
• U is called a universal Turing machine
Diagonalization
• Diagonalization: a very crucial technique that is useful to prove undecidability ATM
• Question: what does it mean to say that two infinite sets are the same size?
• Answered by Georg cantor in 1873
• How? Pair them off!
Correspondence
• Recall a correspondence f: A Bis a bijection:
• Injective
• Surjective
• Question: what does it mean to say that two infinite sets are the same size?
• Answer: A and B are the same size if there is a correspondence from A to B
Correspondence
• Question: in a crowded room, how can we tell if there are more people than chairs, or more chairs than people?
Correspondence
• Question: in a crowded room, how can we tell if there are more people than chairs, or more chairs than people?
Correspondence
• Claim: The set of Natural numbers has the same size as the set of even numbers!
Correspondence
• Claim: The set of Natural numbers has the same size as the set of even numbers!
• Proof: Establish a correspondence
• Let f(i)=2i

Remark: a proper subset of A can be the same size as A!!!!

Countable
• Definition: A set A is countable iff
• Either it is finite, or
• It has the same size as N, the set of natural numbers
• We have just seen that the set of even numbers is countable
• Claim: The set Z of integers is countable
• Proof: Define f:NZ by
• f(i)=i/2 If i is even
• f(i)=-(ceil(i/2) +1) if i is odd
Challenge
• In Heaven, there is a hotel with a countable number of rooms
• One day, the society of Prophets, Oracles, and AI researchers hold a convention that books every room in the hotel
• Then one more guest arrives, angrily demanding a room
• You are the manager. What to do?
Challenge
• Then one more guest arrives, angrily demanding a room
• You are the manager. What to do?
• Answer: Ask the guest in room i to move to room i+1, and put the new comer in room 1!
Challenge
• Then a countable number of guests arrive, all angrily demanding a room
• Now What to do?
Challenge
• Then a countable number of guests arrive, all angrily demanding a room
• Now What to do?
• Answer: Ask the guest in room i to move to room 2i, and put the new comers in odd numbered rooms !!!!
• (Infinity is such an amazing thing!!)
Rational Numbers
• Let Q ={m/n | m and n are natural numbers}
• Theorem: Q is countable
• What is the correspondence between N and Q?
Rational Numbers

……..

1/1

1/2

1/3

1/4

1/5

1/6

1/7

1/8

……..

2/1

2/2

2/3

2/4

2/5

2/6

2/7

2/8

……..

3/1

3/2

3/3

3/4

3/5

3/6

3/7

3/8

……..

4/1

4/2

4/3

4/4

4/5

4/6

4/7

4/8

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

Rational Numbers

……..

1/1

1/2

1/3

1/4

1/5

1/6

1/7

1/8

……..

2/1

2/2

2/3

2/4

2/5

2/6

2/7

2/8

……..

3/1

3/2

3/3

3/4

3/5

3/6

3/7

3/8

……..

4/1

4/2

4/3

4/4

4/5

4/6

4/7

4/8

Enumerate numbers along Northeast and Southwest diagonals,

and skip duplicates

Rational Numbers

……..

1/1

1/2

1/3

1/4

1/5

1/6

1/7

1/8

……..

2/1

2/2

2/3

2/4

2/5

2/6

2/7

2/8

……..

3/1

3/2

3/3

3/4

3/5

3/6

3/7

3/8

……..

4/1

4/2

4/3

4/4

4/5

4/6

4/7

4/8

Does this mean that every infinite set is countable?

The Real Numbers
• Theorem: R, the set of reals is uncountable
• Cantor introduced the diagonalization method to prove this theorem!
The Real Numbers
• Theorem: R, the set of reals is uncountable
• Assume there is a correspondence between N and R
• Write it down
• We show now that there a number x not in the list!
• n f(n)
• 3.143……
• 55.435….
• 3456.75…
• 456.655…
n f(n)
• 3.143……
• 55.435….
• 3456.75…
• 456.655…
Diagonalization

• Pick x between 0 and 1, so non-zero digits follow decimal point
• First fractional digit of f(1) is 1
• Pick first fractional digit of x to be different, say 2
• Second fractional digit of f(2) is 4
• Pick second fractional digit of x to be different, say 6
• And so on ….
• X=0.2487….
• Thus x is not the image of any natural which is a contradiction
• So, R is uncountable!
Important implications
• Previous theorem has an important application to the theory of computation
• It shows that some languages are not decidable!
• Or even Turing machine recognizable
• There are languages that are not enumerable
• The set of Turing machines is countable
• The set of languages is uncountable
Important implications
• Theorem: The halting problem is undecidable
• Proof uses diagonalization technique (see bok those interested)
• Theorem: A language is decidable if and only if it is both Turing-recognizable and co-Turing recognizable
• In other words, a language is decidable if and only if it and its compliment are Turing-recognizable (enumerable)
A non-enumerable language
• Corollory: if L is not decidable, then either L or its compliment is not enumerable

????

enumerable

Co-enumerable

decidable

Conclusions

Decidable languages

Halting problem

diagonalization method

undecidable example