- 135 Views
- Uploaded on
- Presentation posted in: General

Computability

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 - - - - - - - - - - - - - - - - - - - - - - - - - -

Computability

Review homework. Video. Variations. Definitions. Enumerators.

Hilbert's Problem. Algorithms. Summary

Homework: Give formal definition of enumerator

Describe TMs to recognize

- {ww | w a string in {0,1}* }
- {0n1n | n>=0}
- {anbncn | n >= 0}
- {0p | p = 2n for n>=0}
For each compare to what is allowed and what is not allowed (available) in FSM or PDA.

- Comments on video specified at last class
- Including reading from paper by Turing????
- Response is required.

- Multiple tape
- Every multiple tape TM has a single-tape TM that accepts the same language
- Add new symbol, say #, to delimit the multiple tapes.

- Every multiple tape TM has a single-tape TM that accepts the same language
- Non-deterministic: have transition function go to sets of possibilities: multiple branches
- Every nondeterministic TM has an equivalent deterministic TM
- Use 3 tape machine! Simulate the possibilities in a breadth first (advance 1 step for each…)

- Every nondeterministic TM has an equivalent deterministic TM

- A language is Turing-recognizable if a TM recognizes it!
- If the TM has input a string in the language, the TM halts in an accepting state.
- If the TM has input a string not in the language, the TM halts in a rejecting state OR keeps going.
- We now would say loops though that wasn't term originally.

- A TM is decidable if it always halts.
- A language is Turing-decidable (simplified to just say decidable) if a TM exists that decides it.

- Deciders always say yes or no
- But some languages have (only) a TM that says yes, sooner or later, and may not say no all the time.
- You don't know….

- Sloppy language: TM that is a recognizer does not stop if the answer is no.
- Deciders ARE recognizers and they stop by definition.
- There are TMs that stop at yes and stop at no some of the time, but not all the time.

- This situation is inevitable given that the TM definition allows for scanning back and forth and writing on the tape.
- This wasn't possible for FSM
- Machines either went to the end of the input with either an accepting or non-accepting state

- What about Context-Free languages?
- Seems to be the case: CFG or PDA make progress…

- Given a grammar G in Chomsky normal form: all rules A BC (B, C not start symbol), or A a. Claim: if G has derivation for w, length of w is n, then derivation is not more than 2n-1 steps.
- Informal proof: If w is empty, then must be S ∊. So say n>0. Use induction!

- Languages generated by CFG are decidable.
- Convert grammar to Chomsky normal form and try out all derivations with not more than 2n-1 steps.

- Variation of TM: this TM-like machine prints out all the strings in a given language.
- A TM is Turing-recognizable if and only if some enumerator enumerates it.
- If we have such a machine (see homework) E, we can run it and compare each output to a string w. If w equals the output, say this machine accepts w.
- Say there is a TM. Generate strings from the finite alphabet starting with empty string, then strings of length 1, then 2, etc. Run the TM on each string. Whenever it accepts, print out this string.

- ∊, 0, 1, 00, 01, 10, 11, etc.
- Which of the following lists are in lexical order?
- 1, 11, 111, 1111……
- 0, 10, 111, 010, …..
- 0, 10, 111, 1011, ….
- You define a list in lexical order
- You define a list not in lexical order

- For every decidable TM, there is an enumerator that prints the strings in the language in lexical order
- For every enumerator that prints out the strings in lexical order, there is a decidable TM.

- Decidable languages are closed under union, concatenation, star, intersection AND complementation.
- Proofs? Think how to build the TM…
- Complementation (Sipser uses this, but I'm not sure if it is a word)?

- Turing recognizable languages are closed under union, concatenation, star, intersection.
- Proofs?
- Note: that complementation is not present.

- If A is Turing recognizable and A' (complement) is Turing recognizable, can you build a decider for A?
- Answer: yes

- 1900 lecture giving challenges
- Possible presentation topic: select and talk about another problem on list.
- 10th problem: is there a finite process (algorithm) to determine if a given polynomial has an integral root.
- Turing (Church, Post) defined what is meant by a process.

Each is contained in and strictly smaller than next:

FSM NDFSM regular expressions

(deterministic push down automaton)

Push Down Automation Context Free Grammars

Turing decidable nondeterministic TM decidable

Turing recognizable nondeterministic TM recognizable

- As with other variations, such as size of alphabet, the deterministic (standard) TM that simulates a non-deterministic TM will have more states.
- Recall the FSM case.

- The machines developed in the proofs of equivalence will have more states, longer use of tape, etc., than any individual case.

- 1970: Yuri Matijasevic (based on work by Martin Davis, Hilary Putnam, Julia Robinson) showed that no such process/algorithm exists.
- can't be done!
Formally,

D = {p | p is a polynomial with an integral root}

D is not decidable. It is Turing-recognizable.

D1 = {p|p is polynomial in one variable with an integral root}

D is decidable because it is possible to set up bounds for possible roots and test all within the bounds.

Presentation topic possibility!

- can't be done!

- Develop a formal definition of an enumerator