DIPLOM (675698), страница 4

Файл №675698 DIPLOM (Задача остовных деревьев в k–связном графе) 4 страницаDIPLOM (675698) страница 42016-07-31СтудИзба
Просмтор этого файла доступен только зарегистрированным пользователям. Но у нас супер быстрая регистрация: достаточно только электронной почты!

Текст из файла (страница 4)

3) 4). Пусть ab и tz–два ребра графа G. По условию G имеет простые циклы S и S', первый из которых содержит ab и z, а второй – ab и t. Далее искомый цикл строится так же, как в предыдущих пунктах.

4) 5). Пусть a,b VG, tz EG. Будучи связным, граф G содержит простую цепь P=(a,x,…,b). Согласно утверждению 4) а графе G есть простой цикл S, содержащий ребра ax, tz. Легко видеть, что в объединении S P имеется требуемая цепь.

5) 6). Пусть a,b,c VG, cd EG. По условию в графе имеется простая (a,b)–цепь, проходящая через cd и, следовательно, содержащая c.

6) 1). Пусть v VG. Покажем. Что граф Gv связен, т.е. любая a,b его вершин соединена цепью. Действительно, согласно утверждению 6) в графе G имеется простая (v,b)-цепь, которая, очевидно, не проходит через v и, следовательно, является (a, b)-цепью и в графе Gv. Доказано.

Если в формулировке теоремы 34.1 заменить всюду слова «простая цепь» и «простой цикл» соответственно на слова «цепь» и «цикл», то получим аналогичную теорему о 2–реберно–связном графах.

Как отмечалось выше, при решении многих задач на графах достаточно уметь решать эти задачи для каждой 2–связной компоненты графа. Поэтому представляет интерес взаимное расположение 2–компонент в графе.

Максимальные относительное включения элементы множества связных подграфов графа G, не имеющих точек сочленения, называются его блоками. Таким образом, каждый блок графа либо 2–связен, либо совпадает с К2 или К1 (граф К1 – блок тогда и только тогда, когда он является связной компонентой). Связный граф без точек сочленения также называют блоком.

Множество вершин блока будем называть блоковым множеством.

Например, граф, изображенный на рис. 5.2, содержит пять блоков Bi (i=1,2,3,4,5) (они обведены пунктирными линиями). Среди этих блоков В1, В2 и В3 –2-связные графы, а каждый из двух оставшихся является ребром.

Утверждение 5.2. Любые два блока графа имеют не более одной общей вершины. В частности, всякое ребро графа входит только в один его блок.

Утверждение 5.3. Если блок графа содержит вершины a и b, то он содержит и всякую простую (a, b)-цепь этого графа.

Эти утверждения непосредственно следуют из перечисленных в начале параграфа свойств 2–связных графов и теоремы 5.1.

Следствие 5.4. Система блоковых множеств графа является покрытием множеств его вершин. Каждая пара блоковых множеств либо не пересекаются, либо имеют единственную общую вершину, и эта вершина является точкой сочленения графа.

Следующая конструкция дает представление о структуре графа «с точностью до блоков». Пусть В=В{Bi} и С={ci} – соответственно множества блоков и точек сочленения графа G. Сопоставим с G граф bc(G), у которого B C – множество вершин и {Bici: B B, ci C, ci Bi} – множество ребер. Тем самым, ребра двудольного графа bc(G) указывают на принадлежность точек сочленения блоками. На рис. 5.3 представлены графы G и bc(G).

Утверждение 5.5. Если граф G связен, то bc(G)–дерево.

Доказательство:

Очевидно, что из связности графа G вытекает связность графа bc(G).

Предположим, что bc(G) содержит цикл С. Пусть этот цикл имет вид С=(c , b ,c , b ,…,c ,b ,c ). Каждый из блоков B содержит )- цепь и объединение этих цепей дает простой цикл в графе G. Обозначим этот цикл через С'. Ясно, что С' содержит по крайне мере две вершины каждого из блоков B . Поэтому из утверждения 34.3 следует, что цикл С' должен содержаться в каждом их этих блоков. Последнее означает, что каждая пара блоков B имеет не менее |C'| 3 общих вершин. Получаем противоречие с утверждением 5.2. доказано.

Граф bc(G) называется bc–деревом связного графа G.

Блоки графа G, соответствующие концевым вершинам его bc–дерева, называются концевыми блоками.

Похожее представление графа можно получить, положив в основу его максимальные реберно-2-связные подграфы, т.е. максимальные связные подграфы, не содержащие мостов. Такие подграфы называют листами. Не останавливаясь на деталях заметим следующее. Каждая вершина графа порядка n>1 принадлежит в точности одному листу и каждое ребро, не являющееся мостом, входит только в один лист. Таким образом, граф состоит из листов и мостов, соединяющих некоторые из них. Для описания строения графа «с точностью до листов» можно ввести граф, аналогичный графу bc(G). Вершины такого графа биективно соответствуют листам графа G и две его вершины соединены ребром в том и только в том случае, когда соответствующая пар листов в G соединена мостом. Можно показать, что введенный таким образом граф является деревом, если исходный граф связен.

