Étant donné un PDA M tel que L (M) est en DCFL construire un DPDA N tel que L (N) = L (M)

11

Est-il possible de construire un algorithme qui prend en entrée un automate de refoulement avec la promesse que le langage accepté par cet automate L ( M ) est un langage déterministe sans contexte et génère un automate de refoulement déterministe N qui accepte précisément le langage accepté par M ?ML(M)NM

Un problème équivalent serait de construire un algorithme qui prend en entrée un automates à pile (avec la promesse que L ( M ) est déterministe, comme ci - dessus) et un pushdown déterministe automates N . La sortie serait oui si L ( M ) = L ( N ) et non si L ( M ) L ( N ) .ML(M)NL(M)=L(N)L(M)L(N)

Je crois qu'un algorithme résolvant le premier donnerait un algorithme résolvant le second par la décidabilité de l'équivalence des automates déterministes à refoulement. Je pense qu'une solution à la seconde impliquerait une solution au premier car nous énumérons tous les automates déterministes de refoulement et exécutons l'algorithme un par un, une fois que nous obtenons une instance oui, nous générons cet automate.

Je me demande si quelqu'un en sait quelque chose? Peut-être s'agit-il d'un problème connu et / ou d'une solution connue? Soit dit en passant, je pense que c'est décidable si vous introduisez la restriction qui dit que le langage généré par le PDA est le mot problème d'un groupe.

Sam Jones
la source
1
Le déterminisme et l'équivalence sont des problèmes indécidables bien connus. Vous les trouverez par exemple dans Hopcroft & Ullman (1979) .
Sylvain
2
Oui, ce sont des problèmes indécidables bien connus mais je ne demande pas s'il est possible de décider du déterminisme. L'équivalence que je demande est celle d'un PDA qui accepte définitivement un langage déterministe et un DPDA. À moins d'avoir raté quelque chose, il n'y a aucune raison évidente pour laquelle cela devrait être indécidable, je ne vois pas pourquoi cela devrait découler de l'indécidabilité du problème d'équivalence pour les PDA.
Sam Jones
mon mauvais, j'ai lu votre message trop vite. Question intéressante en fait.
Sylvain

Réponses:

9

Prenons un TM déterministe M et un mot w . Considérez ses historiques de calcul pour le mot w . Soit L des historiques invalides (ceux qui ne commencent pas par w , ne se terminent pas par l'acceptation ou ne sont pas valides). Soit L=A ( M n'accepte pas w ) ou L=A{h} pour une chaîne h ( M accepte w avec l'historique de calcul h ). Tout d'abord, Lest une LFC efficace, dans le sens où vous pouvez construire une grammaire / PDA en la reconnaissant. De plus, L est un DCFL (non efficace), mais vous ne pouvez pas montrer un DPDA de manière efficace. Plus encore, L est (non efficace) régulier.

Petite précision:

Vous avez demandé si le problème suivant est décidable:

étant donné PDA M promis que L(M) est un DCFL, et un DPDA N déterminer si L(M)=L(N) .

La réponse est non, et en fait le fait fort suivant est vrai: Le problème suivant est indécidable:

étant donné que le PDA M promis que L(M) est régulier, déterminez si L(M)=A .

sdcvvc
la source
Je ne comprends pas ce que tu fais. Qu'est-ce que A? si A est l'alphabet pour l'entrée de la MT, alors dire que les historiques invalides sont signifie que la TM accepte l'ensemble vide. Qu'est-ce qu'un DCFG? Voulez-vous dire un DPDA? A
Sam Jones
@Sam Jones: considérez tout historique de calcul qui ne commence pas par le mot comme non valide. Alors les historiques invalides sont A si et seulement si M n'accepte pas le mot w . Oui, je voulais dire DPDA. wAMw
sdcvvc
Vous semblez supposer qu'une machine de Turing peut accepter au plus un mot. Vous n'avez pas non plus prouvé que vous ne pouvez pas montrer un DPDA pour ou pour L = A - { h } vous l'avez simplement déclaré. En fait, je sais comment construire des DPDA qui acceptent chacune de ces langues. L=AL=A{h}
Sam Jones
2
Parce que vous pourriez le comparer efficacement avec un automate qui accepte tout, et déterminer si s'arrête sur w . Si vous le souhaitez, vous pouvez restreindre M lui-même à une machine qui peut accepter au plus w (pas d'autres mots), mais cela ne change rien. La seule chose importante est que M est déterministe. MwMwM
sdcvvc
1
OK, je l'ai enfin.
Sylvain