Файл: Алферова, З. В. Математическое обеспечение экономических расчетов с использованием теории графов.pdf

ВУЗ: Не указан

Категория: Не указан

Дисциплина: Не указана

Добавлен: 21.10.2024

Просмотров: 86

Скачиваний: 0

ВНИМАНИЕ! Если данный файл нарушает Ваши авторские права, то обязательно сообщите нам.

Распознаватель

с логическим

условием

pAq

обозначается на

схеме просто

pq.

 

 

 

 

 

 

 

 

 

Определим понятие эквивалентности операторных схем Янова.

Пусть дана схема G(AU

Л„,

ри

рк). Будем

обозначать

бук­

вой Д с индексом или без

него

упорядоченный

двоичный

набор

значений переменных рх,

рк.

 

понятие

конфигурации,

Для операторной схемы G определим

строящейся с

помощью процесса

«блуждения»,

задаваемого по

индукции. Сама конфигурация будет получаться

в

виде двойной

последовательности

наборов значений

логических

переменных

Pi, •••> Рк и символов операторов

А\,

Ап,

записываемых

в виде

двух строк: верхней — для

наборов

и нижней — для

операторов.

При построении

конфигурации

основываемся

 

на некотором

базисе индукции, от которого осуществляются последующие шаги индукции. Построение базиса и шагов следующее.

Базис

индукции. В

верхнюю строку записывается

произволь­

ный набор А, нижняя

строка пуста. Движение

по

схеме

G начи­

нается в направлении, указанном входной стрелкой.

 

 

Шаг

индукции.

Пусть происходит движение по схеме с набором

Д. Если

стрелка

приводит к распознавателю R(a),

то

вычисляется

а ( Д ) . Если а(Д) = 1, то с тем же набором движение

продолжается

по плюс-стрелке,

выходящей из распознавателя

R.

Если

а ( Д ) = 0 ,

то движемся по минус-стрелке. Если стрелка приводит к операто­ ру А(р), то выписываем символ оператора Л в нижнюю строку конфигурации и преобразуем набор А в набор Д' с таким услови­ ем, что набор Д' может отличаться от набора Д значениями тех пе­

ременных из р\,

рк, которые входят

в сдвиг р оператора Л.

Набор Д' выписывается в верхнюю

строку, конфигурации, и

движение продолжается по стрелке, выходящей из Л.

Если стрелка

приводит к конечному

оператору, то его символ

выписывается в нижнюю строку и построение конфигурации обры­ вается.

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

навателю

станет бесконечным.

При

обнаружении

такого

цикла

движения

искусственно прерывается и в нижнюю строку ставится

символ пустого периода

(

) .

 

 

 

Таким

образом, любая

конкретная

конфигурация

имеет

вид:

