Maximizando os pesos das arestas da soma


9

Gostaria de saber se o seguinte problema tem um nome ou quaisquer resultados relacionados a ele.

Deixe G=(V,W) ser um gráfico ponderada onde W(você,v) indica o peso da aresta entre você e , e para todo , . O problema é encontrar um subconjunto de vértices que maximize a soma dos pesos das arestas adjacentes a eles: Observe que estou contando as arestas que estão dentro do subconjunto e fora do subconjunto, que é o que distingue esse problema do corte máximo. No entanto, mesmo se ambosu , v V w ( u , v ) [ - 1 , 1 ] max S V ( u , v ) : u S ou v S w ( u , v ) u v S ( u , v )vvocê,vVW(você,v)[-1 1,1 1]

maxSV(você,v):vocêS ou vSW(você,v)
vocêe estão em , eu só quero contar a aresta uma vez (em vez de duas), que é o que distingue o objetivo de ser apenas a soma dos graus.vS(você,v)

Observe que o problema é trivial se todos os pesos das arestas não forem negativos - basta pegar o gráfico inteiro!


Sua definição não corresponde à sua nota posteriormente sobre a não contagem de arestas duplicadas. Você está somando sobre pares ordenados ou subconjuntos de 2 elementos? (este último lhe daria o imóvel que você precisa, eu acho)
Suresh Venkat

11
Outra observação: os únicos pesos das arestas NÃO contados são aqueles dentro de V \ S. Você está interessado em resultados ou aproximações de dureza, porque no primeiro caso, minimizar a soma dos pesos das arestas dentro de S '= V \ S pode ser o problema mais natural .
Suresh Venkat

@ Suresh: A definição formal da pergunta está correta no que diz respeito à taxa de aproximação. Dá exatamente o dobro do que se espera das palavras.
Tsuyoshi Ito

@TsuyoshiIto: oh entendo, porque as arestas ao longo do corte também são contadas duas vezes.
precisa saber é o seguinte

11
O problema exato é difícil para NP porque, como Suresh escreveu em seu comentário, o problema é equivalente à programação quadrática irrestrita {0,1}, que é difícil para NP.
Tsuyoshi Ito

Respostas:


3

Não é realmente uma solução, mas algumas observações.

Este é um caso especial do seguinte problema: dado um universo e uma coleção de conjuntos S 1 , , S nU e uma função de peso w : U [ - 1 , 1 ] , encontre o conjunto I [ n ] tal que w ( i I S i )U={1,,m}S1,,SnUw:U[1,1]I[n]w(iISi)é maximizado (o peso de um conjunto é o peso total de seus elementos). Seu problema corresponde ao caso em que cada elemento de aparece exatamente em dois conjuntos (mas não sei como explorar essa restrição, embora possa ajudar).U

Esse é um problema de cobertura: semelhante ao Max-k-Set-Cover, mas sem a restrição de uso de sets e com pesos negativos permitidos. A aproximação gananciosa de Max-k-Set-Cover (em cada etapa gera o conjunto que tem o maior peso de elementos descobertos até agora) gera uma sequência de conjuntos, de modo que os primeiros k conjuntos sejam uma aproximação 1 + 1 / e à ideal (portanto, é uma aproximação simultânea para todos os k ). Infelizmente, como sempre, há um problema em analisá-lo quando os pesos podem ser negativos. A observação básica da análise do algoritmo guloso é que, se S 1 é o primeiro conjunto a ser produzido, então w (kk1+1/ekS1 ( O P T k é o peso máximo coberto por k conjuntos), porque O P T k é menor que a soma dos pesos dos k conjuntos na solução ideal e cada um deles eles têm peso menor que w ( S 1 ) . No entanto, com pesos negativos, não é mais verdade que O P T k é menor que a soma dos pesos na solução ideal. Em geral, um limite de união não é mais verdadeiro.w(S1)OPTk/kOPTkkOPTkkw(S1)OPTk


5

FWIW, é difícil aproximar seu problema com um fator multiplicativo de para qualquer ϵ > 0 .n1 1-ϵϵ>0 0

Mostramos isso abaixo, fornecendo uma redução de preservação de aproximação do Independent Set, pela qual a dureza da aproximação é conhecida.

Redução do conjunto independente

Seja o gráfico não direcionado uma instância do Conjunto Independente. Deixe d v significam o grau de vértice v em L . Deixe que n seja o número de vértices em L .G=(V,E)dvvGnG

Construa o gráfico ponderado pela aresta partir de G da seguinte maneira. Dê a cada aresta o peso E 1. Para cada vértice não isolado v V , adicione d v - 1 novas arestas, cada uma com peso - 1 , a d v - 1 novos vértices. Para cada vértice isolado v V , adicione uma nova aresta de peso 1 a um novo vértice.G=(V,E)GEvVdv11dv1vV

(Nota: cada novo vértice (em mas não G ) tem exatamente um vizinho, que está em G ).GGG

Lema. tem um conjunto independente de tamanho k, se G ' (como uma instância do seu problema) tem uma solução de valor pelo menos k .GkGk

Prova. Deixe- ser qualquer conjunto independente em G . Então, como os vértices em S são independentes em G , o valor de S em G (pelo seu objetivo) é v S d v - ( d v - 1 ) = | S | .SGSGSG

vSdv(dv1) = |S|.

Por outro lado, seja uma solução para G ' de valor pelo menos k . Sem perda de generalidade, suponha que S não contenha novos vértices. (Cada novo vértice v está em uma única aresta ( v , v ) . Se v não foi isolado em G , então o peso da aresta é - 1 , portanto, remover v de S aumenta o valor de S. Se v foi isolado, então o peso da borda é 1, removendo v SGkSv(v,v)vG1vSSvvde e a adição de v mantém o valor de S. )SvS

Sem perda de generalidade, assuma que é um conjunto independente em G . (Caso contrário, seja ( u , v ) uma aresta de modo que u e v estejam em S. O peso total das arestas incidentes de v em G é d v - ( d v - 1 ) = 1 , então o peso total de v 's incidente arestas diferente ( u , v ) é, no máximo a zero. Assim, a remoção vSG(u,v)uvSvGdv(dv1)=1v(u,v)vde não aumentaria o valor de S. )SS

Agora, pelo mesmo cálculo que no início da prova, o valor de é | S | . Segue-se que | S | k . QEDS|S||S|k

Como um aparte, você pode pedir uma aproximação aditiva de, digamos, ou ϵ m . O(n)ϵm

Parece-me possível que, para o seu problema, decidir se existe uma solução de valor positivo possa ser difícil para o NP.

Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.