Научная статья на тему 'К задаче разбиения полного двудольного графа  на пути длины два'

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

CC BY
183
17
i Надоели баннеры? Вы всегда можете отключить рекламу.
Область наук

Аннотация научной статьи по математике, автор научной работы — Шунгаров Х. Д.

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

i Надоели баннеры? Вы всегда можете отключить рекламу.
iНе можете найти то, что вам нужно? Попробуйте сервис подбора литературы.
i Надоели баннеры? Вы всегда можете отключить рекламу.

To the Problem of Breaking Complete Bipartite Graph on the Paths Lengh Two

In the given research for the problem of breaking complete bipartite Graph offered an algorithm of polynomial complex and substantiation of effectiveness of such algorithm are given. Also indispensable and sufficient condition of breaking complete bipartite graph on the paths length two is formulated and proved.

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

К задаче разбиения полного двудольного графа

на пути длины два

Шунгаров Х. Д.([email protected])

Карачаево-Черкесский Государственный Университет

1. Постановка задачи.

V2

= п - т.

Пусть задан полный двудольный граф G = (у 1у2, Е), где V1 = т т < п, п = 3^ для некоторого целого положительного числа q. Существует ли разбиение множества V = V1 и V2 вершин графа О на q непересекающихся подмножеств V1,V2,...,Vq по три вершин в каждом, такое, что для всех

V = К, V к3} к е {1'2'-' q} по крайней мере два из трех ребер (п, к2), (у,.2, угз), (уг1, угз)

принадлежат Е?

Известно [1], что задача разбиения графа на пути длины два является КР-полной. В данной работе для решения задачи разбиения полного двудольного графа на пути длины два предлагается алгоритм полиномиальной сложности и дано обоснование эффективности такого алгоритма. Также сформулировано и доказано необходимое и достаточное условие существования разбиения полного двудольного графа на пути длины два.

Предположим, что п = 3q для некоторого целого положительного числа q, причем п = п1 + п2. Обозначим через В(пх)(Е(д))- количество двоек (единиц) в представлении числа п1 в виде суммы q двоек и единиц. Докажем, что справедлива

Теорема 1. Пусть задан полный двудольный граф О = (г\У2, Е),

где V2

V1

= m.

V2

= n - m, m < n, n = 3q для некоторого целого положительного числа q, > V1 . Если не выполняется хотя бы одно из равенств D(n - m) = E(m) или

E(n - m) = D(m), то разбиения графа G на пути длины два не существует.

Доказательство. Предположим, что не выполняется равенство D(n -m) = E(m), т.е. количество двоек в представлении числа n-m не равно количеству единиц в представлении числа m в виде суммы q двоек и единиц. Пусть выполняется неравенство D(n - m) > E(m). Тогда найдется хотя бы одна пара вершин (,vj)eV2, которой не соответствует какая-либо вершина vk eV\

Следовательно, множество вершин V = V1 u V2 графа G нельзя разбить на q троек непересекающихся вершин vt,vj,vk таких, что если две вершины vt,vj eV2,

то третья вершина vk eV1. Отсюда следует, что разбиения графа G на пути длины два не существует. Таким образом, теорема 1 доказана.

Теорема 2. Пусть задан полный двудольный граф G = (v \V2, E),

где

V2

V1

=m

V2

>

= п - т, т < п, п = 3ц для некоторого целого положительного числа q,

V1 . Для того, чтобы существовало разбиение графа О на пути длины

два необходимо и достаточно, чтобы выполнялись равенства Б(п - т) = Е (т) и Е(п - т) = Б(т) .

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

1.Необходимость. Предположим, что в заданном графе О существует разбиение на пути длины два, тогда множество V = V1 uV2 вершин графа О

разбито на q троек непересекающихся вершин у^^, у^, ук, причем, если две вершины у^^, у^ ^2, то третья вершина ук е V1 и, наоборот, если две вершины уi,уеV1, то третья вершина ук е V2. Тогда получим, что каждой паре уi,уеV1 вершин взаимно-однозначно соответствует одна вершина ук е V2 и, наоборот, каждой паре у^^,у^ еV2 вершин взаимно-однозначно соответствует одна вершина ук е VОтсюда следует, что каждое из чисел п-ш, т можно представить в виде суммы q двоек и единиц таким образом, что количество двоек в представлении числа п-ш равно количеству единиц в представлении числа т, а количество единиц в представлении числа п-ш равно количеству двоек в представлении числа ш, т.е. выполняются равенства Б(п-т) = Е(т) и Е(п-т) = Б(т). Таким образом, необходимость доказана.

2. Достаточность. Предположим, что выполняются равенства Б(п - т) = Е(т) и Е(п - т) = Б(т). Тогда каждое из чисел п-ш, т можно представить в виде суммы q двоек и единиц таким образом, что количество двоек в представлении числа п-ш равно количеству единиц в представлении числа ш, а количество единиц в представлении числа п-ш равно количеству двоек в представлении числа т. Отсюда следует, что каждой паре у^^,уеV1

вершин взаимно-однозначно соответствует одна вершина ук е V2 и, наоборот, каждой паре у^^,у^ еV2 вершин взаимно-однозначно соответствует одна вершина ук е VТаким образом, получили разбиение множества V = V1 и V2 графа О на q троек непересекающихся вершин уi, у, ук такое, что если две вершины каждой

тройки V., к еV2, то третья вершина этой тройки кк е V\ И , наоборот, если

две вершины к. , еV1, то третья вершина кк е V2. Учитывая теперь, что граф О-

полный, каждую вершину кк е V1 соединяем с соответствующей парой vi, еV2

вершин и, наоборот, каждую вершину кк е V2 соединяем с соответствующей

парой к. , е V1 вершин. Таким образом, разбиение графа О на пути длины два

получено. Достаточность доказана. Следовательно, теорема 2 доказана.

Теорема 3. Пусть задан полный двудольный граф О = 2, Е),

