Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

книги из ГПНТБ / Алферова, З. В. Математическое обеспечение экономических расчетов с использованием теории графов

.pdf
Скачиваний:
19
Добавлен:
20.10.2023
Размер:
8.54 Mб
Скачать

Л2 . Таким образом, (Mi)a будет обозначать

 

булево выражение,

да­

ющее условие, при котором х3- следует за xt

 

в Л;.

 

 

 

0

1

0

0

0

\

 

 

// Р2-

1

0

0

 

 

0

pi

0

Pi

0 \

 

 

0

Р2 0

 

 

0 0 0

1

0

 

; М 2 =

0

 

0

0 0

 

 

0

0

Рз

0

Рз

/

 

 

0

 

0

0

0

 

 

0 0

0 0

о /

 

 

\ 0

 

0

0 0

 

2. Строим матрицу М, такую, что

 

 

 

 

 

 

 

 

 

 

{M)ij=p{Ml)ii+J{M2)ii

 

 

;

 

 

 

 

 

 

0

р + р

 

0

 

0

 

0

 

 

 

 

М =

 

РР2

РР\

 

РР2

ppl

 

0

 

 

 

 

 

0

 

0

 

0

 

р

 

р

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

0

 

0

РРз

 

0

 

РРз

 

 

 

 

 

 

0

 

0

 

0

0

0

 

 

 

Строим матрицу М* из М следующим образом:

 

 

а)

если

(М)ц

= р+~р, то

 

(М*)и=1;

 

 

 

 

 

 

б)

если р или р не встречается

в

некоторой

строке М, то

уда­

ляем все появления р или р в этой строке.

 

 

 

 

 

 

 

 

 

0

1

 

0

 

0

 

 

0

 

 

 

 

 

РР2

РР1

РР2

РР1

 

 

0

 

 

 

 

 

 

0

0

 

0

 

р

 

 

 

 

 

 

 

0

0

Рз

0

 

 

Рз

 

 

 

 

 

 

0

0

 

0

 

0

 

 

0

 

 

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

Был рассмотрен синтез составного алгоритма. Рассмотрим об­ ратную задачу — получение алгоритма для отдельного случая из составного алгоритма. Предположим, что дан алгоритм, приведен­ ный на рис. 20, и что нужно получить подходящий алгоритм для случая р = 1. Это может быть сделано просто выделением правиль­

ных путей и правильных циклов составного

алгоритма удалением

тех из них, в которых появляется р, и построением

алгоритма, со­

держащего только оставшиеся правильные

пути

и правильные

циклы.

 

 

 

Правильным путем называется такой путь, в котором

каждое

число появляется не более одного раза в качестве

номера

строки

по

 

 

 

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

В алгоритме, приведенном на рис. 20, единственный правиль­ ный путь, который не содержит р , — это

XiX2ppiXiP3Xi ».

х,

Рис. 20. Составной алгоритм

Правильные циклы, которые не содержат р , — это

PPix2 ;•

рхАрзХг .

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

§ 4. 3. АЛГОРИТМ СИНТЕЗА, ОСНОВАННЫЙ

НА ИСПОЛЬЗОВАНИИ ГРАФОВ

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

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

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

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

Ш

де логической функции. В этой функции последовательному про­ хождению дуг пути соответствует их конъюнктивная связь, а па­ раллельному— дизъюнктивная связь.

Рассмотрим задачу

составления сводки о

реализации фондов

в отделе оборудования

и транспортном отделе

Главмоспромстрой-

материалов.

 

 

Назначением задачи является ежемесячное наблюдение за свое­ временным и полным получением предприятиями управления со­ ответствующего оборудования.