На рис. 5.4 граф G имеет 5 листов L1, L2, L3, L4, L5 и 4 моста, а граф G' показывает, как связаны между собой листы графа G.

Приведем некоторые результаты о трехсвязных графах, которые будут использованы в главе «Планарность».

Пусть G–связный граф, H–некоторый его подграф. Простую открытую цепь . графа G назовем H–цепь, если выполняются условия

v1 VH, vk VH, vi VH, i=

ребро e=uv графа G также будем называть Н–цепь, если u VH, v VH, e EH.

Лемма 5.6. Пусть G–двусвязный граф. Тогда для всякого его подграфа Н, содержащего более одной вершины и отличного от G, существует Н–цепь графа G.

Доказательство

Если Н–остовный подграф, то любое ребро графа G, не входящее в EH, служит Н–цепью.

Пусть подграф не является остовным. Рассмотрим три попарно различные вершины u VH, v VH, w VH. По теореме 5.1 в графе G есть проcтая (u,v) – цепь, проходящая через w. Очевидно существование подцепи этой цепи, являющейся Н – цепью графа G. Доказано.

Ниже для u,v VG положим Guv = G-u-v.

Теорема 5.7. Во всяком 3-связном графе G есть такое ребро uv, что граф Guv не имеет точек сочленения.

Доказательство

Если |G|=n=4, то утверждение теоремы очевидно . Поэтому будем считать, что n 5. Предположим противное, т.е. что для любого ребра uv EG граф Guv имеет хотя бы одну точку сочленения. Тогда на 3-связности графа G следует, что при любом выборе ребра uv EG граф Guv обладает следующими свойствами (рис. 5.5):

  1. если а – висячая вершина графа Guv, то av EG, au EG;

  2. всякий висячий блок графа Guv, не являющийся ребром , содержит такую пару вершин с и d, отличных от точек сочленения графа Guv, что uc EG, vd EG.

  3. всякий блок графа Guv, имеющий ровно две точки сочленения и отличный от ребра, содержит такую вершину l, не являющуюся точкой сочленения графа Guv, что или ul EG.

Обозначим через Buv максимальный по числу вершин блок графа Guv, а через tuv– число вершин в этом блоке . Теперь выберем ребро uv так, чтобы число tuv было наибольшим.

Покажем, что в этом случае tuv 3. Пусть tuv=2 и а – висячая вершина графа Guv (являющегося деревом). Так как n 5, то существует ребро cd EGuv. Из свойства 1) вытекает, что в графе Gcd существует цикл (u,a,v,u), т.е. tcd>tuv. Получено противоречие, следовательно, tuv 3.

Через Duv обозначим bc-дерево графа Guv и рассмотрим следующие случаи.

  1. Дерево Duv не является цепью. Выберем в этом дереве цепь, соединяющую пару висячих вершин и проходящую через вершину, соответствующую блоку Buv. Этой цепи соответствует последовательность B1,…,Bp блоков графа Guv, среди которых содержится блок Buv, причем блоки B1 и Bp являются висячими (рис. 5.6).

Пусть B'– произвольный висячий блок графа Guv, отличный от B1 и Bp. Из свойств 1) и 2) вытекает существование таких отличных от точек сочленения графа Guv вершин a VB1, b VBp, c VB', uc EG, va EG, vb EG. Тогда в графе Guc вершины множества входят в один блок и, следовательно, tuv<tuc. Последнее противоречит выбору ребра uv.

  1. Дерево Duv–цепь и Buv–блок графа Guv, не являющийся висячим. Пусть B1,…,Bp – последовательность всех блоков графа G, причем блоки B1 и Bp–висячие, Bi Bi+1 Ø (i= ), Buv=Bk (1<k<p) (рис. 5.7). Cогласно свойству 3) найдется вершина b VBuv отличная от точек сочленения графа Guv, смежная с u или с v. Пусть ub EG. Согласно свойствам 1) и 2)

существует такие отличные от точек сочленения графа Guv вершины a VB1, c VBp, что ua EG, vc EG. Легко видеть, что в графе Gvc имеется блок, содержащий все вершины множества . Поэтому tvc>tuv, и снова получаем противоречие.

  1. Дерево Duv – цепь и Buv – висящий блок графа Guv. Если граф Guv содержит такое ребро xy, что VBuv {x, y}=Ø, то, используя свойство 2), легко показать, что в графе Gxy есть блок, содержащий множество вершин VBuv {x, y}, а, значит tuv<txy. Так как Buv – висячий блок графа

