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?
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?
Réponses:
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:
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 .