При этом она либо является бесконечной, либо обрывается (на ниж-

(

Любая пара соседних наборов Ат, Am+i может отличаться значениями только тех переменных, которые входят в сдвиг опера­ тора Ajm.

90


Верхняя последовательность

наборов

называется

допустимой

последовательностью 5 наборов для схемы G, нижняя

последова­

тельность операторов называется значением Z схемы G, определяе­

мым допустимой

последовательностью 5.

 

 

 

Поскольку при

построении конфигурации возможен

произвол

(в выборе Ai при

переходе от Д т

к Am+i),

очевидно,

что

правило

ставит в

соответствие каждой схеме G некоторое множество конфи­

гураций

K(G),

являющееся в общем

случае

бесконечным.

Выпишем пример конфигурации для приведенной схемы Янова.

Пусть Д = 10

(где первая переменная

р = \,

а вторая <7 = 0), тогда

пример

конфигурации имеет вид:

 

 

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

Точная конфигурация для приведенного примера имеет вид:

 

10

_

10

10

 

 

10

10

 

10

 

 

 

р

 

pq

Аг{

)

 

р

q

 

 

Отношение

эквивалентности

определяется

для

любой пары

операторных схем G{ и G2

с одними

и теми же логическими пере­

менными

Pi,

рк-

Схемы

Gi

и

G2

 

являются

эквивалентными

( G i ^ G 2 ) ,

если

K{Gi)

=K(G2),

т. е. если совпадают

их

множества

конфигураций.

 

 

 

 

 

 

 

 

 

 

 

Эквивалентность

 

схем

обладает

свойствами рефлексивности

и транзитивности.

 

 

 

 

 

 

 

 

 

 

Как указывалось,

система

правил

преобразований

оператор­

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

Фрагментом операторной схемы G называется некоторая часть

(подграф)

схемы

G, для

которой

указана

ее связь с остальными

вершинами

схемы

G. Эта

связь указывается

в виде выходов и вхо­

дов фрагмента.

Выходы

фрагмента — это

различные

стрелки,

которые

показывают,

какие

вершины

фрагмента

соединены

91


 

с остальными

вершинами

схе­

 

мы.

 

 

 

 

 

 

 

 

Входы

фрагмента

— это

 

различные стрелки, показываю­

 

щие, к каким вершинам фраг­

 

мента ведут стрелки от осталь­

 

ных

вершин

схемы.

Входы

 

фрагмента могут быть

указаны

 

также в виде обобщенного вхо­

 

да,

который

указывает,

к ка­

 

кой вершине может вести про­

 

извольная

совокупность

стре­

 

лок, выходящих либо от ос­

 

тальных

вершин

схемы,

либо

 

(если это не запрещается спе­

 

циальной

оговоркой)

от

выхо­

 

дов этого же фрагмента. Обоб­

 

щенные

выходы

указываются

Рис. 15. Пример фрагмента операторной

ж и р

н ы м

и

стрелками.

Входы

с х е м ы

метятся

римскими

цифрами,

 

выходы — арабскими цифрами.

Поясним сделанные определения на примере фрагмента, пред­ ставленного на рис. 15. В нем указывается, что к верхнему распоз­ навателю обязательно подходит некоторая стрелка. В оператор А извне могут входить любые стрелки. В нижний распознаватель могут вести извне любые стрелки, но среди них не может быть ни одной из выходных стрелок фрагмента, помеченных цифрой 2.

Пометка двух выходных стрелок одной и той же цифрой

означа­

ет, что обе эти стрелки должны вести к одной и той же

вершине

схемы.

 

Сами аксиомы и утверждения правил вывода имеют вид соот­ ношений равносильности, т. е. двух фрагментов, разделенных зна­ ками равносильности ~ . Аксиомы и. правила вывода представле­ ны на рис. 16. Исследуем содержание этой аксиоматики. Логиче­ ские аксиомы постулируют связь базисных логических функций (нуль, отрицание и дизъюнкция) с правилами выбора стрелок при выполнении распознавателей. Их справедливость очевидна. Топо­ логические аксиомы постулируют возможность определенных топологических изменений схемы (т. е. изменения соединений между вершинами схемы и устранения вершин). Аксиома 4 ут­ верждает, что оператор без входа может быть устранен, аксиома 5 постулирует эквивалентность пустых периодов, аксиома 6 посту­ лирует сохранение значений логических переменных при движении по распознавателям схемы. Аксиомы распределения наборов фор­ мализуют понятие допустимости набора для распознавателя или преобразователя схемы. Будем трактовать логические функции ф(Д) как множества тех наборов А, на которых 0 ( Д ) = 1. Аксио­ мы группы 3 задают правила пометки стрелок операторной схемы

92


/ Логические аясиомы

 

 

I

- /

 

О у /

ос

) ~

 

 

7

 

 

 

 

 

 

/

г

г

г

Р

 

? Текнопогичесние аксиомь/

I I!

51

~Л

/

2

 

 

3. Яка/омы распределения

наборов

 

 

 

 

/

// /

//

I

I

? 9

9)

 

Ю)

 

 

 

V

 

8)

 

 

 

я

pvmax№)

 

p

Правило

'fir*

Рис. 16. Аксиомы и правила вывода

93

некоторыми

логическими функциями, представляющими те набо­

ры, которые

могут «проходить»

вдоль

стрелок при

построении

конфигураций схемы. Аксиома

7 носит

служебный

характер,

задавая «начальное значение» метящих функций в виде пустого множества наборов. Аксиома 8 постулирует тот факт, что на вход­ ную стрелку операторной схемы может быть подан любой набор. Аксиома 9 утверждает, что если на вход распознавателя с услови­ ем а попадает некоторое множество наборов ф, то оно полностью

переносится на выходы распознавателя; при этом

те наборы из ср,

