Ne yazık ki, sorununuz çözülemez. Tökezlediğim yaklaşım (aşırı işlenmiş olabilir, bu yüzden daha uygun bir yaklaşımı olan herkes adım atmalıdır!) İlk önce düzenli olmayan (olumlu sonucun aksine) tekli bir CSL olduğunu göstermek için çapraz bir argüman kullanır. X) tekli CFLs için, ve daha sonra da bir TM verilen ile Turing makineleri için durdurulmasını sorun, udu M bir CSG inşa, G simüle M ayrıştırma dize daha kısa bant uzunluğu ile ilgili w tanıyan, X ise M kendi sınırları aşmadan durur aksi halde ayrıştırmada başarısız olun, böylece G başarıyla tüm w∈XM durması yeterince uzun olan ( sadece sonlu birçok dizgide X'denL(G) farklıdır ve bu nedenle düzenli olamaz), aksi takdirde G boş dili (açıkça düzenli olan) tanır.XG
Bu yaklaşımın anahtarı, CSG'lerin sadece ifade yapısı gibi dilbilgisel konularla ilgili olmadığı gözlemidir - gerçekten de, CSG derivasyon sekansları keyfi olmayan belirsiz uzay-sınırlı hesaplama yapabilir (aslında PSPACE- tamamlanmış CSL'ler) ayrıştırmadan önce hizalama işine gitmeden önce. Bu, en kolay şekilde CSG'ler ve monotonik gramerler arasındaki standart dönüşümler (tek harfli alfabe ile kısıtlandığında çalışmaya devam eder) ve hesaplama geçmişindeki aşamaları temsil eden türev dizelerinde Turing makinesi geçişlerini simüle etmek için basit monotonik üretimlerin kullanılmasıyla gözlemlenir. Bu cevap boyunca, belirli bir hesaplamayı simüle etmek için bir CSG gerektiğinde okuyucunun ayrıntıların çoğunu sezebileceğini varsayacağım. (Ben askerin tüm bunlarla rahat olduğunu varsayıyorum, ama bütünlük için bunun üzerinden geçiyorum. Yine de, yorumlarda açıklama istemekten çekinmeyin.)
İlk olarak, normal olmayan tekli CSG'mize ihtiyacımız var. ( DÜZENLEME: bu yüzden aşırıya kaçmıştı - düzenli olmayan tekli CSL'ler, örneğin düzenli olmamanın en temelini sergileyen herhangi bir dilde pompalama lemi yoluyla kolayca sergilenebilir. Örneklerin yorumlarına bakın. bıçak savaşına nükleer bir savaş başlığı getirmek gibiydi. Merak ediyorsanız bu inşaatı inceleyin, aksi takdirde indirime geçin.)
Let alfabe üzerinde DFAs bir numaralandırma olmak { 1 } durum sayısı, öyle ki D' i artar i . 1 n ∈ { 1 } ∗ dizesini ayrıştırırken CSG G X'i davranışı açısından tarif ediyoruz :D1,D2,...{1}DiiGX1n∈{1}∗
- Belirsiz olarak "bant" olarak düşündüğümüz "boş" terminal olmayan bir dizi oluşturur . Boş terminal olmayanlardan biri ayrı bir "boş + okuma-yazma kafası + başlatma durumu" terminalsiz olmalıdır. Ayrıştırma dizesi 1 n değilse, bu türetme başarısız olur. Sürecin geri kalanını, tek olası türev ile simüle edilen deterministik hesaplama açısından tarif ediyoruz.n1n
- Kasette bir kodlama yazdır numarası takip i ikilik sistemde, i = n - c ve c her zaman biz gerekeni yapmak bizim banda yeterli alan olacak şekilde seçilir. (Bu alan her iki kodlamak için gerekli yana mümkündür D'yi i ve I içinde logaritmik büyür i .)Diii=n−ccDiii
- Giriş 1 i'de değerlendirin . Bu temsil gerektirmez D i 'nin bandı - sen sadece geçişleri göre değiştirebilir, tek devlet, saklayabilir D i sen eksiltme olarak i .Di1iDiDii
- Eğer reddeder 1 i üretmek olmayan terminaller ile tüm bant üzerine 1 . Aksi takdirde başarısız olur.Di 1i1
Biz almak . Herhangi bir i için açıkça X ≠ L ( D i ) , çünkü 1 i + c ∈ X ⇔ 1 i + c ∉ L ( D i ) .X=L(GX)X≠L(Di)i1i+c∈X⇔1i+c∉L(Di)
Bir sonraki adım, durma probleminden askerin problemine bir azalma tasarlamaktır. (Yukarıdaki bölümü atladıysanız, CSG G X tarafından oluşturulan keyfi olmayan normal olmayan bir CSL olmasına izin verin .)XGX
Let keyfi TM olacak. M'yi , 1 n ayrıştırma dizesinde aşağıdaki gibi davranan bir CSG G'ye dönüştürürüz :MMG1n
- Oluşturmak boş olmayan terminaller, ayrı boş + okuma-yazma kafası terminal olmayan olmak soldaki bir ve aynı zamanda her bir yanı üzerinde bir "sınır" terminal-olmayan üretir. Yine, yanlış sayıda terminal olmayan üretersek başarısız oluruz.n−2
- Sınır olmayan terminaller arasındaki boşlukta simüle edin . M hiç sınır durumlarından birine geçerse , simülasyonu sonlandırırız ve M'nin asla durmadığını varsayarız .MMM
- Eğer alıkoymaların, gibi davranmaya G X . Simülasyonu sonlandırmak zorunda kalırsak başarısız oluruz.MGX
Eğer Not sınırları içinde sonsuza çalıştırmak için yönetir ardından G bir ayrıştırma dize oluşturmak asla ve böylece başarısız olur. Eğer E duraklamalara, o zaman alan bir miktar vardır n içeren yeterli M 'in tüm hesaplama, dolayısıyla G ayrıştırır 1 m her m ≥ n + 2 ve 1 m ∈ X ve dolayısıyla X ve bir birlik L ( G ) ve sınırlı bir dil, bu yüzden L ( G )MGMnMG1mm≥n+21m∈XXL(G)L(G)düzenli değil. Öte yandan, asla durmazsa, L ( G ) = ∅ açıkça düzenlidir.ML(G)=∅
nin düzenli olup olmadığına karar vermek için bir algoritma, M'nin boş bir bantta durdurulamayacağını belirler , ki bu kararsızdır. Bunun sonucunda, sorucunun sorunu kararsızdır.L(G)M