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

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

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

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

Добавлен: 21.10.2024

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

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

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

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

Приведенное выше определение алгоритма связано с алгорит­ мической системой А. А. Маркова.

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

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

Уо, УьУ 2 , --- ,Уп, --- , а записи решений Р — в последовательность

Ро, Р±, Рг, - • - ,Рп,- • •,

тоже занумерованную неотрицательными целыми числами. Если обозначить через G множество номеров п тех условий У„, которые алгоритм способен переработать в решения, то результат работы алгоритма, осуществляющего переработку

Уп *~Рт,

однозначно определяется заданной на G числовой функцией

т — (р(п).

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

Обратно, если для функции ф существует алгоритм, который, будучи применен к стандартной записи значения аргумента п из области определения функции q>, приводит к стандартной записи значения функции т=«р (п), то функция ср называется алгоритми­ чески вычислимой или просто вычислимой функцией. Поэтому во­

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

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

вопросу

об определении вычислимой

функции.

 

В данном случае

понятие

стандартной записи означает

фикси­

рованный стандартный способ записи чисел, например, в десятич­

ной

системе счисления.

 

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

ции

идентифицируется с понятием частично-рекурсивной функ­

ции

[43].

Алгоритм задается при помощи предписания,

указывающего

способ

перехода

от некоторого

состояния

5 процесса вычислений

к следующему состоянию S*,

т. е. при помощи оператора

Qr(S) =

=S*.

В классе

G ( T ) = {S}

возможных

состояний

выделяются

класс

исходных

состояний И(Г),

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

собой

записи

14


условий задач, и класс заключительных состояний С(Г). При по­ лучении состояния из класса С (Г) алгоритмический процесс за­ канчивается. Область D(T) = G(T), на которой оператор Q опре­ делен, естественно считать непересекающейся с С(Г). Класс со­ стояний, не входящих ни в С(Г), ни в £>(Т), обозначим R (Г).

Алгоритмический процесс

S°=Y(=H(r);

Si = Qr(S°);

может

развиваться

одним из

следующих

трех

способов:

1. При

каком-либо t = t

процесс

приводит

к

заключительному

состоянию

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

S*e=C(r),

 

 

 

 

 

 

 

 

после чего из этого заключительного

состояния

извлекается ре­

шение

Р.

 

 

_

 

 

 

 

 

 

 

 

 

 

 

2.

При

каком-либо t = t

процесс

заканчивается безрезультатно.

3. Процесс продолжается неограниченно, не приводя к резуль­

тату.

 

С(Г)

 

 

 

 

 

 

 

 

 

 

 

 

 

Класс

тех

У ^ # ( Т ) ,

которые

приводят

к

первому типу

течения процессов, называется областью применимости

алгоритма.

Все сказанное о рекурсивных функциях полностью

относится и

ко всем

алгоритмическим

системам.

 

 

 

 

 

 

 

 

 

§ I. 4. ПОНЯТИЕ ТЕОРИИ ГРАФОВ

 

 

 

 

Пусть

А и

В—-некоторые

множества.

Тогда

 

 

а е Л означает,

что а

принадлежит

множеству

А;

 

а не принадлежит А;

 

 

 

 

 

 

 

 

 

 

 

Ас^В

любой

элемент

из

А

принадлежит

В;

 

 

А —В,

если AczB

и ВаА,

и АФВ

— в противном

случае;

А П В — пересечение множеств Л и Б, т. е. множество

элементов,

 

 

принадлежащих

к

Л

и

В;

 

 

 

 

 

 

 

Л (J В — объединение множеств

Л и В,

т. е. множество элемен­

 

 

тов, принадлежащих

или

А,

или

В,

или

А

[\В;

Л \ Б — разность множеств Л и Б, т. е. множество элементов из

А,

не

принадлежащих

В;

 

 

 

 

Ах В—декартово

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

множества Л и В, т. е. множе­

ство всех map (а, Ь), где а е Л , Ь^В;

 

 

 

И | означает число элементов

конечного множества Л;

 

0 — пустое множество.

 

 

 

 

 

Пусть X и

Y — непустые множества,

т. е. ХФ0

и

Уф0.

Ото­

бражение Г множества X в множество

Y есть закон,

по которому

каждому элементу из X ставится

в соответствие

некоторое

под­

множество Гх

элементов из У. Отображение Г называется

одно-

15


значным, если

каждому элементу

из X

ставится

в

соответствие

ровно один элемент из У.

 

 

 

 

 

 

 

элементу

Обозначим

через

Г - 1 закон, по

которому

каждому

у из У ставится в соответствие подмножество

ГУ~1^Х,

представ-

ляющее собой

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

таких

элементов

x e l ,

для

которых

у<=Гх, т. е.

Гу~1 =

{х/у^Гх}.

 

 

G — (X, Г),

 

если задано

Говорят, что задан граф

G, и пишут

 

непустое множество X и отображение Г множества X в X.

 

Элементы

множества X

изображают

точками

на

плоскости и

точку х соединяют с точкой

у

непрерывной

линией

со

стрелкой,

направленной

от х к

у, если у е Г ж . Получившуюся

картину

назы­

вают изображением

графа

на плоскости. Элементы множества X

называют вершинами

(или

точками) графа G, а пары (х, у),

для

которых у^.Гх,

дугами графа

G. Множество

дуг графа

обознача­

ют через U, так что

граф

G

можно

записать также

в

виде

С=(Х,

U).

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Две вершины х и у являются граничными

вершинами

дуги

м,

если

х—начало

дуги,

у — конец

дуги.

 

 

 

 

 

 

 

 

 

 

 

Две вершины х и у

смежны, если

они различны

и существует

дуга, идущая от одной из них к другой.

 

 

 

 

 

 

 

 

 

Говорят, что дуга и исходит из вершины х, если х является на­

чалом, но не является

концом

и,

и что

дуга

заходит

в х,

если

х

является концом, но не является началом

и.

В обоих

случаях

дуга

и называется инцидентной вершине х, а

вершина

х — инцидентной

дуге

и.

 

 

 

 

 

 

 

 

 

 

х, является

 

 

 

 

Общее число дуг, инцидентных вершине

 

степенью

вершины х

и

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

Р

(х).

 

 

 

 

 

 

 

 

 

 

 

 

Для каждой вершины вводится понятие

 

полустепени

захода

и

полустепени

исхода.

Р+ (х)

 

 

 

х — количество

 

 

 

 

Полустепень захода

вершины

дуг,

захо­

дящих в данную вершину. Полустепень

исхода

Р~

(х)

вершины

х — количество

дуг, исходящих

из

данной

 

вершины.

 

 

 

 

 

Для графа, изображенного на рис. 1,

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

/>+(л-4 )=2; P-(Xi)

 

=

 

l:

 

 

 

 

 

 

 

 

 

 

Р{хА) =Р+(х4)

+Р-(х4)

= 2 + 1 = 3.

 

 

 

 

 

 

Вершина

х

называется

входом,

если

/>+ (х)

= 0 ,

а

 

Р-(х)¥=0,

и называется выходом,

если Р+(х)Ф0,

Р~(х)

= 6.

 

 

 

 

 

 

 

 

 

 

 

 

Путем

в графе G(X,U)

 

назы­

 

 

 

 

 

 

вается

такая

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

 

 

 

 

 

 

дуг

(«1, и2,...,

 

ип),

в которой

ко­

 

 

 

 

 

 

нец каждой предыдущей дуги сов­

 

 

 

 

 

 

падает

с началом следующей.

 

 

 

 

 

 

 

 

Путь

 

 

называется

простым,

 

 

 

 

 

 

когда

в

 

нем

никакая

 

дуга

не

 

 

 

 

 

 

встречается

дважды,

и

состав­

 

 

 

 

 

 

ным, если какая-либо

 

из

дуг

 

Рис.

1.

Пример графа

 

встречается

более одного

раза.

16


Путь, в котором никакая

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

дважды,—

элементарный путь.

 

 

 

 

 

Длина пути — число

дуг

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

 

Контур — конечный

путь,

начинающийся

и заканчивающийся

в одной и той же вершине. Контур единичной

длины

называется

петлей.

 

 

 

 

 

Так же, как и путь, контур может

быть простым, если в нем ни

одна дуга не встречается дважды,

сложным — в противном слу­

чае; элементарным, если все

его вершины различны (за исключе­

нием начальной и конечной, которые совпадают); гамильтоновым, если контур проходит через все вершины графа, притом только по одному разу (за исключением начальной и конечной вершин); эйлеровым ,если он проходит через все дуги графа и притом толь­

ко по одному разу.

 

 

Графы можно рассматривать с учетом

или без учета

ориента­

ции его дуг. В зависимости от этого различают три вида

графов:

1. Ориентированные графы, в которых

вершины соединяются

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

2.Неориентированные графы, в которых вершины соединяются линиями без указания ориентации. Такие линии называют реб­ рами.

3.Смешанные графы, состоящие из дуг и ребер.

Граф G(X, U), состоящий только из изолированных вершин, называется нуль-графом. Для него справедливо соотношение

P+{Xi)=P-(xt)=0,

где Xi^X.

Если степени всех вершин графа одинаковы, то граф называет­ ся однородным.

Нуль-граф всегда однороден, так как степени всех его вершин равны нулю.

Граф G(X, U), в котором любые две смежные вершины соеди­

нены только

двумя противоположно

ориентированными

дугами,

называется

симметрическим.

 

 

 

 

 

 

Для симметрического графа справедливо условие:

 

 

если и

х2)

то и 2, X\)^U,

т. е. принадлежность

дуги

их2)

к множеству

U влечет

за

собой

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

к U

и

дуги

2, Xi).

