Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Скачиваний:
107
Добавлен:
27.03.2015
Размер:
1.17 Mб
Скачать

Дискретная математика

Читал: Павлов Игорь Сергеевич

Набрал: Смирнов Вадим Евгеньевич

ННГУ, 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

Свойства:

  1. Свойство пустого слова:  =  = 

  2. Ассоциативность: () = ()

  3. Некоммутативность:   

Обозначения:

n – множество всех слов длины n.

- множество всех слов, которые можно составить из букв алфавита А.

Сверхслово – слово, составленное из бесконечного числа букв.

A - множество всех сверхслов 12

f: A*  B* - словарная функция.

Примеры:

  1. f(x) = 

  2. f(x) = x

  3. f(x1, …, xn) = x2x3…xnx1

  4. f(x1, …, xn) = xnxn-1…x1 f(сон) = нос

  5. 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) называется детерминированной, если выполняются условия:

  1. |f()| = ||

  2. Для любых ,   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) – детерминированная

  1. Проверить: | f()| = ||.

Доказательство: рассмотрим | f()| = [так как f - детерминированная] = || = || + || (1)

С другой стороны: f() = f()f()  | f()| = |f()| + |f()| = [так как f - детерминированная] =

= || + |f()| (2)

Из (1) и (2) следует, что || = |f()|, что и требовалось доказать в первом пункте.

  1. Проверим условие f() = f()

Доказательство: f() = [по 2-му условию детерминируемости функции f] = f()f() (3)

f() = [f(x, ) - детерминируемая] = f()f() (4)

Из (3) и (4) получим , что и требовалось доказать во втором пункте.

Вывод: Мы доказали, что если f – детерминированная, то:

  1. f - детерминированная

  2. (f) - детерминированная

Определение. Число (r(f)) остаточных функций в данной функции f называется ее весом.

Определение. Детерминируемая функция называется ограниченно детерминированной, если ее вес конечен.

Теорема (Критерий автоматности функции)

Функция является автоматной тогда и только тогда, когда она ограниченно детерминированная.

Доказательство:

  1. Необходимость. Функция автоматная  [по определению]  Существует автомат, реализующий ее  Строим диаграмму Мура. Число вершин (состояний автомата) конечно, но оно не может быть меньше веса функции  вес конечен  Функция детерминированная.

  2. Достаточность. (Доказать самостоятельно )

Определение. Функция f: A  B называется детерминированной тогда и только тогда, когда выполняются условия:

  1. Для любого s  0, s-й символ y(s) слова - однозначно детерминируемая функция первых s символов x(1)x(2)…x(s) слова . То есть в первый момент времени x(1)  y(1), x(2)  y(2).

  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,

  1. |f()| = 3 = ||

  2. f() = f()f()

 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, …

Далее аналогично

  1. 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

Теперь строим диаграмму Мура. Для этого склеим все одинаковые вершины.

Автоматы с несколькими входами и выходами

= (x1(t), …, xn(t))

= (y1(t), …, yn(t))

= (y1(t), …, yn(t))

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 – не автомат, то есть нет автомата, реализующего ее.

Соседние файлы в папке Дискретка_лекции