где V2

V1

= m.

V2

>

V1

= n - m, m < n, n = 3q для некоторого целого положительного числа q, Для того, чтобы выполнялись равенства D(n -m) = E(m) и E(n -m) = D(m) необходимо и достаточно, чтобы выполнялось неравенство: п/ъ < m < 2n/3 .

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

1.Необходимость. Пусть выполняются равенства D(n - m) = E(m) и E(n - m) = D(m). Обозначим через x - количество двоек (единиц) в представлении числа n - m(m) в виде суммы q двоек и единиц, а через y -количество единиц ( двоек) в представлении числа n - m(m) в виде суммы q двоек и единиц. Тогда имеет место система уравнений

Г2 х + у = п - т 0 / /

\ , которая имеет единственное решение х = 2п/3 - т, у = т - п/3.

[х + 2у = т ' 3 /3

Учитывая условие неотрицательности решения (х,у) системы имеем:

+ т > 0 и - т > 0 . Отсюда следует, что верно неравенство ^^ - т < .

Таким образом, необходимость доказана.

2. Достаточность. Пусть выполняется неравенство ^ - т < . Это

неравенство равносильно системе неравенств

- уз + т > 0 - т > 0

Обозначим

через х = ,у = т - ^3 • Числа х,у такие, что выполняется система уравнений:

|2 х + у = п - т \х + 2у = т

откуда следует, что верны равенства В(п - т) = Е(т) и

Е(п - т) = В(т). Достаточность доказана. Следовательно теорема 3 доказана

полностью.

2. Описание алгоритма а .

Предположим, что граф О = (у 1у2, Е )задан списками смежности N (у), где

N ^)- список вершин у1 , смежных вершине у,, i ф ], у е {1,2,..., п};

V1

V'

=п-т

т < п, п = 3^ для некоторого целого положительного числа q; УЯ, БЯ -множества вершин и ребер строящегося разбиения графа О на пути длины два. Алгоритма а начинает свою работу с подготовительного этапа а0, который

состоит в следующем. Сначала проверяется, верно ли неравенство ^ - т <

3

Если верно неравенство ^^ - т < 2у3, то разбиение графа О на пути длины два

существует, иначе алгоритма выдает сообщение «разбиения графа О на пути длины два не существует». На вход алгоритма а подаются списки смежности

N(уi) всех вершинуi е V = V1 иV2, состоящие из двух типов: в одном из этих

типов каждый список N(vi), vi е V1 состоит из вершин множества V2, а в другом -каждый список N(vi), е V2 состоит из вершин множества V1. Вершине каждого списка N (кг ) приписывается метка р(у1 ) = deg , где deg - число вершин в списке N(vi). Если V2 > V1 из полученных таким образом значений меток

р(уг) образуется невозрастающая последовательность, в которой сначала идут метки в(vi) списков N(vi), vi е V\ состоящих из вершин множества V2, затем метки вК) списков N(vi), е V2, состоящих из вершин множества V1. При

V

V1

вместо метки в(vi) вершине vi каждого списка N(vi) приписывается

метка у(кг )= 1((кг ) = 2), если список N(vi) состоит из вершин множества V1 (V2). После чего образуется последовательность меток у(кг), в которой метки чередуются через один раз в зависимости от их значений. На этом подготовительный этап а0 заканчивает свою работу.

