Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
5fan_ru_Исследование операций. Курс лекций.docx
Скачиваний:
1
Добавлен:
01.07.2025
Размер:
294 Кб
Скачать
☆

4.3Заданиеграфов

МатрицейсмежностиграфаG=(V,E)называетсяматрицаA=||aij||n×nсэлементамиaij=1,если{i,j}∈E,иaij=0,если{i,j}/∈E.Длямультиграфовaijравнократностиребра{i,j}.

Аналогичновводитсяматрицасмежностидляорграфов.Длянеориентированныхграфовматрицасмежностиполностьюопределяетсясвоейправойверхнейлиболевойнижнейтреугольнойподматрицей,посколькуaij=ajiдлявсехiиj.

Орграфымогутбытьтакжепредставленыоднимилинесколькимиспискаминепосред-

ственныхпоследователейA0(i)инепосредственныхпредшественниковB0(i)каждойвер-шиныi.

4.4Топологическаясортировка

Предположим,чтофирменеобходимовыполнитьnпроектов,намножествеV={1,...,n}

которыхзаданоотношениепредшествования→такое,чтоизi→jследует,чтопроектj

неможетначатьсяраньше,чемзакончитсяпроектi(проектjиспользуетинформациюили

продукцию,получаемуюврезультатевыполненияпроектаi).Нужнонайтидопустимыйпорядоквыполненияпроектоввовремени.

РассмотриморграфG=(V,A)отношенияпредшествования.Дуга(i,j)∈Aтогдаи

толькотогда,когдаi→j.

Решениезадачисуществует,еслиорграфотношенияпорядканесодержитциклов.Если

естьцикл,тониодинизпроектов,принадлежащихциклу,нельзяначинать.

Пустьперестановка(i1,...,in)определяетпорядоквыполненияпроектов.Этотпорядокявляетсядопустимым,еслиизij→ikследует,чтоijпредшествуетikвуказаннойпере-

становке.

Введемпонятиеномеравершины–label(i)∈{1,...,n}.ЗадачасводитсякотысканиюнумерациивершинграфаGтакой,чтоиз(i,j)∈Aследуетlabel(i)<label(j).Тогда

последовательностьпроектоввпорядкевозрастанияихномеровlabel(i)будетявлятьсярешениемзадачи.Указаннаянумерацияназываетсятопологическойсортировкойвершинграфа.

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

Предположим,чтографзаданспискаминепосредственныхпоследователейA0(i),i=

1,...,n,и,крометого,заданоколичествонепосредственныхпредшественниковbiкаж-дойвершиныi:bi=|B0(i)|.

Шаг1.Просматриваемсписок(b1,...,bn)исоздаемсписокJ={j|bj=0}вершин,у

которыхнетпредшественников.ЕслиJ=φ,товграфеестьцикл.

Шаг2.Присваиваемтекущийномерj(вначалеj=1)любойвершинеизJ.Далеерас-сматриваемвсехеенепосредственныхпоследователейi∈A0(j)ипреобразуемbi=bi−1.

Еслиbi=0,товершинуiвключаемвJ.Послетого,каквсемножествоA0(j)просмотрено,удаляемjизJ.Еслитекущийномернеравенn,увеличиваемегонаединицу.ПовторяемШаг2.

4.5Остовноедерево(остов)минимальноговеса

Граф,неимеющийциклов,называетсялесом.Связныйграф,неимеющийциклов,назы-ваетсядеревом.

Пустьnиm–количествавершиниреберграфасоответственно.

Теорема4(Свойствадеревьев)ПустьG–неориентированныйграф.Тогдаследую-щиеусловияэквивалентны:

1)G–дерево,

2)G–связныйграфиm=n−1,

3)G–графбезцикловиm=n−1,

4)междулюбойпаройвершинсуществуетединственнаяцепь,

5)Gнеимеетциклов,нопридобавлениипроизвольногоребравGвнемвозникаетедин-ственныйцикл.

Вориентированномграфевводятсяпонятиявходящегоивыходящегодерева.Этоорграф,неориентированныйаналогкоторогоявляетсядеревом,и,

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

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

ПодграфнеориентированногографаG=(V,E)называетсяостовнымдеревом(остовом)

иобозначаетсяT,еслиT–деревоимножествоеговершинсовпадаетсV.

Графназывается(реберно)взвешенным,есликаждомуегоребру{i,j}приписаннекото-

рыйвесwij.

Весомостовногодереваназываетсясуммавесоввсехегоребер.

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

Нижеприводятсядваалгоритма,которыестроятостовноедеревоминимальноговесаTn−1.

Напомним,чтоTn−1несодержитцикловиимеетn−1ребер.

АлгоритмКраскала

Шаг1.ПолагаемT0=(V,φ),|V|=n.

Шаг2.Дляi=0,...,n−1полагаемTi+1=Ti∪e,гдеe–реброGсминимальнымвесом

такое,чтоононеявляетсяребромTiинеобразуетцикласребрамиTi.

АлгоритмПрима

Шаг1.ПолагаемT1=(V1,E1),гдеV1={a,b},E1={a,b},иwab=min{we|e∈E}.

Шаг2.Дляi=1,...,n−1полагаемTi+1=Ti∪e,гдеe–реброGсминимальнымвесом

такое,чтоононеявляетсяребромTiисвязываетTiсвершинойG,непринадлежащейTi.

Пример.Любойнеориентированныйреберновзвешенныйграф.