Guv, то последнее означает, что граф Guv состоит из блока Buv и ребер ab1,ab2,…abl (рис 5.8). Из 3–связности графа G следует, что граф G – а не имеет точек сочленения. Поскольку в графе Ga вершина b1 смежна только с вершинами u и v, a uv EG, то граф также не имеет точек сочленения, что противоречит предположению.

Таким образом , показано ,что во всяком связном графе G существует такое ребро uv, что граф Guv не имеет точек сочленения. Доказано.

Следствие 5.8. Всякий 3–связный граф с числом вершин n 5 содержит ребро, стягивание которого приводит к 3–связному графу.

Доказательство также проведем от противного. Пусть, стягивая некоторое ребро x=uv 3–связного графа G в вершину , получаем граф Gx, для которого (Gx)=2 (Равенство (Gx)=1 невозможно в силу 3–связности графа G). Тогда в графе Gx существуют две вершины, удаление которых делают его несвязным. Одной из них должна быть (в противном случае (Gx)=2). Удалению вершины из Gx соответствует удаление вершины u и v из графа G. Поэтому для любого ребра x=uv EG граф G имеет такую вершину w, что граф Guvw несвязен. Вершина w является точкой сочленения графа Guv, что противоречит предыдущей теореме. Доказано.

Отметим без доказательства следующую теорему.

Теорема 5.9. Почти все ребра двусвязны.

Поскольку каждый мост инцидентен точкам сочленения графа, то из этой теоремы вытекает

Следствие 5.10. Почти все графы не содержат мостов.

§6 Теорема Менгера.

Из теоремы 5.1 следует, что 2–граф связен тогда и только тогда, когда любые две его несовпадающие вершины a и b соединены парой простых (a, b) цепей, не имеющих общих вершин, за исключением a и b. Аналогичный критерий k–связности справедлив при произвольном k.

Говорят, что множество вершин S разделяет несмежные вершины a и b связного графа G, если в графе GS вершины a и b принадлежат различным связным компонентам. В этой ситуации множество S называют также сепаратором или (a, b)–сепаратором. Две (a, b)–цепи графа G называют непересекающимися, если у них нет общих вершин, за исключением a и b, и реберно–непересекающимися, если у них нет общих ребер. Очевидно, непересекающиеся цепи являются и реберно–непересекающимися, а обратно, вообще говоря, неверно.

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

Теорема Менгера. Наименьшее число вершин, разделяющих две несмежные вершины графа a и b, равно наибольшему числу попарно непересекающихся простых (a, b)–цепей этого графа.

Приведем доказательство принадлежащее В. Маквайгу (1982 г.).

Ясно, что если k вершин разделяют a и b, то существует не более k попарно непересекающихся (a, b)–цепей. Остается показать, что если в графе G нет множества, содержащего менее чем k вершин, разделяющих несмежные вершины a и b, то в нем имеется k попарно непересекающихся цепей. Используем индукцию по k. утверждение правильно при k=1. Предположим, что оно верно для некоторого k 1. Рассмотрим граф G, в котором несмежные вершины a и b нельзя разделить множеством, содержащим менее чем k+1 вершин. По предположению индукции в G имеется k попарно непересекающихся (a, b)–цепей P1, P2, …, Pk. Рассмотрим множество вторых (считая а первой) вершин в этих цепях. Это множество состоит из k вершин и, следовательно, но оно не разделяет вершины a и b. Значит, имеется (a, b)–цепь Р, первое ребро которой не принадлежит ни одной из цепей Pi (i= ). Пусть v–первая, считая от а, вершина Р, принадлежащая одной из Pi (i= ), и пусть Pk+1 обозначает (a, v)–подцепь цепи Р. Цепи P1, …, Pk, Pk+1 могут быть выбраны, вообще говоря, многими различными способами. Выберем их так, чтобы в графе Ga расстояние v до b было минимально. Если окажется, что v=b, то P1, P2, …, Pk+1 будет требуемым набором k+1 цепей. Допустим, что v b. Тогда в графе Gv вершины a и b нельзя разделить множеством, содержащим менее чем k вершин. По индуктивному предположению в этом имеется k непересекающихся (a, b) – цепей Q1, Q2, …, Qk, которые могут быть выбраны разными способами. Выберем их так, чтобы множество

включало минимальное число ребер этих цепей. Иначе говоря, цепи Qi должны состоять «в основном» из ребер цепей Pi. Рассмотрим теперь граф H, состоящий из вершин и ребер цепей Q1, Q2, …, Qk и вершины v (эта вершина будет в графе H изолированной). Пусть Pr – одна из цепей Pi (i= ), у которой ребро, инцидентно вершине а, не принадлежит EH. Ясно, что такая цепь среди Pi (i= ) найдется, поскольку число их равно k+1, а цепей Qi, составляющих H, только k. Пусть, далее, x–первая, считая от а, вершина Pr, входящая в VH.

