
Дискретная_математика_1 семестр_1 курс / Дискретка_лекции / Глава4
.docДискретная математика
Читал: Павлов Игорь Сергеевич
Набрал: Смирнов Вадим Евгеньевич
ННГУ, 2000 г.
Глава IV. Конечные автоматы.
(Лекция 12)
По каналам поступают сигналы заранее определенных множеств.
А – множество входных сигналов (входной алфавит)
В – множество выходных сигналов (выходной алфавит)
Q – множество внутренних состояний (алфавит состояний)
А, В, Q – конечные множества
t = 0, 1, 2, 3, … - дискретное время
a – функция от дискретного времени
а = x(t) b = y(t) q = z(t)
Рассмотрим функцию выхода: F: A Q B
F(a, q) = b, a A, b B, q Q
Функция следующего состояния (функция перехода): G: A Q Q
G(a, q) = q’ q0 – начальное состояние
Пусть = <A, B, Q, F, G, q0>
Определение. Система = <A, B, Q, F, G, q0> называется абстрактным конечным автоматом.
Рекуррентные формулы задания автомата
-
Это Каноническое уравнение автомата
Способы задания конечного автомата:
1) Табличный
x(t) |
z(t-1) |
y(t) |
Z(t) |
A |
Q |
F |
G |
|
|
|
|
2) Аналитический (формульный)
3) Графический
|
F(a, q) = b G(a, q) = q’ |
|
Получим Диаграмму Мура
Определение. Диаграмма Мура это ориентированный корневой граф:
(а) множество вершин которого совпадает с множеством q;
(б) пусть (a, b) a A, b B такие что для q Q и для a A существует ровно одно ребро, выходящее из вершины q, в котором первая буква – а.
Примеры автоматов:
1) Тривиальный Q = {q0}, t = 0
y(t) = F(x(t)), y = F(x)
A = B = E2 = {0; 1}
x(t) |
z(t-1) |
y(t) |
z(t) |
|
Диаграмма Мура: |
0 |
q0 |
0 |
q0 |
||
1 |
q0 |
1 |
q0 |
||
|
2) Автомат задержек
A = B = Q = {0; 1}
Определение
x(1) = 0 y(1) = z(0) = 0
x(t) |
z(t-1) |
y(t) |
z(t) |
|
Диаграмма Мура: |
0 |
0 |
0 |
0 |
||
0 |
1 |
1 |
0 |
||
1 |
0 |
0 |
1 |
||
1 |
1 |
1 |
1 |
3) Автомат с тремя состояниями (покой, возбуждение и промежуточное положение):
A = B = E2,
x(t) |
z(t-1) |
y(t) |
z(t) |
|
|
0 |
q0 |
0 |
q2 |
||
1 |
q0 |
0 |
q2 |
||
0 |
q0 |
0 |
q0 |
||
1 |
q0 |
0 |
q0 |
||
0 |
q0 |
1 |
q1 |
||
1 |
q0 |
1 |
q1 |
Словарные функции
Введем начальные понятия:
A = {a1, …, ak} – набор букв (алфавит)
= 12…n – слово (i A)
- пустое слово
|| - длина слова (число букв, из которых состоит слово)
|| = 0
Свойства:
-
Свойство пустого слова: = =
-
Ассоциативность: () = ()
-
Некоммутативность:
Обозначения:
An – множество всех слов длины n.
- множество всех слов, которые можно
составить из букв алфавита А.
Сверхслово – слово, составленное из бесконечного числа букв.
A - множество всех сверхслов 12…
f: A* B* - словарная функция.
Примеры:
-
f(x) =
-
f(x) = x
-
f(x1, …, xn) = x2x3…xnx1
-
f(x1, …, xn) = xnxn-1…x1 f(сон) = нос
-
A = B = {0, 1} = f(x1, …, xn) = x1, x1 x2, x2 x3, …, xn-1 xn
(Лекция 13)
Определение. Словарная функция называется автоматной, если существует автомат, реализующий ее.
g() – состояние, в которое перейдет автомат после подачи сигнала .
f: A* B*
При этом
g: A* B*
Определение. Функция f(x) называется детерминированной, если выполняются условия:
-
|f()| = ||
-
Для любых , A* слово f() – начало слова f(), то есть f() = f(), где = [по определению] = f() – остаточная функция для слова .
Пример:
f() = k 1, 1 2, …
k = 0 f() = 1, 1 2, … = g()
k = 1 f() = 1, 1 2, … = H()
g() и H() – разные остаточные функции.
Утверждение: Функция остаточная детерминированной есть детерминированная функция.
Доказательство:
Докажем f() – детерминированная, если f(x) – детерминированная
-
Проверить: | f()| = ||.
Доказательство: рассмотрим | f()| = [так как f - детерминированная] = || = || + || (1)
С другой стороны: f() = f()f() | f()| = |f()| + |f()| = [так как f - детерминированная] =
= || + |f()| (2)
Из (1) и (2) следует, что || = |f()|, что и требовалось доказать в первом пункте.
-
Проверим условие f() = f()
Доказательство: f() = [по 2-му условию детерминируемости функции f] = f()f() (3)
f() = [f(x, ) - детерминируемая] = f()f() (4)
Из (3) и (4) получим
,
что и требовалось доказать во втором
пункте.
Вывод: Мы доказали, что если f – детерминированная, то:
-
f - детерминированная
-
(f) - детерминированная
-
Определение. Число (r(f)) остаточных функций в данной функции f называется ее весом.
Определение. Детерминируемая функция называется ограниченно детерминированной, если ее вес конечен.
Теорема (Критерий автоматности функции)
Функция является автоматной тогда и только тогда, когда она ограниченно детерминированная.
Доказательство:
-
Необходимость. Функция автоматная [по определению] Существует автомат, реализующий ее Строим диаграмму Мура. Число вершин (состояний автомата) конечно, но оно не может быть меньше веса функции вес конечен Функция детерминированная.
-
Достаточность. (Доказать самостоятельно )
Определение. Функция f: A B называется детерминированной тогда и только тогда, когда выполняются условия:
-
Для любого s 0, s-й символ y(s) слова
- однозначно детерминируемая функция первых s символов x(1)x(2)…x(s) слова
. То есть в первый момент времени x(1) y(1), x(2) y(2).
-
Если начала слов
и
совпадают, то совпадают и начала слов той же длины
и
. Другими словами, функция f: x1x2…xn y1y2…yn - детерминируемая, если yn – функция от x1, x2, …, xn, но не зависит от последующих (xn+1, …).
Пример:
(x(1), x(2), …) = x(2)x(3)…, то есть y(t) = x(t+1), t 1, то есть эта функция детерминируемая, так как y(t) зависит от входного сигнала в следующий момент времени.
Построение диаграмм Мура для ограниченно детерминированных функций
A = B = E2 = {0, 1}
|
Каждому ребру припишем 0 или 1 по следующему правилу: 0 – левое ребро 1 – правое ребро |
Для любого слова можно найти только одни ориентированный путь, идущий из корня, двигаясь по которому можно прочитать слово .
Например, пусть = e1e2…en, () = (e1)…(en)
(ei)- отображение, задающее значения функции.
() = f(), где f – некоторая функция, связанная с информационным деревом.
Пример:
= 110,
|
f - детерминируема |
Определение. Функция может быть представлена информационным деревом, тогда и только тогда, когда она детерминируема.
T(Vi) ~ f() – поддерево, растущее ниже.
Определение. Вершины V1 и V2 называются эквивалентными, если остаточные функции, соответствующие деревьям T(V1) и T(V2) одинаковые. Если собрать все эквивалентные вершины в класс, то каждый класс будет соответствовать какой-либо остаточной функции. Таких классов будет столько, сколько остаточных функций. Таким образом, функция является ограниченно детерминируемой тогда и только тогда, когда число классов эквивалентных вершин в информационном дереве конечно.
Пример:
f(x1, x2, …, xn, …) [по определению] f(x) = x1, x1 x2, x1 x2 x3, x3 x4 x5, … - детерминируема, так как любое yi зависит от x1, …, xi-1
f0(x)
= x1,
x1
x2, x1
x2
x3,
… = f(x)
f1(x)
= 1
x1, 1
x1
x2
x3,
…
f10(x)
= 1
x1, x1
x2,
x1
x2
x3, …
f11(x)
= x1,
1 x1
x2,
x1
x2
x3, …
Далее аналогично
-
f000(x) = x1, x1 x2, x1 x2 x3, …
f101(x)
= 1
x1, 1
x1
x2,
x1
x2
x3, …
f110(x)
= 1
x1, x1
x2,
x1
x2
x3, …
f111(x)
= x1,
1 x1
x2,
x1
x2
x3, …
(Лекция 14)
f = f0
f10
f1
f11
Теперь строим диаграмму Мура. Для этого склеим все одинаковые вершины.
Автоматы с несколькими входами и выходами
|
|
Fi: An Qk B
Gj: An Qk Q
i = 1, …, m; j = 1, …, k
Произвольная синхронная логическая сеть
|
|
Реализация сложения с помощью конечного автомата
Представим числа в двоичном виде:
+ |
x1(1) |
x1(2) |
… |
x1(n) |
0 |
x2(1) |
x2(2) |
… |
x2(n) |
0 |
|
|
y(1) |
y (2) |
… |
y(n) |
y(n+1) |
Нереализуемость умножения с помощью конечного автомата
- слово
a = a … a … - сверхслово
<1> = 1000… <2> = 0100… <3> = 1100… <4> = 0010… |
|
<2n> = 0n10 f(<n>) = <n2> f(<2n>) = <22n> |
F(0n10)
= 02n10
= [по второму условию детерминируемости
функций] =
=
0n10,
так как f(0n)
= 0n
Таким образом, вес функции f бесконечен. Значит, по критерию автоматности функции f – не автомат, то есть нет автомата, реализующего ее.