Научная статья на тему 'Конечные автоматы в теории алгебраических схем программ'

Конечные автоматы в теории алгебраических схем программ Текст научной статьи по специальности «Математика»

CC BY
221
122
i Надоели баннеры? Вы всегда можете отключить рекламу.
Ключевые слова
СХЕМА ПРОГРАММ / АЛГЕБРАИЧЕСКАЯ МОДЕЛЬ ПРОГРАММ / ПРОБЛЕМА ЭКВИВАЛЕНТНОСТИ / РАЗРЕШАЮЩИЙ АЛГОРИТМ / КОНЕЧНЫЙ АВТОМАТ / PROGRAM SCHEME / ALGEBRAIC MODEL OF PROGRAM / EQUIVALENCE CHECKING PROBLEM / DECISION PROCEDURE / FINITE STATE AUTOMATON

Аннотация научной статьи по математике, автор научной работы — Подловченко Р. И.

Рассматриваемые в этой статье алгебраические модели программ являются обобщением двух моделей программ, введенных в работах А.А. Ляпунова и А.А. Летичевского. Центральное место в теории таких моделей занимает проблема эквивалентности схем программ, заменивших формализованные программы. Доказана разрешимость этой проблемы в широком классе алгебраических моделей программ. Методика получения этого результата восходит к разрешимости проблемы эквивалентности конечных автоматов. Задача статьи состоит в выявлении этого обстоятельства.

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

Finite state automata in the theory of algebraic program schemata

Algebraic models of programs considered in this paper generalize two models of programs introduced by A.A. Lyapunov and A.A. Letichevsky. The theory of these models focuses on the equivalence checking problem for program schemata which are formalization of imperative programs. We prove that this problem is decidable for a wide class of algebraic models of programs. Our decision techniques are based on the approach to the equivalence checking problem for finite state automata. The aim of this paper is to reveal this relationship.

Текст научной работы на тему «Конечные автоматы в теории алгебраических схем программ»

Конечные автоматы в теории алгебраических схем программ

Р. И. Подловченко <[email protected]> МГУ им. М.В.Ломоносова, Москва, Россия

Аннотация. Рассматриваемые в этой статье алгебраические модели программ являются обобщением двух моделей программ, введенных в работах A.A. Ляпунова и A.A. Летичевского. Центральное место в теории таких моделей занимает проблема эквивалентности схем программ, заменивших формализованные программы. Доказана разрешимость этой проблемы в широком классе алгебраических моделей программ. Методика получения этого результата восходит к разрешимости проблемы эквивалентности конечных автоматов. Задача статьи состоит в выявлении этого обстоятельства.

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

1. Введение

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

Принципиальным отличием алгебраических моделей программ от моделей из [2] и [3] является то, что они введены для программ, предварительно формализованных. Центральное место в теории таких моделей принадлежит проблеме эквивалентности схем программ, заменивших формализованные программы. В [4] доказана разрешимость этой проблемы в широком классе алгебраических моделей программ. Обозревая методику, которой получен данный результат, можно прийти к выводу: проверяемые ею свойства алгебраических моделей подсказаны теми свойствами конечных автоматов [5], которыми обеспечивается разрешимость их эквивалентности. Задача статьи состоит в следующем: отметить эти свойства конечных автоматов и перевести их на язык требований, предъявляемых к алгебраическим моделям программ и прогнозирующих разрешимость в них проблемы эквивалентности. В совокупности эти требования определят метод

исследований, названный нами автоматным. Он действительно открыл один из путей, которыми распознаётся эквивалентность схем в алгебраических моделях программ.

Статья начинается экскурсом в теорию алгебраических моделей программ. В разделе 1описывются формализованные программы и определяются сами модели. Здесь же осуществляется отбор моделей, пригодных для распознавания семантических свойств формализованных программ (теорема 1). Отобранные модели называются строго аппроксимирующими, и только они рассматриваются в теории. В разделе 2 формулируется теорема 2, сводящая проблему эквивалентности в алгебраической модели программ к родственной ей модели, элементами которой являются матричные схемы. Демонстрируется, что по своей структуре матричная схема - это конечный автомат. Предварительно воспроизводится определение последнего. Раздел 3 посвящен описанию и анализу алгоритма, разрешающего эквивалентность конечных автоматов. Отмечаются те свойства автоматов, которые играют принципиальную роль в работе алгоритма. Сам автоматный метод изложен в разделе 4, а заключительный раздел 5 отводится применению метода для двух видов алгебраических моделей программ, что говорит о его действенности в вопросе разрешимости проблемы эквивалентности.

