книги из ГПНТБ / Алферова, З. В. Математическое обеспечение экономических расчетов с использованием теории графов
.pdfкак указатель хранения для i. Если таковых нет, то выбирается любой допустимый указатель. После того как выбран указатель хранения, к утверждению i добавляется стрелка, ориентированная направо, за которой следует выбранный указатель.
2. Пусть М есть указатель хранения, уже приписанный утверж дению /. Подстановка М всюду, где встречается в цепи число со пряжения с номером i, будет означать соответствующий указатель выборки.
После того как указанным способом будут обработаны все невыходные утверждения, процесс заканчивается.
Исходная цепь Сопряженная цепь
1) |
х—>Mi |
1) |
х |
2) |
Af,—+у |
2) |
1-=+у |
3 ) |
Ф,(А1,) — Ш 2 |
3 ) |
0 1 (1) |
4 ) |
М2 —>2 |
4 ) |
3—>z |
Поскольку в утверждение 1) в цепи вообще не входят указа тели, выбирается произвольно указатель, допустимый в качестве указателя хранения, например М{. Этот указатель вводится в схе му, а затем производится в соответствии с алгоритмом замена 1 на Mi всюду, где встречается число сопряжения 1:
Исходная цепь |
Минимизированная цепь |
||
1) |
х—*А1, |
1) |
х—+Mi |
2) |
Mi—>у |
2) |
Af,—уу |
3 ) |
Ф,(М,) |
3 ) |
Ф,(Л1,)—•Л*, |
4 ) |
3—^2 |
4 ) |
Mi-^z |
Утверждение 2) представляет собой выходное утверждение и потому пропускается. Указатель Му допустим в качестве указателя хранения для утверждения 3 ) . Следовательно, Mi вводится в ка честве указателя хранения в 3 ) и производится соответствующая замена чисел сопряжения с номером 3. Другие невыходные утверж дения отсутствуют. , :
Сопряженные цепи обладают тем свойством, что входящие в цепь утверждения могут быть произвольным образом переставле ны при одном условии: прообразные утверждения должны распо лагаться в цепи раньше утверждения-образа. В качестве примера рассматривается цепь С.
Исходная |
цепь |
Сопряженная ц е П ь |
||||
1) |
Ш |
|
|
1) |
w |
|
2) |
х |
|
|
2) |
х |
|
3 ) |
У |
|
|
4 ) |
Ф,(1,2) |
|
А \ |
ф |
1\ |
0 \ |
3 ) |
у |
|
|
|
|
||||
5) |
Ф 2 |
(4,3) |
5) |
Фа |
(4,3) |
|
6) |
5—>2 |
6) |
5 |
—^2 |
||
• 100
После перестановки утверждений 3 ) и 4 ) получается цепь С.
Очевидно, С и С |
эквивалентны, так как сохранены |
связи меж |
||||||||||
ду прообразами и образами. |
|
|
|
|
|
|
|
|||||
Перестановки |
представляют |
интерес |
в связи |
с |
возможностью |
|||||||
уменьшения за |
счет |
этого |
числа |
указателей. |
|
|
|
|
||||
В |
некоторых |
случаях |
анализ данной |
цепи |
позволяет |
устано |
||||||
вить, |
что объект, |
представляющий |
собой |
результат |
выполнения |
|||||||
утверждения 5,-, |
идентичен |
результату выполнения |
предшествую |
|||||||||
щего |
утверждения |
S,-i |
при |
тех |
же |
входных |
данных |
цепи. |
||||
В этом случае говорят, |
что Si |
и St _i коррелированы. |
Последнее |
|||||||||
утверждение, являющееся избыточным, может быть исключено из
цепи. В следующем |
примере утверждения 3 ) и 4 ) коррелированы: |
||||||||||
|
Исходная цепь |
|
|
Преобразованная |
цепь |
|
|||||
|
1) W—УМХ |
|
|
1) |
W—УМХ |
|
|
||||
|
2) X—УМ2 |
|
|
2) |
X—УМ2 |
|
|
||||
|
3 ) |
Ф1(М1,М2)—УМ3 |
|
|
3 ) |
ФХ |
(MVM2)—УМ3 |
|
|||
|
4 ) |
0 1 (М,,М 2 ) — >М 4 |
|
|
|
|
|
|
|||
|
5) |
М3—уу |
|
|
5) |
Мл—>у |
|
|
|||
|
6 ) М4—yz |
|
|
6 ) МГ—yz |
|
|
|
||||
|
Утверждение 4 ) может быть исключено. |
|
|
||||||||
|
Имеют |
место два условия, при которых |
пара |
утверждений це |
|||||||
пи |
Si и Si-i |
может |
быть |
коррелирована: |
|
|
|
||||
|
1) оба утверждения |
и |
являются |
вычислительными |
ут |
||||||
верждениями одного и того же типа |
и имеют идентичную систему |
||||||||||
прообразов; |
|
|
|
|
|
|
|
|
|
||
|
2) оба утверждения 5г- и St _i являются |
вычислительными |
ут |
||||||||
верждениями |
и для любого i |
t'-й прообраз 5г-_1 коррелирован с t-м |
|||||||||
прообразом |
Si. |
|
|
|
|
|
|
|
|
||
не |
Алгоритм |
преобразования |
цепи |
Ct-_i в эквивалентную цепь С,-, |
|||||||
содержащую коррелированных |
утверждений, |
сводится к |
сле |
||||||||
дующему:
1.Образуется сопряженная цепь, соответствующая данной (указательной) цепи.
2.Определяется, отличаются ли два вычислительных утверж дения в цепи только номером утверждения. Если так, пусть i — номер одного из них, встретившегося раньше, и / — номер другого; исключается утверждение / и всюду в цепи число сопряжения / заменяется числом сопряжения L
Этот процесс повторяется до тех пор, пока не останется корре
лированных |
вычислительных |
утверждений. |
|
3. Путем минимизации образуется |
соответствующая указа |
||
тельная цепь. |
|
|
|
Исходная цепь |
Сопряженная цепь |
||
1) |
у—>М, |
1) |
у |
2) 0 , ( A f i ) — У М 2 |
2) |
Ф,(1) |
|
101
3) Ф 2 ( М 2 ) ^ М 3 |
3) Ф 2 ( 2 ) |
||
4) |
0 i (М,)—>М4 |
4) |
Ф,(1) |
- 5) |
Ф 2 (М 4 ) — >М 5 |
5) |
Ф2 (4) |
6) Ф3(М3,М5)—+М6 |
6) |
Ф3 (3,5) |
|
7) |
М6 —>z |
7) |
6—>2 |
Утверждения 2) и 4) отличаются только номером утверждения,
поэтому утверждение 4) исключается |
и всюду, |
где встречается |
||
число сопряжения 4, оно заменяется числом 3. |
|
|||
Исходная цепь |
Преобразованная |
цепь |
||
О |
У |
1) |
У |
|
2) |
Ф,(1) |
2) |
Ф,(1) |
|
3) |
Ф2 (2) |
3) |
Ф2 (2) |
|
5) |
Ф2 (2) |
|
|
|
6) |
Ф3 (3,5) |
6) |
Ф3 (3,3) |
|
7) |
6—yz |
7) |
6—*г |
|
Утверждения 3) и 5) образуют пару утверждений, отличаю щихся номером. Исключается 5), и соответственно изменяются номера указателей.
В этой цепи больше нет совпадающих утверждений, поэтому минимизированная цепь имеет вид:
1)У—
2)0j(Afi)—*-Afj
3)Ф 2 ( М , ) —
6) Ф 3 (Мь МО—WW,
7) Mi —*z
§ 3. 6. ПЕРСПЕКТИВЫ ПРАКТИЧЕСКОГО ИСПОЛЬЗОВАНИЯ
ЭКВИВАЛЕНТНЫХ ПРЕОБРАЗОВАНИЙ.
Хотя в теории эквивалентных преобразований алгоритмов и программ имеются определенные успехи, однако их практическое
использование |
пока |
еще |
не получило должного |
развития, так как |
|||
с точки зрения |
практики |
существующие методы |
эквивалентных |
||||
преобразований обладают целым рядом недостатков. |
|
||||||
Так, система эквивалентных |
преобразований |
Янова |
основана |
||||
на использовании |
специальной |
аксиоматики. |
Даже |
упрощение |
|||
этой аксиоматики, |
выполненное |
А. П. Ершовым, |
не |
облегчило |
|||
перевода теоретического аппарата в практический. Использование такой системы преобразований алгоритмов на практике связано с построением логической схемы алгоритма и соответствующей ей операторной схемы Янова, с выделением фрагментов схемы, соот ветствующих принятой аксиоматике. Все это может быть выпол нено только очень квалифицированными специалистами.
102
Система эквивалентных преобразований Криницкого [45] |
бо |
лее приближена к практическому использованию, однако и |
она |
до настоящего времени не нашла практического применения. Это объясняется тем, что применение эквивалентных преобразований алгоритмов требует определенных знаний и навыков. Не разрабо тан еще алгоритм эквивалентных преобразований с целью автома тизации этого процесса.
В соответствии со сказанным система эквивалентных преобра зований остается в основном теоретическим, а не практическим аппаратом теории алгоритмов. Что же касается эквивалентных преобразо>ваний программ с целью минимизации памяти и времени их реализации, то существующие методы не обеспечивают полного решения данной проблемы.
Процесс преобразований с помощью вычислительных цепей применим лишь к линейным программам, не содержащим развет влений, переходов и модификации адресов. Вычислительные про цессы, реализуемые этими программами, представляются с помо щью небольшого числа элементарных функций. Практически такое представление оказывается неэффективным. Поэтому систе ма упрощения программ должна базироваться на большом числе элементарных функций и правила манипуляций в этой системе должны отражать истинные математические свойства этих функций.
Следует заметить, что не все величины программы войдут в операторную схему и при глобальной экономии памяти. В опера торную схему не входят, например, рабочие величины, предназна ченные для хранения промежуточных результатов.
Кроме того, совмещение рабочих величин |
в пределах одного |
||
оператора совершается с |
использованием |
алгоритма |
экономии |
рабочих ячеек на линейных |
участках. После |
экономии |
рабочих |
величин на каждом операторе для них отводится один массив па мяти, длина которого равна максимальному числу ячеек, требуе мых для хранения рабочих величин в пределах одного оператора.
Заметим к тому же, что задача раскраски вершин графа, поло женная в основу совмещения при глобальной экономии памяти, в общем случае считается неразрешимой.
Таким образом, основные задачи теории алгоритмов, связанные с эквивалентными преобразованиями алгоритмов и программ и их практическим использованием, можно сформулировать следую щим образом:
развить теоретический аппарат, обеспечивающий полное реше ние проблемы минимизации алгоритмов и программ;
разработать алгоритм практической реализации системы экви валентных преобразований, используя существующий теоретиче ский аппарат;
обеспечить включение эквивалентных преобразований алгорит мов и программ в систему автоматизированной обработки инфор мации для повышения эффективности использования вычисли тельных средств.
Глава IV СИНТЕЗ А Л Г О Р И Т М О В
ИП Р О Г Р А М М
§ 4. 1. ОБЩАЯ ПОСТАНОВКА ЗАДАЧИ
Эквивалентные преобразования |
алгоритмов |
находят |
||
свое практическое применение при |
синтезе |
алгоритмов. |
Поэтому |
|
не случайно в работе Ю. С. Янова |
[83] понятие синтеза |
алгорит |
||
мов возникает одновременно с понятием равносильности |
преобра |
|||
зований алгоритмов. |
« |
|
|
|
На практике очень часто приходится решать несколько вариан тов, по существу, одной и той же задачи, когда варианты опреде ляются не изменением значений исходных параметров, а специ фикой решения в различных ситуациях. Такая специфика в реше нии задач особенно характерна для экономических задач. Так, например, во всех подразделениях предприятия производится рас чет заработной платы. Общие принципы расчета заработной платы для всех подразделений одинаковы. Однако в каждом подразде лении имеется своя особенность в расчетах по заработной плате.
Или другой пример.
При обследовании отделов управления материально-техниче ского снабжения Главмоспромстройматериалов было установлено, что в каждом из них решаются задачи определения потребности материалов, распределения материалов, контроля за реализацией фондов на материалы.
Однако специфика работы отделов материально-технического снабжения накладывает определенные требования на решаемые в них задачи. Однотипные по назначению задачи в различных от делах решаются по-разному. Это различие прежде всего вызвано использованием различных по форме и содержанию исходных и результатных документов. Кроме того, порядок расчетов по раз ным группам материала не одинаков.
Исходя из этого при разработке алгоритмов задач можно для каждого отдела разрабатывать самостоятельный алгоритм, реа лизующий только тот частный случай, который соответствует дан ному отделу, однако такой способ разработки алгоритмов нерацио нален, так как требует составления большого числа алгоритмов.
При практической реализации алгоритмов на вычислительных машинах нежелательно использовать для решения однотипных задач множество различных алгоритмов, так как это уменьшает
104
полезное время машины и увеличивает число ошибок. Для одно типных задач, не имеющих существенных различий в алгоритмах
решения, целесообразно использовать |
единый составной алго |
ритм. Такой алгоритм должен отражать |
специфику решения задач |
в различных подразделениях объекта управления и обеспечивать реализацию расчетов для целого ряда задач. Следует иметь в ви ду, что составной алгоритм получается не простым соединением алгоритмов отдельных задач, а является результатом логического объединения этих алгоритмов. Такое объединение выполняется с
использованием |
специального математического аппарата, |
кото |
|
рый будет рассмотрен Далее. |
|
|
|
Синтез алгоритмов и особенно синтез |
программ приобретает |
||
важное значение |
в современных условиях |
использования |
вычис |
лительных систем. В вычислительных системах с развитым мате матическим (программным) обеспечением для решения конкрет ных задач уже не используются готовые программы, в которых от
начала до конца представлен весь процесс обработки |
информа |
||||
ции. |
|
|
|
|
|
Программа решения |
любой задачи |
в такой |
системе |
синтези |
|
руется |
из отдельных |
программных |
модулей, |
представляющих |
|
типовые |
процессы обработки данных. |
Дополнительно программи |
|||
руется лишь та часть задачи, которая не отражена в модулях дан ной вычислительной системы. Синтез программных модулей осу
ществляется |
автоматически специальной программой |
на основа |
|
нии директив, заданных |
программистом. |
|
|
Модульный принцип |
синтеза программ позволяет |
получить |
|
программы |
более высокого качества, устранить дублирование в |
||
написании программ и тем самым снизить трудоемкость програм мирования.
Следовательно, основную задачу синтеза алгоритмов можно определить таким образом: используя формализованный аппарат преобразований алгоритмов, найти эффективный алгоритм синтеза
составных алгоритмов. |
|
|||
Представляет интерес и обратная задача — анализ |
алгоритмов, |
|||
т. е. получение из составного алгоритма эффективного |
алгоритма |
|||
для |
частного |
случая |
реализации. |
|
В |
данной |
работе |
основное внимание сосредоточено |
на форма |
лизованных методах синтеза алгоритмов и программ. Это объяс няется тем, что анализ алгоритмов и программ почти всегда мо жет быть достигнут теми же формальными средствами. Алгоритмы
же синтеза и |
анализа существенно различны. |
§ |
4. 2. МАТРИЧНЫЕ СХЕМЫ АЛГОРИТМОВ СИНТЕЗА |
Логические схемы алгоритма определяют не только порядок выполнения операторов в зависимости от значений логических условий, но и порядок выполнения самих логических условий. При решении вопросов о равносильности логических схем нас
105
интересуют только множества выполненных операторов и не инте ресует порядок их выполнения. В то же время при синтезе алго ритмов основное значение приобретает порядок выполнения опе раторов.
Таким образом, равносильные преобразования и синтез алго ритмов составляют две части одной большой проблемы теории ал горитмов — преобразования алгоритмов.
Исходя из этого целесообразно рассмотреть математический аппарат равносильных преобразований с точки зрения его приме нимости для синтеза алгоритмов. Наибольший интерес представ
ляют матричные схемы, с помощью |
которых |
решаются |
вопросы |
||||||||||||||
равносильности логических |
схем |
алгоритмов. |
|
|
|
|
|
||||||||||
|
Не будем детально останавливаться на вопросах тождествен |
||||||||||||||||
ных преобразований |
матричных схем, |
рассмотрим |
лишь |
общий |
|||||||||||||
принцип их построения и возможность |
|
применения |
для |
синтеза |
|||||||||||||
алгоритмов. |
|
|
|
|
|
|
|
|
|
Аи |
|
Ап |
|
||||
|
Пусть |
имеются некоторое множество |
операторов |
|
и |
||||||||||||
множество элементарных логических переменных ри |
|
рк. |
Вся |
||||||||||||||
кую зависимость порядка выполнения операторов |
Л ь |
|
Ап |
от |
|||||||||||||
значений |
логических |
переменных |
рх, |
|
|
рк |
можно записать в |
ви |
|||||||||
де |
матрицы |
|
|
|
|
|
|
|
|
|
|
|
|
|
|||
|
|
|
|
|
|
|
|
Ах- |
|
• |
• |
Ап |
|
|
|
|
|
|
|
|
|
|
|
А0 |
|
a0i • |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
л , |
|
ахх |
• |
|
' 0>хп |
|
|
|
|
|
|
|
|
|
|
|
|
Ап |
1 |
ап\- |
• |
|
|
|
|
|
|
|
|
где |
aij = a{j |
(Рх, |
|
Рк) — логические |
функции, |
удовлетворяющие |
|||||||||||
условию: если после выполнения оператора Лг- должен |
быть вы |
||||||||||||||||
полнен |
оператор |
Aj |
при наборе А, то |
ац |
(As ) = l |
и aim |
|
(As )«=0 |
|||||||||
для |
тФ\. |
Под А0 |
понимается пустой |
оператор, |
символизирующий |
||||||||||||
начало |
процесса. |
|
|
|
|
|
|
|
|
|
|
|
|
|
|||
|
Определим основные понятия процесса выполнения и значения |
||||||||||||||||
матрицы |
следующим образом. |
|
|
|
|
|
|
|
|
|
|
||||||
|
Пусть |
задана |
матрица |
А(р{, |
|
рк), |
|
где |
ац — произвольные |
||||||||
логические |
функции |
переменных рх, |
|
рк |
и некоторая последова |
||||||||||||
тельность |
наборов значений |
переменных |
рх, |
рк: |
|
|
|
|
|||||||||
|
|
|
|
|
As |
L A S , , - • -,Asm |
,As m + 1 |
|
,• • • |
|
|
|
|
|
|||
|
Процесс выполнения матрицы определим следующим образом. |
||||||||||||||||
|
Первоначально просматриваем |
значения |
элементов a0j(7 = 1, |
|
|||||||||||||
|
п) 0-й строки при |
наборе Asi и выписываем |
один |
из тех |
опера |
||||||||||||
торов, |
например |
Ац, |
для которого «oii (Asi) = 1- |
|
|
|
|
||||||||||
|
Пусть проделаны т шагов, причем на |
m-м шаге |
был |
выписан |
|||||||||||||
оператор |
Л,- |
; тогда |
на ( т + 1 ) - м |
шаге |
просматриваем |
значения |
|||||||||||
элементов |
/ т - й строки при наборе A s m + |
1 |
и выписываем |
оператор |
|||||||||||||
106
т + 1 , для которого a i m i m + l ( A s m + 1 ) = l . Процесс обрывается, если все элементы рассматриваемой строки имеют значение 0 или если строки с нужным номером в матрице нет.
Выписанную в результате этого процесса |
строчку |
операторов |
|
Ailf Ai2, |
Aim, ... называют значением |
матрицы |
А для за |
данной последовательности наборов значений логических перемен ных.
Последовательность |
наборов |
|
|
|
|
|
||||
|
|
A S l ) A - s 2 , --- ,As m ,As m + 1 |
•••• |
|
|
|||||
назовем допустимой для матрицы А(р\, |
|
рк) |
при распределении |
|||||||
сдвигов |
А—Pi |
(1=1,2, |
|
п), |
если |
для |
этой |
последовательности |
||
найдется |
такое значение |
|
|
|
|
|
|
|||
|
|
АЦ |
, A i 2 , • • •, Aim ,Aim±i |
> • • |
|
|
||||
матрицы |
A(pi, |
рк), |
для |
любого |
т=1,2, |
не |
превосхо |
|||
дящего длины |
этого |
значения, |
набор A s m + 1 |
отличается |
от набора |
|||||
Asm значениями переменных только из |
Р\т. |
|
|
|||||||
Матрицу А(р\, |
рк) |
назовем |
матричной |
схемой, |
если для |
|||||
любой допустимой последовательности эта матрица имеет только одно значение (быть может, пустое).
Две матричные схемы А (ри |
рк) |
и В (ри |
рк) |
мы назовем |
|||
равносильными |
при данном распределении |
сдвигов |
и обозначим |
||||
А = В, если для |
любой |
последовательности наборов, |
допустимой |
||||
при этом распределении |
сдвигов |
для |
Л |
и В, их значения совпа |
|||
дают. |
|
|
схема А(ри |
рк) |
|
||
Будем говорить, что матричная |
и логическая |
||||||
схема алгоритма С (pi |
р, Ль |
Л„) |
равносильны |
при данном |
|||
распределении |
сдвигов, |
если для |
любой |
последовательности набо |
|||
ров значений переменных рх, •-, Рк, допустимой при этом распре делении сдвигов для Л или С, их значения совпадают.
Таким образом, если алгоритм представлен в виде операторной схемы Янова и задано распределение сдвигов, то можно построить эквивалентную схеме Янова матричную схему.
Янов рассматривает только формализованный способ представ
ления |
алгоритмов |
в виде матричных схем с целью |
последующего |
их использования |
при синтезе алгоритмов, однако |
самого алго |
|
ритма |
синтеза он |
не дает. Идею Янова реализует |
Карп [30]. Он |
строит алгоритм синтеза двух алгоритмов, представленных в виде блок-схемы.
Блок-схема является наиболее употребляемым средством изо бражения алгоритмов. Она представляет собой конфигурацию операционных и решающих элементов, связанных направленными дугами. Каждый операционный элемент соответствует группе операций, выполняемых последовательно в процессе реализации алгоритма. Каждый решающий элемент соответствует выбору одного из двух или более дальнейших действий.
107
Вариант выполнения алгоритма может быть определен указа нием пути через блок-схему начинающегося в данном начальном элементе и заканчивающегося в операционном элементе, у кото рого нет последующего элемента.
Соответственно любой данной блок-схеме можно построить ориентированный граф, узлы которого соответствуют каждому решающему элементу, начальному или конечному операционному элементу или любой точке на блок-схеме, в которой встречаются две и более стрелки. Граф, соответствующий блок-схеме, пока занной на рис. 17, приведен на рис. 18.
Рис. 17. Блок-схема алгоритма
|
Рис. 18. Граф представления алгоритма |
|
В |
блок-схеме приняты следующие условные обозначения: |
хи |
х2, х3, |
х4, х5, х6 — операционные элементы, соответствующие |
по |
следовательности команд, не прерываемой условной передачей уп
равления; а, |
р, у, б — решающие |
элементы, соответствующие |
ус |
|||
ловной |
передаче |
управления. |
|
|
||
В этом примере каждое решение имеет два исхода, обозначае |
||||||
мые на |
блок-схеме значками + и |
—. Соответственно этому |
граф |
|||
содержит для |
каждого |
решающего |
элемента р две дуги, обозна |
|||
чаемые |
через |
р |
и р. |
1 |
|
|
108
Матрица |
соединений |
(ciij), |
полученная |
из |
графа, |
показанного |
||||||
на рис. 18, |
имеет вид: |
|
|
|
|
|
|
|
|
|||
|
' |
0 |
*1 |
0 |
0 |
0 |
|
0 |
0 |
|
||
|
|
Pi |
0 |
Pl*2 |
0 |
0 |
|
|
0 |
0 |
|
|
|
р |
0 |
0 |
~Р2 |
0 |
|
0 |
0 |
|
|
||
|
0 |
0 |
0 |
Рзх3 |
Ръ |
|
0 |
0 |
|
|
||
|
0 |
|
0 |
0 |
0 |
0 |
Р4Х5 + Р4Х4 |
// |
|
|||
|
0 |
|
0 |
0 |
0 |
0 |
|
0 |
|
х& |
|
|
|
|
|
|
|
|
|
|
|
|
0 |
|
|
|
0 |
0 |
0 |
0 |
0 |
|
0 |
|
о |
/ |
|
|
Элемент |
равен |
нулю, если узлы |
i |
и / |
не связаны |
дугой. |
||||||
Если |
узлы |
i |
и / связаны |
одной |
дугой |
а ь |
то |
а.ц = а\. |
Если |
узлы |
||
i и / |
связаны дугами |
аи |
а2, |
ап, |
то |
ац — а1 + а2+ ... +ап. |
Сло |
|||||
жение понимается в теоретико-множественном смысле. Диагональ
ный элемент аи равен нулю, |
если |
в данном узле отсутствуют |
петли. |
|
объединены алгоритмы А\ и |
Предположим, что должны |
быть |
А2, блок-схемы которых изображены на рис. 19, а и б.
|
|
о |
|
|
|
|
+ 5 |
*3 |
^ |
|
|
Рис. 19. Объединяемые алгоритмы |
|
|
Эти |
алгоритмы |
имеют общие операционные элементы хи х2, х3 |
||
и х$. В |
составном |
алгоритме каждый элемент |
должен встречаться |
|
только один раз. Для указания того, какой из двух вариантов при менения составного алгоритма должен быть выполнен, будет ис
пользована двоичная переменная р. Случай |
р = \ соответствует |
||||
алгоритму А\, а случай р= |
1 — алгоритму |
А2. |
|
|
|
Процедура синтеза состоит в следующем, |
|
|
|||
1.. Строим матрицы |
Мх |
и М2, каждая |
из |
которых |
содержит |
строку и столбец для |
каждого операционного |
элемента |
из А\ или |
||
109
