Научная статья на тему 'Модели вычислений с однозначным покрытием'

Модели вычислений с однозначным покрытием Текст научной статьи по специальности «Математика»

CC BY
111
35
i Надоели баннеры? Вы всегда можете отключить рекламу.
Область наук
Ключевые слова
модель вычисления / конечный детерминирванный автомат / многоленточный автомат
i Надоели баннеры? Вы всегда можете отключить рекламу.
iНе можете найти то, что вам нужно? Попробуйте сервис подбора литературы.
i Надоели баннеры? Вы всегда можете отключить рекламу.

Текст научной работы на тему «Модели вычислений с однозначным покрытием»

УДК 519.1 : 681.3

МОДЕЛИ ВЫЧИСЛЕНИЙ С ОДНОЗНАЧНЫМ ПОКРЫТИЕМ

ВЕ ХАЧАТРЯН , Я.Г. ВЕЛИКАЯ

Белгородский

государственный

университет

e-mail: velikaya@bsu.edu.ru

Рассматриваются модели вычислений: конечные детерминированные и многоленточные автоматы. Описывается процедура построения по любому автомату модели ему эквивалентного с однозначным покрытием.

Ключевые слова: модель вычисления, конечный детерминированный автомат, многоленточный автомат.

В работе [1] предложен метод распознавания эквивалентности для моделей вычислений, основанный на использовании эквивалентных преобразований. Алгоритм распознавания предполагает построение для модели представленного в графической форме его покрытия, которое представляет собой остовное дерево, произрастающее из входа модели.

В работе [2] доказано, что трансформационный метод является алгоритмом разрешения эквивалентности для многоленточных автоматов без пересекающихся циклов. Такие автоматы обладают тем свойством, что имеют однозначное покрытие. В данной работе доказывается, что любой многоленточный автомат можно трансформировать в эквивалентный ему автомат, обладающий однозначным покрытием.

Для простоты изложения рассматриваются бинарные двухленточные автоматы.

Дадим определение рассматриваемой модели вычислений в виде, удобном для наших исследований, и позволяющее использовать введенное в теории схем программ понятие фрагментного преобразования [3]. Это определение близко формализации, введенной Р. Бердом [4].

Двухленточный автомат будем представлять диаграммой его переходов и называть просто диаграммой [5].

Диаграммы строятся над двумя конечными алфавитами:

Р = (р,я) и Q = {0,1}.

По определению, диаграмма — это конечный ориентированный граф с размеченными вершинами и дугами. Его структура удовлетворяет следующим требованиям:

• в нем имеются две выделенные вершины, называемые входом и выходом диаграммы; из выхода нет исходящих дуг, а из всех остальных вершин исходят по две дуги;

• все вершины, кроме выхода, помечены символами алфавита P, а выходящие из вершин дуги помечены символами алфавита Q, причем дуги, выходящие из одной вершины, помечены различными символами.

Синтаксис диаграммы определен.

В дальнейших рассмотрениях алфавиты P и Q остаются фиксированными, и поэтому во всех конструкциях и отношениях, фактически зависящих от P и Q, эта зависимость не отмечается.

Введем понятия, используемые при определении эквивалентности диаграмм.

Пусть D — диаграмма над P и Q.

Конечный ориентированный путь w в диаграмме D задается последовательностью дуг. Он описывается историей L(w), где

-М = (в1, В1)(а2, 82)...(ак, Вк),

в] — метка вершины, из которой исходит j-ая дуга пути, а Sj — метка этой дуги, j = 1, 2.к.

р-проекцией (соответственно q-проекцией) пути w называется слово, полученное из L(w) удалением всех пар, не содержащих символа p, (соответственно символа q).

Путь w, начинающийся во входе диаграммы, назовем маршрутом; если последний оканчивается в выходе, то — маршрутом через диаграмму.

Диаграммы D1, й2, по определению, эквивалентны тогда и только тогда, когда для любого маршрута через Dj , j = 1, 2, существует маршрут через Dз-j , р-проекция и q-проекция которого, совпадают соответственно с p-проекцией и q-проекцией первого маршрута.

При таком задании многоленточного автомата символ, сопоставляемый вершине, обозначает ленту, с которой автомат работает в состоянии, идентифицируемом этой вершиной, а метка дуги, выходящей из вершины — символ, расположенный на этой ленте и определяющий выбор следующего состояния автомата.

Диаграммы D1, й2 назовем сильно эквивалентными тогда и только тогда, когда множества историй всех путей через эти диаграммы совпадают. Отметим, что этот случай эквивалентности можно трактовать как обычную эквивалентность детерминированных конечных автоматов.

При изображении диаграммы условимся опускать состояния вместе с приходящими в них дугами, не принадлежащие маршрутам через диаграмму. Примеры сильно эквивалентных автоматов D1 и D2 и эквивалентных автоматов Dз и D4 над алфавитами P={p,q} и Q={o,l} приведены на рис. 1; дуги, которые должны нести символ 1, снабжены жирной точкой у их основания, что позволяет игнорировать метки дуг; начальное состояние изображено черным кружком, а финальное - перечеркнутым кружком.

