Bağlamdan bağımsız bir gramerde 'ölü devletler' olabilir mi?


18

Bağlamdan bağımsız bir dilbilgisi, bir otomattaki "ölü haller" gibi

G=({a,b,c},{A,B,C},{AaB,Bb,BC,CcC},A)?

ve üretim kuralları sonsuza dek dönecek ve asla bir kelime üretmeyecektir. Buna izin veriliyor mu yoksa üretim kuralları bir noktada bir terminalle mi sona ermeli?BCCcC

Yanıtlar:


24

Bağlamdan bağımsız gramerlerin verimsiz kurallar içermesine izin verilir . Bu kabul edilir, çünkü her CFG , verimsiz kurallar, boş dize üretimleri ve döngüler içermeyen bazı uygun CFG'lerle aynı dili üretir ; bu nedenle bir CFG'nin genellik kaybı olmadan uygun olduğunu varsaymak güvenlidir.


Tam olarak değil: uygun CFG'lerin iki gereksinimi daha karşılaması gerekir. Yani bunu yeniden biçimlendirirdim.
reinierpost

@reinierpost: Sanırım verimsiz kuralları yasaklayan, ancak yine de Uygun Olmayan CFG'leri içeren CFG sınıfları var mı? Ben
reformülasyon

Demek istediğim, verimsiz kuralları olmayan her CFG doğru değil, bu da ifadenizle çelişiyor; ancak uygun CFG'lerin tanımı, verimsiz kuralları açıkça hariç tutarak, bunların keyfi CFG'lerde mümkün olduğunu açıkça ortaya koymaktadır, bu yüzden yazacağım budur.
reinierpost

İyileştirmeleriniz için teşekkür ederiz. Demek istediğim, CFG'lerin bu tür kuralları içermelerine izin verilmeyen alt sınıfları var.
ilke444

Verimsiz kurallar, boş dize yapımları ve ({a}, {A}, {A-> epsilon}, A) ile aynı dili üreten döngüler içermeyen uygun bir CFG var mı? İlk cümleyi seviyorum. Belki de ikinci cümle "Bunun nedeni, CFG'lerin tanımının, bir üretimin sol tarafı olarak herhangi bir sonlu terminal ve terminale izin vermemesidir."
Theodore Norvell

3

Evet tabi ki. Her NFA bir CFG olarak yazılabilir. Ve 'ölü devlet' olan bir DFA inşa etmek (bana öğretilen, 'batmak' terimi) önemsizdir.

G,=({bir},{bir},{birbir},bir)
{a}

ϵ

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.