Почетна / Калкулатори / Онлајн симулатор коначног стања (FSM)
Бесплатни онлајн алати

Онлајн симулатор коначног стања (FSM)

Симулирајте детерминистички коначни аутомат: унесите правила прелаза, почетно стање и улазни низ. Добијте пут кроз стања и коначно стање.

Почните да користите

Како функционише симулатор

Овај алат симулира детерминистички коначни аутомат (ДКА) на основу табеле прелаза коју унесете. Свако правило мора имати тачно три дела одвојена зарезима: тренутно стање, један улазни знак (један Unicode кодни поен) и следеће стање. Број правила је ограничен на 1–200, а имена стања не смеју бити празна нити дужа од 50 UTF-16 кодних јединица.

Пример рада

Унесите правила:

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

Почетно стање: q0, улазни низ: 1011. Очекивани пут: q0 → q1 → q0 → q1 → q1, коначно стање: q1.

Ограничења

  • Не постоји поље за прихватљива стања – алат не одлучује да ли је низ прихваћен.
  • Нема епсилон-прелаза, недетерминизма, минимизације нити дијаграма.
  • Зарези су структурни и не могу се појавити у именима стања или знаковима.
  • Ако за пар стање-знак постоји више од једног правила, пријављује се грешка.

Честа питања

Шта се дешава ако унесем дупликат правила?

Алат одбија дупликате уместо да их прегази, јер свако стање и знак смеју имати највише један прелаз.

Како се обрађује улазни низ?

Улазни низ се обрађује један Unicode кодни поен по један, а пут кроз стања се приказује у потпуности. За дугачке низове пут може бити дуг, па је препоручљиво прво тестирати кратак низ.

Да ли алат подржава прихватљива стања?

Не, алат нема поље за прихватљива стања и не одлучује да ли је низ прихваћен; он само приказује пут и коначно стање.

Имена стања и почетно стање: највише 50 UTF-16 кодних јединица; улаз: 10000. Размаци на крајевима поља правила се уклањају, па сам размак не може бити симбол. Почетно стање унесите тачно, уз исту величину слова и без крајњих размака. Празан улаз задржава почетно стање. Недостајући прелаз даје општу грешку без позиције или делимичног пута.

Обрада се обавља локално у прегледачу.