- •Теория автоматов Конспект лекций Уровни представления эвм.
- •Операционные элементы. (оэ)
- •Процессор гса:
- •Достоинства и недостатки.
- •Операционное устройство для выполнения операций алгебраического сложения двоичных чисел.
- •Суммирование при использовании прямого кодирования.
- •Суммирование чисел при использовании обратного кода.
- •Д ополнительный код.
- •Модифицированный код.
- •Пример суммирования.
- •Конечные автоматы.
- •Теория конечных автоматов
- •Способы задания функций переходов.
- •Автоматы ( с выходным преобразователем)
- •Способы задания автоматов
- •Способы задания автомата Миля
- •Преобразование автоматов из Миля в Мура и обратно Понятие эквивалентности автоматов
- •Преобразование Мура в Миля
- •Техника преобразований.
- •Обратный переход. Построение Мура для заданного Миля.
- •Частичные или не полностью определенные автоматы.
- •Синтез конечных автоматов.
- •Абстрактный синтез конечных автоматов.
- •Построение дерева входных последовательностей.
- •Структурный этап синтеза автоматов.
- •Основные этапы структурного синтеза.
- •Типы памяти.
- •Основные типы триггеров.
- •Пример структурного синтеза синхронного автомата.
- •`Временная диаграмма.
- •Этап минимизации автомата при абстрактном синтезе. Минимизация полностью определенного автомата.
- •Алгоритмы минимизации на основе треугольной матрицы.
- •Минимизация числа состояний частичного автомата.
- •Минимизация частичного автомата.
- •Абстрактный этап синтеза конечного автомат. (неканонический метод).
- •Алгоритм перехода от граф схемы микропрограммы к автомату Мура.
- •Учет взаимодействия операционного и управляющего автоматов. Алгоритм получения.
- •Алгоритм получения частичного автомата.
- •Множество входных значений.
- •Кодирование состояний синхронного автомата.
- •Кодирование соседними кодами.
- •Минимизация числа переключений элементов памяти.
- •Универсальный способ кодирования (для синхронного автомата).
- •Автомат с дешифратором.
- •Асинхронные автоматы.
- •Этапы синтеза асинхронного автомата.
- •Реализация асинхронного rs триггера на логических элементах.
- •Установочные входы в триггерах.
- •Синхронные элементы памяти.
- •Требования, предъявляемые к синхросигналу.
- •Синтез синхронного d триггера.
- •Синтез триггера с задержкой.Реализация асинхронного t триггера.
- •Исключение состязаний элементов памяти в синхронных автоматах.
- •Структура автоматов на плм и пзу.
- •Явление рисков в комбинационных узлах.
- •Исключение влияние рисков.
- •Построение схем без риска.
- •Алгоритм построения схемы без рисков по днф.
- •Алгоритм построения схемы без риска.
- •Автоматы, языки и грамматики.
- •Задача распознавания цепочек языка.
- •Классификация грамматик по Хомскому.
- •Примеры построения грамматик.
- •Грамматика для выполнения арифметических операций.
- •Соответствие конечных автоматов и автоматных грамматик.
- •Этапы для заданной автоматной грамматики.
- •Этапы для заданной автоматной грамматики.
- •Недетерминированные конечные автоматы.
- •Преобразование недетерминированного автомата в детерминированный.
- •Преобразование некоторых типов грамматики к автоматному ввиду.
- •Алгоритм получения правил, не содержащих правил вывода нетерминальных символов.
- •Построение распознавателей и преобразователей.
- •Построение распознавателей.
- •Алгоритм построения преобразователя.
Недетерминированные конечные автоматы.
Пусть A0 – недетерминированный конечный автомат.
A0 = < P0 , S0 , s00,φ0,F0>
F0 – множество конечных подмножеств алфавита состояний.
S = {S0 , S1 , S2}
M(S) = {{ S0 } , { S1 } , { S2 } , { S0 , S1} , { S0 , S2} , { S1 , S2} , { S0 , S1 , S2}}
M* <= M
φ : P*SS – детерминированный алфавит
φ0 : P*SM* - недетерминированный автомат
Отличие недетерминированного автомата состоит в том, что функции перехода может определять не одно состояние, в которое переходит автомат, а некоторое подмножество состояний.
ТЕОРЕМА: Если L(A0) – язык который допускается некоторым конечным автоматом A0 , то существует детерминированный конечный автомат A который допускает этот же язык.
Преобразование недетерминированного автомата в детерминированный.
Имеется два способа:
Общий способ
Пример:
P = {a,b}
S = {I,B,C}
M(S) = {[I] , [B] , [C] , [IB] , [IC] , [BC] , [IBC] , o}
φ( I , a) = [I , c]
φ( I , b) = [B]
φ( B , a) = [C]
φ( B , b) = []
φ( C , a) = [B]
φ( C , b) = [B]
φ( IB , a) = [IC]
φ( IB , b) = [B]
φ( IC , a) = [I ,C , B]
φ( IC , b) = [B]
φ( BC , a) = [BC]
φ( BC , b) = [B]
φ( IBC , a) = [IBC]
φ( IBC , b) = [B]
Вершины IB и BC являются недостижимыми, а вершины 0 нет в выходном сигнале для состояния B, следовательно граф упроститься:
Это общий способ построения автомата.
Недостаток заключается в том, сто в процессе преобразования возникает большое число недостижимых вершин, которые необходимо удалять.
2 способ. Сокращенный способ.
Строится заготовка таблицы переходов детерминированного конечного автомата.
В качестве начального состояния выбирается начальное состояние недетерминированного автомата и для него строим подмножество состояний, в которое переходим из начального. Строку заносим в заготовку таблицы переходов.
Если полученное подмножество состояний или состояния отсутствуют в левой части таблицы переходов, то они заносятся туда и осуществляется переход к пункту 2.
Процесс заканчивается если в результате получения подмножества, мы не получаем новое подмножество , которое создается в левом столбце.
Пример:
Pi / Si |
a |
b |
I |
IC |
B |
IC |
ICB |
B |
B |
C |
--- |
ICB |
ICB |
B |
C |
B |
B |
Пример : Недетерминированный конечный автомат.
D – конечная вершина.
Преобразование некоторых типов грамматики к автоматному ввиду.
Утверждение : любой конечный язык, не содержащий пустой цепочки является автоматным языком, следовательно существует автоматная грамматика, порождающая данный язык.
Доказательство данного утверждения заключается в указании способа построения автоматной грамматики, порождающий данный язык.
Пусть задан язык:
L = {x1 x2 x3…xn} xi € Vt*
Xi = a1a2a3…am ai € Vt
Для построения грамматики введем следующие нетерминальные символы: A1A2…Am-1 и следующие правила:
Xi a1A1 A1 a2A2 …Am-2am-1Am-1 Am-1am
Применяя данную процедуру по всем цепочкам Xi получим множество порождающих правил автоматной грамматики, соответствующей исходному языку.
Рассмотрим контекстно-свободные грамматики.
Контекстно-свободная грамматика является левосторонней , если все ее правила только левосторонние (правосторонняя наоборот) либо заклячительные правила.
Правила вида:
A xB – правосторонняя, где A,B – нетерминальные символы.
A Bx – левосторонняя.
A x – заключительное правило.
Для любой правосторонней или левосторонней грамматики может быть построено эквивалентная ей правосторонняя или левосторонняя автоматная грамматика.
Доказательство:
G = <Vt , Vn , I , R> создается набор правил вида:
A xB , где x € Vt*
Предположим, что xi = a1a2…am введем нетерминальные символы A1A2…Am-1 и добавим правило A a1A1
A1a2A2 Am-1 am-1Am-1 Am-1 amB либо Am-1 am
Цепочка правил, заканчивающаяся Am-1 amB заменит одно правило A xB. Цепочка правил, заканчивающаяся Am-1 am заменит правило A x
Применяя данную процедуру по всем контекстно-свободным грамматикам получим набор правил автоматной грамматики. В любой контекстно-свободной грамматики могут оказаться правила вида AB, она может быть преобразована к контекстно-свободную грамматику не содержащую таких правил.
если ώξ1 A ξ2 и есть правило
A B , B Cx то применяя эти правила в результате получим:
ξ1 A ξ2 ξ1 B ξ2 ξ1 Cx ξ2 это равносильно тому, что A Cx
Доказательство: пусть есть правило вида
R = {…AB…BCx}
В этом случае вывод любой цепочки, содержащий нетерминальный символ A, осуществляется следующим образом, пусть есть вывод
ώξ1 A ξ2, тогда данная цепочка преобразуется в конечную следующим образом:
ξ1 A ξ2 ξ1 B ξ2 ξ1 Cx ξ2
Равносильно A Cx
Чтобы исключить цепочку ξ1 B ξ2 вместо A , B нужно записать A Cx.
