
- •Кафедра “Вычислительная техника”
- •Составитель: и.В. Воронцов
- •СамГту; Сост. И.В. Воронцов. Самара, 2013, 95 с.
- •Раздел 1. Начальные языки описания цифровых автоматов
- •Тема 1.1. Предмет теории автоматов, его место и задачи
- •Тема 1.2. Начальные языки описания цифровых автоматов. Язык регулярных
- •Язык регулярных выражений алгебры событий использует следующие понятия:
- •Тема 1.3. Граф - схемы алгоритмов (гса) цифровых автоматов.
- •Формулы переходов описывают все пути между операторными вершинами в гса . Они имеют вид:
- •Объединение гса с помощью мса
- •Раздел 2. Автоматные языки описания цифровых автоматов
- •Тема 2.1. Автоматные языки описания цифровых автоматов. Графы переходов,
- •Тема 2.2. Конечные автоматы. Модель дискретного преобразования
- •Тема 2.3. Автоматы Мура, Мили и с-автоматы. Принципиальные различия
- •Тема 2.4. Эквивалентные автоматы, преобразования автоматов.
- •Раздел 3. Абстрактные и микропрограммные автоматы
- •Тема 3.1. Определение абстрактного автомата. Соединение двух автоматов:
- •Тема 3.2. Сети и коллективы автоматов
- •Тема 3.3. Абстрактный синтез микропрограммных автоматов (мпа) по гса.
- •Тема 3.4. Структурный синтез микропрограммных автоматов по гса
- •Разметка состояний
- •Тема 4.1. Формальные языки и операции над ними
- •Тема 4.2. Концепция порождения и распознавания.
- •Тема 4.3. Конечные автоматы как распознаватели.
- •Тема 4.4. Машина Тьюринга как автомат, реализующий
- •Тема 4.5. Автоматы с магазинной памятью (мп-автоматы)..
- •Лекция 9.
- •Тема 5.1. Автоматы как технические устройства эвм.
- •Раздел 6. Микропрограммные цифровые автоматы
- •Тема 6.1. Предмет теории автоматов и формальных языков, его место и задачи в подготовке бакалавра по информатике и вычислительной технике. Краткий исторический обзор
- •Место дисциплины в структуре ооп
- •Тема 6.2. Микропрограммные цифровые автоматы. Микропрограммирование.
- •Раздел 7. Синтез цифровых автоматов на жесткой логике
- •Тема 7.1. Структурный синтез мпа на жесткой логике. Синтез мпа автоматов Мура
- •Синтез автомата Мура по гса. Простейшая реализация
- •3.1.1.2. Построение графа переходов автомата Мура (по гса рис. 3.14)
- •3.1.1.3. Построение прямой таблицы переходов автомата Мура
- •3.1.1.4. Кодирование состояний автомата. Выбор элементов памяти
- •3.1.1.5. Обратная структурная таблица автомата Мура
- •3.1.1.6. Функции управления элементами памяти и функции выходов автомата
- •3.1.1.7. Структурная схема автомата Мура на жесткой логике
- •3.1.1.8. Функциональная схема автомата Мура на жесткой логике
- •Тема 7.2. Структурный синтез мпа на жесткой логике. Синтез мпа автоматов
- •Разметка состояний автомата Мили по гса
- •3.1.2.2. Построение графа переходов автомата Мили по гса
- •3.1.2.3. Построение прямой таблицы переходов автомата Мили
- •3.1.2.4. Кодирование состояний автомата. Выбор элементов памяти
- •3.1.2.5. Обратная структурная таблица автомата Мили
- •3.1.2.6. Функции управления элементами памяти и функции выходов автомата
- •3.1.2.7. Структурная схема автомата Мили на жесткой логике
- •3.1.2.8. Функциональная схема автомата Мили на жесткой логике
- •Раздел 8. Синтез цифровых автоматов на программируемых матрицах (плм)
- •Тема 8.1. Структурный синтез мпа Мили на плм. Вопросы оптимизации мпа
- •3.3.2. Простейшая матричная реализация автомата Мили
- •Тема 8.2. Структурный синтез мпа Мура на плм. Вопросы оптимизации мпа Простейшая матричная реализация автомата Мура
- •3.3.4. Вопросы оптимизации автоматов на матрицах
- •Кодирование логических условий х. Площадь матрицы м& в автоматах Мили и Мура зависит:
- •Раздел 9. Синтез цифровых автоматов на программируемой логике
- •Тема 9.1. Автоматы с программируемой логикой и естественной адресацией.
- •Принцип управления по хранимой программе
- •Кодирование наборов микроопераций
- •Адресация микрокоманд в автомате
- •Естественная адресация микрокоманд в автомате
- •Тема 9.2. Автоматы с программируемой логикой и принудительной адресацией.
- •Тема 9.3. Сегментация памяти в автоматах с программируемой логикой.
Тема 4.3. Конечные автоматы как распознаватели.
Итак, существует иерархия формальных грамматик. Иерархии формальных грамматик соответствует иерархия формальных языков. С другой стороны, типы языков могут быть определены типами абстрактных распознающих устройств (автоматов). При этом язык определяется как множество цепочек, допускаемых распознающим устройством. Таким образом, между формальными языками, формальными грамматиками и абстрактными автоматами имеются взаимно однозначные соответствия, показанные на рис.3.1.
Распознаватели (акцепторы)
Выше рассматривались вопросы, связанные с заданием языков с помощью грамматик, т.е. с помощью механизма порождения цепочек языка.
Как отмечалось ранее, язык может задаваться с помощью распознавателей, т.е. с помощью механизма распознавания цепочек языка. В качестве таких распознавателей будут рассмотрены в первую очередь конечные автоматы (автоматы с конечным числом состояний) специального типа, называемые акцепторами.
Содержательное описание акцептора
На содержательном уровне распознаватель можно представить состоящим из трех частей:
входной ленты;
управляющего устройства с конечной памятью;
вспомогательной или рабочей памяти.
-
Входная лента
Р и с. 3.2
Входная лента – линейная последовательность клеток, или ячеек, каждая из которых содержит точно один символ из некоторого конечного алфавита. На ленте находится цепочка символов алфавита , ограниченная особыми концевыми маркерами не являющимися символами алфавита . Маркеры могут стоять с обеих сторон, либо только справа, либо маркеров может не быть.
Управляющее устройство с конечной памятью имеет входную головку, которая в каждый момент времени читает (или, как говорят, обозревает) одну ячейку ленты. Передвигаясь вдоль ленты в дискретные моменты времени головка символ за символом считывает цепочку символов с ленты. Обычно входная головка только читает.
Распознаватель, который никогда не передвигает входную головку влево, называется односторонним.
Рабочей памятью может быть хранилище информации любого типа. Хранящаяся в памяти информация построена из символов алфавита памяти.
Если распознаватель представляет собой конечный акцептор, то он решает задачу распознавания не прибегая к использованию рабочей памяти и работает при этом как односторонний.
Работа конечного акцептора представляет собой некоторую последовательность тактов. Содержание такта определяется состоянием управляющего устройства и входным символом, считываемым в данный момент входной головкой. Такт состоит из изменения состояния и сдвига входной головки на одну ячейку вправо.
Детерминированный акцептор
Детерминированный
акцептор
с конечным числом состояний (конечный
акцептор, анализатор) задается пятеркой:
,
где
-
конечное множество состояний;
- конечное множество допустимых входных символов;
-
отображение множества
в множество
:
.
Для детерминированного акцептора это
отображение является функциональным,
и называется функцией
переходов;
-
начальное
состояние
акцептора;
-
множество состояний, называемых
заключительными
или принимающими
состояниями
акцептора:
.
Пара
называется конфигурацией
автомата
,
если
(т.е.
если
).
В процессе работы акцептора цепочка
представляет собой последовательность
символов на входной ленте, начинающуюся
с символа, обозреваемого головкой в
состоянии
,
и всеми символами еще не считанными с
ленты, т.е. находящимися справа от
обозреваемого символа.
Конфигурация
называется
начальной.
При этом
- это цепочка символов, которая должна
быть проанализирована акцептором
и либо принята им (классифицирована как
принадлежащая языку
,
задаваемому акцептором), либо отвергнута
как не принадлежащая языку
.
Пара
,
где
называется заключительной
или допускающей.
означает, что вся входная цепочка считана
с ленты.
Такт
автомата
представляется бинарным отношением
⊢
(или
⊢,
если
подразумевается), определенным
на конфигурациях.
Отношение
⊢
означает следующее:
автомат находится в состоянии и его входная головка обозревает ячейку ленты с символом ;
в результате выполнения данного такта автомат перейдет в состояние и сдвинет входную головку на одну ячейку вправо.
Необходимо отметить, что существуют грамматические модели, не входящие в иерархию Хомского. Такие грамматики были разработаны в процессе поиска порождающих механизмов, которые бы лучше представляли весь синтаксис и/или семантику языков программирования.
Лекция 8.