Determinizm (Aşağı Açılan Otomata) neden gereklidir?


9

Bağlamdan bağımsız dillerin tanınması için neden sadece deterministik olmayan push-down otomatlarının (DPA = NPDA) işe yaradığını bilmek istiyorum. Deterministik push-down otomatlar (DPDA) neden bu dilleri tanımıyor?


10
Bir dil, o dil için bazı LR (1) dilbilgisi varsa, belirleyici bir aşağı itme otomatı ile tanınabilir. Onları tanımlayan herhangi bir LR (1) dilbilgisi olmayan bağlamsız diller olduğundan, NPDA! = DPDA. Bu sonuçlar çok iyi bilindiği ve genellikle derleyicilerle ilgili bir derste tedavi edileceğinden, bunun sorunuzu cevaplayıp yanıtlamadığından emin değilim: belki de bu gerçeğin arkasında sezgi mi arıyorsunuz?
Alex ten Brink

Belirsizliğin kabul edilen diller - FSM'ler ve TM'ler üzerinde hiçbir fark yaratmadığı başka anahtar modeller göz önüne alındığında, aslında biraz mantıksızdır.
vzn

Yanıtlar:


25

Hangi "neden" aradığınızı tam olarak bilmiyorum. Belirsizliğe izin verirken gücün artmasının bir nedeni aşağıdaki örnekte görülebilir:

İzin Vermek L palindrom seti ol ww¯ bazı alfabe (en az iki sembol) w¯ tam tersi w. Bu dil için bir NPDA sadece sembolleri yığınının üzerine itmeye devam edebilir ve daha sonra bir noktada girdinin ortasına ulaştığını tahmin edebilir ve yığını yavaş yavaş boşaltabilir. Kabul koşulunun tamamen varoluşsal olduğuna dikkat edin - kelimenin kabul edilmesi için doğru bir tahminin olması yeterlidir.

Deterministik bir PDA, ortası olarak değerlendirdiği konumu, yalnızca geçerli öneklere bağlı olacak şekilde seçmelidir. üstlenmekAböyle bir DPDA. HerhangikN, İzin Vermek uk=ab2ka; İzin Vermekv0 boş kelime ol ve vk+1=vkukvk. Bu, her biri bir sonrakinin öneki olan bir palindrom dizisidir, böyleceA kabul edilebilir bir durumda olmalı qk, yığın boşken, okuduktan sonra vk. Güvercin deliği prensibine göre,k,l öyle ki kl ve qk=ql (sonlu sayıda durum vardır ve bu nedenle bazılarının 'yeniden' kullanılması gerekir, çünkü sonsuz sayıda ks). Ama sonraA ayırt edemiyorum vkukvkbir palindrom olan vlukvkdeğil.


0

FA belirleyici veya belirleyici olmayan bir şekilde aynı dili kabul eder (örneğin, Normal Lang).

Ama durumunda PDA biz davranmaya kısıtlamak eğer deterministically o (CFL bazı CFLs kabul etmeyecektir önek özelliği olmadan () HBS hariç).

Neden öyle?

Önek özelliği olmayan bir CFL örneğini düşünün (bir dilin Önek özelliği: hiçbir dize, şeritteki başka bir dizenin uygun bir önekidir).

L = wwr

Örneğin. dizeler 00 ve 0000 . (00, 0000'ın uygun bir önekidir, bu nedenle wwr pref. Özelliğine sahip değildir).

Gelişimi üzerine 00 DPDA nihai duruma gidecek. Şimdi DPDA acceptancy ve süreklilik arasındaki seçimi yoktur çünkü , bu kabul edilemez 0000 kabul ettikten sonra 00 . Burası PDA'nın determinizm gerektirmediği yerdir .

Gözlemler : FA durumunda, tercih edilmemiş lang (RL). özellik deterministik olarak kabul edilebilir (örn. 0 ile başlayan dizeler). Bu, RL ve CFL önek özelliğinin etkisinin farklı olduğunu gösterir . PDA için determinizm ve determinizm arasındaki fark yeni bir lang ailesine yol açar. DPDA tarafından kabul edilir. Bu dil DCFL olarak adlandırılır .

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.