G(X,U)

без петель, в котором каждая пара

смежных вер­

Граф

шин соединена только в одном направлении, называется

антисим­

метрическим. Для него справедливо условие:

 

 

 

если

(х\,

x2)^U,

то

2,

х{)

не

принадлежит U.

 

 

оди­

Граф

G(X, U),

в котором любая

пара вершин соединена

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

мер полного

графа — многоугольник с п

вершинами, у

которого

проведены

все

диагонали.

 

 

Подграфом

графа

G(X, Г) называется

гдяф_(?(71. ГА),

опреде­

ляемый следующим

образом:

[ Н л у ^ ~ ^ ~

-

2. Заказ 4230.

 

 

 

/ R/f;'.'-'"

- H R f l

С О Р


1. Вершинами А

подграфа G

(А,

ГА)

является некоторое

под­

множество вершин

графа

й(Х,Г),

т. е.

АаХ.

Г

(А,

ГА) являет­

2. Отображением

каждой вершины подграфа

ся пересечение отображения той же

вершины в

графе

6(Х,Г)

со

всем подмножеством

вершин А подграфа G (А, ГА),

т. е.

 

 

ГА(х)

= Гх

П А.

 

 

 

 

 

Частичным графом для

G(X,

Г)

называется

 

граф

G(X,

F), в

котором содержатся все вершины и некоторое подмножество дуг исходного графа, т. е. Fat.

Рассмотрим некоторые операции теории графов.

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

М, в которое входят элементы

множества

Мх и недостающие эле­

менты множества М2.

 

 

 

 

 

 

 

Операция

объединения графов записывается в виде:

 

 

 

G(X, J T)=G 1 (X 1 ,A) U

0222),

 

где G i f X ^ )

