Jaka jest różnica między automatami skończonymi a automatami skończonymi?


16

Użyłem FSM w projektach cyfrowych układów sekwencyjnych. Ale nie znam Finata Automata. Czy ktoś może mi pomóc w zrozumieniu „podstawowej” różnicy między nimi?


5
Z Wikipedii : „... W teorii automatów, gałąź informatyki teoretycznej, deterministyczny automat skończony (DFA) - znany również jako deterministyczna skończona maszyna stanu - jest maszyną stanu skończonego, która przyjmuje / odrzuca skończone ciągi symboli i produkuje tylko unikalne obliczenie (lub uruchomienie) automatu dla każdego ciągu wejściowego ... ". DFA jest preferowanym terminem stosowanym w teorii automatów, FSM jest preferowanym terminem stosowanym w praktycznych zastosowaniach.
Vor

4
Myślę, że FSM jest bardziej integracyjny, w tym także automaty Mealy i Moore. NFA to jeden konkretny model.
Raphael

@Raphael: Zgadzam się z tobą, FSM wydaje się szerszy (nawet wikipedia rozróżnia przetworniki, akceptory, klasyfikatory i sekwencery). „DFA” ~ „Akceptory FSM” (FSM tylko z wyjściem tak / nie) ... ponadto FSM w projektach układów zwykle wykorzystuje wyjścia… Być może możesz zamienić swój komentarz na odpowiedź.
Vor

Osobiście używam FSM jako szerokiego terminu, który obejmuje maszyny DFA, NFA, Mealy i Moore, przetworniki (stan skończony) itp .; po prostu wszystko ze skończoną przestrzenią stanów i bez pamięci pomocniczej.
Dan

1
@Raphael W teorii formalnej (lub teorii obliczeń) wolimy używać słowa „Automata” - aby podkreślić, że nasza maszyna jest maszyną „automatyczną” (samobieżną - jak twój komputer) - „automatyczną” w tym sensie, że kiedyś masz zdefiniowane reguły przejścia, nie musisz stosować żadnych wyraźnych inteligentnych do przetwarzania / klasyfikacji ciągów (wystarczy odwołać reguły przejścia na każdym etapie). - podczas gdy termin maszynowy jest preferowany w kontekście urządzenia (zamiast modelu) - chociaż oba są synonimami.
Grijesh Chauhan

Odpowiedzi:


12

O ile rozumiem, oba mają „stany” i „działania”, które powodują, że maszyna przemieszcza się z jednego stanu do drugiego na podstawie sygnału wejściowego. Zatem koncepcyjne pomysły są takie same. Jest pewna różnica w szczegółach.

W FSM dla projektów układów przyjmuje się, że sygnał wejściowy jest zazwyczaj nieco (binarny), natomiast w automatach skończonych można mieć ogólny „abstrakcyjny” alfabet symboli wejściowych. Po drugie, FSM generuje również dane wyjściowe związane z osiągniętym stanem, również binarne. W terminologii automatycznej to „rozszerzenie” nazywa się maszyną Moore'a. Automaty mają jednak końcowe (lub przyjmujące) stany, które sygnalizują korzystny odczyt wejścia. Wreszcie, FSM są w większości deterministyczne, tj. Dla każdego wejścia w pewnym stanie jest jeden następny stan. W teorii automatów rozważa się również niedeterministyczny wariant, w którym można mieć wybór, gdzie się przenieść.


6

Na podstawie mojego doświadczenia oraz artykułu w Wikipedii istnieje kilka rodzajów skończonych maszyn stanowych , w tym

Niektóre z latających pojęć różnią się głównie motywacją; niektóre powstały z teorii języka i / lub obliczalności, inne z architektury komputera.

Zauważ, że możesz także zmienić kilka paradygmatów, aby uzyskać automaty, które prawdopodobnie są wciąż automatami o skończonym stanie, na przykład

Jak widać, automaty skończone waniliowe, jak nauczano w TCS 101, to tylko jeden z wielu smaków, każdy z własną (mniej lub bardziej formalną) definicją.


2

Chociaż główna idea, na której oboje polegają, jest taka sama. Oba używają stanów skończonych i przechodzą do innego stanu jako źródło danych wejściowych. Jednak FSM jest maszyną, taką jak Full adder lub SR flipflop, ma bity jako dane wejściowe i wyjściowe. Tak, FSA ma również wyjście bitowe, 0 dla stanu nie kończącego się i 1 dla stanu kończącego, ale jest to abstrakcyjny mechanizm, którego nie widać. Istnieją różnice w rysunkach, które są narysowane w celu ich przedstawienia. Poza tym FSA jest urządzeniem logicznym i obliczeniowym, podczas gdy FSM jest cyfrowym urządzeniem logicznym.

Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.