2. Формализованные программы и построенные для них модели программ.

При формализации понятия программы исходной является следующая установка: в программе, описанной на алгоритмическом языке типа Паскаль, сохранить лишь отдел операторов; это означает, что устраняется ввод начальных данных и вывод полученных результатов. Кроме того, предполагается, что все данные имеют общий тип. Вместе с тем, сохраняются все обычные композиции операторов за исключением аппарата процедур. Согласно такой установке, формализованная программа строится над двумя конечными алфавитами У и Р; элементами алфавита У являются обозначения операторов, а элементами алфавита Р - обозначения логических условий. Синтаксически программа представляет собой конечный ориентированный и размеченный граф; в нём выделены две вершины: вход без входящих в него дуг и с одной исходящей дугой и выход - вершина без исходящих из неё дуг. Остальные вершины, если они имеются, подразделяются на преобразователи и распознаватели; преобразователь помечается символом из У, и из него исходит одна дуга; распознаватель помечается символом из Р, и из него исходят две дуги с метками 0 и 1 соответственно.

Пример программы дан на рис.1; здесь у1(у2 - символы из У, приписанные преобразователям, а р1( р2 - символы из Р, сопоставленные распознавателям.

Рис. 1 Рис. 2

Семантика формализованной программы (далее - просто программы) задаётся семантикой а базиса У, Р: её составными частями являются:

- предметное множество 0, элементы которого называются состояниями',

- отображения ау\ 0^0. где у 6 К:

- отображения ар\ 0 -» {ОД}, где р Е Р.

Для заданной семантики а вводится процедура выполнения программы п на начальном состоянии из 0. Она представляет собой детерминированный обход программы 7Г, который начинается в её входе при состоянии и подчиняется следующим правилам. Пусть при состоянии ^ достигнута вершина V программы 7г; если V - выход, то обход прекращается, а ^ воспринимается как результат выполнения п на состоянии если V -преобразователь с приписанным ему символом у, то состояние ^ перерабатывается в состояние ау (() , и обход продолжается по дуге, исходящей из г?; если же V - распознаватель с приписанным ему символом р, то состояние ^ сохраняется, а обход продолжается по дуге из V, помеченной

ЧИСЛОМ

Таким образом, программе п сопоставляется реализуемая ею функция ап. отображающая множество 0 в себя, в общем случае, частично. Программы 7г', 7г" над У, Р называются эквивалентными при семантике а. если ап' = ап". Так возникает сг-класс программ, в котором рассматриваются проблема эквивалентности и проблема построения эквивалентных преобразований (э.п.) программ.

Перейдём к определению алгебраической модели программ над У, Р. Её элементами являются схемы программ. Чтобы всякое преобразование структуры схемы одновременно было бы преобразованием структуры программы, для которой построена схема, принимается решение:

синтаксически схема определяется так же, как программа. Таким образом, предстоит определить лишь семантику схем программ.

Пусть С - схема над У, Р. Введём процедуру выполнения С на функции, которая отображает множество всех слов над алфавитом У в множество X, где X = {х | х: Р -» {ОД}}. Первое множество обозначим У*, а его элементы будем называть цепочками. Элементы второго множества назовём наборами, а саму функцию - функцией разметки, построенной над базисом У, Р. Обозначим £ множество всех таких функций. Процедура выполнения схемы С на функции ц из £ представляет собой детерминированный обход схемы С, который начинается в её входе с пустой цепочкой из У* и подчиняется следующим правилам. Допустим, что с цепочкой И достигнута вершина V схемы С. Если V - выход схемы, то обход её прекращается, а цепочка И называется результатом выполнения схемы на ц. Если И - преобразователь с приписанным ему символом у, то цепочка И трансформируется в цепочку /?у. а обход схемы продолжается по дуге, исходящей из V. В случае, когда V -распознаватель, ар- сопоставленный ему символ, цепочка И остаётся неизменённой, а обход схемы продолжается по дуге, исходящей из V и помеченной числом, равным значению р в наборе ц(К). Таким образом схеме С приписывается отображение множества £ в множество У*, частичное в общем случае.

Эквивалентность схем над У, Р индуцируется параметрами V и где V -отношение эквивалентности в У*, а Ь - подмножество множества £, и определяется так: две схемы С1( С2 эквивалентны тогда и только тогда, когда, какой бы ни была функция /./ из если одна из схем останавливается на /./. то другая останавливается тоже, и результаты их выполнения на ц - это V-эквивалентные цепочки. Множество схем над У, Р с введённой в нём эквивалентностью схем назовём алгебраической моделью программ над У, Р, а V, Ъ - её параметрами.

Напомним теперь, что введённые модели предназначены для исследования семантических свойств формализованных программ и для разработки на схемах эквивалентных преобразований программ. Это обязывает отобрать пригодные модели.

Пусть М - модель над У, Р, а а - семантика базиса У, Р. Говорим, что М аппроксимирует сг-класс программ, если, какими бы ни были схемы С,, С2 из М, из их эквивалентности в М следует равенство функций сгя,, ап2 , где 7гг -программа той же структуры, что и структура I = 1,2. Очевидно, что аппроксимирующая модель пригодна для объявленной выше задачи. Однако для отбора их пришлось предъявить дополнительные требования. Модель М назовём строго аппроксимирующей, если существует такое множество 5 семантик базиса У, Р, что схемы из М эквивалентны тогда и только тогда, когда для любой семантики а из 5 модель М аппроксимирует а-класс программ. Достаточные условия строгой аппроксимируемости даёт Теорема 1. Алгебраическая модель программ является строго аппроксимирующей, если её параметры V и Ь удовлетворяют следующим требованиям: V - это полугрупповая эквивалентность в У*, а множество Ь 164

состоит из -согласованных функций разметки и является замкнутым по операции сдвига.

Теорема 1 доказана в [4]. Опишем используемые ею понятия. Эквивалентность v называется полу групповой, если, какими бы ни были цепочки h2, h3, h4 из Y*, из эквивалентности /?,, h2 вместе с эквивалентностью h3,h4 следует эквивалентность цепочек /?,и h2h4. Функция разметки ц из £ называется v-согласованной, если она сохраняет своё значение на каждом классе v-эквивалентных цепочек из Y*. Сдвигом функции ц на цепочку h называется функция fih, обладающая свойством: для любой цепочки h' из Y* верно равенство Hhih') = ¡.i(hh'). Множество L, по определению, замкнуто по операции сдвига, если для любых ц из L и h из Y* функция fih принадлежит L.

Как было отмечено во введении, рассматриваются только алгебраические модели, параметры которых удовлетворяют требованиям теоремы 1.

3. Матричные схемы и конечные автоматы

Связь между алгебраическими моделями программ и конечными автоматами, введёнными в [5], проявилась на основе теоремы 2, доказанной, в частности, в [4].

Теорема 2. Какой бы ни была алгебраическая модель программ М над базисом Y, Р, проблема эквивалентности в ней сводится к родственной ей модели М0 над тем же базисом.

Опишем модель М0. Её элементами являются матричные схемы, построенные над Y, Р. Структура матричной схемы выглядит так. Это - конечный ориентированный и размеченный граф, в котором выделены три вершины -вход без входящих в него дуг, выход и вершина loop, каждая без исходящих из неё дуг. Остальные вершины называются преобразователями. Каждому преобразователю приписан свой символ из Y. Из всякой вершины, отличной от выхода и loop, исходят дуги в количестве, равном числу наборов в X, причём каждая дуга помечена своим набором. Структура матричной схемы описана. На рис.2 приведена матричная схема, построенная по теореме 2 для схемы с рис. 1 и эквивалентная ей в любой модели М.

Матричной схеме сопоставляется отображение множества £ функций разметки над Y, Р в множество Y*. Оно осуществляется процедурой выполнения схемы на функциях из £. Описание процесса выполнения схемы из М0 на функции /I отличается от того, как выполняется на /./ схема из М, следующими деталями:

• обход схемы из её входа идёт по дуге, помеченной набором /./(А), где Л - пустая цепочка из Y*;

• из преобразователя с символом у, достигнутом при обходе с цепочкой h из Y*, он продолжается по дуге, помеченной набором ц(Ну):

• при достижении вершины loop обход прекращается без результата.

Параметрами модели M0 являются параметры модели М, а отношение эквивалентности матричных схем в М0 вводится также, как отношение эквивалентности схем в М. Поскольку далее будут рассматриваться модели типа М0, их элементы называются просто схемами.

Модель М0, параметрами которой являются тождество цепочек в Y* и всё множество L, называется максимальной в силу того, что из эквивалентности схем в этой модели следует эквивалентность их в любой модели из числа рассматриваемых нами. Имеет место лемма 1, доказанная в [6]. Она даётся в редакции, используемой в [7].

Лемма 1. Проблема эквивалентности в максимальной модели М0 над базисом Y, Р сводится к проблеме эквивалентности конечных автоматов над алфавитом (Y U {у0}) х X, где у0 - добавочный символ.

Доказательству её предпошлём напоминание о том, как определяются конечные автоматы и отношение их эквивалентности.

Автоматом над алфавитом Е называется конечный ориентированный граф с размеченными дугами. В нём одна вершина называется инициальной, и некоторые вершины (возможно, пустое множество) - финальными. Из каждой вершины исходят дуги в количестве, равном числу символов в и каждая дуга помечена своим символом. Всякое слово над алфавитом £ прокладывает в автомате маршрут, начинающийся в инициальной вершине и составленный дугами, метки которых при просмотре маршрута слагаются в это слово. По определению, оно принимается автоматом, если маршрут оканчивается в финальной вершине. Автоматы называются эквивалентными, если они принимают равные множества слов.

Доказательство леммы 1 состоит в построении алгоритма, который, получив на свой вход схему G из М0 , строит автомат A(G). и в установлении корректности этого алгоритма. Ограничимся описанием алгоритма. Вершинами автомата ¿4(G) он объявляет образы всех вершин схемы G, при этом образ входа называет инициальной вершиной, образ выхода -единственной финальной вершиной, а образом loop - вершину, именуемую мёртвой, ибо все исходящие из неё дуги ведут в неё же.

Пусть v - вершина схемы G, a v - её образ в A(G). Если v - это вход, то всякая дуга из него, помеченная набором х, порождает дугу из v. помеченную парой (у0,х) и ведущую в образ той вершины схемы, в которую ведёт первая дуга. Если v - это преобразователь с меткой у, то любая дуга из него, несущая метку х, порождает дугу из v с меткой (у, х). оканчивающуюся в образе той вершины схемы, в которой оканчивается первая дуга. Все остальные дуги, долженствующие быть в автомате ¿4(G), алгоритм направляет в мёртвую вершину. Этим автомат ¿4(G) построен. Обозревая описанный алгоритм, легко установить, что структура схемы из М0 подобна структуре конечного автомата.

4. Разрешимость эквивалентности конечных автоматов.

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

Т. = {о1,о2,... > 2. Автомат над £ назовём приведённым, если любая

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

Утверждение 1. Существует алгоритм, который поступивший на его вход автомат над £ трансформирует в эквивалентный ему приведённый автомат над

Действительно, такой алгоритм сначала оставляет в автомате все вершины, достижимые из инициальной, затем все вершины, из которых достижима какая-либо финальная вершина, заменяя при этом прочие вершины мёртвой. Воспользуемся алгоритмом, распознающим эквивалентность приведённых автоматов над £ и известным как алгоритм Мура. Обозначим его для определённости символом р. Пусть А1,А2 - приведённые автоматы над поступившие на вход алгоритма р. Он строит таблицу, в которой, кроме ведущего столбца, имеется £ столбцов. Элементами таблицы будут пары а ,, а2 где аI - вершина автомата Аи I = 1,2. Элементы ведущего столбца таблицы называются ведущими, а позиция в строке таблицы, находящаяся в ]'-ом столбце,-у'-ой позицией.

Сначала алгоритм р записывает в ещё пустую таблицу в качестве первого ведущего элемента пару (а10, а20), где аш - инициальная вершина автомата Аи I = 1,2, и приступает к заполнению первой строки.

Предположим, что алгоритм р добрался до заполнения /-ой позиции строки с ведущим элементом (а1, а2). Тогда он строит пару (ЬЛ, Ь2). где Ь1 - вершина, в которую идёт дуга с меткой из вершины аи I = 1,2. В случае, когда вершины Ьъ Ъ2 разнотипны (типы - финальная, мёртвая, прочая), алгоритм р останавливается, справедливо заявляя, что автоматы Л, ,А2 не эквивалентны. В ином случае он проверяет, имеется ли в ведущем столбце пара (Ь,, Ь2). и, если её нет, записывает её в первую свободную позицию ведущего столбца и продолжает свою работу, переходя к заполнению следующей позиции той же строки, если таковая имеется. Когда вся строка заполнена, а в таблице имеются незаполненные строки, алгоритм р работает со следующей строкой, останавливаясь с ответом «А1,А2 эквивалентны» в случае, когда таблица полностью построена. Этим алгоритм р описан.

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

их начала вершин, то отрезки маршрутов, соединяющие эти вершины, назовём

сочетаемъши интервалами.

Обратимся теперь к алгоритму р. Из его описания следует, что он строит сочетаемые маршруты в автоматах А1,А2, постепенно увеличивая их длину. При этом алгоритм р учитывает два свойства, присущие автоматам, а именно:

- если маршруты оканчиваются в вершинах разного типа, то автоматы не эквивалентны;

- в эквивалентных автоматах сочетаемые интервалы несут равные слова, и сокращение маршрутов на эти интервалы приводит к сочетаемым маршрутам.

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

5. Автоматный метод распознавания эквивалентности схем программ

Этот метод, отталкиваясь от свойств, на которые опирается алгоритм р, предписывает требования к модели с матричными схемами программ, выполнение которых прогнозирует разрешимость в ней проблемы эквивалентности. Областью его применимости являются только те модели, в которых у-эквивалснтныс цепочки над У равны по длине; здесь V - первый параметр модели.

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

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

маршрут через неё, несущий цепочку, -эквивалентную цепочке, несомой первым маршрутом.

Поскольку в модели М0 имеются схемы с нереализуемыми маршрутами, автоматный метод выставляет

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

Требование 2. Сформулировать алгоритмически проверяемый критерий сочетаемости маршрутов в схемах из Мх. Наконец, формулируется

Требование 3. Выбрать параметры модели М, такими, чтобы необходимыми условиями эквивалентности схем в ней являлись два условия:

1) равновеликие сочетаемые маршруты в схемах оканчиваются в вершинах общего типа;

2) сочетаемые интервалы в схемах несут -эквивалентные цепочки, и сокращение маршрутов на сочетаемые интервалы приводит к сочетаемым маршрутам.

Автоматный метод, которым прогнозируется разрешимость эквивалентности в модели М0, описан.

6. Заключение

Первым примером применимости автоматного метода являются уравновешенные полугрупповые модели программ с левым сокращением, рассмотренные в [4]. Опишем их параметры V и Ь.

Эквивалентность V является полугрупповой, а множество Ь состоящим из всех -согласованных функций разметки. Таким образом, модель является аппроксимирующей. Уравновешенность модели трактуется как требование: V-эквивалентные цепочки равновелики по длине. Это позволило применить к модели автоматный метод. Свойство левого сокращения формулируется так: какими бы ни были цепочки из У*, выполняется импликация

(Тг^з ~ к2к4) А (Х ~ й2) => ~ й4.

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

Другим примером является коммутативная модель программ с монотонными операторами, исследованная в [8]. В ней v-эквивалентными объявляются цепочки, любая из которых получается из другой перестановками соседних символов. А множество L состоит из всех таких v-согласованных функций разметки /./. которые удовлетворяют требованию : какими бы ни были цепочка h из Y* и символ у из Y, верно соотношение ß(h) < /1 (hy): по определению, наборы хх, х2 находятся в отношении <, если для любого р из Р выполняется: хх(р) < х2(р).

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

В [4] и [8] обсуждается и сложность алгоритма, распознающего эквивалентность схем.

Список литературы

[1]. Подповченко Р.И. Иерархия моделей программ. Программирование, 1981, №2, стр. 3-14.

[2]. Ляпунов A.A. О логических схемах программ. Проблемы кибернетики. М.: Физматгиз, Вьгп.1, 1958, стр. 46-74.

[3]. Глупжов В.М., Летичевский A.A. Теория дискретных преобразователей. Избранные вопросы алгебры и логики. Новосибирск. ИМ СО АН СССР, 1973, стр. 5-39.

[4]. Подповченко Р.И. Об одной методике распознавания эквивалентности в алгебраических моделях программ. Программирование, 2011, № 6, с. 33-43.

[5]. Rabin М.О., Scott D. Finite automata and their decision problems. IBM Journal of Research and Development, 1959, vol.3, №2, p. 114-125.

[6]. Rutledge J.D. On Ianovs program schemata. Journal of the ACM, 1964, Vol. 11, № 1, p. 1-9.

[7]. Подповченко Р.И. Эквивалентные преобразования в математических моделях вычислений. Учебное пособие. М.:Издат. отдел факультета ВМиК МГУ им. М.В.Ломоносова. МАКС-Пресс, 2011, 72 с.

[8]. Подповченко Р.И. О схемах программ с перестановочными и монотонными операторами. Программирование, 2003, №5, стр. 46-54.

Finite state automata in the theory of algebraic program schemata

Podlovchenko R.I. <[email protected]> Lomonosov Moscow State University, Moscow, Russia

Annotation. Algebraic models of programs considered in this paper generalize two models of programs introduced by AA. Lyapunov and AA. Letichevsky. The theory of these models focuses on the equivalence checking problem for program schemata which are formalization of imperative programs. We prove that this problem is decidable for a wide class of algebraic models of programs. Our decision techniques are based on the approach to the equivalence checking problem for finite state automata. The aim of this paper is to reveal this relationship.

Keywords: program scheme, algebraic model of program, equivalence checking problem, decision procedure, finite state automaton.

References

[1]. Podlovchenko R.I. Ierarchiya modeley program [Hierarchy of program models], Programmirovanije [Programming and Computer Software], 1981, № 2, p. 3-14 (in Russian).

[2]. Lyapunov A.A. O logicheskih shemah program [On the logical program schemata], Problemy Kibernetiki [Problems of Cybernetics] Mosocow. Physmathgiz, vol. 1, 1958, p. 46-74 (in Russian).

[3]. Glushkov V.M., Letichevsky A.A. Teoriya discretnyh preobrazovateley [Theory of discrete transducers] Izbranniye voprosy algebry i logiki [Selected issues in algebra and logics] Novosibirsk, 1973, p. 5-39 (in Russian).

[4]. Podlovchenko R.I. On one equivalence checking technique for algebraic models of programs Programming and Computer Software, 2011, vol. 37, № 6, p. 292-298.

[5]. Rabin M.O., Scott D. Finite automata and their decision problems. IBM Journal of Research and Development, 1959, vol.3, №2, p. 114-125.

[6]. Rutledge J.D. On Ianovs program schemata. Journal of the ACM, 1964, vol. 11, № 1, p. 1-9.

[7]. Podlovchenko R.I. Equivalent transformations in mathematical models of computations. Tetxbook, Moscow, CMC Faculty, Lomonosov Moscow State University, 2011, 72 p. (in Russian)

[8]. Podlovchenko R.I. On program schemes with commuting and monotone operators. Programming and Computer Software, 2003, vol. 29, № 5, p. 270-276.

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