Bir Turing makinası dil karar verebilir


11

Let diline karar veren (tanımak istemiyorum) bir Turing makinesi R var mı?

L={MM is a Turing Machine and L(M)=}.

L

burada da çalışması gerektiğini göstermek için kullanılan aynı teknik gibi görünüyor .{AA is a DFA and L(A)=}


1
Ne denedin? Örneğin, boş dil için bir DFA düşünebilir misiniz? DFA'ların çok sınırlı TM'ler olarak düşünülebileceğini unutmayın.
Shaull

1
Elbette. Başlangıç ​​durumundan, giriş bandında ne olduğuna bakılmaksızın "durmayı reddet" durumuna geçin. Bu, dildeki her dizeyi açıkça kabul eder ve dilde olmayan her dizeyi reddeder.
Patrick87

8
@mahdisaeedi: İkincisi tamamen farklı bir soru! Belirli bir TM'nin boş dili tanıyıp tanımadığına karar vermenin karar verilip verilmeyeceğini soruyorsunuz - ve cevap hayır, bkz. Rice Teoremi
Shaull

Yanıtlar:


9

İşaretleyerek, muhtemelen başlangıçtaki durumdan kabul eden bir duruma giden bir yol arayan erişilebilirlik analizi anlamına gelirsiniz. Gerçekten de, böyle bir yol yoksa DFA'nın dili boştur.

Bunun TM'lerde neden başarısız olduğuna dair bir örnekle başlayalım. içinde yok sayar, ancak yazar , kafayı sağa taşır ve durumuna , sonra girişi yok sayar, yazar , kafayı sola taşır ve gider . Gelen okur eğer, , o zaman yazar , hamle baş sağ ve geri döner .q0aq1q1aq2q2aaq1

Olduğunu, makine sadece yazar iki devlet (ve arasında alternatifleri ve ) ve her zaman iki komşu vardır 'kasette s.aq1q2a

Biz bundan bir geçiş eklemek okurken o bir kabul devlet ve duraklamalar gider. bq2b

Bu makinenin dili boş. Aslında, çalışma her zaman döngüsüne yapışır ve asla kabul etme durumuna geçmez. Ancak, kabul eden bir devlet için bir devlet yolu vardır. Peki yanlış giden neydi?q1q2

Sezgisel olarak, bir TM'nin `` durumu '' koşunun devamını açıklayacak kadar bilgilendirici değildir. Tüm bilgilere sahip olmak için TM'nin durumunu, kafanın konumunu ve bandın içeriğini içeren yapılandırmasına ihtiyacınız vardır . Kabul eden bir yapılandırmaya bir yapılandırma yolu ( çalıştırma adı verilir ) bulursanız , dil gerçekten boş değildir ve bu bir iff koşuludur.

Yapılandırma grafiğinde erişilebilirlik analizinin kullanılmasındaki sorun, sonsuz olabilmesidir. Bu yüzden dil boşluğuna karar vermek kararsızdır.

Bu nedenle dil boşluğunun fark edilmesinin nedeni de budur - sonsuz yapılandırma grafiğinde bir BFS gerçekleştirebilirsiniz. Kabul eden bir duruma giden bir yol varsa, sonunda bulacaksınız. Bununla birlikte, sonsuz bir aramada sıkışıp kalabilirsiniz.


Bir TM'nin geçiş fonksiyonu şöyledir: F (QT ) -> (QT * {L, R}). Girişi göz ardı etme işlevini yazabilir misiniz?
msn

