cs 208 computing theory
Download
Skip this Video
Download Presentation
CS 208: Computing Theory

Loading in 2 Seconds...

play fullscreen
1 / 37

CS 208: Computing Theory - PowerPoint PPT Presentation


  • 164 Views
  • Uploaded on

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)

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

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


An Image/Link below is provided (as is) to download presentation

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

CS 208: Computing Theory

Assoc. Prof. Dr. Brahim Hnich

Faculty of Computer Sciences

Izmir University of Economics

motivation
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
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
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}
preliminaries1
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
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 languages1
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 languages2
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 languages3
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 languages4
Examples of Decidable Languages
  • Theorem: Every CFGis a decidable
relationships among classes of languages
Relationships among classes of languages

Context-free

regular

enumerable

decidable

the haling problem
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
  • Halting problem: Does a Turing machine accept a string?
  • ATM = {| M is a Turing machine that accepts string w}
  • Theorem: ATM is undecidable
halting problem1
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
  • 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
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
correspondence1
Correspondence
  • Question: in a crowded room, how can we tell if there are more people than chairs, or more chairs than people?
correspondence2
Correspondence
  • Question: in a crowded room, how can we tell if there are more people than chairs, or more chairs than people?
  • Answer: Establish a correspondence: ask everyone to sit down!
correspondence3
Correspondence
  • Claim: The set of Natural numbers has the same size as the set of even numbers!
correspondence4
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
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
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?
challenge1
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!
challenge2
Challenge
  • Then a countable number of guests arrive, all angrily demanding a room
  • Now What to do?
challenge3
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
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 numbers1
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 numbers2
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 numbers3
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
The Real Numbers
  • Theorem: R, the set of reals is uncountable
  • Cantor introduced the diagonalization method to prove this theorem!
the real numbers1
The Real Numbers
  • Theorem: R, the set of reals is uncountable
  • Proof: By contradiction
    • 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…
diagonalization1
n f(n)
  • 3.143……
  • 55.435….
  • 3456.75…
  • 456.655…
Diagonalization

Proof: By contradiction

  • 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
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 implications1
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
A non-enumerable language
  • Corollory: if L is not decidable, then either L or its compliment is not enumerable

????

enumerable

Co-enumerable

decidable

conclusions
Conclusions

Decidable languages

Halting problem

diagonalization method

undecidable example

ad