Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Скачиваний:
43
Добавлен:
16.04.2013
Размер:
976.9 Кб
Скачать

3. Теория Автоматов

3.1.Понятие автомата

Автомат - дискретный преобразователь информации, на вход которого поступают входные последовательности сигналов (входные слова). Он формирует выходные последовательности сигналов на основании своих внутренних состояний и входной последовательности сигналов.

В курсе рассматривается абстрактная теория автоматов.

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

Не рассматриваемая здесь структурная теория автоматовзанимается реализаций абстрактного автомата с помощью физических сущностей, вроде элементов памяти (например, триггеров) и комбинационных (логических) схем…

Будем иметь в виду две ключевые абстракции:

1. Автомат функционирует в абстрактном времени.

2. Все переходы происходят мгновенно.

Автомат есть система шести объектов:

 = <X, Y, Q, f, , q0>

X = {x1,...,xn} - конечный входной алфавит (множество входных сигналов).

Y = {y1,...,ym} - конечный выходной алфавит (множество выходных сигналов).

Q = {q0, q1,...,qk} – множество состояния автомата.

Если множество конечно автомат называется конечным.

f (q, x) - функция переходов.

 (q, x) - функция выходов.

q0Q - начальное состояние.

Законы функционирования автоматов

}

q

Автомат I-го рода (автомат Мили)

(t) = f(q(t-1), x(t))

y(t) = (q(t-1), x(t))

}

q

Автомат II-го рода

(t) = f(q(t-1), x(t))

y(t) = (q(t), x(t))

}

Правильный автомат II-го рода (автомат Мура)

q(t) = f(q(t-1), x(t))

y(t) = (q(t))

3.2.Примеры автоматов

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

Пример 1(автомат Мили):

Построить (синтезировать) автомат, на вход которого могут поступать в любой последовательности и, возможно, с повторениями монеты (как в добрые старые времена) 1; 2 и 3 копейки. Автомат продает билет, если сумма опущенных монет равна 3. В случае превышения суммы автомат возвращает деньги.

Входной алфавит в описании задан явно: Х = {1, 2, 3}.

Выходной алфавит будет содержать буквы (сигналы): Б – выдает билет, В – возвращает деньги, Н – ничего не выдает (это такой специфический выходной сигнал). То есть У = {Б, В, Н}.

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

3/В 1/Н 1/Н

2/Б 1/Н

2/Н

3/Б 1/Б 2/Н

2/В 3/Б

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

Можно построить для данного автомата таблицы

переходов

Т.П.

q0

q1

q2

q3

f

1

q1

q2

q3

q1

2

q2

q3

q0

q2

3

q3

q0

q0

q3

и

выходов

Т.В.

q0

q1

q2

q3

1

Н

Н

Б

Н

2

Н

Б

В

Н

3

Б

В

В

Б

Пример 2(автомат Мура).

Построить автомат, на вход которого могут поступать монеты 1, 2, 3 коп. Автомат выдает сигнал “чет”, если поступившая сумма в данный момент четная и “нечет”, если наоборот.

2

1,3

1,3

2

Ч

Н

чет нечет

Это автомат Мура. Поэтому выходные сигналы приписаны не стрелкам, а к состояниям, которыми они однозначно определяются. Табличное представление сводится к одной таблице – расширенной таблице переходов. В ней добавляется верхняя строка, позволяющая приписать выходные сигналы состояниям.

- выходные сигналы

- состояния

Чет

Нечет

Ч

Н

1

Н

Ч

2

Ч

Н

3

Н

Ч

Тут вы можете оставить комментарий к выбранному абзацу или сообщить об ошибке.

Мы не исправляем ошибки в тексте (почему?), но будем благодарны, если вы все же напишите об ошибках.

Соседние файлы в папке много всякого