- •Глава 3. Теория автоматов.
- •Основные понятия теории автоматов
- •Так к.С. Грамматика порождает язык
- •Так, нефункциональная к. С. Грамматика
- •Пояснения к построению дерева методом “свертый”:
- •Предполагается, что “программа” машины Тьюринга составляется из конечного множества команд вида: qiaj→ ql ak dp, , где (и).
- •Замечание
- •I. Макроподход.
- •II. Микроподход
- •Пояснения
- •Замечание
- •Замечание
- •Моделирование автоматных систем сетями петри.
- •Сеть петри Общие положения.
- •Выполнение сети Петри.
- •Интерпретация сети Петри.
Предполагается, что “программа” машины Тьюринга составляется из конечного множества команд вида: qiaj→ ql ak dp, , где (и).
Смысл команды следующий: блок управления, находясь в состоянии qi после считывания головкой символа aj из ячейки ленты должен перейти в состояние ql головки, записать в обозреваемую ячейку символ ak и передвинуть на один шаг dp(dp - влево, dп - вправо, dн - остаться неподвижной).
Говорят, что функция f: N0K N0, где N0=N0 является вычислимой по Тьюрингу, если для каждого слова N0K справедливо утверждение, что при помещении некоторого представления N0K на ленту(и в предложение начального состояния) машина останавливается в случае считывания с ленты представления функции f().
Замечание:
При изучении моделей вычислений обычно проводят различие между детерминированными и недетерминированными алгоритмами. В детерминированной машине Тьюринга общий ход вычислений полностью определяется ее программой, начальным состоянием и записанными на ленте словами.
В недетерминированной машине Тьюринга на каждой стадии вычислений существуют альтернативы.
2) на языке соответствий множество команд для рабочей недетерминированной машины Тьюринга есть отображение q=< M1, M2, S> , где
M1= A* Q, M2=A*Q*D, S: A*Q A*Q*D, DomS A*Q
( Если DomS= A*Q, то говорят о всюду определенной машине Тьюринга,
а если DomS A*Q, то о частично определенной машине.)
JmS A*Q*D
При этом : если S=Sf , то машина Тьюринга является детерминированной, не всюду определенной машиной, а в случае S|=Гf (?)–детерминированной всюду определенной машиной.
Формально машина Тьюринга UT есть кортеж <A, Q, Р>, где AQ=Ф и
A={a0 , a1 , a2 … am} –внешний алфавит
Q={q0 , q1 , q2 … qn } –внутренний алфавит
Р- законы взаимодействия алфавитов А и Q.
В случай детерминированной машины Тьюринга ее законы взаимодействия символов Р представляют программу П( рассматривается как упорядоченной множество команд) и в этом случае записывают UT= <A, Q, П >,
где П={ xP: qiaJ qeaKdp}
Как формальная система F.S. машина Тьюринга порождает множество своих конфигураций К (машинных слов вида d1qe 2, где 1 2A* , qeQ). Исходный объект – начальная конфигурация q0 1 2 , правила Р- система команд. Особенность F.S., задающих алгоритм (в нашем случае машину Тьюринга), заключается в том, что в них любому порождаемому объекту (в нашем случае конфигурация машины Тьюринга) применимо одно правило. Именно это свойство обеспечивает детерминированность (однозначность) работы алгоритма.
Пример: Последовательность конфигураций машины Тьюринга <{ | a0 +}, {q1, q2, q3, qz}>, реализующей в унарной системе счисления алгоритм сложения двух натуральных чисел следующий:
|
A\ Q |
q1 |
q2 |
q3 |
|
| |
a0dnq3 |
|d^ q2 |
|dnq3 |
|
a0 |
a0dnq1 |
a0dHq1 |
|dHq2 |
|
+ |
a0dnq2 |
+d^ q2 |
+dnq3 |
Конфигурация
№1 q1=|||+||||
q1
|
a0 |
a0 |
| |
| |
| |
+ |
| |
| |
| |
| |
a0 |
a0 |
|
q1 a0dnq3
2 q3=|||+||||
k1| k2
|
a0 |
a0 |
a0 |
| |
| |
+ |
| |
| |
| |
| |
a0 |
a0 |
|
№9 (3+4+2)
|
q3
|dnq3
k3| k9
|
a0 |
a0 |
a0 |
| |
| |
+ |
| |
| |
| |
| |
a0 |
a0 |
|
№10 ||+||||q2
a0q3
|dHq2
k9| k10
|
a0 |
a0 |
a0 |
| |
| |
+ |
| |
| |
| |
| |
a0 |
a0 |
|
№18 (2*(3+4+2))
||+|||||
a0q2
|d^q2
k17| k18
|
a0 |
a0 |
a0 |
| |
| |
+ |
| |
| |
| |
| |
| |
a0 |
|
№19 a0q1 ||+|||||
a0q2
a0dnq2
k18|
k19
|
a0 |
a0 |
a0 |
| |
| |
+ |
| |
| |
| |
| |
| |
|
|
№20
??
a0dnq3
k19|
k20
|
a0 |
a0 |
a0 |
a0 |
| |
+ |
| |
| |
| |
| |
| |
a0 |
|
№55
??
a0dnq1
k54|
k55
|
a0 |
a0 |
a0 |
a0 |
+ |
| |
| |
| |
| |
| |
| |
| |
a0 |
??
a0dnq1(??)
k55|
k56
|
a0 |
a0 |
a0 |
a0 |
?? |
| |
| |
| |
| |
| |
| |
| |
a0 |
Пояснения: Из начальной конфигурации q1|||+||| сотрем самую левую палочку, машина Тьюринга (далее UT) перейдет в состояние q3 и передвинется по ленте вправо (см. в программе П верхнюю левую ячейку) т.к. реализована команда
|q1a0dnq3. Затем UT перейдет направо через все палочки и знак суммы +(см. в программе П верхнюю и нижнюю правые ячейки) до пустой ячейки a0, поставит в ней палочку и перейдет в состояние q2. Далее UT, выполняя команды среднего столбца программы П перейдет влево, пока не окажется у пустой ячейки a0. Переместившись на один шаг вправо, UT перейдет в начальное состояние q1, завершив тем самым первый цикл работы (число циклов равно трем). После третьего цикла UT, попав в конфигурацию q1+||||||, сотрет знак суммы + и перейдет в заключительное состояние qz (т.е. машина остановится0, а на ленте останется результат вычисления- семь палочек.
Примечания:
Рассмотренная машина Тьюринга существует для любого рекурсивно-перечислимого множество слов (цепочек) М()- слов , порождаемых машиной при ее переходе из начального состояния q1 в заключительное qz, т.е ( q1,)=qz. Однако, это не значит, что для любого такого множества М() может быть решена проблема распознавания.
Для того, чтобы машина Тьюринга существовала для любого рекурсивного автоматно-разрешимого множества слов(нужно не только построить порождающую слова машину (т.е. когда Т()=), но и уметь определить такие , обрабатывая которые она не может перейти в заключительное состояние qz= ( q1,) (т.е. вычисляемое машиной Тьюринга значение функции на этих аргументах не определено). В общем случае эта проблема разрешима. Однако эта проблема оказывается разрешимой для некоторых классов машин Тьюринга – линейно-ограниченных, магазинных и конечных автоматов.
Напоминания:
Множество, характеристическая функция которого есть рекурсивная (вычислимая) функция, называется разрешимым (рекурсивным) .
Множество значений рекурсивной функции называется перечислимым (рекурсивно-перечислимым)
ЛИНЕЙНО-ОГРАНИЧЕННЫЕ АВТОМАТЫ.
(Машина Тьюринга с ограниченной рабочей лентой)
Машина Тьюринга UТ, которой для распознания слова А* длины n (пишут ||=n) необходима внешняя память с числом ячеек не более k,n, где k- число, не зависящее от анализируемой ячейки, называется автоматом с линейно-ограниченной памятью . Эти автоматы распознают контекстные языки.
Работа Л-О. автомата состоит из следующих этапов:
Просматривается слева направо записанное на ленте предложение и первая и последняя его буквы заменяются на нетерминированные символы.
ищет в слове подцепочки, являющиеся правыми частями определяющих его (автомата) работу правила НС-грамматики. Если такая подцепочка найдена, автомат заменяет правую часть соответствующего правила (т.е. найденную подцепочку) на левую часть. При этом в случае, если длина левой части правила меньше длины правой, то в оставшиеся свободные ячейки записывается так называемый «нейтральный» символ, не влияющий на работу Л.О. автомата. Если анализируемая цепочка входит в язык (), то должен найтись такой вариант работы Л.О.-автомата, при котором эта цепочка может быть преобразована в цепочку, состоящую из начального символа грамматики и последовательности нейтральных символов. В этом случае начинается третий этап работы.
Автомат просматривает цепочку до крайнего правого элемента (этот символ будет отмечен) и переходит в заключительное состояние. Если первоначальная цепочка в язык не входит, автомат при ее анализе либо придет в тупиковую конфигурацию, либо перейдет в заключительное состояние в момент, когда управляющая головка будет указывать на некоторый символ цепочки.
Пример: Построить распознающий ЛО-автомат для НС-языка (1)={anbnan}, если 1- грамматика имеет следующие продукции:
JMCM, CMCBM, Cb, MBKB, KBKM, KMBM, bBbb, Ma
† Решение:
Рассмотрим работу ЛО-автомата при анализе терминальной цепочки aaabbbaaa, выводимой в данной грамматике следующим образом:
J MCM, MMCBMM, MMMCBMBMM, MMMCBKBMM, MMMCBKMMM, MMMCBBMMM, MMMbBBMMM, MMMbbBMMM, MMMbbbMMM, aMMbbbMMM, aaMbbbMMM, aaabbbMMM, aaabbbaMM, aaabbbaaM, aaabbbaaa.
С учетом того, что вывод предложения a3b3a3(1) возможен в эквивалентной грамматике с продукциями:
JaCa, CaCBa, Cb, aBBa bBbb.
Представим конфигурации ЛО-автомата. в которые он приходит при распознавании следующей цепочки:
a
0q1
aaabbbaaa a0|
a0D
q1aabbbaaa
a0 |--
a0Daabbbaaaq1…
|-- q2DaabbbaaaA |-- …|-- Daabq2bbaaA |--…|--q2DaabbBaaA|--…
|--Daaq2bbBaaA |--…|-- q2DaabBBaaA |--…|--Daaq2bBBaaA |--…
|-- q2DaaCBBaaA |--…|-- DaaCBq2BaaA |--…|--q2DaaCBaBaA |--…
|-- Daq2aCBaBaA |-- …|--q2DaCнннBaA|--…|--Dq2aCнннBaA …
|--q2DcннннннА|-- q?*|--q2aCннннннa|--…|--q2Jннннннн |--…|-- Jннннннннqz
Примечания: Если анализируемая цепочка не входит в язык (1)={anbnan}, то ЛО-автомат при любом варианте анализа перейдет в тупиковую ситуацию. Например, один из вариантов анализа цепочки abaa следующий:
q1abaa |--…|--q2DbaA |--…|--…Dq2baA |--…|--q2DcaA |--…|--q2aCaa|--q2Jннa |--…
|--Jннq2a –тупик.
Итак,
алгоритм распознавания инициальным ЛО
– автоматом
,
здесь q0
– начальное состояние, F
– множество заключительных состояний,
![]()
цепочек
![]()
длины
заключается в следующем:
Образуется всевозможные конфигурации автомата длиной ℓ+1(ℓ- длина исходной цепочки
,
к которой добавляется единица – символ
состояния qi).
Таких конфигураций конечное множество;Образуется из этих конфигураций всевозможные их последовательности без повторения( т.е. каждая конфигурация может входить в кортеж только один раз). Очевидно, что и такое множество наборов также конечно.
Выделяется подмножество последовательностей, начинающихся с конфигураций до α и заканчивающихся конфигурациями вида
.
Если среди этих последовательностей
найдется такая, которая определяет
возможный вариант работы ЛО – автомата,
цепочка
допускается
(т.е. распознана как элемент языка)
автоматом, в противном случае – не
допускается.
Теорема. Классы языков, допускаемых ЛО – автоматами, и НС – языков совпадают.
МАГАЗИННЫЕ АВТОМАТЫ( МП – АВТОМАТЫ).
МП – автоматы, как частный случай машины Тьюринга, есть бесконечный автомат, внутренняя структура которого представляет собой магазинную память.
а) Магазинная память.
Магазинная (стековая) память является аппаратной реализацией машинного списка – стека. Запись и считывание в ней осуществляется через одну и ту же ячейку – вершину стека. В этом случае говорят, что стек (классический пример его – магазин пистолета) реализует дисциплину LIFO(последним пришел первым ушел) в безадресной памяти. Схематично магазин можно рассматривать как потенциально бесконечную в одну сторону ленту, состоящей из ячеек, пронумерованных последовательно числами натурального ряда N. Лента расположена вертикально так, что первая ячейка оказывается самой верхней для записи считывания символа слова. В каждый момент времени в магазине хранится некоторая цепочка, при чтении которой воспринимается лишь первая буква(эта буква стирается, а остальная часть слова поднимается на одну ячейку). При записи в магазин слова ώ длины m( т.е. | ώ | = m ), цепочка , записанная там, двигается на m ячеек вниз, а в освободившиеся ячейки записываются символы слова ώ.
Работа приведенного стека символически можно записать так:
ВАС→ аВАС→ ВаВАС→ аВАС →ВАС
Замечание.
Пустому стеку соответствует пустая
цепочка
![]()
б) Неформальное определение МП – автоматов.
Структуру магазинного преобразователя составляют:
конечный управляющий автомат
три магазина – входной, внутренний и выходной.
три канала, связывающие управляющий автомат с магазинами.
Входной магазин работает только в режиме чтения, выходной –только в режиме записи, а внутренний магазин может работать в двух режимах.

