Der erste Trick besteht darin, sich die Multiplikationstabelle als Übergangstabelle eines Automaten vorzustellen, wobei jeder Zustand einen Buchstaben in Ihrer Multiplikationstabelle darstellt, sich aber noch keine Gedanken über die Akzeptanz macht. Die Buchstaben links und im Hauptteil der Tabelle sind also tatsächlich Zustände - es wäre genauer, sie als q a , q b , q c zu schreiben , aber ich werde es nicht tun. Die Buchstaben oben sind Eingaben.EINqein, qb, qc
Konstruieren Sie dann den Automaten (" T " für die Transponierung) für die umgekehrte Multiplikation durch Transponieren von A :EINT.T.EIN
EINT.einbceineineincbceinbcbcein
So führt in den Zustand c , und ebenfalls bewegt sich in den Zustand von , wie Sie beachten.A ( a b c )ca A T.EINT.( c b a )einEINT.
geht jedoch davon aus , Sie von rechts nach links gehen, und wir möchten weiterhin von links nach rechts gehen. Der zweite Trick besteht also darin , den Automaten umzukehren (nicht die Multiplikation, die uns nur zurückbringen würde, wenn wir begonnen hätten), indem alle Pfeile umgekehrt werden, was zu einem nicht deterministischen Automaten , der in der folgenden Übergangstabelle angegeben ist. mit Teilmengen, die durch verkettete Buchstaben angezeigt werden, damit das Huhn nicht zerkratzt, so dass wirklich . (Ich hoffe, ich habe alles richtig gemacht - scheint zu funktionieren).A T R a c { a , c }EINT.EINT.R.a c{ a , c }
EINT.R.einbca bb ca ca b c∅eina b∅ca bca b ca b c∅bbceinb ca ca ba b c∅cceinba ca b cb ca b c∅
Sie können dies als nicht deterministischen Automaten mit nur den drei Zeilen über der Zeile oder als bestimmte Version mit allen 8 Zeilen interpretieren.
Schließlich ist die Maschine das Problem zu lösen das Kreuzproduktautomaten der ursprünglichen und , das ist den Schnittverhalten der beiden Automaten auszuführen (wir nicht brauchen jede Mehr). hat Zustände, die Paare wie . Die Übergangsfunktion führt und unabhängig voneinander aus. Ein einzelner Startzustand geht in unter Eingabe , in unter Eingabe usw. A T R A × A T R A T A × A T R ⟨ a , a c ⟩ A A T R ⟨ 1 , 1 ⟩ ⟨ a , a ⟩ a ⟨ b , b ⟩ bEINEINT.R.A × A.T.R.EINT.A × A.T.R.⟨a,ac⟩AATR⟨1,1⟩⟨a,a⟩a⟨b,b⟩b
Annahme von Zuständen in der nicht-deterministischen Version usw. In der deterministischen Version Annahme Zustände sind Paare , bei denen die erste Komponente ∈ des zweiten Komponentensatzes, wie ⟨ einen , ein ⟩ oder ⟨ b , b c ⟩ .⟨a,a⟩∈⟨a,a⟩⟨ B , b c ⟩
, wie gezeigt vergrößert und bestimmt, hat 25 = 3 ⋅ 8 + 1 Zustände. Verzeihen Sie mir also, wenn ich es nicht im Detail schreibe. Die nicht deterministische Version hat jedoch nur 10 = 3 ⋅ 3 + 1 Zustände.A × A.T.R.25 = 3 ≤ 8 + 110 = 3 ≤ 3 + 1