Ноу Інти, лекція, кінцеві автомати перетворювачі і розпізнавачі

твір автоматів

Розглянемо одну важливу конструкцію кінцевого автомата по двом іншим, звану твором автоматів. яка дозволить встановити замкнутість класу звичайно автоматних мов щодо теоретико множинних операцій.

Нехай і - два кінцевих автомата із загальним вхідним алфавітом розпізнають мови L1 і L2. відповідно. Визначимо по ним автомат M =, званий твором M1 і M2 (M = M1 x M2). наступним чином. , Тобто стану нового автомата - це пари, перший елемент яких - стан першого автомата, а другий - стан другого автомата. Для кожної такої пари (q, p) і вхідного символу визначимо функцію переходів. . Початковим станом M є пара q0 = (q0 1. q0 2). що складається з початкових станів автоматів-множників. Що стосується безлічі заключних станів. то воно визначається в залежності від операції над мовами L1 і L2. яку повинен реалізувати M.

  • При чи автомат розпізнає мову.
  • При і автомат розпізнає мову.
  • При і автомат M = розпізнає мову L = L1 \ L2.

Доказ цієї теореми безпосередньо виводиться з наступного твердження.

Лемма 4.2. Для будь-яких двох станів (q, p) і (q ', p') автомата M і будь-якого вхідного слова w слово w переводить (q, p) в (q ', p') в автоматі M тоді і тільки тоді, коли воно переводить q в q 'в автоматі M1 і p в p' в автоматі M2.

Лемма встановлюється індукцією по довжині слова w.

Следствіе4.1.1. Клас звичайно автоматних мов замкнутий щодо теоретико множинних операцій об'єднання, перетину і різниці.

Недетермінірованние кінцеві автомати та їх детермінізації

Недетермінірованние кінцеві автомати, що розглядаються в цьому параграфі, є узагальненнями детермінованих: вони при читанні чергового символу на вході можуть вибрати в якості наступного одне з декількох станів, а крім того, можуть змінити стан без читання входу. Основний результат, який ми встановимо, стверджує, що це обощение несуттєво: недетерміновані і детерміновані кінцеві автомати розпізнають одні і ті ж мови.

Визначення 4.8. Недетермінований кінцевий автомат (НКА) - распознаватель - це система виду

що включає наступні компоненти:

  • - кінцеве безліч - вхідний алфавіт;
  • Q = 0. qn-1> (n> = 1) - кінцеве безліч - алфавіт внутрішніх станів;
  • - початковий стан автомата;
  • - безліч приймають (допускають, заключних) станів;
  • - функція переходів.

Для значення - це безліч станів в кожне з яких може перейти автомат зі стану q. коли отримує на вхід символ a. - це безліч станів в кожне з яких може перейти автомат зі стану q без читання символу на вході.

Як і для детермінованих автоматів, функцію переходів можна уявити за допомогою набору команд-програми: для кожної пари і та кожного стану в програму поміщається команда q a -> q '. і для кожного стану в програму поміщається команда q -> q '. Відмінність від детермінованого випадку полягає в тому, що для однієї пари і в програмі може бути кілька команд виду q a -> q 'чи не бути жодної такої команди. Крім того, можуть з'явитися-команда (порожні переходи) виду q -> q '. означають можливість безпосереднього переходу з q в q 'без читання символу на вході.

При табличному завданні функції в таблиці з'являється (m + 1) -ий стовпець, відповідний порожньому символу і на перетині рядка q і стовпці стоїть безліч станів.

Для недетермінірованного автомата в діаграмі DM = (Q, E) з виділеної початковою вершиною q0 і безліччю заключних вершин F ребра взаємно-однозначно відповідають командам: команді виду q a -> q 'відповідає ребро (q, q'), з міткою a. а команді виду q -> q 'відповідає ребро (q, q'), з міткою.

Скажімо, що заданий послідовністю ребер шлях p = e1 e2. eT в діаграмі DM несе слово w = w1 w2. wt (t <= T). если после удаления из него "пустых" ребер (т.е. ребер с метками ) остается последовательность из t ребер , метки которых образуют слово w. т.е. wi - это метка ребра . Очевидно, это эквивалентно тому, что последовательность меток на ребрах пути p имеет вид , где kj>= 0 (j = 1,2. T + 1) і.

Слово w переводить q в q 'в діаграмі DM. якщо в ній є шлях з q в q 'який несе w.

На недетерміновані автомати природним чином переноситься визначення конфігурацій і відносини переходу між ними.

Визначення 4.9. Назвемо конфігурацією НКА довільну пару виду (q, w). в якій і. Визначимо відношення переходу з однієї конфігурації в іншу за один крок:

Як і для ДКА, через позначимо рефлексивне і транзитивне замикання відношення.

Зовні визначення розпізнавання слів НКА збігається з визначенням для ДКА.

Визначення 4.10. НКА M розпізнає (допускає, приймає) слово w. якщо для деякого \

Мова LM. розпізнається НКА M. складається з усіх слів. розпізнаються автоматично:

Відмінність полягає в тому, що у НКА може бути кілька різних способів роботи (шляхів обчислення) на одному і тому ж вхідному слові w. Вважаємо, що НКА розпізнає (допускає, приймає) це слово. якщо хоча б один з цих способів призводить до заключного стан з F.

З визначення діаграми DM безпосередньо випливає, що НКА M розпізнає слово w. тоді і тільки тоді, коли існує таке заключне стан, що в діаграмі DM слово w переводить q0 в q. Іншими словами, в DM є шлях з q0 в q. на ребрах якого написано слово w (з точністю до міток).

Приклад 4.1. Розглянемо НКА, де

Розглянемо роботу цього автомата на слові ababa:

Так як 3 - заключне стан, то. Зауважимо, що у автомата N1 є й інші способи роботи на цьому слові. не ведуть до заключного стану. Наприклад, він може після читання кожного символу залишатися в стані 0. Але щоб слово допускалося, досить існувати хоча б одному "доброго" способу.

Очевидно, що детерміновані кінцеві автомати є окремими випадками недетермінірованних. Природно запитати, розпізнають чи недетерміновані кінцеві автомати більший клас мов ніж детерміновані? Наступна теорема показує, що класи мов. розпізнаються НКА і ДКА збігаються.

Теорема 4.2. (Детермінізації НКА)

Для кожного НКА M можна ефективно побудувати такий ДКА A. що LA = LM.

Доказ Нехай - НКА. Процедура побудови по ньому еквівалентного ДКА складається з двох етапів: на першому по M будується еквівалентний йому НКА M1. в програмі якого відсутні переходи по а на другому етапі по M1 будується еквівалентний ДКА A.