Множество состояний Q управляющего автомата разбито на два подмножества Q1 и Q2. Если состояние управляющего автомата принадлежит к подмножеству Q1, то происходит считывание из входного и внутреннего магазина.
Если же состояние управляющего автомата относится к подмножеству Q2, то происходит считывание только из внутреннего магазина, в этот же момент автомат переходит в новое состояние и записывает во внутренний и входной магазины некоторые слова.
Примечание. Акцептор ( распознающий МП – автомат) не имеет выходной ленты, а порождающий МП – автомат не имеет входной ленты.
Пусть A,Z,B – алфавит соответственно входного, внутреннего и выходного магазинов, не содержащие пустых букв, тогда функционирование МП – преобразователя можно представить выражениями:

Значения этих функций указывают новое состояние и слова, которые записываются во внутренний и выходной магазины. При этом действия МП – автоматов не определены в случае пустого входного или внутреннего магазинов.
в) Формальное определение МП – акцептора.
В
общем виде, инициальный распознаватель
с входной и внутренней лентами определяется
как кортеж семи компонент
, где
А – алфавит входных (терминальных) символов;
Q – множество состояний;
Z
– конечный алфавит, состоящий из
терминальных и нетерминальных символов(при
этом
![]()
Δ – функция переходов МП – автоматов
,
здесь
- булеан, т.е. множество подмножеств
;
q0
– начальное состояние акцептора,
;
z0
- маркер
внутреннего стека,
;
F
– множество конечных состояний,
.
Конфигурация
МП – автомата описывается тройкой
,
где q – текущее состояние акцептора, α
– цепочка непрочитанных терминальных
символов на входной ленте, ώ - цепочка
символов во внутреннем стеке. Такт
работы перехода МП – автомата описывается
в виде
,
если
,
в приведенном выражении
.
Начальная
конфигурация МП – автомата определяется,
как
,
а множество его конечных конфигураций
МП
– автомат допускает цепочку α символов
входной ленты, если, находясь в начальной
конфигурации,
он
может перейти в одну из конечных
конфигураций
.
В противном случае входная цепочка не
принимается.
Пример.
Последовательность конфигураций МП –
автомата
принимающего арифметическое выражение
,
согласно продукциям
,
представим таблицей:
|
КОНФИГУРАЦИИ. |
Дерево вывода | ||
|
Состояние q |
Входное слово α |
Содержимое стека | |
|
q1=q0 |
a(b+c) |
z0 |
|
|
q2 |
a(b+c) |
Jz0 | |
|
q2 |
a(b+c) |
Tz0 | |
|
q2 |
a(b+c) |
TFz0 | |
|
q2 |
a(b+c) |
FFz0 | |
|
q2 |
a(b+c) |
aFz0 | |
|
q2 |
(b+c) |
Fz0 | |
|
q2 |
(b+c) |
Fz0 | |
|
q2 |
(b+c) |
(J)z0 | |
|
q2 |
b+c) |
J)z0 | |
|
q2 |
b+c) |
J+T)z0 | |
|
q2 |
b+c) |
T+T)z0 | |
|
q2 |
b+c) |
F+T)z0 | |
|
q2 |
b+c) |
b+T)z0 | |
|
q2 |
+c) |
+T)z0 | |
|
q2 |
c) |
T)z0 | |
|
q2 |
c) |
F)z0 | |
|
q2 |
c) |
c)z0 | |
|
q2 |
) |
)z0 | |
|
q2 |
а0 |
z0 | |
|
q3=q2 |
а0 |
| |
Пояснение. Рассматриваемый недетерминированный МП – автомат эмулирует вывод с помощью операций со стеком следующим образом: при каждом переходе автомата из стека извлекается символ, определяющий следующее действие автомата. Если извлеченный символ нетерминальный, то вместо него в стек заключится правая часть продукции, соответствующей этому символу. Если извлеченный из†стека символ – терминальный, то он используется в качестве входного символа и, следовательно, определяет переход автомата.
Теорема. Классы КС – языков и языков, допускаемых МП – автоматами, совпадают.
КОНЕЧНЫЕ АВТОМАТЫ
ОСНОВНЫЕ ПОНЯТИЯ.
В настоящее время математической моделью устройств преобразования дискретной информации с конечной памятью часто является конечный автомат. Этот автомат является частным случаем машины Тьюринга, если ее команды имеют вид qjai qlbk (т.е. смещение головки в правой части команды отсутствует, что можно интерпретировать как движение головки относительно ленты только в одном направлении).
В дальнейшем, формальным определением конечного автомата будет картеж четырех компонент U = <A, Q, B, S>, где А – конечный (А = m) входной алфавит, Q – конечное множество (Q = m) внутренних состояний (интерпретируется как память), В – Конечный (В = k) выходной алфавит, S – законы взаимодействия символов A, Q, B, т.е. S: QA QB (Dom S QA, QA n*m; Im S QB).
Замечание: В дальнейшем < QA, QB, S> будем рассматривать как соответствие элементов множеств QA и QB, которое может быть как четким, так и нечетким.
Так, например, конечный автомат называется вероятностным, если S – Случайное соответствие переходов и выходов. Автомат называется нечетким, если S: QA QB есть нечеткое подмножество множества QAQB.
ОБЩАЯ БЛОК-СХЕМА КОНЕЧНОГО АВТОМАТА.
Схему конечного автомата удобно представлять в виде комбинационной схемы, реализующей характеристические функции перехода и выхода , и памяти, сохраняющей на один такт предыдущее состояние автомата:

