Download Day36-ClassNotes - Rose

Survey
yes no Was this document useful for you?
   Thank you for your participation!

* Your assessment is very important for improving the workof artificial intelligence, which forms the content of this project

Document related concepts

Halting problem wikipedia , lookup

Transcript
MA/CSSE 474 Day 36 Announcements and Summary
1) Revised Course Average results (after fixing an error in my gradebook entries). Looks much better!
Mean %
A
B+
B
C+
Exam 3
74
6
8
12
9
Course average
83
18
12
8
3
2) HW15 Feb 18 (nothing to turn in). Available now. HW16 Feb 21 (nothing to turn in)
3) Final Exam Wednesday Feb 26, 8:00 AM.
C
6
5
F
6
0
Main ideas from today
1) Review from recent sessions:
a) Language L1 (over alphabet 1) is reducible to language L2 (over alphabet 2) and we write L1  L2 if
there is a Turing-computable function f : 1*  2* such that x  1*, x  L1 if and only if f(x)  L2
b) Using reduction: If P1 is reducible to P2,
Another way to say it: reduction R from language L1 to
i) If P2 is decidable, so is P1.
language L2 is one or more Turing machines such that If there
ii) If P1 is not decidable, neither is P2.
exists a Turing machine Oracle that decides (or semidecides) L2,
c) A framework for using reduction to show
then the TMs in R can be composed with Oracle to build a
undecidability.
deciding (or semideciding) TM for L1.
To show language L2 undecidable:
i) Choose a language L1 that is already known not to be in D, and show that L1 can be reduced to L2.
(1) Define the reduction R and show that it can be implemented by a TM.
ii) Describe the composition C of R with Oracle (the purported TM that decides L1).
(1) Show that C does correctly decide L1 iff Oracle exists. We do this by showing that C is correct. I.e.,
If x  L1, then C(x) accepts, and If x  L1, then C(x) rejects.
d) Important elements of a reduction proof
i) A clear declaration of the reduction “from” and “to” languages.
ii) A clear description of R.
iii) If R is doing anything nontrivial, argue that it can be implemented as a TM.
iv) Note that machine diagrams are not necessary or even sufficient in these proofs. Use them as thought
devices, where needed.
v) Run through the logic that demonstrates how the “from” language is being decided by the composition of R
and Oracle. You must do both accepting and rejecting cases.
vi) Declare that the reduction proves that your “to” language is not in D
e)
HANY = {<M> : there exists at least one string on which TM M halts} is not in D
i) Two different reductions
2) Undecidable problems and languages:
The Problem View
The Language View
Does TM M halt on w?
H = {<M, w> : M halts on w}
Does TM M not halt on w?
H = {<M, w> : M does not halt on w}
Does TM M halt on the empty tape?
H = {<M> : M halts on }
Is there any string on which TM M halts?
HANY = {<M> : there exists at least one string on which TM M halts }
Does TM M accept all strings?
AALL = {<M> : L(M) = *}
Do TMs Ma and Mb accept the same languages?
EqTMs = {<Ma, Mb> : L(Ma) = L(Mb)}
Is the language that TM M accepts regular?
TMreg = {<M>:L(M) is regular}
3) The membership problem: A = {<M, w> : w  L(M)}.
4) Practice: Show that these languages are not in D.
a) AANY = {<M> : TM M accepts at least one string}
b) AALL = {<M> : L(M) = *}
c) REJ = {<M, w> : Turing machine M rejects w}
d) Note: Each can be done using a reduction from H.
5) EqTMs ={<Ma, Mb> : L(Ma)=L(Mb)}
a) Reduction form AANY
b) Reduction form AALL