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

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

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

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

Добавлен: 21.10.2024

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

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

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

этом пути. Например, объем информации по пути от х7

до

х0 бу­

дет определяться в виде произведения всех значений т,

принадле­

жащих дугам этого

пути 7,

хп),

п, х10), (х[0,

х0),

и

значе­

ния / для вершины

х7. Этот объем

будет равен

v7

= 2-1 • 1 • 1 = 2.

Общий объем по документу

х0

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

как сумма

 

 

V=

9

 

 

 

 

 

 

2

Vi

 

 

 

 

 

 

i = l

 

 

 

 

и равен: V= 12+ 10 + 22 + 3 + 2 + 2 + 2 + 1 +3 = 57

 

алфавитно-цифро­

вым символам. .

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

которые

записываются

через запятую, в виде

дроби или

другими

способами.

 

 

хи х2,

хъ

 

 

В рассматриваемом

примере

реквизиты

состоят из

алфавитных символов,

а все остальные x4 +-x9

— из

цифровых сим­

волов.

Используя для

алфавитных реквизитов параметр Vх, а для

цифровых V*, подсчитывают объем информации отдельно для

вершин

с параметрами

1а и для

вершин с параметрами

№.

Таким

образом, объем в алфавитных символах и объем в цифровых сим­

волах определяются

раздельно.

Для нашего

случая

Уа = 12 + 10 + 22 = 44;

 

^

= 3 + 2 + 2 + 2 + 1+3=13.

 

Пути при расчете

объемов

информации

могут определяться

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

по графу состоит

в определении

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

смежных

дуг,

ведущих от висячих вершин к корню дерева, как в

приведен­

ном

выше примере.

1

 

 

 

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

объемов

информации с ис­

пользованием матрицы смежности.

А графа

G' (X, Г),

 

Пусть задана матрица смежности

представ­

ляющего структурный граф документа с измененным направлени­

ем

дуг.

Прежде

всего необходимо

определить

входы

графа

G'

(X,

Г),

соответствующие

висячим

вершинам

графа G (X, Г).

Этим

вершинам

в матрице

А будут соответствовать такие

столб­

цы, сумма элементов строк в которых равна нулю. Выходу графа G'(X, Г) будет соответствовать строка, сумма элементов столбцов которой равна нулю. Таким образом, для определения входов и выходов графа необходимо подсчитать сумму элементов в каждой строке и в каждом столбце матрицы смежности этого графа.

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

58


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

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

Определим объем

информации

с помощью

матрицы смежно­

сти для рассмотренной выше сводной специализированной

ведо­

мости потребности. Матрица

смежности

А для

графа,

представ­

ленного

на рис.

10,

имеет

вид:

 

 

 

 

 

 

 

 

 

 

х0

Xi

ЛГ2

х3

Xi

хь

хв

Xi

ха

Хс,

Х)о

х п

Хц

 

 

0

0

0

0

0

0

0

0

0

0

0

0

0

0

Х\

1

0

0

0

0

0

0

0

0

0

0

0

0

1

х2

1

0

0

0

0

0

0

0

0

0

0

0

0

1

х3

1

0

0

0

0

0

0

0

0

0

0

0

0

1

 

0

0

0

0

0

0

0

0

0

0

1

0

0

 

хъ

0

0

0

0

0

0

0

0

0

0

0

0

1

1

 

0

0

0

0

0

0

0

0

0

0

0

0

1

1

хч

0

0

0

0

0

0

0

0

0

0

0

1

0

1

 

 

 

 

 

 

 

 

 

 

 

 

 

ха

0

0

0

0

0

0

0

0

0

0

0

1

0

1

Хд

1

0

0

0

0

0

0

0

0

0

0

0

0

1

хю

1

0

0

0

0

0

0

0

0

0

0

0

0

1

Хц

0

0

0

0

0

0

0

0

0

0

1

0

0

1

 

0

0

0

0

0

0

0

0

0

0

0

1

0

1

 

5

0

0

0

0

0

0

0

0

0

2

3

2

 

h

 

12

10 22

3

2

2 • 2 1

3

 

 

 

 

59



Рассматривая столбец с суммами элементов строк, устанавли­

ваем,

что х0 является выходом

графа, так как 2а; = 0.

Строка с

•суммами элементов столбцов

позволяет

выделить входы графа

Xi~x9.

