1 / 5

L HALT = {<M,w> | TM M halts on w}

L HALT = {<M,w> | TM M halts on w}. M A. accept. accept. <M,w>. S. reject. start. M HALT. Acc. reject. OR. reject. S simulates M on input w M HALT will reject those inputs that don’t halt If input does halt, simulation started and result is output

shada
Download Presentation

L HALT = {<M,w> | TM M halts on w}

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. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. LHALT = {<M,w> | TM M halts on w} MA accept accept <M,w> S reject start MHALT Acc. reject OR reject • S simulates M on input w • MHALT will reject those inputs that don’t halt • If input does halt, simulation started and result is output • So, input <M,w> rejected if M rejects w or if M doesn’t halt on w

  2. LHALT Proven Undecidable • The real issue is that MHALT cannot exist • If it did, then we could decide MA • Even if MA could be built, it cannot be decided • That was proven earlier via the diagonalization method • Therefore, contradiction: LHALT is not decidable

  3. L{} = {<M> | L(M) = { } } MA accept <M,w> reject <M’> B M{} reject accept M’ accept w A x (any arbitrary string) M R reject • B constructs M’ as follows • M’ throws x away internally, but appears to accept or reject it depending on how M deals with w • M{} will accept if L(M’) = {} which implies M rejects w • M{} will reject if L(M’) != {} which implies M accepts w • So, L(M’) hinges on how M deals with w

  4. LP = {<M> | L(M) has property P } MA accept <M,w> accept <M’> A MP reject reject M’ w A A M start A x MQ R R • A constructs M’ as follows • MQ is a language known to have property P • So, if M accepts w, it runs x through MQ and L(M’) = L(MQ) • If M rejects w, L(M’) = {} (Note: we will assume without loss of generality that {} does not have property P) • Therefore M’ will have property P if and only if M accepts w

  5. LREG = {<M> | L(M) is regular } MA accept <M,w> accept <M’> T MREG reject reject M’ A A OR w MQ x A R M • T constructs M’ as follows • Establish L(MQ) = 0n1n which, of course, is not regular • If MQ rejects x, then M is run on w • If M accepts w, then M’ accepts everything (so L(M’) is regular) • If M rejects w, L(M’) = 0n1n (i.e. L(M’) is not regular) • Therefore L(M’) is regular if and only if M accepts w start R

More Related