Если x=b, то, добавив цепь Pr к Q1, Q2, …, Qk, получим требуемый набор из k+1 (a, b) цепей. Допустим, что x b, и рассмотрим другие возможности для x.

Если x=v, то обозначим через R кратчайшую (v, b) – цепь и Ga. Пусть z – первая, считая от v, вершина цепи R, лежащая на некоторой Qj (j= ). Объединим цепь Pr c (v, z) – подцепью цепи R и обозначим полученную (a, z) – цепь через Qk+1. Цепи Q1, Q2, …, Qk, Qk+1 обладают тем свойством, что расстояние в графе Ga от z до b меньше, чем расстояние от v до b , а это противоречит выбору P1, P2, …, Pk, Pk+1.

Рассмотрим теперь последнюю возможность: x принадлежит некоторой цепи Qj (j= ). В этом случае (a, x) – подцепь цепи Qi имеет ребра в L, иначе бы две цепи в { P1, P2, …, Pk, Pk+1} пересекались в вершинах, отличных от a, b, v. Заменив теперь (a, x) – подцепь Qi на (a, x) – подцепь Pr, получим непересекающиеся (a, b) – цепи в графе Gv, и эти цепи будут использовать меньше ребер из L, чем Q1, …, Qk. Снова получаем противоречие, которое и завершает доказательство теоремы.

Из теоремы Менгера непосредственно вытекает

Теорема 6.1. (Х. Уитни, 1932 г.). граф k–связен тогда и только тогда, когда любая пара его несовпадающих вершин соединена по крайне мере k непересекающимися цепями.

Имеется несколько аналогов и обобщений теоремы Менгера. Здесь мы остановимся на реберном варианте этой теоремы.

Во многих прикладных задачах приходится рассматривать множество ребер (а не вершин, как ранее), разделяющих вершины a и b графа G, т.е. такое множество ребер R, что входит в различные компоненты графа GR. Минимальное относительно включения множество R с этими свойствами называется (a, b) – разрезом графа.

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

Доказательство этой теоремы легко получить, используя теорему Менгера. С этой целью сопоставим графу G граф G', который получается из G следующим образом. Каждая вершина v VG заменяется группой из deg v

попарно смежных вершин, а ребра графа G', соединяющие вершины из разных групп, находятся в биективном соответствии с ребрами графа G' (рис. 6.1). Если в графе G нет (a, b) – разреза, содержащего менее чем k ребер, то в G' нет множества, имеющего менее чем k вершин, разделяющего какую-либо пару вершин a', b' из групп, соответствующих a и b. Тогда по теореме Менгера вершины a', b' соединены в G' по крайней мере k вершинно-непересекающимися цепями , которым соответствует столько же реберно-непересекающихся (a, b) – цепей графа G.

С другой стороны, ясно, что граф, имеющий (a, b) – разрез из k ребер, может содержать не более k реберно- непересекающихся (a, b) – цепей.

Глава III

Выделение k непересекающихся остовных деревьев

2k–реберно связном графе

Из классического результата теории графов – теоремы Менгера– известно, что для любых двух вершин x и y графа G локальная реберная связность (x, y, G) равняется наибольшему количеству непересекающихся по ребрам путей от x до y в графе G. Однако, при k>1 не во всяком графе G с реберной связностью (G) k существуют k непересекающихся по ребрам связных остовов. Из ранее известных результатов «глобальным ананлогом» теоремы Менгера в некоторой степени является доказанный результат: в графе G с реберной связностью (G) k существуют k остовных деревьев T1, T2, …, Tk такие, что для любого j от 1 до k объединение деревьев T1, T2, …, Tj дает j–реберно связный граф.

В настоящей работе мы рассматриваем еще один глобальный аналог теоремы Менгера: будет доказано, что при (G) 2k в графе G существует k остовных деревьев, не имеющих общих ребер. Мы докажем необходимость условия (G) 2k при k>1. Более того, мы построим примеры (2k-1)–связныцх графов, у котороых минимальная степень вешины больше любого заданного числа, но среди любых k связных остовов какие–то два имеют общее ребро.

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

Пусть W– множество из нескольких вершин графа G. Через G-W мы, как обычно, будем обозначать граф, полученный из G при удалении всех вершин множества W и всех выходящих из них ребер. Пусть F– множество из нескольких ребер графа G. Через G-F мы , будем обозначать граф, полученный из G при удалении вcех ребер множества F.

Для произвольной вершины x графа G через dG(x) мы будем обозначать степень вершины x в графе G(V, E). Для x V, A V через dG(x, A) обозначим количество ребер, соединяющих вершину x с вершинами множества A (с учетом кратных ребер). Минимальную степень вершины в графе G будем обозначать через (G), a максимальную степень– через (G).

Пусть z–вершинa четной степени в графе G. Рассмотрим граф G-z, разобъем на пары все вершины, смежные в графе G с z и соединим вершины в парах. Полученный граф Gz назовем разрезом графа G по вершине z.