Для этих

вершин

l>ai = 0.

 

 

 

Для определения объема информации по матрице рассмотрим

процесс выделения

путей

на примерах.

Первая 2а' = 0 находится

во втором столбце

матрицы с номером Х[. Следовательно,

началом

пути

будет вершина Х\. Фиксируем

значение параметра k, соответ­

ствующее этой вершине. В нашем

случае /[ = 12. Для поиска про­

должения пути обращаемся к строке матрицы с номером Х\. Бэтой строке первым элементом, не равным нулю, является элемент, стоящий в столбце с номером х0. Фиксируем значение этого эле­ мента, равное единице. Проверяем номер столбца на соответствие

выходу графа. В нашем

случае х0

— выход графа.

Путь из Х\ в х0

найден, он состоит из одной дуги

(х\Х0).

 

Объем

информации

по

этому

пути

равен:

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

V i = l-12=12.

 

 

 

 

 

 

 

 

В

качестве следующего

примера выберем

3 ' = О

в

шестом

столбце матрицы. Эта сумма расположена

в столбце с номером

х5,

•следовательно,

началом

пути является

вершина

х$.

 

Фиксируем

/5 = 2.

Выбираем

строку

матрицы с номером х5

и ищем

в ней эле­

мент, отличный от нуля. Такой элемент расположен

в

столбце с

номером

хх2

и равен

единице. Поскольку

вершина

xi2

не является

выходом,

фиксируем

единицу и переходим

к рассмотрению

строки

с номером X12, где ищем элемент, отличный от нуля. Таким

являет­

ся элемент, равный единице, в столбце

с номером

хц.

Единицу

фиксируем и переходим к рассмотрению

 

строки

с

номером

хи,

так как хи

не является

выходом

графа.

В строке

с

номером

# п

элемент, отличный от нуля, находится

в столбце

с

номером

х10.

Запоминаем значение этого элемента, равное

единице,

и

перехо­

дим к строке с номером

х10,

поскольку

х 1 0 не является

выходом.

В строке

с номером

х 1 0

не равным нулю является

элемент, стоя­

щий в столбце с номером х0.

Запоминаем

значение этого элемента

и переходим к определению объема информации по данному пути,

так

как вершина ха

является выходом.

Таким

образом,

путь

из х$

в х0

состоит из дуг

(Х5Х12) ( # 1 2 * 1 1 ) (x\\Xw)

( # 1 0 * 0 ) ,

и объем

информа­

ции

по этому

пути равен:

 

 

 

 

 

 

 

 

 

 

V 5 = 2 - M - l - l = 2.

 

 

 

 

Объем информации по другим путям определяется

аналогично.

Общий объем информации по документу получается

суммирова­

нием

объемов

по

всем

путям.

 

 

 

 

 

В рассматриваемом

примере все значения

параметров т ,

ока­

зались

равными единице. Практически

параметр

т может

иметь

любое

значение.

 

 

 

 

 

 

 

 

Структурные графы документов и соответствующие им матри­

цы

смежности

могут использоваться не только

при определении

60


объемов информации по документам, но и

при определении объе­

мов информации по задачам, подсистемам

и системам

в целом.

В этом случае граф должен отражать

не только

структуры

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

Граф для определения объема информации по задаче пред­ ставляет собой структурный граф задачи, расширенный за счет до­ бавления к нему структурных графов документов. Пример такого графа для задачи «Наблюдение за движением материалов по транспортно-складской конторе (ТСК)» приведен на рис. 11.

Рис. 11. Граф состава задачи «Наблюдение за движением материалов ТСК»

Вершина Я 6 первого уровня представляет собой наименование задачи. Вершины второго уровня y&, У\ь, Уч — наименование доку­ ментов, участвующих в задаче, при этом у% и г— исходные доку­ менты, а г/15 — результатный. Вершины третьего уровня Х\-^гх& соответствуют структурным элементам документов. Для одинако­ вых структурных элементов приняты одинаковые обозначения во всех документах.

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

Глава 111

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

 

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

 

А Л Г О Р И Т М О В

§ 3. 1. ЭКВИВАЛЕНТНОСТЬ АЛГОРИТМОВ И ПРОГРАММ

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

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

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

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

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

быть представлен в формализованном виде

и должны соблюдать­

ся формальные правила для равносильных

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

ритма.

 

62