Wszystkie odpowiedzi z napisem "nie" są poprawne tylko wtedy, gdy przyjmuje się typowy typ finite state machines (FSM) znany jako deterministic finite automata (DFA), który może mieć tylko jeden stan aktywny w danym momencie.
Jednak nie jest to jedyny rodzaj FSM i nie ma powodu, aby ograniczać się do tego typu mechanizmu we wszystkich przypadkach. Istnieją również nondeterministic finite automata (NFAs), które mogą znajdować się w dowolnej liczbie stanów jednocześnie.
To nie jest tylko akademickie, a nawet naprawdę o analizie (jak sugerują powiązania wikipedia): NFA są w rzeczywistości bardzo proste i niezwykle użyteczne i są używane w praktyce w całym miejscu zarówno w implementacjach sprzętu, jak i oprogramowania.
Zasadniczo, aby zaprojektować NFA, robisz to tak jak DFA, ale zamiast mieć "aktualny stan" i używając danych wejściowych do obliczenia "następnego stanu", masz "aktualny zestaw stanów" i używasz wejścia do obliczania "następnego zestawu stanów". W sprzęcie (na przykład FPGA zaimplementowanym w VHDL) można to zrobić dosłownie jednocześnie. W oprogramowaniu (jednowątkowym) zwykle odbywa się to po prostu poprzez powtarzanie stanów w każdym "kroku" urządzenia.
Chociaż tak jest w przypadku wielu implementacji FSM, nie jest to cała historia, ponieważ zaniedbuje całe pole niedeterministycznych automatów skończonych. Zobacz moją odpowiedź, aby uzyskać więcej informacji. – wjl
Ale czy nie są to wielomianowe FSM równoważne z FSM jednego stanu? –