в)

О,

и,

р&О

Рис. 1

Определим характеристику диаграммы й, называемую покрытием диаграммы. Это древовидный фрагмент Рй, все вершины и дуги которого являются образами вершин и дуг диаграммы й с их метками. Корнем является образ входа диаграммы й. Обозначим через Б список всех вершин диаграммы й, лежащих на ее маршрутах через диаграмму, за исключением ее выхода. Внося в Рэ какую-либо вершину из списка, будем вычеркивать ее образ из Б.

На первом шаге в Рэ вносится корень — образ входа Уо диаграммы й, и вершина Уо удаляется из списка Б. Пусть на некотором шаге в Рй внесена вершина и, являющаяся образом вершины V диаграммы й и вершина V вычеркнута из Б, причём вершина и — не выход и из неё ещё не выходят дуги. Обозначим а,1 и а,2 — дуги, исходящие из вершины V. Пусть а|, 1=1,2 оканчивается в вершине У| . Если У| содержится в Б, создаем образ вершины У| и направляем в нее дугу а|; удаляем У| из списка Б. Если У| не содержится в списке Б, но содержалась ранее и не является выходом, то создаем образ вершины У|; объявляем его выходом фрагмента Рй и в нее направляем дугу а| с ее меткой. Если У| не содержится в списке Б, и не содержалась там, то строящийся фрагмент Рй не меняется. Наконец, если У| является выходом диаграммы й, то создаем образ У| ,он также

будет выходом для Рй, и дугу а| с ее меткой, направляем в этот выход. Пример Рй изображен на рис. 2.

Отметим, что покрытие диаграммы строится неоднозначно. На рис. 2.а) и 2.б) приведены различные покрытия диаграммы й.

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

Утверждение 1. Если вершина имеет единственную приходящую дугу, то она является правильной.

Справедливо

Утверждение 2. Диаграмма является однозначной тогда и только тогда, когда все ее вершины правильные.

Действительно, если а - неправильная вершина. Тогда в нее приходят параллельные пути, а значит отличающиеся последними дугами. При построении покрытия диаграммы, вершина а будет использована в одном ее покрытии с приходящей дугой, являющейся последней для одного из параллельных путей. Для второго покрытия эта же вершина а, будет использована с приходящей дугой, являющейся последней для другого из параллельных путей.

Отметим также следующее очевидное свойство однозначной диаграммы

Утверждение 3. Если й однозначная диаграмма и S1, в2 пара эквивалентных вершин из Рй, являющихся образами некоторой вершимы этой диаграммы, тогда одна из этих вершин на пути в Рй предшествует другой вершине.

Опишем процедуру р, которая по любой диаграмме строит однозначную ей эквивалентную. Идея построения такой диаграммы заключается в таком последовательном преобразовании исходной диаграммы, при котором каждая последующая диаграмма эквивалентна предыдущей и имеет большее число правильных состояний. Эквивалентность обеспечивается преобразованием «расклейка состояний». Доказывается, что предлагаемый процесс конечен.

Шаг 1. Входная вершина диаграммы всегда является правильной. Пометим ее.

Общий шаг. Выберем какую-нибудь помеченную правильную вершину а, из которой выходит дуга в непомеченную вершину Ь, лежащую на маршруте. Если таковой нет, то процесс завершен. В противном случае, построим новую вершину с, на которую перебросим дугу, выходящую из вершины а и входящую в вершину Ь. Рассмотрим все дуги, выходящие из вершины Ь и с каждой из них проделаем следующее. Пусть а — дуга, ведущая из вершины Ь в вершину С. Если С — вершина, не лежащая на маршруте через диаграмму, то направляем в неё дугу с меткой дуги а , но выходящую из вершины с. В противном случае из вершины с выводим дугу с меткой дуги а и направляем её в правильную вершину ё', которая была получена расклейкой вершины

В)

а)

б)

Рис. 2

С, если такая существует и, если новая дуга не нарушает правильность вершины ё'. Иначе, направляем дугу из вершины с в вершину С.

Вершина с является правильной. Пометим ее.

Выполнять общий шаг до тех пор, пока это возможно.

Рассмотрим пример. Применим предложенную процедуру р к диаграмме, изображенной на рис.з.а.

а) б) в)

Д)

Рис. 3

Пометим вход диаграммы, вершину 1, и выберем дугу (1,2), которая ведет в неправильную вершину 2. На рис.Зб) она расклеена. Появившаяся вершина 2 правильная. Пометим ее и выберем дугу (1,3), которая ведет в неправильную вершину 3. Расклеим ее. Результат изображен на Зв). Появившаяся вершина 3 правильная. Пометим ее и выберем дугу (2,3), которая ведет в неправильную вершину 3. расклеив ее, получим однозначную диаграмму, изображенную на рис. Зг). На рис. Зд) приведено покрытие полученной однозначной диаграммы.