Evet. Bu durumda, , F ( q 1 , a ) = F ( q 1 , b ) = ( q 2 , a , L ) , F ( q, 2 , a ) = (F(q0,a)=F(q0,b)=(q1,a,R)F(q1,a)=F(q1,b)=(q2,a,L) ve F ( q, 2 , b ) = ( q bir C c , bir , L ) (ama ikinci) hiçbir zaman ulaşılmamasını. F(q2,a)=(q1,a,R)F(q2,b)=(qacc,a,L)
Shaull

9

,kısmi işlevlerin önemsiz özelliklerininkarar verilemez olmadığınıbelirtenRice Teoreminedeniylekararsızdır.A

  1. Herhangi bir dizeyi kabul etmeyen bir TM var. (Bu doğrudan reddetme durumuna gider).
  2. Her dizeyi kabul eden bir TM vardır. (Hangi doğrudan kabul durumuna gider).

Bu, öğelerinin hesapladığı işlevlerin önemsiz bir özelliğe sahip olduğu anlamına gelir . Bu nedenle A karar verilemez.AA

, sadece DFA'ların devlet geçiş tablosu vb. Gibi özel bir şekilde kodlandığı varsayımı altında karar verilebilir (bir TM'nin Rice Teoremi nedeniyle sadece normal dilleri kabul edip etmediğine karar veremeyiz!). Bu durumda Rice Teoremi uygulanamaz çünkü E'ye karar vermek için bir elementin özel kodlaması gerekir. Bu yüzden sadece kısmi işlevlere karar vermiyoruz.EE

Veya DFA hesaplanabilir - - (Yani belirli bir TM bir DFA olup olmadığına karar, sorun olsaydı söylemek ve bu boş tarafından kabul dil, . Rice'ın Teoremi Bildirimi aracılığıyla undecidable olacağını bu durumda A = E .)EA=E


6

Başka bir ipucu: Durdurma problemini düşürmeyi deneyin .L

(Orijinal ipucu Rice teoremini kullanmaktır, ancak bu durumda doğrudan bir kanıt da oldukça basittir.)


@Yuval_Filmus Bu dilin Turing tarafından bile tanınmadığını söylemek doğru mu?
sashas

1
Ne düşünüyorsun? Talebinizi kanıtlayabilir misiniz? Eğer öyleyse, soruyu sormaya gerek yoktur.
Yuval Filmus

1

Lemma 1 : L kararsız ise L'nin tamamlayıcısı da öyle.

Biz durdurulması sorun, biliyoruz HTM undecidable. Bu nedenle, uygun lemması 1 durdurulması sorun tamamlayıcı, HTMc çok undecidable.

HTM ={M,x M is a TM and M halts on input x }

HTMc ={M,x M is a TM and M loops on input x }

ETM ={M M is a TM and L(M) = }

Varsayalım ETM Karar verilebilen bir. Biz azaltacaktır HTMc için ETM - diğer bir deyişle bir Turing Makinesi inşa etmek nasıl gösterecek MHTMc karar HTMc TM kullanılarak METM karar verir ETM . Bu bize bir çelişki veriyor, çünkü HTMc kararsız olduğunu biliyoruz ve bu yüzden MHTMcvar olamaz. “Azalt” kelimesi, belirli bir sorunu çözmeyi bildiğimiz başka bir soruna dönüştürerek çözmek anlamına gelir. Böylece, HTMc için Turing Makinesi aşağıdaki gibi inşa edilebilir:

MHTMc girişi =”M,x

1. Aşağıdakileri yapan bir TM, M1 için kod oluşturun :

M1 = " w girişindew

1. x üzerinde M simülasyonu yapın .x

2. M durursa kabul et . "

2. Çalışmanın METM ile M1

3. METM kabul ederse kabul edin, aksi halde reddedin. "

TM M1 hiçbir zaman gerçekte simüle edilmediğini anlamak çok önemlidir - bu simülasyon sonsuz bir döngüye girebilir. Tüm yaptığımız M1 için kod oluşturmak .

M1 herhangi bir giriş ile öyle yapılmıştır ki,w kendisine verilen, bu taklit edecekM girişi ilex . Mx üzerinde durabilir veya ilmek yapabilirve bu nedenle iki durum olabilir:

1. M1 tüm girişi kabul w ise M ile durur x . METM , M1L(M1) olarak reddedecektir .

2. Eğer M döngüler x , M1 de döngü, her giriş için olacak w kendisine verilen. Her neyse, METM birfinal bu reddeder ve girişi durdurmak M1 olarak L(M1)= .

Correctness Süresi:METM , her zaman (bizim varsayım) durur,MHTMc , aynı zamanda, her zaman durur. MHTMc ,METM kabul ederse, yaniL(M1)= ,Mx üzerinde dönerse gerçekleşir.
MHTMc reddederMETM , M x üzerinde durursagerçekleşenL(M1) olduğunu reddeder. Bu nedenle, M , H C , T , M karar lH c T M gibi bir çelişki H C , T M undecidable.MxMHTMcHTMcHTMc


Nb:

Let R, redüksiyon olmak HTMc için ETM .

Azaltma şunları sağlar:

i) M,xHTMcR(M,x)ETM

