La première astuce consiste à considérer la table de multiplication comme la table de transition d'un automate chaque état représentant une lettre dans votre table de multiplication, mais sans se soucier encore de l'acceptation. Ainsi, les lettres à gauche et dans le corps du tableau sont en fait des états - il serait plus précis de les écrire commeA , mais je ne le ferai pas. Les lettres en haut sont des entrées.qa,qb,qc
Construisez ensuite l'automate ("AT " pour la transposition) pourla multiplication inverseen transposant A :TA
ATabcaaacbcabcbca
Donc vous amène à l'état c , et de même A T ( c b aA(abc)c passe à l'état a de A T , comme vous le constatez.AT(cba)aAT
Cependant, suppose que vous allez de droite à gauche, et nous voulons toujours aller de gauche à droite. Donc, la deuxième astuce consiste à inverser l'automate (pas la multiplication, qui nous ramènerait juste si nous avions commencé), en inversant toutes les flèches, ce qui conduit à un automate A T R non déterministe donné par le tableau de transition ci-dessous, avec sous-ensembles indiqués par des lettres concaténées pour empêcher le poulet de se gratter, donc un c est vraiment { a , c } . (j'espère que j'ai bien compris - semble fonctionner).ATATRac{a,c}
ATRabcabbcacabc∅aab∅cabcabcabc∅bbcabcacababc∅ccabacabcbcabc∅
Vous pouvez l'interpréter comme un automate non déterministe avec seulement les trois lignes au-dessus de la ligne ou une version déterminée avec les 8 lignes.
Enfin, la machine pour résoudre le problème est l'automate produit croisé des et A T R d'origine , c'est-à-dire A × A T R pour effectuer le comportement d'intersection des deux automates (nous n'avons plus besoin de A T ) . A × A T R possède des états qui sont des paires comme ⟨ un , un c ⟩ . La fonction de transition exécute A et A T R indépendamment. Un état de départ unique ⟨ 1 , 1 ⟩AATRA×ATRATA×ATR⟨a,ac⟩AATR⟨1,1⟩ passe en sous entrée⟨a,a⟩ , en ⟨a en entrée b , etc. ⟨b,b⟩b
Accepter les états dans la version non-déterministe sont etc. Dans la version déterministe, acceptant états sont des paires , dans lequel le premier composant est ∈ du second ensemble des composants, tels que ⟨ un , un ⟩ ou ⟨ b , b c ⟩ .⟨a,a⟩∈⟨a,a⟩⟨b,bc⟩
augmenté et déterminé comme indiqué a 25 = 3 ⋅ 8 + 1 états, alors pardonnez-moi si je ne l'écris pas en détail. Mais la version non déterministe n'a que 10 = 3 ⋅ 3 + 1 états.A×ATR25=3⋅8+110=3⋅3+1