Nous disons que NFA est constamment ambigu s'il existe telle sorte que tout mot est accepté par ou (exactement) chemins.k ∈ N w ∈ Σ ∗ 0 k
Si l'automate est constamment ambigu pour , alors est appelé FA sans ambiguïté (UFA).k = 1 M
Soit une langue régulière.
Un automate constamment ambigu pour peut-il être plus petit que le plus petit UFA qui accepte ? Combien pourrait-il être plus petit? L L
L'automate Finitely ambigu peut-il être exponentiellement plus petit que le plus petit CFA pour la même langue?
On sait qu'il existe des automates finement ambigus (il existe , de sorte que chaque mot est accepté par jusqu'à chemins) qui sont exponentiellement plus petits que le plus petit UFA pour le même langage, mais je n'ai rien vu d'ambiguïté constante.
En outre, voici une question connexe que j'ai publiée ici il y a quelques mois.
ÉDITER:
La réponse de Domotorp montre que le est polynomialement réductible à l' , mais ne répond pas à la question de savoir si nous pouvons gagner cette réduction d'espace polynomial par les .U F A C F A
La nouvelle question devient donc: combien plus petit (linéairement / quadratique / etc.) Un peut-il être comparé à l' minimal ? pour la même langue?U F A
Réponses:
Je prétends que si pour une langue , il est analyste financier avec des états et 0 ou c accepter des chemins pour chaque mot, alors il y a un APU avec C s s c états. L'idée de base est que les états de l'UFA sont les c-tuples (ordonnés) des états du CFA et il accepte si et seulement si tous les c états acceptent. Bien sûr, nous devons également nous assurer qu'il s'agissait bien de calculs différents et que nous ne comptons pas tous les c ! permutations, donc pour ceux - ci nous avons besoin supplémentaire C de les bits de mémoire.s 0 c Cssc c! Cs
Une description un peu plus détaillée de l'idée de base: si est un état de l'UFA, alors il a une transition de celui-ci (en lisant une lettre a ) à l'état ( s ′ 1 , … , s ′ c ) si et seulement si le CFA a une transition (lecture de la lettre a ) de s i à s ′ i pour chaque i . Un état ( s 1 , … , s c )(s1,…,sc) a (s′1,…,s′c) a si s′i i (s1,…,sc) accepte si et seulement si accepte pour chaque i . Bien sûr, l'état de départ de l'UFA est ( s 0 , … , s 0 ) où s 0 est l'état de départ du CFA.si i (s0,…,s0) s0
Le problème avec ce qui précède est que les exécutions simulées du CFA peuvent être les mêmes. Nous ajoutons donc quelques informations supplémentaires, codées, disons, dans un graphique sur c sommets qui a une arête entre le sommet i et le sommet j si pendant la course jusqu'à présent au moins une fois que nous avons eu c i ≠ c j .c c i j ci≠cj
Maintenant, nous avons encore un problème, que nous avons tout compté fois en raison des permutations possibles. Nous pouvons remédier à cela en exigeant que si les états i -th et j -th étaient les mêmes jusqu'à présent et à l'étape suivante, ils différeraient, alors à l'étape suivante, le i- état devrait avoir un indice plus grand.c! i j i
la source