Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Методические указания по дискретной математике.doc
Скачиваний:
105
Добавлен:
22.11.2018
Размер:
4.5 Mб
Скачать

Глава 4. Автоматы, языки, элементы кодирования

4.1. Автоматы

Рассмотренные ранее, например, в разделе «Синтез логических схем» преобразователи являются функциональными, т.е. не имеют памяти. Выход преобразователя полностью определяется сигналами на его входах. Часто, однако, результат преобразования зависит не только от того, какая информация в данный момент появилась на входах, но и от того, что происходило раньше, от предыстории преобразования. Например, реакция человека на чье-либо замечание может быть существенно различной в зависимости от его настроения, которое определяется событиями, имевшими место ранее.

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

В каждый момент времени автомат находится в некотором состоянии и может изменить это состояние под действием входного сигнала. Определить понятие состояния для общего случая весьма трудно, слишком оно фундаментально. Неформально, состояние системы – это ее характеристика, однозначно определяющая ее дальнейшее поведение, все последующие реакции системы на внешние воздействия. На один и тот же сигнал автомат может реагировать по разному, в зависимости от того, в каком состоянии находится в данный момент. Таким образом, в своих состояниях автомат запоминает свою историю, свое «концентрированное» прошлое. Как правило, автомат имеет ограниченное число состояний (иначе он должен иметь бесконечную память).

Число возможных историй бесконечно велико, даже если вариантов входных воздействий не много. Однако, на множестве предисторий можно ввести отношение эквивалентности (см. раздел 1.2.3). При этом две предыстории попадут в один класс эквивалентности, если они приводят автомат в одно и то же состояние. Очевидно, автомату не нужно запоминать конкретные входные истории. Достаточно, чтобы он запоминал классы эквивалентности, к которым данные истории принадлежат. Наиболее интересен случай, когда число классов эквивалентности конечно. Такой преобразователь называется конечным автоматом.

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

Определение. Конечным автоматом называется пятерка объектов: , где

– конечное непустое множество (состояний);

– конечное непустое множество входных сигналов (входной алфавит);

– начальное состояние;

– функция переходов;

- множество выходных сигналов.

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

В [1] приведен пример автомата, описывающего поведение отца, отправившего сына в школу. Сын приносит двойки и пятерки. Но отец не наказывает сына за каждую двойку. Он понимает, что она может быть и случайной. Поэтому выбрана более тонкая тактика, которая описывается автоматом, граф которого представлен на рис. 4.1.

Рис. 4.1. Автомат, описывающего поведение отца, отправившего сына в школу

Автомат имеет четыре состояния и два входных сигнала – оценки, получаемые сыном в школе: {2,5}. Начиная с начального состояния (оно помечено входной стрелкой) автомат под действием входных сигналов переходит из одного состояния в другое и формирует выходные сигналы – реакции на входы. Выходы автомата будем интерпретировать как действия отца следующим образом: – брать ремень; – ругать сына; – успокаивать сына; – надеяться; – радоваться; – ликовать.

Сына, получившего двойку, ожидает дома совершенно разная реакция отца в зависимости от предыстории его учебы. Отец помнит предысторию учебы сына и строит свое поведение с учетом этой предыстории. Например, после третьей двойки во входной истории 2,2,2 сына встретят ремнем, а в истории 2,2,5,2 – будут успокаивать. Каждая предыстория определяет текущее состояние автомата, при этом некоторые предыстории эквивалентны (те, что приводят автомат в одно и то же состояние). История 2,2,5 эквивалентна пустой истории. Текущее состояние автомата представляет все то, что автомат знает о прошлом с точки зрения его будущего поведения.

Итак, конечный автомат – это устройство, работающее в дискретные моменты времени (такты). На вход КА в каждом такте поступает один из возможных входных сигналов, а на его выходе появляется выходной сигнал, являющийся функцией входного сигнала и текущего состояния КА. Внутреннее состояние КА также меняется. Такты определяются либо принудительно тактирующими синхросигналами, либо асинхронно, наступлением внешнего события – прихода сигнала.