Pierwszą sztuczką jest myślenie o tablicy mnożenia jako tabeli przejścia automatu gdzie każdy stan reprezentuje literę w tablicy mnożenia, ale nie martwi się jeszcze o akceptację. Tak więc litery po lewej stronie i w treści tabeli są w rzeczywistości stanami - dokładniej byłoby zapisać je jako , ale nie zrobię tego. Litery u góry to dane wejściowe.Aqa,qb,qc
Następnie skonstruuj automat („ ” do transpozycji) do odwrotnego mnożenia przez transponowanie :ATTA
ATabcaaacbcabcbca
Więc powoduje przejście do stanu , a także przemieszcza się do stanu od , jak można zauważyć.A(abc)cAT(cba)aAT
Jednak zakłada, że idziesz od prawej do lewej, a my nadal chcemy iść od lewej do prawej. Druga sztuczka polega na odwróceniu automatu (a nie na pomnożeniu, które by nas tylko odzyskało, gdybyśmy zaczęli), poprzez odwrócenie wszystkich strzałek, co prowadzi do niedeterministycznego automatu podanego w tabeli przejścia poniżej, z podzbiorami oznaczonymi połączonymi literami, aby kurczak się nie drapał, więc to naprawdę . (mam nadzieję, że wszystko w porządku - wydaje się działać).ATATRac{ a , c }
ZAT.Rzabdoa bb cCa b c∅zaa b∅doa bdoa b ca b c∅bbdozab cCa ba b c∅dodozabCa b cb ca b c∅
Możesz zinterpretować to jako niedeterministyczny automat z tylko trzema rzędami powyżej linii lub zdeterminowaną wersję ze wszystkimi 8 rzędami.
Wreszcie, maszyną do rozwiązania problemu jest automat międzyplatformowy oryginalnych i , czyli do wykonania zachowania przecięcia dwóch automatów (nie potrzebujemy żadnych więcej). ma stany, które są parami takimi jak . Funkcja przejścia uruchamia i niezależnie. Pojedynczy stan początkowy przechodzi do pod wejściem , do pod wejściem itp. ZAZAT.RA ×ZAT.RZAT.A ×ZAT.R⟨ , C ⟩ZAZAT.R⟨ 1 , 1 ⟩⟨ , ⟩za⟨ B , b ⟩b
Stany akceptujące w wersji niedeterministycznej to itp. W wersji deterministycznej stany akceptujące to pary, w których pierwszy komponent znajduje się drugim zestawie komponentów, takich jak lub .⟨ , ⟩∈⟨ , ⟩⟨ B , b c ⟩
A ×ZAT.R rozszerzony i zdeterminowany, jak pokazano, ma stanów, więc wybacz mi, jeśli nie wypiszę go szczegółowo. Ale wersja niedeterministyczna ma tylko stanów.25 = 3 ⋅ 8 + 110 = 3 ⋅ 3 + 1