Computability

Download Report

Transcript Computability

Computability
Review homework. Video. Variations.
Definitions. Enumerators.
Hilbert's Problem. Algorithms. Summary
Homework: Give formal definition of
enumerator
Homework
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.
Video?
• Comments on video specified at last class
– Including reading from paper by Turing????
– Response is required.
Variations
• 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.
• 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…)
Definitions
• 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.
Two situations
• 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….
Caution
• 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.
Aside
• 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…
Claim
• 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!
Claim
• Languages generated by CFG are
decidable.
– Convert grammar to Chomsky normal form
and try out all derivations with not more than
2n-1 steps.
Enumerators
• 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.
Lexical order
• ∊, 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
Decidable?
• 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.
Closure
• 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)?
Closure
• Turing recognizable languages are closed
under union, concatenation, star,
intersection.
– Proofs?
– Note: that complementation is not present.
Theorem
• If A is Turing recognizable and A'
(complement) is Turing recognizable, can
you build a decider for A?
• Answer: yes
Hilbert's problems
• 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.
Hierarchy Bull's eye
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
Regarding non-determinism
• 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.
History
• 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!
Homework
• Develop a formal definition of an
enumerator