2017-01-01 12 views
3

Большинство источников, таких как http://www.cs.may.ie/staff/jpower/Courses/Previous/parsing/node5.html, предполагают, что замыкание Клейна будет построено с 4 узлами.Почему не может быть упрощена конструкция закрытия Kleene для NFA?

Почему он не может быть сконструирован с использованием всего 2, следующим образом?

enter image description here

ответ

4

Для того, чтобы получить правильные результаты при конкатенации двух NFAS, вам необходимо убедиться, что для обоих компонентов, либо:

  1. Там нет переходов из конечного состояния; или

  2. Переходов в начальное состояние не происходит.

Обычная конструкция Томпсона обеспечивает оба.

Без таких ограничений состав не работает. Например, при вашей конструкции NFA для a*b* также принимает ababab, что неверно.