Robię prezentację na temat maszyn Turinga i chciałem przedstawić trochę informacji na temat FSM przed wprowadzeniem maszyn Turinga. Problem w tym, że tak naprawdę nie wiem, co BARDZO różni się od siebie.
Oto, co wiem, że jest inaczej:
FSM ma sekwencyjne stany w zależności od spełnienia odpowiedniego warunku, podczas gdy maszyny Turinga działają na nieskończonej „taśmie” z głowicą, która czyta i pisze.
W FSM jest więcej miejsca na błędy, ponieważ łatwo możemy popaść w niekończący się stan, podczas gdy maszyny Turinga to nie tyle, ponieważ możemy cofać się i zmieniać rzeczy.
Ale poza tym nie znam o wiele więcej różnic, które czynią maszyny Turinga lepszymi niż FSM.
Możesz mi pomóc?
terminology
turing-machines
finite-automata
machine-models
Julio Garcia
źródło
źródło
Odpowiedzi:
Główną różnicą między działaniem DFA (Deterministic Finite Automaton) i baz TM jest sposób, w jaki wykorzystują pamięć.
Intuicyjnie DFA w ogóle nie mają pamięci „scratch”; konfiguracja DFA jest w pełni uwzględniana przez stan, w którym się obecnie znajduje, i jego bieżący postęp w czytaniu danych wejściowych.
Intuicyjnie bazy TM mają pamięć „scratch” w postaci taśmy; konfiguracja TM składa się zarówno z jej bieżącego stanu, jak i bieżącej zawartości taśmy, którą TM może zmieniać podczas wykonywania.
DFA można uważać za TM, która nie zmienia żadnych symboli taśmy ani nie przesuwa głowy w lewo. Ograniczenia te uniemożliwiają rozpoznanie niektórych języków, które mogą być akceptowane przez TM.
Zauważ, że używam terminu „DFA” zamiast „FSM”, ponieważ technicznie uważam TM za maszynę o stanie skończonym, ponieważ TM z definicji mają skończoną liczbę stanów. Różnica między DFA i TM polega na liczbie konfiguracji, która jest taka sama jak liczba stanów dla DFA, ale jest nieskończenie wielka dla TM.
źródło
Maszyny Turinga opisują znacznie większą klasę języków, klasę języków rekurencyjnie policzalnych. Maszyny stanów skończonych opisują klasę zwykłych języków.
Maszyny stanów skończonych nie mają „pamięci”, są ograniczone swoimi stanami.
Maszyna o skończonym stanie jest ograniczoną maszyną Turinga, w której głowa może wykonywać tylko operacje „odczytu” i zawsze porusza się od lewej do prawej.
Weź ten język jako przykład:
Ponieważ maszyny stanów skończonych są ograniczone w tym sensie, że nie mają pamięci, nie można zbudować FSM, który akceptuje L.
Podsumowując:
Maszyny stanów skończonych opisują małą klasę języków, w których nie jest potrzebna pamięć.
Maszyny Turinga to matematyczny opis komputera i akceptują znacznie większą klasę języków niż FSM.
Maszyny Turinga mają większą moc obliczeniową niż FSM. Są zadania, których nie może wykonać żaden FSM, ale które mogą wykonać Maszyny Turinga.
źródło
Miałem te same wątpliwości i widziałem dwa bardzo pouczające filmy i jedno wyjaśnienie na temat Quory w następujący sposób:
Zrozumiałem z tego, że maszyna Turinga używa / ma maszynę skończoną jako część swojej procedury operacyjnej, a także dodaje do niej trochę edytowalnej pamięci.
Proszę również obejrzeć te dwa filmy, są pouczające!
https://youtu.be/gJQTFhkhwPA
https://youtu.be/E3keLeMwfHY
źródło
O ile rozumiem różnice między (standardowym modelem) Turinga i (standardowym modelem) Mealy Machines:
źródło
Maszyna Turinga może przechowywać, jako część taśmy, rzeczy, które chce zapamiętać.
źródło