lec13
.pdfКафедра Прикладной математики Института информационных технологий РТУ МИРЭА
Дисциплина
«Математическая логика и теория алгоритмов»
2022-2023 уч.г.
Наполнение курса
Объем курса
16 лекционных и 8 практических занятий
Темы лекционных занятий
1.Элементы теории множеств. Булева алгебра
2.Булевы вектора и булевы функции
3.ДНФ, СДНФ, КНФ, СКНФ
4.Минимизация ДНФ
5.Метод Карно и метод Квайна
6.Двойственные функции
7.Функциональная полнота. Полные классы. Алгебра Жегалкина.
8.Замкнутые классы функций: монотонные, самодвойственные, сохраняющие const.
9.Теорема Поста
10.Исчисление высказываний
11.Исчисление предикатов. Основные положения. Кванторы
12.Нормальные формы. Доказательства
13.Конечные автоматы
14.Соединения и синтез автоматов
15.Машина Тьюринга
16.ЧРФ и НАМ
2
Лекция 13.
Конечные автоматы.
13.1.Определение и способы задания конечных автоматов.
13.2.Реализация конечных автоматов схемами.
13.3.Автоматы Мура.
Часть 1.
Определение и способы задания конечных автоматов.
Конечный автомат – это устройство M имеющее входной и выходной канал и находящееся в каждый из t = 1, 2, … дискретных (тактовых) моментов времени, в одном из конечных состояний.
В устройство M по входному каналу в тактовые моменты t поступают входные сигналы x из некоторого конечного множества сигналов X. Указывается закон ψ изменения состояния q к следующему моменту времени t+1 в зависимости от входного сигнала и состояния, в котором находится устройство. Выходной сигнал y в каждый момент времени зависит по закону φ от состояния устройства и входного сигнала в текущий момент времени.
5
Конечный автомат (Мили) – система M = {X, Q, Y, φ, ψ}, где X = {x1,…,xm} – входной алфавит,
Q = {q1,…,qn} – множество состояний автомата, Y = {y1,…,yk} – выходной алфавит.
Функция φ(x,q): X×Q → Y называется функцией выходов. Если x X, q Q, то φ(x,q) Y.
Функция ψ(x,q): X×Q → Q называется функцией переходов. Если x X, q Q, то ψ(x,q) Q.
Если в момент времени t = 1, 2, … на вход автомата последовательно подаются входные сигналы (символы) x(t) X и автомат находится в
состоянии q(t–1) Q, то под воздействием символа x(t) автомат перейдёт в новое состояние q(t) и выдаст выходной символ y(t).
Величины x(t), q(t–1), q(t), y(t) связанны между собой каноническими уравнениями автомата:
y(t) = φ(x(t),q(t–1)) |
(13.1) |
|
q(t) = ψ(x(t),q(t–1)) |
||
|
6
Автоматная таблица.
Из определения конечного автомата следует, что его всегда можно задать таблицей, содержащей m – строк и n – столбцов.
X \ Q |
q1 |
… |
qj |
… |
qn |
x1 |
φ(x1,q1); ψ(x1,q1) |
… |
φ(x1,qj); ψ(x1,qj) |
… φ(x1,qn); ψ(x1,qn) |
|
… |
… |
… |
… |
… |
… |
xi |
φ(xi,q1); ψ(xi,q1) |
… |
φ(xi,qj); ψ(xi,qj) |
… φ(xi,qn); ψ(xi,qn) |
|
… |
… |
… |
… |
… |
… |
xm |
φ(xm,q1); ψ(xm,q1) |
… |
φ(xm,qj); ψ(xm,qj) |
… φ(xm,qn); ψ(xm,qn) |
Каждая строка однозначно соответствует некоторому входящему сигналу xi, а столбец – некоторому состоянию qj автомата M. В клетку таблицы, стоящей на пересечении строки, соответствующей входящему символу xi и столбца, соответствующего состоянию qj, записывается пара φ(xi,qj); ψ(xi,qj).
7
Диаграмма Мура.
На плоскости рисуем n вершин графа, каждая взаимнооднозначно соответствует состояниям q1,…,qn автомата M - внутри каждой вершины графа записываются соответствующие состояния. Из каждой вершины проводится m – стрелок, взаимнооднозначно соответствующих символам входного алфавита X = {x1,…,xm}. Cтрелке, соответствующей букве xi X и входящей из круга qj Q, приписывается пара (xi; φ(xi,qj)) и эта стрелка ведёт в вершину, соответствующую состоянию qʹ = ψ(xi,qj).
Пример. 13.1.
Задание автомата Мили.
! Задание автомата в виде графа и таблично эквивалентно.
X |
|
|
Q |
|
|
|
q1 |
q2 |
q3 |
|
переходы |
|
||
x1 |
|
q2 |
q3 |
q3 |
|
|
|
||
x2 |
|
q3 |
q2 |
q1 |
|
выходы |
|
||
x1 |
|
y1 |
y1 |
y2 |
x2 |
|
y1 |
y2 |
y1 |
8
Автомат с выделенным состоянием q0, именуемым начальным, называется инициальным автоматом. Инициальный автомат представляет собой систему Mq0 = {X, Q, Y, φ, ψ, q0}. Если инициальный автомат задан таблицей или диаграммой Мура, то начальное состояние q0 отмечается некоторым символом, например *. При задании инициального автомата к каноническими уравнениям добавляется соответствующее начальное условие q(0) = q0. Из определения инициального автомата следует, что любой автомат M с m – состояниями задаёт m – инициальных автоматов. В то же время знание всех этих инициальных автоматов полностью определяет автомат M.
Конечный автомат называется логическим, если все его алфавиты представляют собой булевы кубы соответствующих размерностей. X=Be, Q=Br, Y=Bs. Тогда функция переходов ψ является системой булевых функций осуществляющих отображение булева куба Be+r в булев куб Br. А функция φ является системой булевых функций осуществляющих отображение булева куба Be+r в булев куб Bs.
9
Задание конечного автомата системой булевых функций.
Пусть M = {X, Q, Y, φ, ψ} – конечный автомат, заданный таблицей или диаграммой Мура. Если автомат не логический, то его тоже можно задать системой БФ. Для этого проводится двоичное кодирование алфавитов.
Алгоритм задания автомата системой булевых функций.
1 шаг) Находим числа e, r, s, удовлетворяющие условиям
2e-1<m = |X| ≤ 2e; 2r-1<n = |Q| ≤ 2r; 2s-1<k = |Y| ≤ 2s.
Очевидно, что e, r, s равны соответственно числу разрядов в двоичном представлении чисел m, n, k.
10