Здесь aA, bB, qQ – символы алфавитов в соответствующем временном такте t=1,2,3,…
КЛАССИФИКАЦИЯ КОНЕЧНЫХ АВТОМАТОВ.
Приведем классификацию конечных автоматов по видам законов взаимодействия символов алфавитов A, Q, B, и по мощности последних.
В том случае, если S = Г, т.е. U=<A,Q,B,Г>, будем говорить о полном (всюду определенном) недетерминированном (в частности вероятностном, нечетком) автомате. При этом Dom Г = QA, QA = n*m; Im Г QB.
Если закон сопоставления элементов множеств QA и QB является однозначным (т.е. является функцией отклика Sf), то будем говорить о частном (не всюду определенном) детерминированном) автомате U=<A,Q,B,Sf>. В этом случае: Sf: QA QB, или Sf = <,>, где : QA Q, : QA B. Dom Sf QA, im qiaj 1, qiQ, ajA. Итак, U=<A,Q,B,,> есть модель частичного по переходам и выходам детерминированного конечного автомата, в котором - функция переходов (часто будем писать (qiaj) = ql, где qi,ql Q), а - функция выходов (будем писать (qiaj) = bp, bp B).
Замечание:
говоря, что автомат является частичным детерминированным по переходам если: :QAQ, Dom SfQQA; :QAB, Dom Sfb=QA;
говорят, что автомат является частичным детерминированным по выходам, если: :QAQ, Dom SfQ=QA; :QAB, Dom SfbQA;
Автомат называется асинхронным, если в нем для любых qiQ и aA (qi, aiaj)=ql. (nj есть такой автомат, который изменяет свое состояние при изменении входной буквы).
Всюду определенный детерминированный по переходам и выходам синхронный автомат (т.е. (qiaj)= ((qi),aj), A*,(в частности =aj, aj,…aj)) <A,Q,B, ,> называется автоматом первого рода (автоматом Мили). Его функционирование часто записывают системой уравнений (рекуррентных соотношений)
t=
1,2,3,...
bpB
Примечание:
функционирование автомата 2-го рода описывается системой рекуррентных соотношений
t=
1,2,3,...для каждого автомата 2-го рода существует эквивалентный ему абстрактный автомат 1-го рода, функция выходов которого получается подстановкой функции переходов автомата 2-го рода в его сдвинутую функцию выходов, т.е.

