Bağlam içermeyen bir dilin deterministic pushdown automaton tarafından kabul edilip edilemeyeceğine karar verin


22

Bağlamsız bir dilbilgisi G verildiğinde, G'nin kabul ettiği dili tam olarak kabul eden Nondeterministik bir Pushdown Otomatonu N yoktur. (ve tersi)

Orada may ayrıca G de kabul aynen dili kabul eden bir Deterministik Aşağı Açılan Otomat D mevcuttur. Dilbilgisine bağlıdır.

G'nin ürettiği algoritmalar ile D'nin var olup olmadığını belirleyebiliriz?


4
G için bir DPDA olduğunu önceden bilseniz bile , onu bulmak için bir algoritma yoktur. Buraya bakınız .
sdcvvc

Yanıtlar:


20

Bağlamsız bir dilbilgisi verilen, bir DPDA'nın aynı dili tanıyıp tanımadığı ve varsa onu hesaplayıp tamamlamadığına karar veren bir algoritma yoktur.

Böyle bir algoritma var olsaydı Çünkü biz karar mümkün olacaktır evrenselliği undecidable sorununu bir bağlam-gramer yani belirli bir bağlam serbest dilbilgisi olmadığını üzerinde Σ bütün dil tanır Σ *GΣΣ .

Böyle bir algoritma var olduğunu varsayın . G bazı bağlamsız gramer olalım . Let L olmak L ( G ) . O zaman A D P D A algoritması L'yi tanıyan bir DPDA A olup olmadığına karar verecektir .ADPDAGLL(G)ADPDAAL

  • Böyle DPDA varsa, o zaman olamaz bu yüzden, düzenli değildir, özellikle de bir DPDA'nın tarafından tanınamıyorsa Σ * .LΣ

  • Bir DPDA Eğer varsa o zaman karar verebilir L eşittir Σ * evrensellik DPDAs için Karar verilebilen çünkü. Niye ya? Çünkü:ALΣ

    • DPDA dilleri tamamlanma altında kapatılmıştır (çünkü DPDA'lar belirleyicidir)
    • DPDA'lar için boşluğu belirlenebilir (çünkü PDA'lar için )

Kullanarak Biz karar bir algoritma yerleşik olup olmadığını L ( G ) = Σ * herhangi bir serbest içerik için G imkansız olduğu kanıtlanmıştır. Bu nedenle A D P D A mevcut değil.ADPDAL(G)=ΣGADPDA


Bunu anlamıyorum üzgünüm. G'nin kullandığı alfabe için Σ kullanıyor musunuz? Ve "L tam dildir ne anlama geliyor "? Eğer biz üreten bir gramer G modelinde algoritmasını çalıştırır söylüyorsunuz Σ * , a üzerinde herhangi bir dize dilini? Açıkça sadece bir DPDA değil, bu dil için basit bir DFA bulabiliriz. Σ ∗' nin tamamlayıcısı boş dildir, bu aynı zamanda hem DPDA hem de DFA tarafından da kolayca tanınır - bu yüzden açıklamasında bir şeyi eksik buluyorum. ΣΣΣ
Andrew Tomazos,

Umarım bu şimdi daha açıktır. Not ben biraz farklı bir soruya cevap: Bence olabilir sorulur yemin ederim hesaplamak sadece var olup olmadığına karar veremez. D
jmad
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.