
- •Вопрос 1. Предмет та.
- •Вопрос 2. Классификация автоматов
- •Вопрос 3. Приложения та
- •Вопрос 4. Двоичное умножение
- •Вопрос 5. Умножение в инверсных кодах
- •Вопрос 6. Деление
- •Вопрос 7. Деление в инверсных кодах. Особенности.
- •Вопрос 8. Особенности выполнения операций в формате с плавающей запятой.
- •Вопрос 9
- •Вопрос 10. Модель дискретного преобразователя Глушкова
- •Вопрос 11. Микропрограммирование
- •Вопрос 12. Структуры операционных автоматов
- •Вопрос 13. Синтез оа процедурного типа
- •Вопрос 14. Синтез оа структурного типа
- •Вопрос 15. Автоматные языки. Формальное задание Автомата.
- •Вопрос 16. Модели автоматов Мили и Мура
- •Вопрос 17. Эквивалентность ка. Теорема Мура.
- •Вопрос 18. Минимизация конечных автоматов.
- •Вопрос 19. Эквивалентность автомата Мили и Мура.
- •Вопрос 20. Виды уа
- •Вопрос 21. Структурные схемы уа. Мили и Мура.
- •Вопрос 22. Этапы синтеза уажл.
- •Вопрос 23. Примеры синтеза уажл.
- •Вопрос 24. Гонки и способы борьбы с ними
- •Вопрос 25. Уа с программируемой логикой (уапл)
- •Вопрос 26. Алгебраическая и структурная теория ка.
- •Вопрос 26 [part2]
- •Вопрос 27. Объединение нескольких уа в один
- •Вопрос 28. Программная реализация ка. Варианты реализации. Шаблон Состояние.
- •Вопрос 29. Назначение и краткая характеристика vhdl.
- •Вопрос 30. Реализация уа на vhdl.
- •Вопрос 31. Понятие о языке моделирования uml.
- •Вопрос 32. Понятие о языках и формальных грамматиках
- •Вопрос 33. Классификация языков
- •Регулярные языки и Конечные Автоматы
- •Вопрос 34. Лемма о накачке
- •Вопрос 35. Понятие о нка. Получение дка по нка.
- •Вопрос 36. Регулярные выражения. Синтаксические диаграммы. Теорема Клини.
- •Вопрос 37. Применение рв. Различные нотации рв.
- •Вопрос 38. Кс-грамматики и магазинные автоматы.
- •Вопрос 39. Машины Тьюринга
- •Вопрос 40. Использование мт для анализа алгоритмов.
Вопрос 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×SA,δ0A×δ0B,λA×λ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( S0А,α)= λ*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+1=Пk=>
i>kПi=Пk