конечный автомат называется автоматом Мура, если его функция выходов :QB зависит только от состояний, т.е. для любых
(
- функция отметок, т.к. она каждому
состоянию однозначно ставит в соответствие
отметку – выход В). Очевидно, что автомат
Мура является частным случаем автомата
2-го рода:
t=
1,2,3,...
Конечный автомат называется функциональным (настроенным), если в Q выделено одно начальное состояние q0. В этом случае такой автомат записывают в виде <U, q0>, или U =<A, Q, B, q0, S>
Автомат Мили, выход которого зависит от внутреннего состояния (т.е.
),
называется комбинационным (тривиальным,
примитивным). В этом случае говорят,
что множествоQ
есть множество эквивалентных состояний
(все внутренние состояния эквивалентны).
Замечание.
Минимальный комбинационный автомат,
т.е. если
,
называют автоматом без памяти. Этот
автомат записывают кортежом вида <A,
B,
>.
Поскольку в процессе функционирования
состояние такого автомата изменяться
не может, что выходной символ зависит
только от входного символа в данном
такте (т.е.
и не зависит от ранее поступивших
символов.
Автомат Мили называется автономным автоматом (автоматом без входов), если
.
Очевидно, что все входные слова в этом
случае имеют вид
.Автономный автомат Мура <Q,B, , > называют генератором.
Автомат Мили называют логическим автоматом, если
и
.
Очевидно,
что для детерминированного логического
комбинационного автомата:
функция переходов выращена, а его поведение однозначно определяется функцией выходов с одним аргументом, т.е.
;функция выходов
есть системаk
- логических функций от m
переменных (i-ая
функция определяет значение i-ой
компоненты в выходном векторе автомата).
Автомат Мили, в котором
,
называется акцептором (автоматом без
выходов). Его запись <A,Q,
>.
В частности автомат Мура можно
рассматривать как автомат без выходов,
поскольку его состояния отмечаются
различным образом, т.е. <A,
,>,
(где
- функция отметок
).Автомат Мили, в котором
,
называется автоматом без памяти
(комбинационный автомат).Конечный инициальный автомат называют:
преобразователем (трансформером), если он преобразует входные слова, т.е. A*B*;
распознавателем (акцептором), если он распознает (принимает) входные слова
,
где
,
А – множество заключительных состояний;генератором, если он порождает слова в алфавите В (это т.н. автомат без входа).
ПРИМЕРЫ КОНЕЧНЫХ АВТОМАТОВ.



- детерминированный, инициальный,
логический, всюду определенный,
преобразователь А*
В*
(автомат Мили)

- недетерминированный по переходам,
детерминированный по выходам,
инициальный, частично определенный
преобразователь.

<{a1,a2},{q0,qz},{b1,b2},q,,>-детерминированный по переходам ,недетерминированный по выходам инициативный преобразователь - определенный.
QXA
Q
QXA
B
<
{a1,a2},{q0,qz},{b1,b2},q,>-недетерминированный
, вехде определенный преобразователь.
QXA
1
Q
QXA
2
B
<
{a},{q1,q2,q3},{b1,b2},,>-автономный
автомат Мили(генератор)<
{a1,a2},{q1,q2,q3},{b1,b2},,>-автомат
Мура
л
огический
автомат Мили без выходов(акцептор)<{a,1},{q0,q1},>
к

омбинационный
автомат ,эквивалентный автомат без
памяти
Алгоритм преобразования недетерминированного конечного автомата к детерминированному виду.
Шаги алгоритма преобразования недетерминированного автомата <A,Q,P,> в эквивалентный детерминированный акцептор < A,Q|, q0, > следующие:
Q|=B(Q)-,| Q||=2n-1,B(Q)-булеан
(qi,a)=qj,i=1,m, j=1,k
q0=q0|
Множество конечных состояний детерминированного автомата строится из всех состояний , имеющих […,fi,…], где fi конечное состояние детерминированного акцептора.
Из построенного акцептора удаляют все недостижимые состояния . Доказано ,что рассматриваемый алгоритм строит детерминированный акцептор, эквивалентный заданному недетерминированному распознавателю.
Пример
Заданный автомат является недетерминированным внутренними состояниями. Поэтому | Q||=2n-1 =15
B
(Q)\={q1}U{q2}U{q3}U{q3}U{q4}U{q1,q2}U{q1,q3}U{q1,q4}U{q2,q3}U{q2,q3}U{q2,q4}U{q3,q4}U{q1,q2,q3}U{q1,q2,q4}U{q1,q3,q4}U{q2,q3,q4}U{q1,q2,q3,q4}.Cтроим ф-ию переходов:
(q1,a2)=q3,
(q3,a1)=q2,
(q2,a2=(q3,q4),
({q1,q3},a1)=q3, ({q1,q2},a2)=(q3,q4)
({q1,q4},a2)=q3
({q1,q4},a2)=q3
({q2,q3},a1)=q2
({q2,q3},a2)=(q3,q4)
({q2,q4},a2)=(q3,q4)
({q3,q4},a1)=q2
({q1,q2,q3},a10=q2
({q1,q2,q3},a2)={q3,q4}
({q1,q2,q4},a2)=(q3,q4)
({q1,q3,q4},a2)=q3
({q1,q3,q4},a1)=q2
({q2,q3q4},a1)=q2
({q2,q3,q4},a2)=(q3,q4)
({q1,q2,q3,q4},a1)=q2
({q1,q2,q3,q4},a2)=(q3,q4)
Аналогичное состояние эквивалентного акцептора q0|=q1
Множество конечных состояний F эквивалентного автомата F={qz,(q1,qz),(q2,qz),(q3,qz),(q,q2,qz),(q1,q3,qz),(q2,q3,qz),(q1,q2,q3,qz)
Удаляем недостижимые вершины графа, недостижимыми вершинами являются, те состояния которых при каком-то А невозможен переход из q0,построенного детерминированного автомата следующим :(q1,q2),(q1,q3),(q1,q4),q4,(q1,q2,q3),(q1,q2,q4),(q2,q3,q3),(q1,q3,q4),(q1,q2,q3,q4),(q2,q3), (q2,q4).
Исходный акцептор
<{a1,a2},{q1,q2,q(3,q4)=qz}/q1=q0,> имеет следующий граф переходов:
Э
тот
распознаватель является не всюду
определенным.

