J'ai en quelques jours un examen et j'ai des problèmes pour résoudre cette tâche.
Laisser être une langue régulière sur l'alphabet . Nous avons l'opération Et maintenant, nous devons montrer que est également régulier.
La référence est que nous pourrions construire à partir d'un DFA avec une -NFA avec et États.
Réponses:
L'idée est de décider au début de façon non déterministe combien le mot est cyclé, et d'avoir une copie de l'automate pour chaque cas. En termes d'automate, cela signifie que nous devinons dans quel étatD aurait été après avoir consommé le préfixe d'un mot (qui est un suffixe de notre entrée), et commencer dans cet état.
Maintenant la construction. Pour chaque étatq∈Q , séparé D en deux parties A1 et A2 . A1 contient les états à partir desquels q est accessible et A2 les états accessibles depuis q :
[ source ]
Notez que n'importe quel nœud donné peut être contenu dans les deuxA1 et A2 . Par conséquent, le nombre d'états peut doubler si nous rendons cette étape explicite.
Maintenant, nous recâblons cet automate pour qu'il accepte tous les mots pour lesquelsq marque le "point de cycle":
[ source ]
On a|Q| automates de cette forme; créer un nouvel état initial qui aε -transitions vers tous leurs états de départ. L'automate résultant acceptecycle(L) . Au total, nous obtenons tout au plus|Q|⋅(2|Q|+1)+1 états, seulement |Q| plus d'états que les revendications de référence sont possibles.
Vous pouvez réaliser2|Q|2+1 états en modifiant un peu les automates des composants; éliminer toutq0 en remplaçant l'entrée ε -transitions avec copies de ses transitions sortantes. Autrement dit, pour chaque paire de transitions(q1,ε,q0),(q0,a,q2) , introduire une transition (q1,a,q2) .
Une construction rigoureuse et une preuve d'exactitude restent un exercice.
la source