Il problema di backup NP-complete è completo?


9

Il seguente problema decisionale è NP-completo:

Sia un grafico non indirizzato e due numeri interi. È possibile selezionare per ogni vertice di esattamente diversi vicini in modo tale che nessun nodo sia scelto più di volte.GbcGbc

Il caso può essere risolto per qualsiasi in tempo polinomiale usando la corrispondenza massima.b=1c

Motivazione: ogni nodo desidera posizionare i backup su diversi vicini, ma ogni nodo ha solo la capacità di archiviare i backup .bc

Risposte:


11

Penso che il seguente sia un algoritmo del tempo polinomiale basato sul flusso massimo. Sia l'input.G(V,E),b,c

  • Costruire un diretto grafo bipartito con L e R essendo le pareti sinistra e destra e F essendo i bordi rivolti da L a R .H(L,R,F)LRF LR
  • Let . Ci sono n vertici in L e n vertici in R .|V|=nnLnR
  • Ogni vertice ha una "copia" in L (diciamo v l ) e una copia in R (diciamo v r ).vVLvlRvr
  • Se aggiungi un bordo diretto da u l a v r . Ciascuno di questi bordi ha una capacità 1.(u,v)Eulvr
  • Aggiungere un nodo "sorgente" ed aggiungere archi orientati da s ad ogni vertice in L . Ciascuno di questi bordi ha una capacità b .ssLb
  • Aggiungi un nodo "sink" e aggiungi bordi diretti da ciascun vertice in R a t . Ciascuno di questi bordi ha una capacità c .tRtc
  • Trova il flusso massimo da a t .st

Il dato grafico ha una soluzione se e solo se il flusso massimo calcolato sopra satura tutti i bordi da s a L , ovvero, il flusso su ogni bordo da s a L è uguale a b .GsLsLb


7
In effetti, questa è esattamente la soluzione prevista quando lo assegno come un problema di compiti a casa.
Jeffε,
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.