и G2(X2r2)

— исходные

графы;

 

G(X,

Г)—объединение

 

исходных

графов.

 

Ниже

приводятся правила,

по

которым

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

объеди­

нение графов

G(X,

Г):

G(X,

Г)

 

 

 

 

1. Вершинами графа

является

объединение

вершин

исходных

графов

Gx(Xh

Гх)

и

G2(X2T2),

т. е.

 

 

 

 

 

х^Хг

 

и х2

 

 

2. Отображения

для каждой

вершины графа G(X, Г)

получа­

ются путем объединения отображений той же вершины для исход­

ных графов Gl(Xl, Гх)

и G2(X2,

Г2),

т. е.

Гхг

= ГхХ1 U

F2Xi

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

Пересечение графов записывается в виде:

 

 

0(Х,Г)

= 01иГ1)

Л

С222),

 

где Gx(Xh

Гх) и

G2(X2,

Г2)

— исходные графы;

 

G(X,

Г)—пересечение

 

исходных

графов.

G(X,r):

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

1. Вершинами

графа

G(X, Г)

является

пересечение

вершин

исходных

графов

GX(XU

Гх)

и G2(X2,

Г2),

т. е.

 

Х = ХХ [)Х2

Другими словами, вершинами графа G(X, Г) будут только об­ щие вершины исходных графов.

18