
- •Основы теории автоматов
- •1. Множества
- •1.1. Основные понятия теории множеств
- •1.2. Операции над множествами
- •2. Логика буля
- •2.1. Булевы функции
- •2.2. Постулаты и основные законы булевой алгебры
- •2.3. Формы представления булевых функций
- •2.4. Минимизация булевых функций
- •3. Формальная логика
- •3.1. Исчисление высказываний
- •3.2. Предикаты и кванторы
- •4. Графы
- •4.1. Происхождение графов
- •4.2. Основные определения
- •4.3. Методы представления графов в аналитической форме
- •4.4. Пути и контуры в графах
- •4.5. Деревья
- •5 . Конечные автоматы
- •5.1. Понятие автомата
- •5.2. Представление конечных автоматов
- •5.3. Типы конечных автоматов
- •5.4. Эквивалентность конечных автоматов: теорема Мура
- •5.5. Минимизация конечных автоматов
- •5.6. Минимизация неполных конечных автоматов
- •5.7. Примеры конечных автоматов
- •5.8. Моделирование автоматных систем сетями Петри
- •6. Алгоритмы и машины тьюринга
- •6.1. Понятие алгоритма
- •6.2. Основные требования к алгоритмам
- •6.3. Блок-схемы алгоритмов
- •6.4. Формализация понятия алгоритма
- •6.5. Машина Тьюринга
- •6.6. Примеры машин Тьюринга
- •Библиографический список
- •Оглавление
5.3. Типы конечных автоматов
В любом конечном автомате входные сигналы поступают в некоторой последовательности во времени, поэтому существует понятие входной последовательности. Аналогично определяетсявыходная последовательность.Зависимость выходной последовательности от входной последовательности будем называть условием работы конечного автомата.
Различают комбинационные ипоследовательностные автоматы. Длякомбинационных автоматов характерно то, что каждая совокупность состояний выходов (каждая входная последовательность) однозначно определяется одним или несколькими из конечного множества состояний входных переменных. При этом каждая выходная функция характеризуется определеннымикомбинациямивходов. В общем случае действие такого автомата можно описать некоторыми однозначными функциональными зависимостями между его входными и выходными переменными:
y1 = λ1(x1 ; x2 ; ... ; xm ) ,
y2 = λ2(x1 ; x2 ; ... ; xm ) ,
. . .
yn = λn(x1 ; x2 ; ... ; xm ) .
Пример: Пусть на входе имеются три переменныеx1 ; x2 ; x3. На выходе – две логические функцииy1, y2.
Допустим, что на входах имеем значения x1= 1,x2= 0,x3= 1, значения выходов при такой совокупности входов пусть будут –y1 = 1, y2= 0. Если автомат комбинационный, то изменение комбинации состояния его выходов (скажем,y1 = 0, y2= 0) возможно лишь в случае изменения состояния его входов (допустимx1= 1,x2= 0,x3= 0 илиx1= 0,x2= 0,x3=1). Т.е каждая комбинация выходов однозначно определена той или иной комбинацией входов. Тогда выходную функциюy1 можно выразить логическими выражениями (булевыми функциями), определенными только входными переменными,
y
1=x1
x3;
=x1
x3,
или представить таблицей истинности (табл. 5.9).
Таблица 5.9
x1 |
x2 |
x3 |
y1 |
y2 |
1 |
0 |
1 |
1 |
0 |
1 |
0 |
0 |
0 |
0 |
0 |
0 |
1 |
0 |
0 |
Для комбинационных автоматов функция переходов не имеет смысла, поскольку в них отсутствуют каналы обратной связи (памяти), а внутренние состояния определены состоянием выходов. Функция выходов при этом вырождается к виду yv= λ(xv ). Такие автоматы называют еще автоматами без памяти илитривиальными автоматами.
Таблица 5.10 Таблица 5.11
.x1 |
x2 |
x3 |
y1 |
|
|
x1 |
x2 |
x3 |
z |
y1 |
1 |
0 |
0 |
0 |
|
|
1 |
0 |
0 |
0 |
0 |
… |
… |
… |
… |
|
|
… |
… |
… |
… |
… |
1 |
0 |
0 |
1 |
|
|
1 |
0 |
0 |
1 |
1 |
Таким образом, условия работы этого автомата противоречивы. Различные внутренние состояния автомата в этом случае определяются не только состояниями входов, но и последовательностьюприхода входных сигналов. Такой автомат не может быть построен без введения дополнительных внутренних переменных, кодирующих последовательность отработки тактов автомата, которые будем называть элементами памятиz (табл. 5.11) Переменная z является одновременно и функцией выхода, и входной переменной, однако не изменяет общее количество входных переменных и на блок-схеме автомата имеет вид обратной связи (рис 5.1б). В этом случае функцияy1 будет определена следующими логическими выражениями:
y1=x1
,
=x1
z.
Как уже указывалось, наличие памяти zобусловливает внутренние состояния автоматаqv, которые, в свою очередь, определяют выходную функциюyvнаряду с состояниями входовxv. Для последовательностных автоматов характерно наличие и функции переходовδ,и функции выходов λ.
Если характеристические функции δиλопределены для всех возможных наборов из множества Х×Q, то такой автомат называют полностью определенным или полным, т.е.
(q
Q)
(
xХ)
(δ(q,
x
) ≠).
На практике встречаются случаи, когда не каждый символ входного алфавита может быть подан на автомат, находящийся в некотором внутреннем состоянии qv (ограничения на входе), или его выходы при некоторых входных воздействиях не представляют интереса или вообще не существуют (неопределенность выходов). В этом случае мы имеем дело снеполнымииличастичнымиавтоматами, и их таблицы выходов и переходов будут иметь некоторые незаполненные клетки.
Определение общей модели автомата, приведенное в конце раздела 5.1, связывают с автоматами первого рода, которые называют автоматамиМили. Если же функция выходов определяется только внутренними состояниями (состоянием элементов памяти), то мы имеем дело с автоматамивторого рода, называемыми автоматамиМура. Такие автоматы обычно моделируют вычислительные процессы. Функция выходов автомата Мура определяется только внутренними состояниямиyv= λ (qv,) и естественно является одноаргументной; ее обычно называют функцией отметок, поскольку каждому состоянию она однозначно ставит в соответствие отметку – выход. В графе переходов, отображающем автомат Мура, значение выхода записывается не на ребре, а при вершине (см. рис. 5.8а).