Конвертирование 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
с нулем)