При составлении текущей сводки о реализации фондов (CP') в любом из отделов в качестве одного из исходных документов ис­ пользуется книга фондов (КФ).

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

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

риала, количество за от­

Рис. 21. Граф алгоритма отдела обору- четный период. дования

112

Форма и структура документов, используемых при решении задачи, приведены ниже.

[ _ J Наименование материала |

 

 

 

 

 

 

Книга «Фонды и их реализация»

(КФ)

 

 

 

 

 

 

 

1967

г.

|

1968

г.

 

 

Изменение

фонда

Реализация

фондов по кварталам

 

 

|

 

|

 

 

 

 

 

 

 

 

 

 

 

I

|

 

II

j III

| IV

 

 

 

 

 

 

 

 

 

в том

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

|

 

 

 

 

 

 

 

 

 

 

 

 

Фактически реализовано

 

 

 

числе

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Единица измерения

Остаток на 1/1

Выделенный фонд

Остаток на 1/1

Выделенный фонд

Горплан |

Главмосстрой 1

Министерства и ведомства

 

 

 

 

 

 

 

фонд

реализация

фонд

реализация

фонд

реализация

фонд

реализация

фонд

реализация

 

 

 

 

|

 

 

|

 

 

 

 

 

 

 

 

 

 

[

 

 

 

 

 

 

 

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

27

Сводка о реализации фондов на материалы, топливо, оборудование (CP)

 

Наименование мате­ риала и оборудо­ вания

Единица измерения

 

За

 

М Р Г И П

Зя

 

квяотал

Дата

Фонд на год

фонд

реализация с начала года

 

фонд

реализация с начала квартала

 

 

 

 

 

!

 

 

 

 

 

1

2

3

4

5

6

7

8

9

10

 

Отчет о реализации транспортного оборудования

(ОРт)

 

 

Наимено­

 

Наименование материала

Единица

Количе­

С тоимость

Дата

вание

Номер счета

ство за

получае­

постав­

и оборудования

измере­

отчетный

мых мате­

 

щика

 

 

ния

период

риалов

 

2

3

4

5

6

7

S. Заказ 4230.

113

 

Отчет о реализации фондов на сырье, материалы

 

 

 

и оборудование от поставщиков

(Ф-2)

 

 

 

 

Номер

Наимено­

 

Количество

Стоимость

 

Наимено­

 

 

 

 

вание

Единица

 

с начала

получен­

Дата

вание

i аряда

сырья,

за от­

ного сырья,

'поставщи­

или фон­

материала,

измерения

года по

материала,

 

ка

дового

оборудо­

 

четный

данному

оборудо­

 

 

извещения

вания

 

месяц

наряду

вания

 

2

3

4

5

6

7

8

114

Отчет о реализации в транспортном отделе составляется с раз­

бивкой

по группам оборудования. Порядок расположения групп

в отчете

произвольный. Внутри каждой группы оборудования от­

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

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

• Множество реализаций алгоритма в отделе оборудования пред­

ставляется логической функцией вида:

 

 

Фо=ВСрХ

(СрПхПСр

+ СрСрХ

{СрПхПСр

+

СрСрХ

(СрПX

ПСр + СрПх

ПСр)))

X (СрПрХПрСр

+ \)Х

СрСрХ

{СрСр + СрСхССхССрх

(1

+СрПрХПрСрХ

СрСр))

XСрУХУСХССрХ{\

+ (СрСрХ(\ +

СрСрх

(1 + СрС) хСрПрхПрСр)ХСрПрХПрВсХВсСр)

 

х

СрС)хСДхДУХУУхУСхСДХДУХУПчХПчСрХ

 

 

(СрОВ + СрПр X ПрПр X ПрВс

ХВсВсХВсВсХ

 

ВсСр).

Множество реализаций алгоритма в транспортном отделе пред­ ставляется логической функцией вида:

Фр = ВСрХ

{СрПхПСр

+ СрСрХ

{СрПхПСр

+

СрСрХ

(СрПхПСр^СрПхПСр)))х

 

 

 

{СрПрХПрСр+\)Х

СрСрХ(СрСр

+ СрСХССХССрX

 

(1 +

СрПрхПрСрХ

СрСр))ХСрУХУСХССрХ

 

{СрС+ {СрСрХ

{СрПрХ

ПрСр

+ СрСр

X СрПр Х.ПрВсХ

ВсСр)Х

СрС + СрСр X

СрС))ХСДхДУхУУХУСхСДхДУХУПнХПчСрХ

 

 

(СрОВ

+ СрПр X ПрПр

X ПрПр

X ПрВс

X ВсВс X ВсСр).

В логических

формулах

знак

+ соответствует операции дизъ­

юнкции, а знак X операции конъюнкции.

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

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

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

носильно нахождению подобных членов в соответствующих им ло­ гических функциях.

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

Вних можно выделить пять равных подпутей. Это начальный подпуть Я ь представляющий собой следующую совокупность дуг:

П^=ВСрХ

(СрПхПСр

+ CpCpX

(СрПхПСр

+ СрСрХ

(СрПXПСр

+ СрПXПСр)))

X

 

(СрПрхПрСр+\)Х

СрСрХ(СрСр

+ СрСхССхССрХ(1

+

СрПрХ

 

ПрСрхСрСр))хСрУхУСхССр

 

 

;

подпуть

Я 2 , представляющий

собой последовательность дуг:

 

П2 = СДХДУХУУ

X УСХСДХДУХ

УПч

ХПчСр;

подпуть

единичной длины — СрОВ,

лодпути

Я 3 и

Я 4 , представля­

ющие каждый последовательность двух дуг:

 

 

 

Я 3 = СрОВ

+

СрПрХПрПр;

 

 

П^ВсВсхВсСр

 

 

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

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

Установив наличие в алгоритмах одинаковых частей, можно

приступить к разработке составного

алгоритма,

которая

состоит

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

алгоритмов

отдельных

задач

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

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

Впроцессе присоединения могут иметь место следующие три случая:

1)присоединяются равные подпути;

2)

к неравным подпутям

присоединяется равный подпуть;

3)

к равному подпути присоединяются неравные подпути.

Порядок присоединения

в каждом из этих случаев различный.

116

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

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

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

Второй вариант — когда

длина одного из неравных подпутей

равна нулю. В этом случае

начальная вершина присоединяемого

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

В случае присоединения

к равному подпути

неравных

подпу­

тей существуют также два варианта.

 

 

Первый вариант — когда

изображенная часть

алгоритма

закан­

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

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

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

117

В процессе присоединения с использованием логических функ­ ций могут встречаться те же три случая, что и при использовании графов:

1)

к равному подпути присоединяется равный подпуть;

2)

к

равному

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

подпути;

3)

к

неравным

подпутям присоединяется равный

подпуть.

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

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

СрСр.

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

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

ется неизменной, а в качестве начальной служит

дополнительная

вершина.

 

В случае присоединения к неравным подпутям

равного подпу­

ти также могут быть два варианта.

 

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

Второй вариант — когда

длина

одного

из неравных подпутей

равна нулю. В этом случае

после

конечной

вершины равного под­

пути предполагается наличие дополнительной вершины, отражаю­ щей операцию сравнения.

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

119

Соседние файлы в папке книги из ГПНТБ