Алгоритм а состоит из этапов а{, перенумерованных индексом t=1, 2, На вход этапаа1 подается список N(к,(кр)), соответствующий первой метке р(у1 )/(кр)) в последовательности меток в(кг )/(кг)), кг еV , если

V2

>

V1 (V1 = V2 ). Сначала выделяется вершина к1 , затем две любые

вершиныкт,еN(v1), а также ребра ( V,,), ( V,,кт). Множества УЯ, ЕЯ изменяются следующим образом: УЯ = \у1,кт,кр }. ЕЯ= {( ,кр ),(к1 ,кт) }. Затем списки N К), N (ут), N (кр) удаляются из множества списков смежности графа О, а вершины V,, кт,кр удаляются из оставшихся списков смежности.

Пусть осуществлено к-1 этапов е{1,2,..., к -1} алгоритма а. Множество УЯ содержит 3(( -1) вершин, а множество БЯ -2(к-1) ребер строящегося разбиения графа О на пути длины два. На вход этапа ак,к е{1,2,...,q} подаются множества УЯ, БЯ, полученные в результате работы первых к-1 этапов ас/ е{1,2,..., к -1} алгоритма а, список N (уж), соответствующий к-ой метке в последовательности метокр(у1 Ху^)), если V2 > V1 (V1 = V2 ). Если (3(у1 ) = 1 для некоторого списка

N (у), то на вход этапа ак, к е {1,2,..., q} подается следующий по порядку список. В списке N (у^) сначала выделяется вершина , затем две любые вершиныух,уу е N(уs), а также ребра ( у^,ух), ( у^,уу). Множества УЯ, БЯ изменяются следующим образом: УЯ=УЯи {у^,ух,уу }; БЯ=БЯи{( у^, ух ), (уж, уу) }. Затем списки N у), N (ух), N (уу) удаляются из множества списков смежности графа О, а вершины ух, ух, уу удаляются из оставшихся списков смежности. После чего метки в(уi) вершин у^ всех оставшихся списков N^) изменяются. На этом этапак,к е {1,2,...,q} заканчивает свою работу. Алгоритм а заканчивает свою работу по завершению этапа ач, т.е. когда VR = V.

3. Анализ и обоснование алгоритма а.

При анализе всякого алгоритма особое место занимает оценка его трудоемкости [2]. Под трудоемкостью алгоритма будем понимать время выполнения соответствующей программы на ЭВМ. Трудоемкостью алгоритма называется функция ставящая в соответствие каждому натуральному числу п время работы ^п) алгоритма в худшем случае на входах длины п[2]. При анализе и обосновании

алгоритмов будем использовать О -символику. Будем говорить, что неотрицательная функция а(п) не превосходит по порядку функцию g(n), если существует такая константа с, что f(n)<cg(n) для всех п>0 и при этом будем писать а(п)=0^(п)). Иногда вместо предложения «трудоемкость алгоритма есть о^(п))» будем говорить «алгоритм решает задачу за время 0^(п))»[2]. Докажем теперь, что справедлива

Теорема 4. Пусть задан полный двудольный граф О = ^ ху2, Е),

где

V2

V1

iНе можете найти то, что вам нужно? Попробуйте сервис подбора литературы.

= т.

V2

= п - т, т < п, п = 3q для некоторого целого положительного числа q,

> V1 . Если существует разбиение графа О на пути длины два, то

алгоритм а находит это разбиение за время о(п3) операций.

Доказательство. Сначала докажем, что построенное алгоритмом а разбиение графа О, является разбиением графа О на пути длины два. Для этого достаточно доказать, что после выполнения этапа ак,к е{1,2,..., q} построенное разбиение графа О содержится в некотором разбиении графа О на пути длины два. Докажем индукцией по к. При к=1 имеем разбиение графа О, состоящее из одного пути длины два. Предположим, что это утверждение справедливо для некоторого к>1, т.е. разбиение графа О, построенное в результате работы к этапов аг/ е {1,2,...,к} содержится в некотором разбиении графа О на пути длины

два. Согласно условиям теоремы 3 в заданном графе О существует разбиение на пути длины два, поэтому из условий теоремы 2 следует, что найдутся две вершины , еV'(или , еV2) и одна вершина кк е V2 (или кк е Vтакие, что

на этапе ак+1, к е{1,2,..., q -1} алгоритма выделит три вершины кг, , кк еV и два

ребра (vk, vt), (vk, v} )е E, которые войдут в некоторое разбиение графа G на пути

длины два. Отсюда следует, что разбиение графа G, построенное в результате работы k этапов at t е {1,2,...,к} содержится в некотором разбиении графа G на

пути длины два.