§7. Построение k непересекающихся остовных деревьев.

Теорема 7.1. Пусть граф G(V, E) таков что (G)=k, а вершина z V не является точкой сочленения. Тогда существует такой разрез Gz графа G по вершине z, что для любых x,y V\{z} выполняется соотношение (x, y, Gz)=(x, y, G) и, в частности (Gz) (G).

Замечание. Доказательство обобщается на случай , когда вершина z–точка сочленения, но ни одно из ребер с концами в z не является мостом. В частности, при (G) 2 для любой вершины z существует разрез по z такой, что (Gz) (G).

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

Для построения нам также потребуется классический результат относительно минимально k–связных графов.

Теорема 7.2. Пусть степени всех вершин мультиграфа G(V, E) строго более k и (G) k. Тогда существует ребро e E такое, что (G-e) k.

Замечание. Впервые результат теоремы 7.2 для графов без кратных ребер доказал . Это доказательство обобщается на случай мультиграфа .

Перейдем к доказательству основного результата настоящей работы.

Теорема 7.3. Пусть мультиграф G(V, E) (в нем допускается наличие кратных ребер, но запрещены петли) таков, что (G) 2k. Тогда у мультиграфа G существуют попарно k непересекающиеся ребра остовных дерева.

Доказательство. Будем доказывать теорему индукцией по количеству вершин в мультиграфе G0. База для мультиграфа с двумя вершинами очевидна. Предположим, что теорема доказана для любого 2k– реберно связного мультиграфа, у которого меньше вершин, чем у G. По теореме 7.2, у графа G(V, E) существует остовный подграф G0(V, E0), такой, что (G0)=2k и одна из его вершин z V имеет степень d (z)=2k. Очевидно , что граф G0–z связен, следовательно, по теореме 7.1 существует разрез G графа G0 по вершине z такой, что (G ) 2k. Если в графе G есть петли, то уберем их. Из условия (G ) 2k следует, что графа G1, полученного из G в результате удаления петель, выполняется условие (G1) 2k.

Назовем новыми ребра графа G1, добавленные при разрезе по вершине z. Пусть этo ребра e1, …, em. Поскольку при построении разреза было добавлено k ребер, после чего были удалены петли, то m k. По индукционному предположению, у графа G1 существуют непересекающиеся по ребрам остовные деревья T1, T2, …, Tk. Опишем метод построения по каждому из этих k деревьев остовного графа G. Все ребра, которые могут входить в деревья T1, T2, …, Tk, либо являются ребрами графа G, либо новыми ребрами. Пусть дерево Ti содержит mi новых ребер, тогда

m1+m2+…+mk m k (1)

Если дерево Ti не содержит ни одного нового ребра, то оно является подграфом мультиграфа G. Поскольку множество вершин дерева Ti содержит все вершины графа G, кроме z, то добавив к Ti вершину z и любое ребро графа G с концом в z, мы получим остовное дерево T'i графа G. Отметим, что в этом случае для построения дерева T'i потребовалось одно ребро графа G, инцидентное вершине z (причем это ребро можно выбрать произвольно).

Предположим, что mi>0, то есть дерево Ti содержит новые ребра. Поставим в соответствие дереву Ti подграф Ti* графа G, в котором каждое новое ребро xy дерева Ti заменим на два ребра xy и yz графа G. Каждое новое ребро в дереве Ti соответствует двум ребрам в графе Ti*, при этом, к вершинам дерева добавляется вершина z. Следовательно, мы получили связный остовный подграф Ti* графа G, в котором количество ребер на mi-1 больше , чем в дереве. Таким образом, в графе Ti* ровно mi-1 цикл, причем не трудно заметить, что каждый из этих циклов проходит через вершину z. Следовательно, из графа Ti* можно удалить mi-1 инцидентных вершине z ребер так, что получится отстовное дерево Ti' графа G. В дерево Ti' входит mi+1 ребро, инцидентное вершине z. По построению очевидно, что при i j, mi>0 и mj>0 остовные деревья Ti' и Tj' графа не имеют общих ребер.

Пронумеруем k непересекающихся по ребрам остовных деревьев графа G таким образом, чтобы деревья T1, …, Tn содержали новые ребра, а деревья Tn+1, …, Tk не содержали новых ребер (где 0 ). С помощью описанного выше способа построим по остовным деревьям T1, …, Tn графа G1 остовные деревья T'1, …, T'n графа G, никакие два из этих деревьев не будут иметь общих ребер. Всего при построении этих n деревьев использовано (m1+1)+…+(mn+1) ребер графа G, инцидентных вершине z. В силу неравенства (1), мы получаем, что

(m1+1)+…+(mn+1)=(m1+m1+…+m1)+n (2)

