Скачиваний:
79
Добавлен:
16.04.2013
Размер:
392.19 Кб
Скачать

Глава 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

И по диаграмме переходов и по таблице информационное дерево, а, значит, и сама ограниченно-детерминированная функция , восстанавливается однозначно. Опишем, как можно провести это восстановление. Возьмем помеченное дерево алфавита . Мы восстановим информационное дерево функции , если каждую дугу дерева пометим второй меткой. Вторые метки дуг будем расставлять пошагово: на первом шаге пометим дуги первого яруса, на втором - второго, и т.д. Нам будет проще, если мы на произвольном шаге будем помечать не только дуги, но и вершины яруса . Для удобства рассуждений для каждой ветви восстанавливаемого дерева введем в рассмотрение последовательность меток ее вершин.

Итак, нулевой шаг. Помечаем вершину нулевого яруса: присваиваем ей имя выделенной вершины диаграммы Мура , .

Шаг. К началу этого шага мы пометили дуги и вершины всех ярусов, начиная с нулевого и кончая ()-ым. Возьмем произвольную дугу яруса ; пусть - ее первая метка, т.е. . Вершина, из которой эта дуга выходит, принадлежит ()-му ярусу и, значит, ей уже дано какое-то имя , т.е. . На диаграмме Мура отыскиваем вершину с именем и выходящую из нее дугу с первой меткой . Пусть вершина - конец этой дуги, а - ее вторая метка. Тогда рассматриваемой дуге дерева даем вторую метку , т.е. , а ее концу даем имя , т.е. .

Таким образом, шаг за шагом информационное дерево функции будет восстановлено.

Заметим, что задать ограниченно-детерминированную функцию можно, указав правило, по которому каждой последовательности ставится в соответствие последовательность . Процедура восстановления информационного дерева функции по диаграмме Мура наводит на мысль, что, поскольку на каждом шаге восстановления однозначно определялось по и , то последовательность естественно задавать рекуррентно, используя при этом рекуррентное же задание последовательности .

Таким образом, приходим к следующим уравнениям:

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

70

Соседние файлы в папке Глава 4