Литература / Прокофьевская книга по дискретке / glava3-7
.DOC§3.7. Ограниченно-детерминированные функции. Информационное дерево
П
Рис. 3.19
Выясним, каким условиям должна удовлетворять функция чтобы она могла быть реализована некоторым автоматическим устройством. Если это устройство работает в дискретном режиме времени, получая в момент времени символ и выдавая символ то должен быть выполнен закон причинности (“причина предшествует следствию”); в нашем случае это означает, что может зависеть от но не должно зависеть от . Исходя из этого, сформулируем определение детерминированной функции.
Функция называется детерминированной (или д-функцией), если выполнено условие: для любого и для любых сверхслов если и то
Итак, детерминированная функция характеризуется тем, что является функцией лишь от
С
Рис. 3.20
Ветви дерева (бесконечные) соответствуют сверхсловам причём это соответствие взаимно однозначное. Будем считать, что рёбра, соответствующие буквам алфавита идут слева направо (т.е. крайнее левое ребро соответствует букве следующее – букве крайнее правое – букве На рисунке изображено дерево, построенное для трёхбуквенного алфавита . Ветвь дерева, отмеченная жирной линией, соответствует сверхслову а ветвь, отмеченная пунктирной линией, – сверхслову
Пусть дана детерминированная функция Построим дерево соответствующее множеству и пометим его рёбра буквами алфавита как будет показано ниже. Рассмотрим произвольное сверхслово Пусть Рассмотрим ветвь дерева соответствующую сверхслову и пометим рёбра этой ветви символами Так поступим с каждой ветвью. Если у двух сверхслов и совпадут первые букв: то ввиду детерминированности функции у сверхслов и также будут совпадать первые букв. Следовательно, в процессе расстановки пометок на рёбрах мы не получим противоречия (т.е. каждое ребро дерева получит ровно одну пометку). Дерево рёбра которого помечены вышеописанным способом, назовём информационным деревом, соответствующим функции и обозначим его Наоборот, если дано дерево для то, пометив его рёбра буквами из произвольным образом, мы получим информационное дерево, соответствующее некоторой функции Очевидно, соответствие между информационными деревьями и детерминированными функциями является взаимно однозначным.
Детерминированность функции является необходимым условием реализуемости функции некоторым автоматическим устройством. Но она не является достаточным условием. Причина в том, что всякое механическое устройство имеет конечную память (т.е. может хранить ограниченное количество единиц информации). Рассмотрим эти соображения более подробно.
Пусть
дано информационное дерево
соответствующее детерминированной
функции
(см. рис. 3.21). Для любой вершины
этого дерева пусть
обозначает поддерево, корнем которого
является вершина
(оно состоит из вершины
и всех вершин и рёбер, идущих “после”
в
Рис. 3.21
Введём отношение эквивалентности ~ на множестве вершин дерева полагая если у деревьев и соответствующие друг другу рёбра имеют одинаковые пометки. Детерминированная функция называется ограниченно детерминированной (или о.д.-функцией), если множество вершин информационного дерева разбивается на конечное число ~ -классов.
Пример. Пусть функция определяется правилом
(здесь + обозначает сложение по модулю 2). Информационное дерево имеет вид
М
Рис. 3.22
п
а)
б)
Рис. 3.23
Следующее утверждение устанавливает связь между понятиями о.д.-функции и конечного автомата.
Теорема. Ограниченно детерминированные функции и только они являются автоматными, т.е. реализуются некоторым конечным автоматом. При этом является входным алфавитом автомата, а выходным.
Доказательство. Пусть ограниченно детерминированная функция. Тогда множество вершин информационного дерева имеет лишь конечное число ~-классов. Обозначим классы через и пометим этими буквами вершины дерева причём корень пометим символом Нарисуем кружочков (см. рис. 3.24).
Е
Рис. 3.24
Рис. 3.25
П
Рис. 3.26
Наоборот, пусть задан конечный автомат с начальным состоянием и соответствующее информационное дерево. Пометим корень этого дерева символом Далее, если вершина дерева , то существует единственная ветвь, связывающая корень с этой вершиной. Пусть слово, определяющее эту ветвь. Пометим вершину буквой Таким образом будут помечены все вершины дерева . Легко видеть, что вершины, помеченные одной и той же буквой, являются эквивалентными друг другу. Следовательно, функция является ограниченно детерминированной. Теорема доказана.
Замечание. Всякая детерминированная, но не ограниченно детерминированная функция может быть реализована с помощью “бесконечного автомата”, т.е. “автомата” с бесконечным множеством состояний
П
Рис. 3.27
“Физический смысл” состояний заключается в следующем. Нахождение автомата в состоянии означает, что предыдущая сумма была равна 0, и потому состояние будет в случае, когда в этом случае Таким образом автомат “запоминает” необходимую для дальнейшего “предысторию” последовательности
Типовые задачи
Пример 1. Выяснить, какие из следующих функций являются детерминированными:
а)
б)
в)
г)
Решение. а) Функция является детерминированной, так как при не зависит от
б) Функция не является детерминированной, так как зависит от которое неизвестно в момент времени
в) Функция детерминированная, так как
не зависит от
г) Функция детерминированной не является, так как выходная последовательность определится только тогда, когда будут известны для всех Другое объяснение:
а это противоречит определению детерминированности.
Пример 2. Выяснить, какие из следующих функций являются ограниченно детерминированными:
а)
б) при
в)
Решение. а) Построим информационное дерево соответствующее функции (см. рис. 3.28):
О
Рис. 3.28
в
а)
б)
Рис. 3.29.
б
Рис. 3.30
Множество вершин разбивается на 4 класса эквивалентности, поэтому функция ограниченно детерминирована.
в
Рис. 3.31
Докажем, что вершины не эквивалентны друг другу. Действительно, дерево с корнем имеет ветвь (см. рис. 3.32) (“1” на -м и -м месте и “0” на остальных местах). Значит, деревья отличаются друг от друга. Следовательно, имеется бесконечно много классов эквивалентности вершин дерева Это означает, что функция не является ограниченно детерминированной (хотя является, разумеется, детерминированной).
М
Рис. 3.32
Этот пример позволит сделать ещё одно важное замечание.
Замечание. Ранее было доказано (см. п. 3.5), что конечный автомат переводит всякую периодическую последовательность в периодическую. Оказывается, что обратное утверждение неверно. Существует детерминированная функция, переводящая всякую периодическую последовательность в периодическую, но не являющаяся ограниченно детерминированной. Примером может служить функция из предыдущей задачи:
Пример 3. На рисунке 3.33 изображён фрагмент информационного дерева некоторой о.д.-функции. Каково наименьшее возможное число классов эквивалентности вершин этого дерева?
Р
Рис. 3.33
Задачи для самостоятельного решения
1. Выяснить, какие из следующих функций являются детерминированными:
а)
б)
в)
2. Выяснить, какие из следующих функций являются ограниченно детерминированными:
а)
б)
в)
3. Определить количество классов эквивалентности множества вершин дерева следующих функций:
а) (mod
б)
в)
Ответы
1. а) Детерминированная; б) детерминированная; в) недетерминированная. 2. а) Является; б) не является; в) является. 3. а) 3; б) 4; в) 4.