Düzenli ve bağlamdan bağımsız dillerde belirsizlik


11

Aşağıdaki iddiaların doğru olduğunu anlıyorum:

  1. Belirli bir CFG'deki bir dizenin iki ayrı türevi bazen aynı ayrıştırma ağacını dizeye bağlayabilir.
  2. Belirli bir CFG'de farklı ayrıştırma ağaçlarına atfedilen bazı dizelerin türevleri olduğunda, CFG belirsizdir.
  3. Belirsiz CFG'ler tarafından üretilen bazı bağlamsız diller de belirsiz CFG'ler tarafından üretilir.
  4. Bazı diller, onları üretebilen (ve bazıları da vardır) sadece CFG'lerin belirsiz olduğu şekildedir.

S1. Ayrıca, yukarıdaki 3. nokta anlamında, keyfi bir CFG'nin belirsiz olup olmadığının da kararsız olduğunu anlıyorum. Yoksa bağlamsız bir dilin nokta 4 anlamında belirsiz olup olmadığı kararsız mıdır? Yoksa ikisi de kararsız mı?

S2. "Bağlamdan bağımsız" ifadeyi "normal" ile değiştirdiğimizde 1-4 arasındaki noktalardan hangisi yanlış olur? Düzenli dilbilgileri ve diller her zaman açık mı?


4. maddede bahsettiğiniz diller "Doğası gereği belirsiz" dir. Birinci çeyrekte, GRAMMAR'ın belirsiz olup olmadığının kararsız olduğunu düşünüyorum. Böylece hem 3 hem de 4 kararsızdır.
Lamine

Doğru, 4. nokta dilleri "doğası gereği belirsiz" olarak adlandırılır.
dubiousjim

4
S1: her ikisi de kararsız. S2: 1 mümkün değildir, çünkü herhangi bir cümlede en fazla bir terminal görünmemektedir, bu nedenle herhangi bir türetme en solda ve en sağdadır; 2 bu hala doğrudur; 3 `` ayrıca '' bitini kaldırırsanız hala doğrudur; 4 Artık doğru değil, örneğin dilbilginizi belirleyerek açık bir tane alacaksınız.
Sylvain

1
@Sylvain bunu cevaplar mı?
Yuval Filmus

@ Sylvain, teşekkürler ve evet bunu bir cevap haline getirin. Anladığımı doğrulayabilir miyim? re 2: Farklı ayrıştırma ağaçları ile aynı dizeyi üretebilecek düzenli bir dilbilgisi var mı? (O zamandan beri "belirsiz NFA'lara" atıfta bulundum, ancak "anlam" ı kullandığımdan emin değilim). Re 3 ve 4, bazı düzenli dillerin belirsiz düzenli dilbilgileri tarafından oluşturulabileceğini, ancak her zaman aynı zamanda belirsiz bir normal dilbilgisi tarafından da üretileceğini söylüyorsunuz?
dubiousjim

Yanıtlar:


19

