Конвертирование FSM в регулярные выражения

Я знаю, как преобразовать регулярное выражение в FSM, но не совсем уверен, как его отменить.

каким будет регулярное выражение для этого примера?

1 ответ

Решение

Регулярное выражение для вашего DFA будет (b + ab*a)*

Описание языка: Символ b может появиться любым способом, но ограничение a может быть для четного числа раз в языковых строках.

(b + ab*a)*
   ^   ^  ^
   |   |  "* because loop on initial state"  
   |   | "* on b because of self loop with label b on 2nd state"
   |
   |"+ because two outgoing edges, One is self loop other via 2nd state"


Here: + means Union, * means repetition for zero or more times

Примечание. Примеры языковых строк: {^, b, aa, bababb...}

(четное a с и любой b с нулем)

Другие вопросы по тегам