В. 9 Эквивалентные автоматы.

 

Автоматы являются устройствами для переработки дискретной информации.При этом характером перерабатываемой информации определяется алфавит Σ, алфавит внутренних состояний Q определяется строением автомата, и вообще говоря он может различаться у разных автоматов с одинаковыми внешними алфавитами. Следовательно одно и тоже преобразование информации может быть осуществлено автоматами с разным числом состояний, и следовательно, посредством разного числа команд.

 

            Состояние q автомата М и состояние q1 автомата М1 считаются эквивалентными, если  оба автомата, получив одну и ту же (любую) входную последовательность символов, перерабатывают ее в одинаковую выходную последовательность.

 

            Автоматы М и М1 называются эквивалентными, если для каждого состояния автомата М существует эквивалентное ему состояние автомата М1 и наоборот.

 

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

 

Понятие эквивалентности состояний применимо и к одному автомату(формально можно считать то М и М1 совпадают). Для одного автомата эквивалентными будут различные состояния, через которые одна и та же последовательность символов преобразуется в одинаковую выходную.

В связи с синтезом схем практический интерес представляет задача построения автомата, выполняющего заданный набор преобразований при минимальном числе внутренних состояний.

           

            Автомат, эквивалентный заданному и имеющий наименьшее из всех возможных число состояний называется минимальным.

 

Задача построения минимального автомата называется задачей минимизации автомата. Ее решение осуществляется в два этапа: сначала устанавливаются все эквивалентные состояния исходного автомата, а затем по ним строится минимальный автомат. В свою очередь, для определения неэквивалентных состояний необходимо выяснить классы эквивалентных состояний.

 

Пусть имеется автомат с множеством внутренних состояний Q, среди которых могут быть эквивалентные. Отношение эквивалентности состояний обладает обычными свойствами эквивалентности: рефлексивностью, симметричностью и транзитивностью. Поэтому множество Q можно разбить на классы эквивалентности.

 

Например: пусть имеется автомат, заданный таблицей (автомат преобразователь, а не распознаватель).

 

q1

q2

q3

q4

q5

q6

0

q1,1

q2,0

q1,1

q1,1

q6,0

q5,0

1

q5,0

q2,0

q2,0

q3,0

q6,0

q6,0

2

q1,0

q6,1

q3,0

q3,0

q5,1

q2,1

 

На основе этой таблицы составим другую таблицу, клетки которой будут соответствовать различным парам q(i)  q(j) (i!=j), заполнив ее согласно следующим правилам:

-         если два состояния q(i)  q(j) неэквивалентны (т. е. Для какого то значения входного символа х значения на выходе различаются), то соответствующая клетка зачеркивается;

-         если в состояниях q(i)  и q(j) для каждого х значения на выходе одинаковы, то в клетках записываются все пары состояний q(v) q(w) (v!=w), отличные от q(i)  q(j), в которые автомат может перейти из q(i) и q(j) при подаче одного и того же входного сигнала.

 

 

q1

q2

q3

q4

q5

q2

X

-

-

-

-

q3

q5 q2

X

-

-

-

q4

q5 q3

q1 q3

X

q2 q3

-

-

q5

X

q2 q6

q6 q5

X

X

-

q6

X

q2 q5

X

X

q5 q2

* X в таблице – это хуй, т. е. клетка зачеркнута (прим. автора...)

 

Эквивалентны: q1 q3, q1 q4, q2 q5, q2 q6, q3 q4, q5 q6;

Попарно эквивалентны: {q1,q3}, {q2,q5,q6};

Все остальные эквивалентны лишь сами себе {q4}.

 

После выделения классов эквивалентности состояний для автомата М можно построить эквивалентный ему автомат М1. В качестве алфавитов для М1 возьмем соответствующие алфавиты из М, а каждому классу эквивалентных состояний поставим в соответствие одно состояние из М1, т. е. (q1)1↔{q1,q2}; (q2)1↔{q2,q5,q6}; и т.д.

 

Окончательно таблицу можно представить следующим образом:

 

(q1)1

(q2)1

(q3)1

0

(q3)1,1

(q2)1,0

(q3)1,1

1

(q2)1,0

(q2)1,0

(q1)1,0

2

(q1)1,0

(q2)1,1

(q1)1,0

 

Можно доказать следующую теорему:

 

            Для всякого конечного автомата существует единственный эквивалентный ему минимальный автомат. Существует алгоритм, который любому заданному конечному автомату строит соответствующий минимальный.

С точки зрения распознавания формальных языков.

 

            Два конечных автомата называются эквивалентными если они распознают один и тот же язык.

Hosted by uCoz