![](/user_photo/528_5NJmi.jpg)
Литература / Олейник.Лекции по дискретной математике / вариант .doc / Глава 4 / параграф 4
.1.docГлава 4
Ограниченно-детерминированные функции и реализация их автоматами
4.1. Ограниченно-детерминированные функции
Пусть
- конечное множество. Назовем это
множество алфавитом, а его элементы
– буквами.
Определение. Любая бесконечная
последовательность элементов множества
называется сверхсловом
над алфавитом
.
Для обозначения сверхслов используют
запись
,
где
.
Пусть
и
- множества сверхслов над алфавитами
и
соответственно. Рассмотрим функции,
определенные на множестве
и принимающие значения из
.
Определение. Функция
называется
детерминированной,
если для любого натурального числа
и для любых сверхслов
и
из
,
у которых первые
членов совпадают, верно, что в
последовательностях
и
первые
членов также совпадают (т.е. если
…,
,
то и
).
Примеры.
1. Функция
детерминированной не является.
2. Пусть
.
Функция
является детерминированной.
3. Пусть
.
Рассмотрим функцию
,
такую что
.
Эта функция – детерминированная.
Пусть дан алфавит
,
.
Рассмотрим бесконечное корневое
ориентированное дерево, представленное
на рисунке 1. Из корня
этого дерева исходит пучок из
дуг, образующих первый ярус. Каждая
из дуг первого яруса ведет в вершину,
из которой в свою очередь исходит пучок
из
дуг, образующих 2-ой ярус, и т.д. Вершины,
являющиеся концами дуг яруса
,
причисляются также к ярусу
.
Вершина
считается вершиной нулевого яруса.
Упорядочим множество
,
после чего дуги каждого пучка пометим
буквами алфавита слева направо согласно
введенному порядку. Получим помеченное
дерево
.
Рис. 1
Бесконечный путь с началом в корне
будем называть ветвью рассматриваемого
дерева. Очевидно, что каждой ветви
дерева можно поставить в соответствие
последовательность
букв – имен дуг, входящих в эту ветвь,
если идти по ней, начиная от корня. И
наоборот, любому сверхслову из
однозначно соответствует некоторая
ветвь дерева. Таким образом, существует
взаимно-однозначное соответствие между
множеством всех ветвей дерева и
сверхсловами из
.
Пусть
- произвольная детерминированная
функция. Возьмем любую дугу яруса
(
)
и рассмотрим путь, ведущий из корня
дерева к этой дуге. Очевидно, что этот
путь определен однозначным образом и
характеризуется набором
букв, которыми помечены его дуги. Возьмем
любое сверхслово
,
первые
членов которого совпадают с набором
и припишем исходной дуге
-ую
букву
сверхслова
.
В силу того, что функция
- детерминированная, буква
определена однозначно. В итоге каждая
дуга дерева будет помечена двумя метками:
буквой сверхслова
и, через запятую, буквой сверхслова
.
Дерево, дуги которого помечены
вышеописанным способом, назовем
информационным деревом, соответствующим
детерминированной функции
,
и обозначим его
.
Таким образом, имея произвольную детерминированную функцию, можно построить соответствующее ей информационное дерево.
С другой стороны, возьмем помеченное
дерево
.
Каждой дуге дерева дадим вторую метку,
взяв в качестве таковой произвольную
букву алфавита
.
Ясно, что полученное дерево однозначно
определит некоторую детерминированную
функцию
.
Следовательно, можно говорить о существовании взаимно однозначного соответствия между детерминированными функциями и информационными деревьями.
Пример 4.
Пусть
.
Рассмотрим функцию
,
т.е.
,
если
и
,
если
.
На рисунке 2 изображено информационное
дерево этой функции.
Рис. 2
Пример 5.
Пусть
.
Рассмотрим функцию
,
такую что
.
На рисунке 3 изображено информационное
дерево этой функции.
Рис. 3
Пусть
- детерминированная функция. Рассмотрим
ее информационное дерево
.
Пусть
- произвольная вершина яруса
.
В нее ведет из корня
путь
.
Совокупность всех ветвей, исходящих из
,
порождает некоторое дерево с корнем
(являющееся поддеревом исходного
дерева). Так как исходное дерево дважды
помечено, то поддерево с корнем
также является дважды помеченным, и
если в этом поддереве вести нумерацию
ярусов, начиная с нулевого, то о нем
можно говорить как об информационном
дереве, которому соответствует некоторая
детерминированная функция
.
На множестве вершин дерева
введем бинарное отношение, которое
определим следующим:
.
Это отношение является отношением
эквивалентности и порождает разбиение
множества вершин дерева на классы
эквивалентности. Число
различных классов эквивалентности
по данному бинарному отношению, называется
весом дерева, и соответственно,
весом детерминированной функции.
Пометим вершины информационного дерева
.
Сначала перенумеруем классы
эквивалентности так, чтобы класс, в
который попадает исходное дерево, имел
номер 0. Далее, взяв произвольную вершину
,
определяем номер класса, в который
попадает дерево с корнем
.
Пусть
- номер этого класса, тогда вершину
помечаем
.
Рассмотрим дерево
с помеченными вершинами. Возьмем
произвольную ветвь; пусть она проходит
через вершины
и эти вершины имеют соответственно
метки
.
Допустим метки
и
(
)
совпадают, причем в рассматриваемой
последовательности меток это первая
пара совпадающих меток. Произведем
усечение данной ветви, сохранив ее
начальный отрезок до вершины
.
Произведя эту операцию для каждой ветви,
получим усеченное дерево. Легко
видеть, что по усеченному дереву
однозначно восстанавливается исходное
дерево.
Рассмотрим случай, когда детерминированная функция имеет конечный вес.
Ограниченно-детерминированные функции
Определение. Детерминированные функции, имеющие конечный вес, называются ограниченно-детерминированными.
Для случая функции конечного веса
на каждой ветке происходит повторение
меток вершин, и индекс
,
определяющий усечение, удовлетворяет
неравенству
.
Поэтому для этих функций усеченное
дерево будет конечным. Таким образом,
в случае ограниченно-детерминированной
функции полное (бесконечное) информационное
дерево можно всегда свести к конечному
дереву, с дважды помеченными дугами и
помеченными вершинами. Если в этом
усеченном дереве произвести отождествление
вершин с одинаковыми именами, а также
отождествление кратных дуг с одинаковыми
двойными метками, то получим так
называемую диаграмму переходов
ограниченно-детерминированной функции
или, как ее еще называют, диаграмму
Мура.
Пример 6. На рисунках 4 и 5 показаны усеченное дерево и диаграмма переходов функции из примера 2.
Рис. 4 Рис. 5
Пример
7. На рисунках 6 и 7 показаны усеченное
дерево и диаграмма переходов функции
из примера 3.
Рис. 6 Рис. 7
По диаграмме Мура ограниченно-детерминированной
функции можно построить таблицу данной
функции. Рассмотрим диаграмму Мура
произвольной ограниченно-детерминированной
функции
веса
.
Ее диаграмма Мура имеет
вершин; из каждой вершины
(
)
исходит
дуг, дугам приписаны пары
,
,
,
где
,
- буквы алфавитов
и
соответственно; выделена начальная
вершина.
Построим таблицу, строки которой
соответствуют различным вершинам
диаграммы Мура, а столбцы – различным
буквам алфавита
.
Ячейки таблицы заполним по следующему
правилу. Пусть ячейка, которую мы
заполняем, соответствует вершине
и букве
.
На диаграмме Мура отыщем дугу, с началом
в вершине
и первой меткой
,
после чего запишем в ячейку имя конца
этой дуги
и вторую метку
самой дуги. Метку начальной вершины в
заголовке строки выделим.
По сути, диаграммой Мура и таблицей
автомата задаются две функции: функция
,
которая упорядоченной паре
,
ставит в соответствие
,
,
и функция
,
которая упорядоченной паре
,
ставит в соответствие букву
,
.
Пример 7. Приведем таблицу для функции из примера 2.
|
0 |
1 |
|
1 |
0 |
|
0 |
1 |
Пример 8. Приведем таблицу для функции из примера 3.
|
0 |
1 |
|
0 |
1 |
|
0 |
0 |
И по диаграмме переходов и по таблице
информационное дерево, а, значит, и сама
ограниченно-детерминированная функция
,
восстанавливается однозначно. Опишем,
как можно провести это восстановление.
Возьмем помеченное дерево
алфавита
.
Мы восстановим информационное дерево
функции
,
если каждую дугу дерева
пометим второй меткой. Вторые метки дуг
будем расставлять пошагово: на первом
шаге пометим дуги первого яруса, на
втором - второго, и т.д. Нам будет проще,
если мы на произвольном шаге
будем помечать не только дуги, но и
вершины яруса
.
Для удобства рассуждений для каждой
ветви восстанавливаемого дерева введем
в рассмотрение последовательность
меток ее вершин.
Итак, нулевой шаг.
Помечаем вершину нулевого яруса:
присваиваем ей имя выделенной вершины
диаграммы Мура
,
.
Шаг.
К началу этого шага мы пометили дуги и
вершины всех ярусов, начиная с нулевого
и кончая (
)-ым.
Возьмем произвольную дугу яруса
;
пусть
- ее первая метка, т.е.
.
Вершина, из которой эта дуга выходит,
принадлежит (
)-му
ярусу и, значит, ей уже дано какое-то имя
,
т.е.
.
На диаграмме Мура отыскиваем вершину
с именем
и
выходящую из нее дугу с первой меткой
.
Пусть вершина
- конец этой дуги, а
- ее вторая метка. Тогда рассматриваемой
дуге дерева даем вторую метку
,
т.е.
,
а ее концу даем имя
,
т.е.
.
Таким образом, шаг за шагом информационное
дерево функции
будет восстановлено.
Заметим, что задать ограниченно-детерминированную
функцию можно, указав правило, по которому
каждой последовательности
ставится в соответствие последовательность
.
Процедура восстановления информационного
дерева функции
по диаграмме Мура наводит на мысль, что,
поскольку на каждом шаге восстановления
однозначно определялось по
и
,
то последовательность
естественно задавать рекуррентно,
используя при этом рекуррентное же
задание последовательности
.
Таким образом, приходим к следующим уравнениям:
Данные уравнения называются каноническими уравнениями ограниченно-детерминированной функции. По данным уравнениям ограниченно-детерминированная функция восстанавливается однозначно.