Tło:
Biorąc pod uwagę dwa deterministyczne automaty skończone A i B, tworzymy iloczyn C, pozwalając, by stany w C były iloczynem kartezjańskim stanów w A i stanów w B. Następnie wybieramy stany przejściowe, początkowe i końcowe, aby język został zaakceptowany przez C to przecięcie języków dla A i B.
Pytania:
(1) Czy możemy „podzielić” C przez B, aby znaleźć A? Czy jest nawet wyjątkowy, aż do izomorfizmu? Dbamy o diagramy stanu, a nie o języki tutaj i poniżej. Dlatego nie zezwalamy na kompresowanie diagramów stanów w celu zmniejszenia liczby stanów.
(2) Jeśli A jest unikalny, czy istnieje skuteczny algorytm do jego znalezienia?
(3) Czy każdy deterministyczny automat skończony ma unikalną faktoryzację na „liczby pierwsze”. Liczba pierwsza oznacza tutaj automat, którego nie można rozłożyć na fakt, to znaczy napisany jako produkt 2 mniejszych automatów.
- Pracuj z @MichaelWehar
źródło
Odpowiedzi:
Spójrz na ten artykuł MFCS 2013 , który bada kompozycję w automatach. Być może to pomoże.
źródło
Podajmy oczywisty sposób na odzyskanie jednego „czynnika” automatu produktu. Jeśli i A = A 1 × A 2 oznacza automat produktu, to jeśli zdefiniujemy π 1 ( ( q , q ′ ) ) : = Q czyli tylko zapomina o A 2Ai=(Qi,δi,q0i,Fi),i=1,2 A=A1×A2
Więc jeśli wiemy, że automat jest kartezjańskim (lub zewnętrznym) automatem produktu, możemy łatwo odzyskać czynniki.
Ale myślę, że nie to masz na myśli w odniesieniu do innych pytań. Pojawiają się tutaj dwa pytania (dalej przez automatyczny izomorfizm mam na myśli izomorficzny jako graf stanu, tj. Bez względu na stany początkowe lub końcowe, jak powiedziałeś, język nie jest tutaj tak bardzo istotny):
Łatwo jest ustalić niezbędne warunki, ale nie widzę żadnych łatwych wystarczających kryteriów, aby jakiś automat był czynnikiem innym.
H. Straubing, P. Weil Wprowadzenie do automatów skończonych i ich związek z logiką,
Strona internetowa kursu z dużą ilością informacji.
Uwaga : Istnieje również inne pojęcie „ ilorazu ”, patrz wikipedia: iloraz automat , ale jest to tylko reguła dla stanów zwijania i stosowana w algorytmach uczenia się / wnioskowania języka lub minimalizacji stanu.
źródło