Pourquoi le non-déterminisme (automates push-down) est-il nécessaire?


9

Je voudrais savoir pourquoi pour la reconnaissance des langues sans contexte, seuls les automates déroulants non déterministes (DPA = NPDA) fonctionnent. Pourquoi les automates déterministes push-down (DPDA) ne reconnaissent-ils pas ces langages?


10
Un langage peut être reconnu par un automate de refoulement déterministe s'il existe une grammaire LR (1) pour ce langage. Comme il existe des langages sans contexte qui n'ont pas de grammaire LR (1) les décrivant, NPDA! = DPDA. Comme ces résultats sont très bien connus et seront généralement traités dans un cours sur les compilateurs, je ne sais pas si cela répond à votre question: cherchez-vous peut-être de l'intuition derrière ce fait?
Alex ten Brink

c'est en effet quelque peu contre-intuitif étant donné qu'il existe d'autres modèles clés où le non-déterminisme ne fait aucune différence sur les langues acceptées - les FSM et les MT.
vzn

Réponses:


25

Je ne sais pas trop quelle saveur de "pourquoi" vous recherchez. Une des raisons de l'augmentation de puissance en autorisant le non-déterminisme peut être vue dans l'exemple suivant:

Lww¯w¯w

AkNuk=ab2kav0vk+1=vkukvkAqkvkk,lklqk=qlkAvkukvkvlukvk


0

FA accepte de façon déterministe ou non déterministe la même langue (c.-à-d. Langage régulier).

Mais dans le cas d'un PDA , si nous le restreignons pour qu'il se comporte de façon déterministe, il n'acceptera pas certains CFL (CFL sans propriété de préfixe (sauf RL)).

Pourquoi

Prenons un exemple de CFL qui n'a pas de propriété de préfixe (propriété Prefix d'une langue: aucune chaîne n'est le préfixe approprié d'une autre chaîne dans la langue).

L = wwr

par exemple. chaînes 00 et 0000 . (00 est un préfixe approprié de 0000, donc wwr n'a pas de propriété pref.).

À l'apparition de 00 DPDA passera à l'état final. Maintenant que DPDA n'a pas le choix entre l'acceptation et la continuité , il ne peut pas accepter 0000 après avoir accepté 00 . C'est l'endroit où le PDA requiert le non-déterminisme .

Observations : En cas de FA, lang (RL) sans pref. La propriété peut être acceptée de façon déterministe (par exemple, des chaînes commençant par 0). Cela montre que l' effet de la propriété de préfixe de RL et CFL est différent . La différence entre déterminisme et non-déterminisme pour PDA donne naissance à une nouvelle famille de lang. qui est accepté par DPDA. Cette langue est appelée DCFL .

En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.