Strona główna / Kalkulatory / Symulator maszyny stanów skończonych (FSM) online
Darmowe narzędzia online

Symulator maszyny stanów skończonych (FSM) online

Symuluj deterministyczną maszynę stanów skończonych (FSM) online. Wpisz reguły, stan początkowy i ciąg wejściowy, aby zobaczyć ścieżkę i stan końcowy.

Rozpocznij

Funkcje i możliwości narzędzia

Symulator FSM to praktyczne narzędzie do nauki i testowania deterministycznych automatów skończonych. Działa w całości w przeglądarce, bez wysyłania danych na serwer.

Przykład działania

Zdefiniuj następujące reguły:

q0,0,q0
q0,1,q1
q1,0,q0
q1,1,q1

Przy stanie początkowym q0 i ciągu wejściowym 1011 symulacja przebiega następująco:

  1. Start: q0
  2. Odczyt „1” → przejście do q1
  3. Odczyt „0” → przejście do q0
  4. Odczyt „1” → przejście do q1
  5. Odczyt „1” → przejście do q1

Wynikowa ścieżka to q0 → q1 → q0 → q1 → q1, a stan końcowy to q1.

Ograniczenia i parametry

  • Liczba reguł: od 1 do 200.
  • Nazwy stanów: niepuste, maksymalnie 50 jednostek kodowych UTF-16.
  • Symbol wejściowy: dokładnie jeden punkt kodowy Unicode (np. pojedynczy znak).
  • Długość ciągu wejściowego: maksymalnie 10000 jednostek UTF-16.
  • Brak pól stanów akceptujących, przejść epsilon, niedeterminizmu, konwersji do wyrażeń regularnych, minimalizacji ani diagramów.
  • Duplikaty reguł (ten sam stan i symbol) są odrzucane jako błąd.

Najczęstsze pytania (FAQ)

1. Co się stanie, jeśli dla danego stanu i symbolu nie ma reguły?

Symulacja zatrzyma się z ogólnym komunikatem o błędzie, bez wskazania pozycji w ciągu wejściowym. Nie ma automatycznego „odrzucenia” – narzędzie po prostu przerywa działanie.

2. Czy mogę używać symboli spoza ASCII, np. polskich znaków?

Tak, symbole wejściowe mogą być dowolnymi punktami kodowymi Unicode, w tym literami ze znakami diakrytycznymi. Pamiętaj, że symbole są oddzielane przecinkami, więc przecinek nie może być częścią symbolu.

3. Czy narzędzie obsługuje niedeterministyczne automaty (NFA)?

Nie. Narzędzie symuluje wyłącznie deterministyczne maszyny stanów. Każda para (stan, symbol) może mieć tylko jedną regułę przejścia.

Uwagi dotyczące prywatności

Całe przetwarzanie odbywa się lokalnie w przeglądarce – żadne dane nie są wysyłane na serwer.

Nazwy stanów i stan początkowy: do 50 jednostek kodowych UTF-16; wejście: do 10000. Białe znaki na krańcach pól reguł są usuwane, więc sam biały znak nie może być symbolem. Podaj stan początkowy dokładnie, z tą samą wielkością liter, bez skrajnych spacji. Puste wejście zachowuje stan początkowy. Brak przejścia daje ogólny błąd bez pozycji ani częściowej ścieżki.

Przetwarzanie odbywa się lokalnie w przeglądarce.