СВЕДЕНИЕ НЕДЕТЕРМИНИРОВАННОГО КОНЕЧНОГО АВТОМАТА К ДЕТЕРМИНИРОВАННОМУ




 

Процедура построения детерминированного автомата Ад, эквивалентного недетерминированному автомату Ан, задается следующими шагами:

1. Пометить первую строку таблицы переходов для Ад множеством начальных состояний автомата Ан. Применить к этому множеству шаг 2.

2. По данному множеству состояний В, помечающему строку таблицы переходов автомата Ад, для которой переходы еще не вычислены, вычислить те состояния автомата Ан, которые могут быть достигнуты из В с помощью каждого входного символа х, и поместить полученные множества состояний в соответствующие ячейки таблицы для автомата Ад. Символически это выражается так: если d – функция недетерминированных переходов, то функция детерминированных перехода d' задается формулой d'(B, x) = {S | S Î d (T, x), " Т Î В}

3. Для каждого нового множества, порожденного переходами на шаге 2, посмотреть, имеется ли уже в Ад строка, помеченная этим множеством. Если нет, то создать новую строку и пометить ее этим множеством. Если множество уже использовалось как метка, никаких действий не требуется.

4. Если в таблице автомата Ад есть строка, для которой еще не вычислены переходы, вернуться назад и применить к этой строке шаг 2. Если все переходы вычислены, перейти к шагу 5.

5. Пометить строку как допускающее состояние автомата Ад тогда и только тогда, когда она содержит допускающее состояние недетерминированного автомата. В противном случае пометить как отвергающее состояние.

Описанная процедура гарантирует, что детерминированный автомат не содержит недостижимых состояний.


В результате применения этого алгоритма от недетерминированного автомата (табл. 4, рис. 1) можно перейти к эквивалентному детерминированному автомату, таблица переходов которого приведена в таблице 5.

 

Таблица 5

Таблица переходов детерминированного автомата.

  x0 x2 x3 x4 x5 x6 x7  
{S} {Er} {Er} {Er} {Er} {S1,S3} {F} {C}  
{S1,S3} {Er} {Er} {Er} {Er} {Er} {S2,S4} {Er}  
{S2,S4} {A} {Er} {Er} {B} {Er} {Er} {Er}  
{A} {Er} {D} {Er} {Er} {A1} {Er} {Er}  
{A1} {Er} {Er} {Er} {Er} {Er} {Er} {Er}  
{B} {Er} {E} {Er} {Er} {B1} {Er} {Er}  
{B1} {Er} {Er} {Er} {Er} {Er} {Er} {Er}  
{C} {Er} {E} {Er} {Er} {C1} {Er} {Er}  
{C1} {Er} {Er} {Er} {Er} {Er} {Er} {Er}  
{D} {Er} {S} {D1} {Er} {Er} {Er} {Er}  
{D1} {Er} {Er} {Er} {Er} {Er} {Er} {Er}  
{E} {Er} {S} {E1} {Er} {Er} {Er} {Er}  
{E1} {Er} {Er} {Er} {Er} {Er} {Er} {Er}  
{F} {Er} {F9} {Er} {Er} {F5} {Er} {F1}  
{F1} {Er} {Er} {Er} {Er} {F2} {Er} {Er}  
{F2} {Er} {Er} {Er} {F3} {Er} {Er} {Er}  
{F3} {F4} {Er} {Er} {Er} {Er} {Er} {Er}  
{F4} {Er} {Er} {Er} {Er} {Er} {Er} {Er}  
{F5} {Er} {Er} {Er} {Er} {F6} {Er} {Er}  
{F6} {Er} {Er} {Er} {F7} {Er} {Er} {Er}  
{F7} {F8} {Er} {Er} {Er} {Er} {Er} {Er}  
{F8} {Er} {Er} {Er} {Er} {Er} {Er} {Er}  
{F9} {Er} {Er} {Er} {Er} {Er} {Er} {F10}  
{F10} {F11} {Er} {Er} {Er} {Er} {Er} {Er}  
{F11} {Er} {Er} {Er} {Er} {Er} {Er} {Er}  
{Er} {Er} {Er} {Er} {Er} {Er} {Er} {Er}  

 

Перейдем к более простым обозначениям состояний автомата:

{S}®Y; {S1,S3}®Y1; {S2,S4}®Y2;

{A}®Y3; {A1}®Y4; {B}®Y5; {B1}®Y6;

{C}®Y7; {C1}®Y8; {D}®Y9; {D1}®Y10;

{E}®Y11; {E1}®Y12; {F}®Y13; {F1}®Y14;

{F2}®Y15; {F3}®Y16; {F4}®Y17; {F5}®Y18;

{F6}®Y19; {F7}®Y20; {F8}®Y21; {F9}®Y22;

{F10}®Y23; {F11}®Y24; {Er}®Er.


В новых обозначениях таблица переходов автомата приведена в табл. 6.

 

Таблица 6

Таблица переходов детерминированного автомата

(новые обозначения состояний)

  x0 x2 x3 x4 x5 x6 x7  
Y Er Er Er Er Y1 Y13 Y7  
Y1 Er Er Er Er Er Y2 Er  
Y2 Y3 Er Er Y5 Er Er Er  
Y3 Er Y9 Er Er Y4 Er Er  
Y4 Er Er Er Er Er Er Er  
Y5 Er Y13 Er Er Y6 Er Er  
Y6 Er Er Er Er Er Er Er  
Y7 Er Y11 Er Er Y8 Er Er  
Y8 Er Er Er Er Er Er Er  
Y9 Er Y Y10 Er Er Er Er  
Y10 Er Er Er Er Er Er Er  
Y11 Er Y Y12 Er Er Er Er  
Y12 Er Er Er Er Er Er Er  
Y13 Er Y22 Er Er Y18 Er Y14  
Y14 Er Er Er Er Y15 Er Er  
Y15 Er Er Er Y16 Er Er Er  
Y16 Y17 Er Er Er Er Er Er  
Y17 Er Er Er Er Er Er Er  
Y18 Er Er Er Er Y19 Er Er  
Y19 Er Er Er Y20 Er Er Er  
Y20 Y21 Er Er Er Er Er Er  
Y21 Er Er Er Er Er Er Er  
Y22 Er Er Er Er Er Er Y23  
Y23 Y24 Er Er Er Er Er Er  
Y24 Er Er Er Er Er Er Er  
Er Er Er Er Er Er Er Er  

 


 

Граф переходов автомата, построенный по таблице 6, показан на рис. 2.

 

 

Рис. 2 Граф переходов детерминированного автомата, эквивалентного исходному

 

Примечание. Чтобы не загромождать рисунок, не изображено состояние Er а также дуги, ведущие в него из других состояний.

 

Построенный автомат не является минимальным, поэтому необходимо выполнить этап минимизации автомата, на котором строится минимальный (иначе – приведенный) автомат.




Поделиться:




Поиск по сайту

©2015-2024 poisk-ru.ru
Все права принадлежать их авторам. Данный сайт не претендует на авторства, а предоставляет бесплатное использование.
Дата создания страницы: 2019-02-10 Нарушение авторских прав и Нарушение персональных данных


Поиск по сайту: