Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Шпаргалка по теории автоматов (ТА).doc
Скачиваний:
204
Добавлен:
11.04.2014
Размер:
864.77 Кб
Скачать

Вопрос 17. Эквивалентность ка. Теорема Мура.

Рассмотрим функции переходов и выходов автомата т.о., что бы они были определены на множествах последовательностей (цепочках) сигналов входного алфавита.

∑ - входной алфавит; ∑* - пустое множество цепочек; ε – пустая цепочка; αβγ – цепочки αβ=α^β

Пусть задан автомат

А={S,X,Y,S0,δ,λ}

Рассмотрим функции переходов и выходов определяемые следующим образом.

δ*: S×X*→S

δ*: (S× ε)=S

δ*(S, аα)= δ*( δ (S, а),α)

λ* S×X*→У*

λ* (S× ε)= ε

λ*( S, аα)= λ(S, а) ^ λ*( δ (S, а),α)

Если в некоторое состояние автомата не существует пути, из начального состояния то такое состояние называется недостижимым такое состояние можно отбросить. Состояние называется достижимым тогда и только тогда когда существует цепочка (ƎαεХ*) δ*( S0,α)=S достижимо

(∀αεХ*) δ*( S0,α) ≠S недостижимо

Достижимое множество можно построить алгоритмом основанным на индукции.

На i-м шаге алгоритма строится множество состояний Qi, достижимых из начального состояния цепочкой длины не более i.

Q0={ S0} ∀i Qi+1 = Qi U (U V δ(s,x)) sεQ xεX

Два конечных автомата А={SА,XA,YA,SA,δ0A,λA} и B={SB,XB,YB,SB,δ0B,λB} называются эквивалентными если выполняется два условия:

1) совпадают вх. алфавиты XA= XB

2)совпадают вых. Отображают (∀αεХ*) λ*A( S0B,α)= λ*B( S0B,α)

Для решения вопроса об эквивалентном конечном автомате (КА) можно воспользоваться прямым произвольным КА. XA= XB=Х, тогда А×B=<SА ×SB,XA× XB,YB×YB,SB×SA0A×δ0BA×λB>

δA×B:(∀SАε SА)(∀SBε SB)( ∀xεX) δA×B((SB,SA),x)=( δA(SA,x), δB(SB,x))

δA×B:(∀SАε SА)(∀SBε SB)( ∀xεX) λA×B((SB,SA),x)=( λA(SA,x), λB(SB,x))

X

Теорема 1 (Мура): 2 конечных автомата А и В с одинаковыми входами алфавитом Х является эквивалентным тогда и только тогда, когда для любого достижимого состояния (SA ,SB) их произведение А×В справедливо следующее (∀xεX) ) λA(SA,x)=λВ(SB,x)

(∀αεХ*) λ*A( S,α)= λ*B( S0B,α) – определяют КА

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

Вопрос 18. Минимизация конечных автоматов.

Найти min автомат, который реализует заданный автоматное изображение. Эквивалентное состояние называется Z состояние, которые нельзя различить никакими входными экспериментами Z состояния p и q КА А называется эквивалентным если: (∀αεХ*) λ(p,α)=λ*(q,α)

Алгоритм определяет max отношение эквиввалентности на множество состояний КА.

Используем понятие k – эквивалентности состояния p≈kq – это состояния, которые не различимые входной цепочкой длинны k. p≈kq=>(∀αεХ*,|α|≤k)λ*(p, α)= λ*(q,α)

Алгоритм состоит в последовательном построении на множестве автомата разбиений π0, π1, …, π в один класс πk попадают все k – эквивалентные состояния. π0 – все состояния автоматов, π1 – все состояния на которые автомат реагирует одинаково.

Теорема: Пусть состояния p и q, k – эквивалентны (p≈kq, k>1) k>1 чтобы p≈k+1q необходимо чтобы (∀xεX) функции δ (p,x)=k δ (q,x). Иными словами для того чтобы два k эквивалентных состояния КА были k+1 эквивалентными необходимо и достаточно, чтобы под воздействием любого входного сигнала автомат переходил из этих состояний в пару состояний, которые сами были бы k – эквивалентными.

Если состояния p и q k+1 эквивалентны, означает что они k – эквивалентны.

Блоки разбиения πk+1 являются под блоками разбиения πk.Поскольку число состояний N конечное Ǝ конечное число разбиений πk, начиная с π0, который включает одинаковые единичный блок, в котором перечислены все состояния автомата.

Теорема3. Пусть πk+1= πk, тогда ∀i>k : πi= πk Если при нахождении последующих разбиений πk следующие разбиения πk+1 совпадают с πk значит найденоmaxразбиение.

В основном для определения эквивалентности и минимизации А-распознавателей используются те же подходы с небольшими отличиями. КАр: А={S,X,s0,δ,F}

Эквивалентность А определяется по той же теореме Мура с использованием прямого произведения автомата с небольшими корректировками формулировок. Прямым произведением КAр Аи В с общим входным алфавитом X является автоматAxB={SaxSb,X,(s0a;s0b),δAxB,FaxFb}

Т.е. δAxB=( ; δAxB=( δA(Sa,x), δB(Sb,x))

Теорема Мура для КАр: два КАр А и В с одинаковым входным алфавитом Х являются эквивалентными тогда и только тогда, когда в их прямом произведении АхВ для любого достижимого состоянияsa и sb справедливо Два КАр эквивалентны тогда и только тогда, когда при их синхронном функционировании под воздействием одних и тех же входных символах они на каждом шаге всегда оба синхронно попадают в заключительное состояние, либо в незаключительное состояние.Минимизация КАр Два состояния p и q КАр А={S,X,s0,δ,F} называются эквивалентными, если

{s3,s5}=F

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

Алгоритм минимизации КАр аналогичен соответствующему алгоритму для А-преобразователя с небольшими отличиями.

Алгоритм также состоит в построении разбиений (П0, П1, …, Пk)k<n. В каждый блок разбиений Пkпопадаютk-эквивалентные состояния. Состояниетогда и только тогдаНулевое разбиение П0для КАр содержит два блока. В один блок – все заключительные состояния, а в другой блок – все остальные состояния. Для построения следующего разбиения используется следующая теорема (5): Пусть в КАр имеется. Для того, что бы, необходимо и достаточноУсловие завершения алгоритма определяется теоремой 6: Пусть Пk+1k=>i>kПik