Теорема. Применение к диаграмме процедуры р обращает ее в однозначную диаграмму, эквивалентную исходной.

Действительно, достаточно доказать конечность процесса, поскольку при каждом рассмотрении неправильной вершины мы обязательно получаем правильную, и выполнение процедуры р продолжается лишь при наличии неправильной вершины. Предположим, процесс бесконечен. Тогда, в получаемых диаграммах, образуется маршрут, не содержащий циклов сколь угодно большой длины. Но это невозможно, поскольку на таком пути обязательно будут эквивалентные вершины, являющиеся отклеенными копиями одной и той же вершины рассматриваемой диаграммы. Тогда дуга, направленная в одну из таких вершин, находящуюся дальше от входа диаграммы, должна была быть направлена во вторую вершину находящуюся ближе ко входу. Так определялась р процедура, поскольку такой перенос дуги не нарушает правильность первой вершины. Конечность выполнения процедуры доказана, а значит все вершины полученной диаграммы будут правильными.

Эквивалентность получаемых на каждом шаге диаграмм следует, как легко это видеть, из того, что при расклеивании вершин множество историй маршрутов через диаграмму сохраняется [5].

Однозначность полученной диаграммы следует из того, что любая вершина диаграммы, к которой не применим общий шаг, содержит лишь правильные вершины. По утверждению 2 такая диаграмма является однозначной.

120

НАУЧНЫЕ ВЕДОМОСТИ

№ 7 (62)2009

Отметим, что применение предложенной процедуры р может преобразовывать исходную диаграмму в различные однозначные диаграммы.

Действительно, рассмотрим диаграмму, изображенную на рис. 3. а). Одна из возможных однозначных диаграмм, которую можно получить, используя процедуру р, изображена на рис. 3.г), а ее покрытие на рис. 3.д). Другую однозначную диаграмму можно получить, используя следующую последовательность вершин являющихся неправильными: 1, 3, 2. Такое приведение диаграммы к однозначному виду приведено на рис. 4. а), б), в). Покрытие полученной однозначной диаграммы изображено на рис. 4. д).

Рис. 4

Разобранный пример показывает, что результат применения процедуры р зависит от выбранного порядка рассмотрения вершин претендующих на правильные.

Покажем, каким образом можно ускорить выполнение процедуры, т.е. проверить правильность вершины.

Пусть а и Ь вершины, принадлежащие некоторому маршруту через диаграмму, причем из вершины а, в вершину Ь ведет дуга. Вершину а, назовем предшественницей вершине Ь, если любой маршрут, ведущий в вершину Ь, непременно проходит через вершину а (а ■< Ь).

Утверждение 4. Если вершина а правильная и а < Ь, то вершина Ь также является правильной.

Действительно, если а ■< Ь, то в вершину Ь не могут вести параллельные маршруты, а значит, вершина Ь является правильной.

При реализации процедуры р можно оптимизировать общий шаг. При рассмотрении отмеченной правильной вершины а, из которой выходит дуга, направленная в неисследованную на правильность вершину Ь, в случае, когда а ■< Ь, по утверждению 4 вершину Ь необходимо объявить правильной и пометить. На рис.4. показано, что применение такого подхода уменьшает размеры однозначной диаграммы, а значит и ее покрытия.

В заключение отметим, что предложенная процедура р применима и в том случае, когда рассматриваются сильно эквивалентные диаграммы, т.е. обычные конечные детерминированные автоматы.

Литература

1. Подловченко Р.И., Хачатрян В.Е. Метод трансформационного распознавания эквивалентности в моделях вычислений // 8-ой Междунар. сем. Дискретная математика и ее приложения. Москва, МГУ. 2004. С. 38-43.

2. Подловченко Р.И., Хачатрян В.Е. Об одном подходе к разрешению проблемы эквивалентности // Программирование. 2004. № 3. С. 3-20.

3. Подловченко Р.И., Айрапетян М.Г. О построении полных систем эквивалентных преобразований схем программ // Программирование, 1996. № 1. С. 3-29.

4. Bird R. The equivalence problem for deterministic two-tape automata // J. of Computer and System Science, 1973, 7, № 4. p. 218-236.

5. Хачатрян В.Е. Полная система эквивалентных преобразований для многоленточных автоматов // Программирование. 2003. №1. С.62-77.

MODELS OF CALCULATIONS WITH UNEQUIVOCAL COVERING

V.E. KHACHATRYAN Y.G. VELIKAYA

Models of calculations are considered: the final determined and multitape automatic devices. Procedure of construction on any automatic device of model to it equivalent with a unequivocal covering is described.

i Надоели баннеры? Вы всегда можете отключить рекламу.