S1 Hakkında: Hem belirsizlik sorunu (bir CFG verildiğinde, belirsiz olup olmadığı) hem de doğal belirsizlik sorunu (bir CFG verildiğinde, dilinin doğası gereği belirsiz olup olmadığı, yani herhangi bir eşdeğer CFG'nin belirsiz olup olmadığı) kararsızdır. İşte orijinal referanslar:


2. Çeyrek Hakkında: Normal bir dilbilgisi, herhangi bir kuralın sağ bölümünde en fazla bir adet nonterminalin göründüğü ve bu nonterminalin en sonda ( sağ lineer gramerlerde) veya ilk olarak (içinde sol doğrusal dilbilgisi) konumu. Bu tür gramerler, düzenli gramer açık olduğu takdirde açık olan eşdeğer sonlu durum otomata (kabaca her terminal olmayan bir durum olarak düşünülerek) kolayca çevrilebilir. Belirsiz düzenli dilbilgisi ve kesin olmayan otomata sınıfı özellikle içerme problemi için izlenebilir algoritmalardan hoşlandıklarını gösteren Stearns ve Hunt (1985) tarafından incelenmiştir .

  1. βAγβαγbirαbirX1,...,XmbirX1Xm

    γbirηBθbirBbirαγαηBθBβγbirηβθγαηβθ(her zaman herhangi bir cümle biçiminde en soldaki nonterminal türetmek) veya en sağdaki türevler, derivasyon ağaçlarını ziyaret etmek için sabit bir emir uygular ve daha sonra belirli bir derivasyon ağacı için tek bir derivasyon vardır.

    Bir de lineer bir cümlesel biçimde uç-olmayan en az bir olduğu ve her ikisi de en soldaki ve sağdaki verilen bir türev ağaç için tek bir türetme olduğundan serbest içerik, böyle bir seçenek vardır.

  2. www

  3. ve 4. Sonlu durumlu otomata görünümünü alırsanız, aynı dil için açık olmayan bir otomat elde etmek için belirsiz otomasyonunuzu belirlemeniz yeterlidir: herhangi bir kelime için tek bir çalışma olacaktır. Bu deterministik otomat, açık ve düzenli bir dilbilgisine eşdeğerdir. 

    Sbir|B,birbir,BbirbirSbirbirSBbirSbir

Ö(|G,|2)(q,q')qq'


1

G,Σ*

Hangi dilde konuştuğunuzu tam olarak anlayamadım. 4. Her CF dilinin belirsiz bir dilbilgisi vardır.

S2. Eğer düzenli bir dilbilgisi ile bir anlaşma varsa, her şey karar verilebilir. Sadece en az DFA inşa etmelisiniz ve bunu kullanarak kesin dilbilgisi oluşturabilirsiniz. CF-gramer tarafından tanımlanan normal bir dille anlaşmanız varsa, cevap hayırdır - bakınız Q1.


Teşekkürler, iyi açıklama yeniden S2. Dil normal bir dilbilgisi ile belirtilirse, normal bir dil hakkındaki sorular kararlaştırılabilir; ancak bu, dilin bir CFG tarafından belirtilmesi durumunda karar verilebilecekleri anlamına gelmez - söylediğiniz şey bu, değil mi? Düzenli CFG'ler için kararsız olan ve bununla ilgili soruların, normal diller üreten CFG'lerle sınırlandırıldığında da kararsız olduğunu biliyoruz.
dubiousjim

Olmayabilir, ancak her zaman karar verilebilir. Demek istediğim, normal bir dilbilgisi ile tanımlanan bir dil ile bir anlaşmanız olduğunda - CFG'nin alt sınıfı, istediğiniz herhangi bir soru karar verilebilir. Ancak bazı normal olmayan CFG'ler normal bir dil üretebilir ve CFG'nin normal bir dil üretip üretmediğini doğrulamak bile kararsızdır.
Alexander Rubtsov

2
@ alexandr-rubtsov "Normal bir dilbilgisi ile tanımlanan bir dille uğraşırken, beğendiğiniz herhangi bir soru karar verilebilir". Bu aşırı iyimser bir ifadeye benziyor ...
J.-E.

Teşekkürler, "kim bilir?" Anlamında değil, retorik işlevinde "olabilir" demek istedim.
dubiousjim

@ J.-E.Pin evet Daha hassas olmalıydım ve «belirsizlik gibi tüm doğal sorular» gibi bir şey söylemeliydim.
Alexander Rubtsov

0

'Bağlamdan bağımsız' ifadesini, yalnızca 'dil (ler)' in önünde veya 'dilbilgisi (dilleri)' nin önünde 'normal' ile değiştirmenize bağlıdır.

Tüm normal diller, düzenli gramerler tarafından ve özellikle de kesin olmayan normal gramerler, örneğin LL (1) sağ-düzenli gramerler tarafından oluşturulur.

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.