Durezza NP di trovare un sottoinsieme di vertici in un grafico ponderato per i vertici


8

Questo è compito del concorso informatico tedesco ("Bundeswettbewerb Informatik"), ma poiché la scadenza è scaduta, porre questa domanda non è un imbroglio.

Dato un grafico diretto ponderato per i vertici e valori , trova un sottoinsieme di nodi che massimizza soggetto a Questo problema è NP-difficile?G=(V,E)cvVresV

vVrescv
(u,v)E:uVresvVres

Potrei dimostrare che il problema è in P se ogni nodo non ha né genitori né figli dimostrando che in questo caso, può essere risolto da Vertex Cover su grafici bipartiti, ma non sono riuscito a trovare una riduzione che dimostri la durezza NP del problema originale.

Qualcuno può darmi un suggerimento su come farlo?

PS: Nel concorso, il compito era solo quello di trovare un algoritmo che risolva questo problema, la definizione originale (tedesca) è l'attività 1 di questo documento: http://www.bundeswettbewerb-informatik.de/fileadmin/templates/bwinf/ Aufgaben / bwinf35 / aufgaben352.pdf


5
Senza perdita di generalità, puoi concentrarti sul caso di un dag (grafico aciclico diretto). In un grafico diretto generale, scomporre in componenti fortemente collegati; quindi prenderai tutti i nodi in un componente o nessuno di essi; così puoi formare il meta-grafico (con un vertice per componente) e risolvere il problema sul meta-grafico.
DW

@DW, presumo tu abbia intenzione di ordinare topologicamente il DAG, ma non mi è chiaro quale sarà esattamente il tuo prossimo passo? Per ogni vertice nel meta-grafico per sommare il peso di tutti i suoi deceduti?
Eric_4

@Eric_, ahimè, non ho in mente un prossimo passo. Sto solo dicendo che se riesci a trovare un algoritmo per risolverlo per un DAG arbitrario, puoi usarlo per risolverlo per un grafico diretto arbitrario. Forse questo dà a qualcuno alcune idee su come affrontare il problema - o forse no. Non so come risolverlo da solo, temo.
DW

Risposte:


1

Il problema è risolvibile nel tempo polinomiale, suggerito in Lemma 1 del documento Complessità computazionale di alcuni problemi di peso medio massimo con vincoli di precedenza .

Fondamentalmente l'idea è di scrivere un programma lineare sulle variabili , dove se . La matrice di adiacenza firmata è totalmente unimodulare, quindi possiamo calcolare l'ottimale integrale.xi[0,1]xuxv0(u,v)E

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.