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?
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?
Risposte:
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:
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 .