Uploaded by Vito NNL

ДЗ 3

advertisement
ФГБОУ ВО «МОСКОВСКИЙ ПОЛИТЕХИЧЕСКИЙ
УНИВЕРСИТЕТ»
Домашняя работа
Задания 2,10 Вариант №13
По дисциплине:
Дискретная математика
Выполнил
Студент 2 курса
Группы 171-362
Цапин Д. М.
Проверил
___________Набебин А.А
МОСКВА 2018
Задание 2
Условие:
Найти кратчайший путь между вершинами s и t в нагруженном связном
ориентированном графе G= (V,E),где: s=v1, t=v4
V= {v1,v2,v3,v4,v5,v6,v7,v8,v9},
E = {{v1,v2},(v1,v7),{v1,v8},{v1,v9},{v2,v3},{v2,v7},{v2,v9},{v3,v4},{v3,v6},
(v3,v9),(v4,v5),(v4,v6),{v4,v7},(v5,v6),{v6,v7},{v6,v8},{v6,v9},{v7,v9},{v8,v9}
}
Неориентированные ребра (проходимые в обоих направлениях) указаны в
фигурных скобках.
Вес wij ребра равен N(i2+j2)+i2+j2+i+j N-номер варианта
Решение:
Построим граф G=(V,E) по условию и назначим всем ребрам вес.
7
7
3
1
1
1
2
8
8
8
3
9
8
9
6
7
5
4
3
Вычисление наименьшего веса пути от s до t:
Шаг 1-Присвоим вершине s постоянную пометку 0,объявляем эту вершину
активной и помечаем знаком плюс.Всем остальным вершинам присваиваем
временные пометки ~.Переход к шагу 2.
Шаг 2-Пометка вершины t равна весу кратчайшего пути от s к t.Постоянные
пометки других вершин равны весам кратчайших путей от s до этих
вершин.Если пометка t временная,переход к шагу 3.
Шаг 3-Изменим временные пометки вершин v,соседних по дугам с активной
следующим образом:Присваиваем вершине v временную пометку,равную
сумме пометки активной вершины и веса дуги,идущей в вершину v из
активной вершины,если эта сумма меньше,чем существующая временная
пометка вершины v.В противном случае-оставляем у вершины v прежнюю
пометку.Переход к шагу 4.
Шаг 4-Среди всех вершин с временными пометками найдем вершину с
наименьшей пометкой.Если таких вершин несколько,то возьмем любую из
них,объявим её постоянной,а эту вершину-новой активной вершиной и
помечаем её знаком плюс.Прежняя активная вершина свой плюс
теряет.Переход к шагу 2.
Кратчайший путь от s к t соответствует начинающейся в t и
заканчивающейся в s любой последовательности вершин,где каждая
предыдущая вершина смежка с последующей,причем разность между
пометками соседних вершин равна весу ребра,соединяющему эти вершины.
Постоянные пометки подчеркиваем.Активную вершину помечаем знаком +.
Присваиваем вершине s=v1 постоянную пометку 0.Остальные вершины
получают временные пометки.Вершину v1 объявляем активной.
Шаг 1.
Вершина t постоянной пометки не имеет.Среди всех вершин с временными
пометками соседние с активной вершиной s=v1 с пометкой 0 вершины
v2,v7,v8,v9 имеют временные пометки ∞.Для v2: 0+3=3<∞
Для v7: 0+8=8<∞, для v8: 0+9=9<∞, для v9: 0+8=8<∞
Присваиваем для v2,v7,v9 и v8 временные пометки 3,8,8 и 9 соответственно.
Из всех временных пометок пометка 3 для вершины v2
наименьшая.Объявляем пометку 3 для v2 постоянной,а вершину-активной.v1
свой плюс теряет.
Шаг 2.
Вершина t постоянной пометки не имеет.
Среди всех вершин с временными пометками соседние с активной вершиной
v2 с пометкой 3 вершины v9,v7 и v3 имеют временные пометки 8,8 и ∞
соответственно. Для v9: 3+1=4 < 8.Присваиваем для v9 новую временную
пометку 4.
Для v7: 3+1=4 < 8.Присваиваем для v7 новую временную пометку 4.
Для v3: 3+7=10 < ∞.Присваиваем для v3 новую временную пометку 10.
Из всех новых временных пометок пометки 4 для v9 и v7
наименьшие.Объявляем пометку 4 для v7 постоянной,а вершину-активной.v2
свой плюс теряет.
Шаг 3.
Вершина t постоянной пометки не имеет.Среди всех вершин с временными
пометками соседние с активной вершиной v7 с пометкой 4 вершины v4,v6 и
v9 имеют временные пометки ∞,∞ и 4 соответственно
Для v4: 4+1 = 5 < ∞.Присваиваем v4 новую временную пометку 5.
Для v6: 4+3 = 7 < ∞.Присваиваем v6 новую временную пометку 7.
Для v9: 4+6 = 10 > 4.Оставляем для v9 временную пометку 4.
Из всех временных пометок пометка 4 для v9 наименьшая.Объявляем
пометку 4 для v9 постоянной,а вершину-активной.v7 свой плюс теряет.
Шаг 4:
Вершина t постоянной пометки не имеет.Среди всех вершин с временными
пометками соседняя с активной вершиной v9 с пометкой 4 вершина v6 имеет
временную пометку 7.
Для v6: 4+3=7 = 7.
Наименьшая временная пометка 7 у вершины v6.Объявляем пометку для v6
постоянной,а вершину-активной.Вершина v9 свой плюс теряет.
Шаг 5:
Вершина t постоянной пометки не имеет.Среди всех вершин с временными
пометками соседняя с активной вершиной v6 вершины v8 и v3 имеют
временные пометки 9 и 10 соответственно.А вершина v7 имеет постоянную
пометку 4.
Для v8: 7+4 =11 > 9.Оставляем для v8 временную пометку 9
Для v3: 9+7 = 15 > 10.Оставляем для v3 пометку 10.
Из всех временных пометок пометка 9 для v8 наименьшая.Вершину v8
объявляем активной и помечаем знаком плюс.Вершина v6 свой плюс теряет.
Шаг 6:
Вершина t постоянной пометки не имеет.Вершина v6 не имеет соседних
вершин с временными пометками.Переходим к вершине v7,она становится
активной.v6 свой плюс теряет.
Соседняя с v7 вершина v5 имеет наименьшую временную точку 5.Объявляем
пометку 5 для v4 постоянной,а вершину-активной.v7 свой плюс теряет.
Шаг 7:
Вершина t имеет постоянную пометку.Алгоритм заканчивает работу.А это
значит,что пометки у соседних вершин v3 и v5 10 и 13 соответственно
становятся постоянными.Пометка 5 вершины t=v4 постоянна и равна весу
кратчайшего пути от s до t.
Построение кратчайшего пути от s до t
Пусть f -1(v) есть множество всех вершин v’,смежных с v; d(v) есть пометка
вершины v; c(vi,vj) есть вес ребра (vi,vj)
f -1(t) = {v4,v7}
d(t)-d(v4)=5-1=3#1=с(v7,t)
d(t)-d(v5)=5-4=1=c(v2,v7)=1
v7,t есть подпоследовательность кратчайшего пути.
f-1(v7) = {v2}; v3 # f-1(v7),ибо ребро v3,v4 не направлено к v7;
d(v7)-d(v2)=4-3=1=c(v2,v7)=1;
v2,v7,t есть подпоследовательность кратчайшего пути
f-1(v2)= {v1,v7},
d(v2)-d(v1)=3-0=3=c(v1,v2)=3; d(v2)-d(v7)=3-4=-1#1=c(v2,v7)
s,v2,v7,v4 есть кратчайший путь от s до t
Ответ: Путь s=v1  v2  v7  v4 от s до t кратчайший. Его вес есть 5.
Задание 10
Условие:
Построить плоское изображение графа,если это возможно.
G = (V,E) = (V={1,2,3,4,5,6,7} ,
E = {(1,2),(1,4),(1,5),(2,3),(2,4),(2,5),(3,4),(4,6),(4,7),(5,6),(5,7)})
Решение:
Алгоритм построения плоского изображения графа.
Изложим алгоритм построения плоского изображения графа.
Пусть G=(V,E) граф,плоское изображение которого нам требуется
построить.Будем предполагать,что граф G связен,не имеет висячих вершин и
точек сочленения (вершин,удаление которых приведет к несвязному графу).
G’=(V’,E’)-некоторый плоский подграф графа G.Остаток графа G
относительно G’ есть граф R = (V’’,E’’) = (V-V’-V’’) – подграф графа
G,порожденный подмножеством вершин V-V’,R состоит из всех тех ребер
графа G,концы которых не лежат в V’.
Кусок P графа G относительно его подграфа G’ есть один из следующих
объектов:
1)Компонента связности остатка R относительно G’,дополненная теми
ребрами графа G,которые соединяют вершины этой компоненты и вершины
V’ графа G’
2)Одно ребро из E-E’ с концами,лежащими в V’
Контактные точки куска P есть вершины,общие для P и G’
Грань F в G’ совместима с куском P,если все контактные точки куска P
принадлежат грани F.
Пусть G1 – простой цикл графа G.Поместим на плоскости его изображение.
Плоский граф G (i+1) получим следующим образом:
1) Построим остаток Ri графа G относительно Gi
2) Построим все куски графа G относительно Gi .Если ни одного такого
куска построить не удается,то Gi есть плоское изображение графа G
3) Для каждого куска выписать все грани,которые с ними
совместими.Возможны три случая:
А)Существует кусок,несовместимый ни с одной гранью плоского графа
Gi (тогда граф G на плоскость не укладывается)
Б)Существует кусок,совместимый с единственной гранью графа Gi
(тогда выбираем этот кусок)
В)Каждый из кусков совместим хотя бы с двумя гранями.(выбираем
любой из кусков)
В выбранном куске выбираем такую цепь m,один или оба конца
которой принадлежат Gi .Дополняем граф данной цепью,проводя её
внутри любой из совместимых с куском P граней.
Построим граф G = (V,E) из условия.
Шаг 1. Выбираем в G плоский цикл G1 = [4,7,5,6,4].Граф G1
определяет две грани:
F10 =[4,7,5,6,4]-внешняя;
F11 =[4,7,5,6,4]-внутренняя.
Граф G1
Остаток R1 графа G относительно G1 распадается в три компоненты
связности: R11 = ({1},Ø) , R12 = ({2}, Ø) и R13 = ({3}, Ø).
Строим куски графа G относительно G1 и их контактные точки
P11=({5,1,4}), {(1,5),(1,4)} {5,1,4}
Контактные точки: {5,4}
P12=({5,2,4}),{2,5},{2,4} {5,2,4}
Контактные точки: {5,4}
P13=({3,4}), {3,4}
Контактные точки: {4}
Кусок P11 совместим с гранями F10 и F11
Кусок P12 совместим с гранями F10 и F11
Кусок P13 не совместим ни с одной из граней: ни с F10 ,ни с F11 , так как
вершина 3 не имеет никакого ребра, смежного с вершинами граней F10 и F11
А раз существует кусок,несовместимый ни с одной гранью плоского графа Gi
,тогда граф G = (V,E) на плоскость не укладывается.
Ответ: Граф G = (V,E)
G = (V,E) = (V={1,2,3,4,5,6,7} ,
E = {(1,2),(1,4),(1,5),(2,3),(2,4),(2,5),(3,4),(4,6),(4,7),(5,6),(5,7)})
не имеет плоского изображения.
Download