Следовательно, в силу неравенства (2), и так как dG(z) , остались неиспользованными еще хотя бы n-k ребер графа G, инцидентных вершине z. Для дополнения каждого из оставшихся деревьев Tn+1, …, Tk до остовного дерева графа G требуется еще по одному ребру, инцидентному вершине z, причем это ребро можно выбрать произвольно. Таким образом, мы можем построить попарно k непересекающихся по ребрам отстовных дерева графа G.

§8 Необходимость условия (G) 2k.

Мы покажм необходимость условия (G) 2k для выделения k попарно непересекающихся по ребрам остовных деревьев из графа G. Более того, при n>1 для любого n мы построим (2k-1)–вершинно связный граф Gn, у которого степени всех вершин более n, но среди любых k связных остовов графа Gn какие–то два имеют общее ребро. Таким образом, ослабление условия реберной 2k–связности нельзя «компенсировать», накладывая допoлнительно условия на минимальную степень вершины и условие вершинной (2k-1)–связности. Перейдем к построению серии примеров.

Определение.8.1. Пусть A V–множество из некотрорых вершин графа G(V, E). Определим граф GA с множеством вершин (V\A) (где a ). Удалим в графе G все ребра между вершинами из множеcтва А, объединим все вершины множемтва А в одну новую вершину а. Для любой вершины b , мы добавим ровно dG(b, A) ребер ab. Все вершины из V\A и соединяющие их ребра в графе GA будут же, как и в графе G. Назовем построенный граф GA стягиванием графа G по множеству А.

Лемма 8.2. Пусть в графе G(V, E) есть k попарно непересекающихся по ребрам остовных дерева. Тогда для любого A V в графе GA также есть k попарно непересекающихся по ребрам остовных дерева.

Доказательство. Пусть T1, T2,…, Tk –остовные деревья графа G. По определению стягивания нетрудно заметить, что графы TA1, TA2,…, TAk связны и никакие два из них не имеют общих ребер.

Определние 8.3. Пусть граф H(V, E) не имеет кратных ребер, a V, n>dH(a). Пусть граф H получен из Н в результате замены вершины а на полный грaф Kn, причем все ребра, инцидентные вершине а в графе Н, в H будут из разных вершин соответствующего Н полного графа Kn.

Для n> определим граф Hn, в котором каждую вершину а графа H заменим полным графом Kn (других вершин в Hn нет). Для каждого ребра ab графа Н проведем в графе Hn ребро, соединяющее какие–то две вершины из соответствующих a и b полных графов (такие ребра графа Hn мы назовем главными). При этом, мы проведем главные ребра так, чтобы никакие два из них не имели общего конца (это возможно так, как n> ).

Текст программы

unit diplom;

interface

uses

Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,

StdCtrls, Buttons, ExtCtrls, Menus, CheckLst, ActnList;

type

masiv = set of byte;

TForm1 = class(TForm)

BitBtn1: TBitBtn;

Image1: TImage;

Image2: TImage;

ComboBox1: TComboBox;

Label1: TLabel;

procedure Image1MouseDown(Sender: TObject; Button: TMouseButton;

Shift: TShiftState; X, Y: Integer);

procedure Image1MouseUp(Sender: TObject; Button: TMouseButton;

Shift: TShiftState; X, Y: Integer);

procedure FormActivate(Sender: TObject);

procedure ComboBox1Change(Sender: TObject);

private

{ Private declarations }

function Proverka(ind: byte): boolean;

procedure Newselect(ind: byte);

procedure Duga(ind:byte);

procedure Graph;

public

{ Public declarations }

end;

var

Form1: TForm1;i:integer;

b,b1,b2,b4:boolean;

Data: array[1..20] of record x1,y1:integer;end;

matr,matr_edit:array[1..40,1..40] of integer;

mas_x,mas_y : masiv;

x2,y2:integer;

implementation

{$R *.DFM}

//************************esli mouse najata*****************************

procedure TForm1.Image1MouseDown(Sender: TObject; Button: TMouseButton;

Shift: TShiftState; X, Y: Integer);

begin

canvas.MoveTo(x,y); x2:=x;y2:=y;

if (ssleft in Shift) then b:=true

else

if (ssRight in Shift) then b:=false else

end;

procedure TForm1.Image1MouseUp(Sender: TObject; Button: TMouseButton;

Shift: TShiftState; X, Y: Integer);

var k,k1:integer;

begin

if b then

begin

Canvas.Brush.Color := clRed;

canvas.Ellipse(x-10,y-10,x+10,y+10);

inc(i);

canvas.TextOut(x-3,y-6,inttostr(i));

Data[i].x1:=x;Data[i].y1:=y;

combobox1.items.Append(inttostr(i));

end

else

//risovanie peteli

if (x=x2) and (y=y2) then begin

for k:=1 to i do

if (sqr(X-data[k].x1)+sqr(Y-data[k].y1)<=100) then

begin

canvas.arc(data[k].x1,data[k].y1-30,data[k].x1+50,data[k].y1+30,

data[k].x1+5,data[k].y1+2,data[k].x1,data[k].y1);

