ФГБОУ ВО «МОСКОВСКИЙ ПОЛИТЕХИЧЕСКИЙ УНИВЕРСИТЕТ» Домашняя работа Задания 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)}) не имеет плоского изображения.