NP-повнота проблеми розфарбовування графіків


10

Альтернативна рецептура

Я придумав альтернативну формулювання нижчезазначеної проблеми. Альтернативна формулювання насправді є окремим випадком задачі нижче та використовує двосторонні графіки для опису проблеми. Однак я вважаю, що альтернативна форма все ще є важкою для NP. Альтернативна рецептура використовує роз'єднаний набір вхідних та вихідних вузлів, що спрощує визначення проблеми.

Враховуючи вихідних і вхідних вузлів (червоний і синій вузли на рисунку відповідно), а також набір розміром вагових граней між вихідними та вхідними вершинами. Мета проблеми - пофарбувати товсті краї на малюнку, щоб для кожного вхідного вузла виконувалась умова.n w i j n × nnnwijn×n

Біпартітний графік задачі

Дано набір вихідних вершин, множина вхідних вершин, n × n ваг w i j0 між O i 's та I j ' s для i , j = 1 n та позитивною постійною β , знайдіть мінімальну кількість кольорів для ребер e i i (товсті краї на наведеному малюнку) таким, що для всіх j = 1 n ,{ I i{Oi|i=1n}{Ii|i=1n}n×nwij0OiIji,j=1нβеiij=1н

шjj1+c(i)=c(j),ijшijβ

де показує колір краю e i i .c(i)еii


Стара формулювання

Наступна проблема мені здається NP-важкою, але я не міг її показати. Будь-який доказ / коментар, що свідчить про твердість або легкість його, цінується.

Нехай є повним зважений орієнтований граф з п вузлами і п ( п - 1 ) ребер. Нехай w i j0 показує вагу ребра i j, а c ( i j ) показує колір краю i j . Враховуючи підмножину ребер T E і позитивну константу β, мета: знайти мінімальну кількість кольорів таким, що для кожногоКн=V,Енн(н-1)шij0ijc(ij)ijТЕβ :еijТ

і c(ij)c(ik)

шij1+c(кл)=c(ij),клijшкjβ.
c(ij)c(iк)fоrjк

Зверніть увагу, що у наведеній вище проблемі кольоровими є лише краї в Тобто проблему можна вирішити в O ( | T | ! ) .ТО(|Т|!)

Оновлення:

Після коментаря Цуйосі Іто я оновив проблему. Знаменник змінено з на 1 + c ( k l ) = c ( i j ) , k l i j w k j1+c(кj)=c(ij),кi,екjТшкj1+c(кл)=c(ij),клijшкj. Таким чином, знаменник містить вагу за межами , а також. Саме тому я і зазначив повний графік у визначенні.Т

Я також додав додаткове обмеження . Це означає, що вихідні краї у вузла повинні бути різного кольору (але кольори, що надходять, можуть бути однаковими, доки нерівність дотримується). Це ставить інтуїтивне нижня межа на кількість квітів, яке є ступенем поза максимум вузлів T .c(ij)c(iк)fоrjкТ

Як згадував Цусіосі, 's, T і β - вхід до проблеми, а кольори ребер - вихід.шijТβ

Оновлення 2:

Проблема не примушує ребра та e j i бути однакового кольору.еijеji


@Raphael: Зазвичай проблема фарбування краю виглядає як хороший кандидат на зменшення. Пошук найпростішої np-hard проблеми для скорочення - це найскладніша частина. Наступним кроком є ​​пошук правильних ваг для картографування. Я думаю, якщо проблема фарбування ребер зводиться до вищезазначеної проблеми, ваги повинні бути як 0/1, або нам потрібно вирішити систему нерівностей, щоб знайти ваги.
Гелій

Кілька зауважень до постановки проблеми: (1) Що таке вхід? Я думаю, що вхід w_ij для всіх ребер, T і β, але якщо так, не слід визначати w_ij і c (ij) так, як якщо б вони були задані однаково. (2) Як я розумію те, що ви написали, краї поза T ніколи не згадуються. Тож простіше визначити спрямований графік, що складається з ребер у T, замість того, щоб розглядати повний спрямований графік.
Цуйосі Іто

@TsuyoshiIto: Дякую за ваші коментарі, я оновив питання.
Гелій

1
До речі, проблема виглядає для мене досить безладно. Якщо ви поясните, як ви вирішили цю проблему (іншими словами, чому ви зацікавлені в цій проблемі), це може допомогти іншим зрозуміти проблему.
Цуйосі Іто

1
@TsuyoshiIto: 1) Проблема - особливий випадок планування роботи в бездротових спеціальних мережах. відноситься до набору передач, а ваги представляють коефіцієнти загасання сигналу. Кулакове обмеження також стосується співвідношення сигнал / перешкода плюс шум. 2) "Знаменник містить лише ваги ребер у T" видалено зараз. Т
Гелій

Відповіді:


3

Показати, що альтернативна рецептура є непростою, досить просто. Зменшення пов'язане з проблемою забарвлення вершин. Давши графік G з вершинами, ми створюємо екземпляр зазначеної вище проблеми з n вихідними вершинами та n вхідними вершинами. Ваги встановлюються так: Для всіх i , нехай w i i = 1 . Для i j , якщо між вершиною i та вершиною j є край , нехай w i j = w j i = 1 , тоді нехай w i jнннiwii=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а також. Звідси випливає той факт, що при дійсному забарвленніСкожна пара сусідніх вузлів має різні кольори, тому умова виконується для всіх кольорових краївRу розчині. Таккожна розфарбуванняCє допустимим фарбувальної дляR, мінімальне рішенняRмає бути мінімальним рішенням дляC а також. В іншому випадку він не є мінімальним, оскільки рішенняC11+XXCRCRCRRCC дає рішення з меншою кількістю кольорів.


0

EDIT : Конструкція внизу не дуже працює, як показано нижче в коментарі Цуйосі Іто, вона не виконує те, що . Я залишаю це на випадок, якщо це корисний початок. Також T не повинен включати дуги масою 0 .c(ij)=c(ji)T0

По лініях, запропонованих Мохсеном, почніть з розфарбовування країв, перетворіть графік в диграф D = ( V , A ) на тій самій вершинній множині, де u v E у нас ( u , v ) і ( v , u ) в A , дайте всім дугам a A (у цій точці) вага w a = 1 , тоді xG=(V,E)D=(V,A)uvE(u,v)(v,u)AaAwa=1 доповнення ( х , у ) і ( у , х ) до А з ш х у = ш у х = 0 , безлічі р до 1 і T = A .xyE(x,y)(y,x)Awxy=wyx=0β1Т=А

Тоді умова виконується лише в тому випадку, якщо жодна дві дуги, що падають на одну і ту ж вершину, не мають одного кольору, ігноруючи дуги, що надходять з не-ребер у вихідному графіку (оскільки вони мають вагу ). Потім це забарвлення може бути перетворене у відповідне забарвлення для початкового графіка.0

кNП

NП


Як ти можеш застосувати це c (ij) = c (ji)? Це не обов'язково відповідає дійсній проблемі, якщо я правильно її розумію.
Цуйосі Іто

Гарна думка. Я відредагую оригінальну публікацію, щоб відзначити проблему.
Люк Матхісон
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.