break;end;

end

else

//--------------------------

for k:=1 to i do

if (sqr(X-data[k].x1)+sqr(Y-data[k].y1)<=100) then

begin

for k1:=1 to i do

if (sqr(x2-data[k1].x1)+sqr(y2-data[k1].y1)<=100) then begin

canvas.MoveTo(data[k1].x1,data[k1].y1);x2:=0;y2:=0;break;end;

canvas.Lineto(data[k].x1,data[k].y1);

matr[k1,k]:=1;matr[k,k1]:=1;

matr_edit[k1,k]:=1;matr_edit[k,k1]:=1;

matr[k,k]:=0;matr_edit[k,k]:=0;

Combobox1.visible:=true;

Label1.Visible:=true;

end;

end;

//*************************************************

procedure TForm1.FormActivate(Sender: TObject);

var j:integer;

begin

for i:=1 to 20 do

for j:=1 to 20 do

matr[i,j]:=0;

i:=0; x2:=0;y2:=0;

b1:=false;b2:=false; b4:=true;

combobox1.Items.Append('(None)');

Combobox1.visible:=false;

Label1.Visible:=false;

end;

//**provereaet esli vershina imeet kratnye riobra*********

function TForm1.Proverka(ind: byte): boolean;

var sum,i1,i2: byte;

begin

sum:=0;

for i1:=1 to i do

sum:=sum+matr[ind,i1];

if ((sum mod 2) =0) then

Proverka:=true else Proverka:=false;

end;

//*****delete vershinu********************************

procedure TForm1.Newselect(ind: byte);

var

ARect: TRect;

i1,i2:integer;

begin

with Image2.Canvas do

begin

CopyMode :=Whiteness;

ARect := Rect(0, 0, Image2.Width, Image2.Height);

CopyRect(ARect, Image2.Canvas, ARect);

CopyMode := cmSrcCopy;

//***************************

for i1:=1 to i do

for i2:=1 to i do

matr_edit[i1,i2]:=matr[i1,i2];

if proverka(ind) then

for i2:=1 to i do

begin

matr_edit[ind,i2]:=0;

matr_edit[i2,ind]:=0;

end;

if (proverka(ind)) then

begin

image2.Canvas.Brush.Color := clRed;

image2.canvas.pen.color:=clblack;

for i1:=1 to i do

for i2:=1 to i do

if matr_edit[i1,i2]=1 then

begin

image2.canvas.Ellipse(data[i1].x1-10,data[i1].y1-10,

data[i1].x1+10,data[i1].y1+10);

image2.canvas.TextOut(data[i1].x1-3,data[i1].y1-6,inttostr(i1));

image2.canvas.MoveTo(data[i1].x1,data[i1].y1);

image2.canvas.Lineto(data[i2].x1,data[i2].y1);

end;

end; end;end;

//----------------------------------------------------------

procedure TForm1.Graph;

var i1,i2:integer;

ARect: TRect;

begin

with Image2.Canvas do

begin

CopyMode :=Whiteness;

ARect := Rect(0, 0, Image2.Width, Image2.Height);

CopyRect(ARect, Image2.Canvas, ARect);

CopyMode := cmSrcCopy;

image2.Canvas.Brush.Color := clRed;

image2.canvas.pen.color:=clblack;

for i1:=1 to i do

for i2:=1 to i do

if matr[i1,i2]=1 then

begin

image2.canvas.Ellipse(data[i1].x1-10,data[i1].y1-10,

data[i1].x1+10,data[i1].y1+10);

image2.canvas.TextOut(data[i1].x1-3,data[i1].y1-6,inttostr(i1));

image2.canvas.MoveTo(data[i1].x1,data[i1].y1);

image2.canvas.Lineto(data[i2].x1,data[i2].y1);

end; end; end;

//****soedineam dve sosednie vershiny***********************

procedure TForm1.Duga(ind:byte);

var

v,i2,a1,d1,a2,d2,a,b: integer;

R:double;

s_1:array[1..2] of integer;

begin

v:=1;

if proverka(ind) then

for i2:=1 to i do

begin

if ((matr[ind,i2]=1) and (ind<>i2)) then

begin

s_1[v]:=i2;inc(v);

end;

if v=3 then

begin

a2:=data[s_1[1]].x1;d2:=data[s_1[1]].y1;

a1:=data[s_1[2]].x1;d1:=data[s_1[2]].y1;

a:=round((sqr(a1)+sqr(d1)-sqr(a2)-sqr(d2))/(2*(a1+d1-a2-d2)));

b:=a;

R:=sqrt(sqr(a2-a)+sqr(d2-b));

image2.canvas.pen.color:=clblue;

image2.Canvas.arc(round(a-R),round(a-R),round(a+R),round(a+R),a1,d1,a2,d2);

v:=1;

end;

end;end;

