Perché è necessario il non determinismo (Push-down automi)?


9

Vorrei sapere perché per il riconoscimento delle lingue senza contesto funzionano solo gli automi push-down non deterministici (DPA = NPDA). Perché gli automi push-down deterministici (DPDA) non riconoscono tali lingue?


10
Una lingua può essere riconosciuta da automi pushdown deterministici se esiste una grammatica LR (1) per quella lingua. Poiché esistono linguaggi senza contesto che non hanno alcuna grammatica LR (1) che li descrive, NPDA! = DPDA. Dato che questi risultati sono molto noti e di solito vengono trattati in un corso sui compilatori, non sono sicuro che questo risponda alla tua domanda: stai forse cercando l'intuizione dietro questo fatto?
Alex ten Brink

è in qualche modo controintuitivo dato che ci sono altri modelli chiave in cui il non determinismo non fa alcuna differenza sui linguaggi accettati: FSM e TM.
vzn

Risposte:


25

Non sono sicuro di quale sapore del "perché" stai cercando. Nell'esempio seguente si può vedere una ragione dell'aumento di potere quando si consente il non determinismo:

Lww¯w¯w

AkNuk=ab2kav0vk+1=vkukvkAqkvkk,lklqk=qlkAvkukvkvlukvk


0

FA accetta deterministicamente o non deterministicamente la stessa lingua (es. Lang normale).

Ma nel caso del PDA , se lo limitiamo a comportarci in modo deterministico , non accetterebbe alcuni CFL (CFL senza proprietà prefisso (eccetto RL)).

Perchè così?

Si consideri un esempio di CFL che non ha la proprietà prefisso (proprietà Prefix di una lingua: nessuna stringa è un prefisso appropriato di un'altra stringa nella lingua).

L = wwr

per esempio. stringhe 00 e 0000 . (00 è un prefisso proprio di 0000, quindi wwr non ha la proprietà pref.).

Al verificarsi di 00 DPDA passerà allo stato finale. Ora poiché DPDA non ha scelta tra acceptancy e continuità , non può accettare 0000 dopo aver accettato 00 . Questo è il luogo in cui il PDA richiede non determinismo .

Osservazioni : in caso di FA, lang (RL) senza pref. la proprietà può essere accettata in modo deterministico (es. stringhe che iniziano con 0). Ciò dimostra che l' effetto della proprietà del prefisso di RL e CFL è diverso . La differenza tra determinismo e non determinismo per il PDA dà origine a una nuova famiglia di lingue. che è accettato da DPDA. Questo lang si chiama DCFL .

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.