Sınırsız dilbilgisi sınıfı için üyelik sorunu


9

Bağlamdan bağımsız bir gramer düşünün Galfabe üzerinde . Bu dilbilgisinin prodüksiyonlarına iki sabit prodüksiyon ekleyin : ve . Ortaya çıkan gramer " prodüksiyonlarıyla zenginleştirilmiş " olarak adlandırın.{0,1,0¯,1¯}P0¯0ϵ1¯1ϵGPGP

Bir dil bilgisi alır bir algoritma elde mümkün ve bir yaylı fazla ve karar verebilir ?GPs{0,1,0¯,1¯}sL(GP)


İlginçtir ki, cevap "hayır" gibi görünse de, eğer düzenli ise, . Esas olarak, bir NFA için bir tane olmak transforme edilebilir yinelemeli eklenerek -transitions Eğer yolları var zaman veya ve son olarak -eliminasyon gerçekleştirme. L(G)L(GP)L(G)L(GP)ϵ(s,ϵ,t)(s,0¯,p,0,t),(s,0¯,p,ϵ,q,0,t),(s,1¯,p,1,t),(s,1¯,p,ϵ,q,1,t)(s,ϵ,p,ϵ,t)ϵ
Klaus Draeger

Evet bu doğru. Aslında, soru program analizindeki bir problemden kaynaklanmaktadır (canlılığa dayalı çöp toplama). CFG'yi oldukça düzenli bir dilbilgisine (Mohri-Nederhoff dönüşümü) yaklaştırarak ve ardından sonuçta ortaya çıkan NFA üzerinde basitleştirmelerini tam olarak Klaus Draeger'den bahsederek yaparak sorunu atlattık . P
Amit.

Yanıtlar:


5

Bu gramer sınıfı kararsızdır. İşte Turing makinelerini taklit etmek için nasıl kullanılacağı hakkında kabaca bir fikir.

Her noktada, kısmen genişletilmiş geçerli kelime

[tape to the left][head][tape to the right]

Buraya:

  • [tape to the left], uyguladıktan sonra P, yalnızca karakter içeriyor 0¯ ve 1¯.
  • [tape to the right], uyguladıktan sonra P, yalnızca karakter içeriyor 0 ve 1.
  • [head] "Başlık" terimi, hem kafa durumunu hem de kafa konumundaki karakteri kodlayan tek bir terminalsizdir.

Diyelim ki kafanın durumu Sve başın altındaki karakter i{0,1}. Sonra kafa terminal dışı ile temsil edilirSi. Eğer duruma geçmesi gerekiyorsaT, geçerli karakteri ile değiştir jve sola git, iki geçiş var Si0T0j ve Si1T1j. Bunun yerine sağa doğru hareket etmesi gerekiyorsa, iki geçiş varSij¯T00¯ ve Sij¯T11¯. Bir anlamda, kafa, eşleşen karakteri üreterek karakteri hareket ettiği yönde "tahmin" etmek zorundadır. Tahmin yanlışsa, değişmez[sola bantla] veya [sağa bantla] ihlal edilirdi ve asla iyileşmezdi.

Makine durduğunda, kafa "tahmin" ederek ve eşleşen karakterler üreterek bantını her iki tarafta "tüketmelidir". Bundan sonra boş bir kelime üretmelidir. Sonuç olarak, sadece ilgili Turing makinesi durursa, boş kelime bu dilbilgisinin bir üyesi olacaktır.


Düşüşünüzü anladığımdan emin değilim. Şüphem: Verilen Turing makinesininN- belirtiyorsa, Turing makinesini taklit etmek için gereken sınırsız üretim sayısı N-? Ama benim sorunum sadece iki sabit sınırsız üretime izin veriyor.
Amit.

@ Amit.SI cevaptaki geçişlere biraz daha açıklama yaptı.
abakabadabacaba
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.