NP-полнота задачи раскраски графа

10

Альтернативная формулировка

Я придумал альтернативную формулировку нижеприведенной проблемы. Альтернативная формулировка на самом деле является частным случаем проблемы ниже и использует двудольные графы для описания проблемы. Тем не менее, я считаю, что альтернативная формулировка все еще NP-трудна. Альтернативная формулировка использует непересекающийся набор входящих и исходящих узлов, что упрощает определение проблемы.

Дано n исходящих и входящих узлов (красный и синий узлы на рисунке соответственно) и набор размера весов ребер между исходящей и входящей вершинами. Цель задачи - закрасить толстые края на рисунке так, чтобы для каждого входящего узла выполнялось условие.nwijn×n

Двухсторонний график задачи

Дано множество выходных вершин, набор входных вершин, весов между и для и положительной константы , найти минимальное количество цветов для ребер (толстые ребра на рисунке выше), такое что для всех ,{Oi|i=1n}{Ii|i=1n}n×nwij0OiIji,j=1nβeiij=1n

wjj1+c(i)=c(j),ijwijβ

где показывает цвет ребра .c(i)eii


Старая формулировка

Следующая проблема выглядит NP-трудной для меня, но я не мог показать это. Любое доказательство / комментарий, чтобы показать твердость или легкость этого приветствуется.

Предположим, что - полный взвешенный ориентированный граф с узлами и ребрами. Пусть показывает вес ребра а показывает цвет ребра . Для заданного подмножества ребер и положительной константы цель состоит в том, чтобы найти минимальное количество цветов, соответствующее каждому :Kn=V,Enn(n1)wij0ijc(ij)ijTEβeijT

wij1+c(kl)=c(ij),klijwkjβ.
и
c(ij)c(ik)forjk

Обратите внимание, что в описанной выше проблеме только края в должны быть окрашены. Это проблема может быть решена в .TO(|T|!)

Обновить:

После комментария Цуёси Ито я обновил проблему. Знаменатель изменен с на . Таким образом, знаменатель содержит вес за пределами , а также. Именно поэтому я упомянул полный граф в определении.1+c(kj)=c(ij),ki,ekjTwkj1+c(kl)=c(ij),klijwkjT

Я также добавил дополнительное ограничение . Это означает, что исходящие ребра из узла должны быть разных цветов (но входящие цвета могут быть одинаковыми, пока выполняется неравенство). Это ставит интуитивное нижняя граница на количество цветов, которое является степенью вне максимум узлов .c(ij)c(ik)forjkT

Как упоминал Цуёси, , и являются входными данными для проблемы, а цвета кромок - выходными.wijTβ

Обновление 2:

Проблема не приводит к тому, что ребра и одного цвета.eijeji

гелий
источник
@ Рафаэль: Как правило, проблема окраски краев выглядит хорошим кандидатом на сокращение. Найти простейшую задачу сокращения для np - сложная часть. Следующим шагом является поиск подходящих весов для отображения. Я предполагаю, что если задача краевой раскраски сводится к вышеупомянутой проблеме, веса должны быть либо равны 0/1, либо нам нужно решить систему неравенств, чтобы найти веса.
Гелий
Несколько комментариев по формулировке проблемы: (1) Каков вклад? Я предполагаю, что входные данные - это w_ij для всех ребер, T и β, но если это так, вы не должны определять w_ij и c (ij), как если бы они были заданы одинаково. (2) Как я понимаю, что вы написали, на ребра за пределами T никогда не ссылаются. Поэтому проще определить ориентированный граф, состоящий из ребер в T, а не рассматривать полный ориентированный граф.
Цуёси Ито
@TsuyoshiIto: Спасибо за ваши комментарии, я обновил вопрос.
Гелий
1
Кстати, проблема выглядит довольно беспорядочно для меня. Если вы объясните, как вы достигли этой проблемы (другими словами, почему вы заинтересованы в этой проблеме), это может помочь другим понять проблему.
Цуёси Ито
1
@TsuyoshiIto: 1) Проблема - это особый случай планирования в беспроводных специальных сетях. относится к набору передачи, а весовые коэффициенты представляют коэффициенты ослабления сигнала. Первое ограничение также относится к соотношению сигнал / помеха плюс шум. 2) «знаменатель содержит только веса ребер в T» теперь удален. T
Гелий

Ответы:

3

Довольно просто показать, что альтернативная формулировка NP-трудна. Сокращение происходит из задачи раскраски вершин. Учитывая граф G с вершинами, мы создаем экземпляр вышеупомянутой проблемы с n выходными вершинами и n входными вершинами. Веса устанавливаются следующим образом: для всех i пусть w i i = 1 . Для i j , если между вершиной i и вершиной j есть ребро , пусть w i j = w j i = 1 , иначе пусть w i jnnniwii=1ijijwij=wji=1 . Кроме того, пусть β = 1 .wij=wji=0β=1

Это довольно очевидно, но трудно описать, почему сокращение является правильным. Пусть показывает пример раскраски графа, а R - уменьшенный экземпляр задачи. Для того, чтобы показать выше сокращение дает правильное решение , нам нужно показать , что (1) каждый действительный красящая для R справедливо для C , а также. (2) ответ , данный R является минимальным для C .CRRCRC

Если и J являются две соседние вершины С , то они должны иметь разные цвета в R . Это потому, что если i и j смежны и имеют одинаковый цвет, то доля w j jijCRij приведет к1wjj1+c(i)=c(j),ijwij , гдеXимеет положительное значение. Поэтому условие не выполняется. Кроме того, каждый действительный (но не обязательно минимальна) для окрашиванияC, является допустимым красящая дляRа также. Из этого следует, что при правильной раскраскеCкаждая пара смежных узлов имеет разные цвета, поэтому условие выполняется для всех цветных реберRв решении. Таккаждая раскраскаCявляется допустимым красящей дляR, минимальное решениеRдолжно быть минимальным решением дляC а также. В противном случае он не является минимальным, потому что решениеC11+XXCRCRCRRCC дает решение с меньшим количеством цветов.

гелий
источник
0

РЕДАКТИРОВАТЬ : Конструкция ниже не совсем работает, в соответствии с комментарием Tsuyoshi Ito ниже, он не обеспечивает, что . Я оставляю это на случай, если это будет полезным началом. Также T не должен включать дуги с весом 0 .c(ij)=c(ji)T0

G=(V,E)D=(V,A)uvE(u,v)(v,u)AaAwa=1xyE(x,y)(y,x)Awxy=wyx=0β1T=A

0

kNP

NP

Люк Мэтисон
источник
Как вы применяете это c (ij) = c (ji)? Это не обязательно верно в рассматриваемой проблеме, если я правильно понимаю.
Цуёси Ито
Хорошая точка зрения. Я отредактирую оригинальный пост, чтобы отметить проблему.
Люк Мэтисон