Оценим теперь трудоемкость алгоритма а, которую будем обозначать через т(а). Поскольку проверка выполнения неравенства ^ -т - 2^3

потребует времени о(), а присвоение меток каждой вершине и составление последовательности меток- O(n), то трудоемкость подготовительного этапа а0 удовлетворяет равенству т(а0 ) = O(n). Оценим теперь трудоемкость r(at) каждого из этапов at,tе{1,2,...,q}, которая складывается из следующих затрат времени. Выделение вершин и ребер пути длины два в заданном списке и изменение множеств VR, ER потребуют времени O(l), удаление списков смежности для выделенных вершин потребует времени O(n), а удаление выделенных вершин пути длины два из списков смежности -O(n2). Поэтому трудоемкость каждого из этаповat,t е{1,2,...,q} удовлетворяет равенству r(at) = o(n2). Отсюда и из вышеизложенного следует, что т(а ) = o(n3). Таким образом, теорема 4 доказана.

Из теорем 2, 4 вытекают

Следствие 1. Пусть задан полный двудольный граф G = (V \V2, E),

где

V2

V1

V2 = п - т, т < п, п = 3q для некоторого целого положительного числа q, > V1 . Тогда задача разбиения графа О на пути длины два полиномиально разрешима.

Следствие 2. Пусть задан полный двудольный граф О = (^ ХУ2, Е),

где

V1

= т.

V2

= п - т, т < п, п = 3q для некоторого целого положительного числа q,

V2

>

V1 . Тогда задача покрытия графа О трехвершинными звездами

полиномиально разрешима.

Работу алгоритма «рассмотрим на примерах. Пусть задан граф О = (^ ху2, Е), изображенный на рис.1.

Рис.1. Граф О = 1У2,Е), V1 | = 2,| V2 | = 7,п = 9.

Ad.1.Graph О = (V1,V2,е), [V1 | = 2^ V2 | = 7,п = 9.

Находим представление чисел 7 и 2 в виде суммы q=3 двоек и единиц: 7=2+2+2+1, 2=1+1. Отсюда следует, что три вершины множества V2 останутся невыделенными, и разбиения данного графа О на пути длины два не существует. Другими словами для того, чтобы существовало разбиение графа О на пути длины два необходимо и достаточно, чтобы система

„ Г2 х + у = п - т /ч

уравнений \ имела целое неотрицательное решение (х, у), где

I х + 2 у = т

х

число двоек (единиц) в представлении числа п - т(т) в виде суммы двоек и единиц; у - число единиц (двоек) в представлении числа п - т(т). Это

возможно, согласно теореме 3, когда параметр т удовлетворяет неравенству

< т < 2у3. Поскольку 2 £ [3,6], то в заданном графе О не существует разбиения

на пути длины два.

Рассмотрим теперь граф О = (V 'V2, Е), изображенный на рис.2. Сначала находим представление чисел 5 и 4 в виде суммы q=3 двоек и единиц:5=2+2+1, 4=1+1+2. Отсюда следует, что каждой паре вершин множества V2 соответствует одна вершина множества V1 и, наоборот, каждой паре вершин множества V1 соответствует одна вершина множества V2. Следовательно, разбиение графа О = (у 1у2,Е) на пути длины два существует. Работа алгоритма а представлена на рис.3

VI V 2 V з У4

V 5 V 6 V 7 V 6 У£

Рис.2. Граф О = (V2,е),V1 | = 4,| V2 | = 5,п = 9. Ad. 2. Graph О = ^ 1,V2,Е),V1 | = 4,| V2 | = 5,п = 9.

V1 v2 v3

V5 V6 V7 V8 V9 Vs Ve V/ V8 Va V5 V6 V/ Vs V9

Vs V6 V7 V8 V9 Vi V2 V3 V 4 V1 V2 V3 V4 V/ V s V9

V1 V2 V3 V 4 V1 V2 Vs V4 V1 V2 V3 V

Рис.3. Работа алгоритма а на графе G = (v\V2,E), V1 | = 4,| V2 | = 5,n = 9.

Вершины и ребра, вошедшие в разбиение графа G на пути длины два, выделены. Удаленные вершины и списки помечены.

Ad.3. Functioning of algorithm а on the graph G = (V \V2, E), V1 | = 4,1 V2 | = 5, n = 9 . Picks and ribs, involved in the graph breaking on path length

two are marked. Distant picks and ribs are marked. Литература

1. Гэри Д., Джонсон М. Вычислительные машины и труднорешаемые задачи. М.: Мир, 1985.- 412с.

2. Емеличев и др. Лекции по теории графов. М.: Наука, 1990, 384 с.

i Надоели баннеры? Вы всегда можете отключить рекламу.