на которых а = 1 , переносятся на плюс-стрелку, а

остальные — на

минус-стрелку. Аксиома 10 утверждает, что если

на вход

опера­

тора А со сдвигом Р попадает множество наборов ср, то оно

порож­

дает на выходе А множество всех наборов, отличающихся от набо­

ров из

ф только,

может

быть,

значениями

переменных,

входящих

в сдвиг

Р.

 

 

 

 

 

 

 

 

 

 

 

Из

аксиом

распределения

наборов

видно, что

при

пометке

стрелок

схемы

единственным

безусловным

источником

наборов

значений

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

входная

стрелка. Ак­

сиома 9 переносит на выходные стрелки лишь

те наборы, которые

поступают на вход распознавателя. Аксиома

10 порождает

лишь

те наборы, которые могут получиться

из

наборов,

поступающих

на вход оператора, применением операции

взятия максимума

 

(за­

метим,

что max

(0)=0

для любого Р).

Таким

образом, если

в

ре-

 

 

р

 

 

 

 

 

 

 

 

 

 

 

зультате применения аксиом 7—10 на

стрелке 5,

ведущей

к

не­

которой вершине V операторной схемы, появилось множество набо­

ров ф, то это значит, что каждый из этих

наборов

мог

появиться

на стрелке 5 лишь в результате применения аксиом 7—10

к цепоч­

ке фрагментов

схемы, образующих путь от входной стрелки до вер­

шины

V.

 

 

 

 

 

 

 

 

 

 

 

 

Поскольку операторная схема в целом является частным слу­

чаем понятия

фрагмента, рассмотренная

аксиоматика

позволяет

выводить

соотношения

равносильности

для

операторных

схем.

Свойства равносильности как некоторого бинарного соотношения выражает следующая лемма: отношение равносильности является

рефлексивным, симметричным и транзитивным.

 

Доказательство.

Рефлексивность

следует

из правила

1 при

одинаковых а и р .

Симметричность

следует

из правила 2,

если в

качестве посылки

взять

следующие

соотношения:

 

 

F\

~ F2 >

F\ ~ F\ •

 

 

Доказательство транзитивности требует в качестве посылки соот­ ношения:

Fi~F2> F2~F3

По симметричности эту посылку можно переписать в виде

F2~F\>

F2~F3

.

откуда по правилу 2 вытекает, что F

i ~ F \ .

 

94


Формальную возможность трактовать рассмотренную аксио­ матику как правила преобразования операторных схем представ­

ляет

следующая

лемма (правило подстановки): если

Fi~F2,

то

 

 

 

 

F(Fl)~F(Fa)

 

 

 

 

Доказательство.

Взяв в правиле 2 в качестве

посылки

 

 

 

 

 

f , ~ f a ,

F(Fl)~F(F1)

.

 

 

 

получим, что F(F2)

~ FIF^),

откуда

в

силу симметричности

выте­

кает

утверждение

леммы.

 

 

 

 

 

 

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

равносильные операторные схемы Янова эквивалентны.

 

До сих

пор

мы

рассматривали

эквивалентность

операторных

схем

Янова

как

совпадение

множества

всех

конфигураций

этих

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

Э. Л. Горель вводит следующее понятие конечной эквивалент­

ности

схем Янова

[19]. Операторные схемы

Янова G\ и

G2

конеч-

 

 

k

 

 

 

 

но эквивалентны

(Gi~G2),

если множества

их конечных

конфигу­

раций

совпадают.

 

 

 

 

Для получения полной системы конечно

эквивалентных

преоб­

разований к полной системе эквивалентных

преобразований до­

бавляются одна аксиома и два правила вывода. Алгоритм распо­

знавания конечной

эквивалентности

операторных

схем

может

быть получен

из алгоритма

преобразования любой

операторной

схемы Янова

некоторой

его

модификацией.

 

 

§

3. 5.

ЭКВИВАЛЕНТНЫЕ

ПРЕОБРАЗОВАНИЯ

ПРОГРАММ

Система эквивалентных преобразований алгоритмов является

теоретической

основой для

разработки и совершенствования

аппа­

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

Преобразования программ могут выполняться в двух направ­

лениях:

 

 

 

а)

с

целью

экономии

памяти;

б)

с

целью

экономии

времени.

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

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

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

95