Algorytm Brzozowskiego do przekształcania DFA w równoważny DFA stanu minimalnego jest niezwykle prosty: jeśli oznacza NFA utworzony przez odwrócenie wszystkich krawędzi w DFA , czyniąc stary stan początkowy stanem akceptującym i czyniąc starym akceptowaniem stwierdza początek stanów i jeżeli oznacza wynik zastosowania konstrukcji podzbioru do NFA , a następnie jest co najmniej w stanie DFA z tym samym języku jak .
Możemy myśleć o DFA jako urządzeniu obliczeniowym, które akceptuje łańcuch wejściowy a następnie wyprowadza 0, jeśli kończy się w stanie odrzucającym, a 1, jeśli kończy się w stanie akceptującym. Naturalne uogólnienie DFA wiązało każdy stan w DFA z pewną liczbą naturalną od 0 do włącznie.
Według mojej najlepszej wiedzy, możliwe jest zminimalizowanie tych zmodyfikowanych klas DFA przy użyciu algorytmu minimalizacji opartego na rozróżnialności, takiego jak kanoniczny algorytm Hopcroft. Nie widzę jednak, jak byłoby możliwe dostosowanie algorytmu minimalizacji Brzozowskiego do tej nowej klasy automatów, ponieważ kluczowy krok (odwrócenie automatu) nie ma już jasnej interpretacji w tym uogólnionym ustawieniu.
Czy znane jest uogólnienie algorytmu Brzozowskiego do minimalizowania tego rodzaju automatów? Jeśli nie, czy istnieją jakieś teoretyczne powody, dla których spodziewalibyśmy się, że taki zmodyfikowany algorytm nie istniałby?
źródło
Odpowiedzi:
Odpowiedź na twoje pytanie brzmi: tak.
Zobacz prace Bonchi, Bonsangue, Rutten i Silvy Algorytm Brzozowskiego (co) algebraicznie (krótsza wersja konferencyjna) i Algebra-Coalgebra Duality w algorytmie minimalizacji Brzozowskiego (dłuższa wersja czasopisma z większą liczbą uogólnień).
Dają (lekko) kategoryczną prezentację algorytmu Brzowzowskiego i wykorzystują go do uzyskania jego wersji dla bardziej ogólnych klas automatów, w tym automatów Moore'a (co daje pozytywną odpowiedź na twoje pytanie).
źródło
Aby dodać do odpowiedzi Neela, w mojej książce Automatic Sequences with Jean-Paul Allouche omawiamy DFAO (deterministyczne automaty skończone z wyjściami), o które dokładnie pytałeś (kojarz wyjście z każdym stanem). A Twierdzenie 4.3.3 opisuje, jak odwrócić taką maszynę.
źródło