O problema do backup está NP-completo?

9

O seguinte problema de decisão é NP-completo:

Seja um gráfico não direcionado e dois inteiros. É possível selecionar para cada vértice de exatamente vizinhos diferentes, de modo que nenhum nó seja escolhido mais que vezes.Gbcb cGbc

O caso pode ser resolvido para qualquer em tempo polinomial usando a correspondência máxima.cb=1c

Motivação: cada nó deseja colocar backups em vizinhos diferentes, mas cada nó tem apenas capacidade para armazenar backups.cbc

Volker Turau
fonte

Respostas:

11

Eu acho que o seguinte é um algoritmo de tempo polinomial baseado no fluxo máximo. Seja a entrada.G(V,E),b,c

  • Construir um grafo orientado bipartido com e sendo as partições esquerdas e direitas e sendo as arestas dirigidas a partir de a .L R F L RH(L,R,F)LRF LR
  • Vamos . Existem vértices e vértices em .n L n R|V|=nnLnR
  • Cada vértice possui uma "cópia" em (digamos ) e uma cópia em (digamos ).L v l R v rvVLvlRvr
  • Se adicione uma aresta direcionada de a . Cada uma dessas arestas tem capacidade 1.u l v r(u,v)Eulvr
  • Adicionar um nó "fonte" e adicionar bordas dirigidas de para cada vértice em . Cada uma dessas arestas tem capacidade .s L bssLb
  • Adicione um nó "afundar" adicione arestas direcionadas de cada vértice em a . Cada borda desse tipo tem capacidade .R t ctRtc
  • Encontre o fluxo máximo de a .tst

O gráfico dado tem uma solução se e somente se o fluxo máximo calculado acima saturar todas as arestas de a , ou seja, o fluxo em todas as arestas de a é igual a .s L s L bGsLsLb

Shiva Kintali
fonte
7
De fato, essa é precisamente a solução pretendida quando atribuo isso como um problema de lição de casa.
Jeffε 27/11