E giriş döngüler x tarafından tanınan dil iff R(M,x) hiçbir kabul

ii) M,xHTMcR(M,x)ETM

M girişi durur x tarafından tanınan dil iff R(M,x) şey kabul


0

Ters ile Korumalı (biz undecidable biliyorum).ATM={M,wM is a Turing Machine which accepts w}

Varlığını varsayalım , karar veren bir TM L RTML

Kullanım sonra kullanabilir , bir TM yapımında S , T , M bir final olup, bir T MRTMSTMATM

girişi üzerinde"E , W , M , bir TM ve kodlama ağırlık bir dizidir:STM=definitionM,wMw

  1. Değiştir dikkate alarak girdi ağırlık yeni şekilde, E (bu çağrı M 1 ) e eşit değildir tüm giriş reddeder ağırlık burada, ağırlık olarak açıklama yerleşiktir. Giriş eşit ise ağırlık , daha sonra E 1 çalışır M ile a ve çıkışlar ne M çıkışlar.MwMM1wwwM1MwM

  2. Çalışma girişi M 1 , ağırlık RTMM1,w

  3. Çıkış s çıkışının tersi . "RTM

İçin Turing makinesi buz çözücü var olduğu varsayımı , bizim için bir decider oluşturmaya olanak sağlar Bir T M , bir çelişki.LATM


Giriş değil (ilave olmadan bir TM w )? Nasıl çalıştırırım R T M üzerinde M 1 , w ? RTMwRTMM1,w
xskxzr

-2

E = {| M bir TM'dir ve L (M) = Φ}. E Turing tanınabilir mi?

E bir dildir, E dilini kabul etmek için bir Turing Makinesi inşa ederiz. E dili için bir Turing EM oluşturduğumuzu varsayalım.

EM, başka bir Turing makinesinin kodlaması girişi olarak sağlanacaktır. Girilen makine M boş bir dili kabul ederse, E dilinin bir üyesi olacaktır, aksi takdirde dilin bir üyesi olmayacaktır.

Bir Turing Machine M'ye sahip olduğumuzu varsayalım, boş bir dili kabul edip etmediğini kontrol etmeliyiz. Turing Machine EM M ve dizeleri eps, a, b, aa, bb, ..... EM, M'nin en azından tek bir giriş için bir son duruma erişip erişemeyeceğini ve en azından tek bir girişi kabul edip etmediğini kontrol edecektir. atılacak ve E dilinde yer almayacak. Şimdi, TM M'nin döngüye girme olasılığına bakın, böylece M çalışmaya devam edecek ve hiçbir şeyi kabul edip edemeyeceğine karar veremedik. Bu nedenle, bu verilen E dili RE DEĞİLDİR.

Not: Bence bu E Dili'nin tamamlayıcısı RE olacaktır.


Ne yazık ki, bu sezgisel argüman bir kanıt oluşturmuyor. E'ye karar vermenin farklı bir yolu olabilir ve bu sizin argümanınız tarafından göz ardı edilmez.
Yuval Filmus

evet doğru, ama açıkladığım şekilde birisi layman dilinde anlayabilir.
Manu Thakur

Bu site katmanlara yönelik değildir. Akademik düzeydeki teorik bilgisayar bilimleri içindir.
Yuval Filmus

2
Yaptığınız tek şey, belirli bir hesaplama tekniğinin neden bu sorunu çözemediğine dair sezgisel bir argüman vermek. Ancak soru, olası bir tekniğin işe yaramadığına dair bir kanıt istiyor.
David Richerby
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.