NP-completezza di un problema di colorazione del grafico


10

Formulazione alternativa

Ho trovato una formulazione alternativa al problema seguente. La formulazione alternativa è in realtà un caso speciale del seguente problema e utilizza grafici bipartiti per descrivere il problema. Tuttavia, credo che la formulazione alternativa sia ancora NP-difficile. La formulazione alternativa utilizza un insieme disgiunto di nodi in entrata e in uscita che semplifica la definizione del problema.

Dato uscita e n nodi in entrata (nodi rosso e blu nella figura rispettivamente), e un set w i j 'S di dimensione n × n di pesi bordo tra i vertici uscita e in entrata. L'obiettivo del problema è colorare i bordi spessi nella figura in modo tale che per ogni nodo in arrivo sia valida una condizione.nnwijn×n

Grafico bipartito del problema

Dato un set dei vertici di output, un set { I i{Oi|i=1…n} dei vertici di ingresso, n × n pesi w i j ≥ 0 tra O i 's ed io j ' s per i , j = 1 ... n , e una costante positiva β , trovare il numero minimo di colori per i bordi e i i (bordi spessi nella figura sopra) tale che per tutti j = 1 … n ,{Ii|i=1…n}n×nwij≥0OiIji,j=1…nβeiij=1…n

wjj1+∑c(i)=c(j),i≠jwij≥β

dove mostra il colore del bordo e i i .c(i)eii


Vecchia formulazione

Il seguente problema mi sembra NP-difficile, ma non ho potuto dimostrarlo. È gradita qualsiasi prova / commento per dimostrarne la durezza o la facilità.

Assumere è un grafo orientato completo zavorrato con n nodi e n ( n - 1 ) bordi. Let w i j ≥ 0 mostra il peso del bordo i j e c ( i j ) mostra il colore del bordo i j . Dato un sottoinsieme dei bordi T ⊆ E e una costante positiva β l'obiettivo è: trovare il numero minimo di colori tale che per ogniKn=⟨V,E⟩nn(n−1)wij≥0ijc(ij)ijT⊆Eβ :eij∈T

e c(ij)≠c(ik)

wij1+∑c(kl)=c(ij),kl≠ijwkj≥β.
c(ij)≠c(ik)forj≠k

Si noti che nel problema precedente, solo i bordi in devono essere colorati. Questo è il problema che può essere risolto in O ( | T | ! ) .TO(|T|!)

Aggiornare:

Dopo il commento di Tsuyoshi Ito ho aggiornato il problema. Il denominatore viene modificato da in 1 + ∑ c ( k l ) = c ( i j ) , k l ≠ i j w k j1+∑c(kj)=c(ij),k≠i,ekj∈Twkj1+∑c(kl)=c(ij),kl≠ijwkj. Pertanto, il denominatore contiene i pesi esterni pure. Ecco perché ho menzionato il grafico completo nella definizione.T

Ho anche aggiunto un vincolo aggiuntivo . Ciò significa che i bordi in uscita da un nodo devono essere di colori diversi (ma i colori in entrata possono essere gli stessi purché la disuguaglianza sia valida). Questo pone un limite inferiore intuitivo il numero di colori, che è il grado in uscita-massimo dei nodi in T .c(ij)≠c(ik)forj≠kT

wijTβ

Aggiornamento 2:

eijeji


@Raphael: Normalmente, un problema di colorazione dei bordi sembra essere un buon candidato per la riduzione. Trovare il problema np-hard più semplice per la riduzione è la parte più difficile. Il prossimo passo è trovare i pesi corretti per la mappatura. Immagino, se un problema di colorazione del bordo si riduce al problema sopra, i pesi dovrebbero essere come 0/1 o dobbiamo risolvere un sistema di disuguaglianze per trovare i pesi.
— Elio

Alcuni commenti sulla formulazione del problema: (1) Qual è l'input? Immagino che l'input sia w_ij per tutti gli spigoli, T e β, ma in tal caso, non dovresti definire w_ij ec (ij) come se fossero dati allo stesso modo. (2) Come capisco quello che hai scritto, i bordi esterni a T non vengono mai citati. Quindi è più semplice definire il grafico diretto costituito dai bordi in T invece di considerare il grafico diretto completo.
— Tsuyoshi Ito,

@TsuyoshiIto: Grazie per i tuoi commenti, ho aggiornato la domanda.
— Elio

1
A proposito, il problema mi sembra piuttosto disordinato. Se spieghi come hai raggiunto questo problema (in altre parole, perché sei interessato a questo problema), potrebbe aiutare gli altri a capire il problema.
— Tsuyoshi Ito,

1
T

Risposte:


3

nnniwii=1i≠jijwij=wji=1wij=wji=0β=1

CRRCRC

ijCRijwjj1+∑c(i)=c(j),i≠jwij11+XXCRCRCRRCC fornisce una soluzione con un numero inferiore di colori.


0

c(ij)=c(ji)T0

G=(V,E)D=(V,A)∀uv∈E(u,v)(v,u)Aa∈Awa=1∀xy∉E(x,y)(y,x)Awxy=wyx=0β1T=A

0

kNP

NP


Come imponi che c (ij) = c (ji)? Questo non è necessariamente vero nel problema in questione, se lo capisco correttamente.
— Tsuyoshi Ito,

Buon punto. Modificherò il post originale per notare il problema.
— Luke Mathieson,
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.