//*******vybor vershin************************************

procedure TForm1.ComboBox1Change(Sender: TObject);

begin

if combobox1.ItemIndex = 0 then

Graph

else

begin

newselect(combobox1.ItemIndex);

duga(combobox1.ItemIndex); end;

end;

end.







Вывод Целью моей дипломной работы была исследовать задачу на построение разреза в графе по вершине z. Был разработан алгоритм, который строит разрез по заданому графу. По данному алгоритму была написанна программа. Алгортм заключался в следующем: задается граф, по нем строится матрица смежности. В матрице суммируется строка и если при делении на два остаток от деления равен нулю, тогда данную вершину удаляют, а те вершины которые были смежные с ней соединяются между собой.

49


Характеристики

Тип файла
Документ
Размер
645,5 Kb
Тип материала
Предмет
Учебное заведение
Неизвестно

Список файлов реферата

Свежие статьи
Популярно сейчас
Почему делать на заказ в разы дороже, чем купить готовую учебную работу на СтудИзбе? Наши учебные работы продаются каждый год, тогда как большинство заказов выполняются с нуля. Найдите подходящий учебный материал на СтудИзбе!
Ответы на популярные вопросы
Да! Наши авторы собирают и выкладывают те работы, которые сдаются в Вашем учебном заведении ежегодно и уже проверены преподавателями.
Да! У нас любой человек может выложить любую учебную работу и зарабатывать на её продажах! Но каждый учебный материал публикуется только после тщательной проверки администрацией.
Вернём деньги! А если быть более точными, то автору даётся немного времени на исправление, а если не исправит или выйдет время, то вернём деньги в полном объёме!
Да! На равне с готовыми студенческими работами у нас продаются услуги. Цены на услуги видны сразу, то есть Вам нужно только указать параметры и сразу можно оплачивать.
Отзывы студентов
Ставлю 10/10
Все нравится, очень удобный сайт, помогает в учебе. Кроме этого, можно заработать самому, выставляя готовые учебные материалы на продажу здесь. Рейтинги и отзывы на преподавателей очень помогают сориентироваться в начале нового семестра. Спасибо за такую функцию. Ставлю максимальную оценку.
Лучшая платформа для успешной сдачи сессии
Познакомился со СтудИзбой благодаря своему другу, очень нравится интерфейс, количество доступных файлов, цена, в общем, все прекрасно. Даже сам продаю какие-то свои работы.
Студизба ван лав ❤
Очень офигенный сайт для студентов. Много полезных учебных материалов. Пользуюсь студизбой с октября 2021 года. Серьёзных нареканий нет. Хотелось бы, что бы ввели подписочную модель и сделали материалы дешевле 300 рублей в рамках подписки бесплатными.
Отличный сайт
Лично меня всё устраивает - и покупка, и продажа; и цены, и возможность предпросмотра куска файла, и обилие бесплатных файлов (в подборках по авторам, читай, ВУЗам и факультетам). Есть определённые баги, но всё решаемо, да и администраторы реагируют в течение суток.
Маленький отзыв о большом помощнике!
Студизба спасает в те моменты, когда сроки горят, а работ накопилось достаточно. Довольно удобный сайт с простой навигацией и огромным количеством материалов.
Студ. Изба как крупнейший сборник работ для студентов
Тут дофига бывает всего полезного. Печально, что бывают предметы по которым даже одного бесплатного решения нет, но это скорее вопрос к студентам. В остальном всё здорово.
Спасательный островок
Если уже не успеваешь разобраться или застрял на каком-то задание поможет тебе быстро и недорого решить твою проблему.
Всё и так отлично
Всё очень удобно. Особенно круто, что есть система бонусов и можно выводить остатки денег. Очень много качественных бесплатных файлов.
Отзыв о системе "Студизба"
Отличная платформа для распространения работ, востребованных студентами. Хорошо налаженная и качественная работа сайта, огромная база заданий и аудитория.
Отличный помощник
Отличный сайт с кучей полезных файлов, позволяющий найти много методичек / учебников / отзывов о вузах и преподователях.
Отлично помогает студентам в любой момент для решения трудных и незамедлительных задач
Хотелось бы больше конкретной информации о преподавателях. А так в принципе хороший сайт, всегда им пользуюсь и ни разу не было желания прекратить. Хороший сайт для помощи студентам, удобный и приятный интерфейс. Из недостатков можно выделить только отсутствия небольшого количества файлов.
Спасибо за шикарный сайт
Великолепный сайт на котором студент за не большие деньги может найти помощь с дз, проектами курсовыми, лабораторными, а также узнать отзывы на преподавателей и бесплатно скачать пособия.
Популярные преподаватели
Добавляйте материалы
и зарабатывайте!
Продажи идут автоматически
7001
Авторов
на СтудИзбе
262
Средний доход
с одного платного файла
Обучение Подробнее
{user_main_secret_data}