Funções interessantes em gráficos que podem ser eficientemente maximizados.

10

Digamos que eu tenha um gráfico ponderado G=(V,E,w) tal que seja a função de ponderação - observe que pesos negativos são permitidos.w:E[1,1]

Digamos que define uma propriedade de qualquer subconjunto dos vértices . S Vf:2VRSV

Pergunta: Quais são alguns exemplos interessantes de s para os quais o problema de maximização: pode ser executado em tempo polinomial?fargmaxSVf(S)

Por exemplo, a função de corte do gráfico

f(S)=(u,v)E:uS,vSw((u,v))
é uma propriedade interessante dos subconjuntos de vértices, mas não pode ser maximizado com eficiência. A função de densidade da aresta é outro exemplo de uma propriedade interessante que, infelizmente, não pode ser maximizada com eficiência. Estou procurando funções igualmente interessantes, mas que possam ser maximizadas com eficiência.

Vou deixar a definição de "interessante" um tanto vaga, mas quero que o problema de maximização não seja trivial. Por exemplo, não é possível determinar a resposta sem examinar as bordas do gráfico (portanto, funções constantes e a função de cardinalidade não são interessantes). Também não deve ser o caso de f estar apenas codificando alguma outra função com um domínio de tamanho polinomial, preenchendo-o no domínio 2V (ou seja, eu não quero que exista um pequeno domínio X e alguma função m:2SX conhecido antes de olhar para o gráfico de tal modo que a função de interesse é realmente g:XR , e f(S)=g(m(S)) Se for esse o caso, o problema da "maximização" é realmente apenas uma questão de avaliar a função em todas as entradas.)

Edit: É verdade que, às vezes, os problemas de minimização são fáceis se você ignorar os pesos das bordas (embora não minimize a função de corte, pois eu permito pesos negativos nas bordas). Mas estou explicitamente interessado em problemas de maximização. Porém, isso não se torna um problema de problemas naturais ponderados.

Aaron Roth
fonte
Você tem um exemplo dessa função?
Yaroslav Bulatov
Não, daí a questão. :-)
Aaron Roth
Ah ok. Minha impressão de que uma função que pode ser maximizada com eficiência para todos os gráficos deve ser desinteressante. Mas pode haver funções interessantes que podem ser maximizadas eficientemente para conjuntos restritos de gráficos. Por exemplo, para grafos planares, algumas funções interessantes podem ser eficientemente maximizada, enquanto outras funções interessantes ainda não tem um algoritmo eficiente
Yaroslav Bulatov
Ficaria feliz em ver respostas sobre os resultados de classes restritas de gráficos se não conseguirmos pensar em nenhuma função interessante que possa ser maximizada em todos os gráficos.
Aaron Roth
Isso não deveria ser CW? Podemos gerar arbitrariamente muitos exemplos, e se esses são "interessantes" são subjetivos.
Jukka Suomela

Respostas:

5

Sempre que conta o número de arestas satisfazem algum predicado booleano definido em termos de e , o que você escreveu é apenas um 2-CSP booleano. A função objetivo pede para maximizar o número de cláusulas satisfeitas em todas as atribuições para as variáveis. Sabe-se que é NP-hard e o limite exato de dureza também é conhecido assumindo UGC (consulte Raghavendra'08).( u , v ) u S v Sf(S)(u,v)uSvS

Existem muitos exemplos positivos naturais quando você deseja maximizar subconjuntos de arestas, por exemplo, a correspondência máxima é um exemplo de um problema de tempo polinomial nesse caso.

Moritz
fonte
Essa é uma boa observação que exclui muitos problemas naturais desse tipo.
Aaron Roth
2

Divisória temática / 2 cores fracas.

(Neste caso, se cada v S tiver um vizinho em V S e vice-versa. Caso contrário, f ( S ) = 0. Uma solução com f ( S ) = 1 sempre existe se não houver isolado. nós e pode ser encontrado facilmente em tempo polinomial.)f(S)=1vSVSf(S)=0f(S)=1

Jukka Suomela
fonte
1

Corte mínimo (especificamente, corte de vértice).

(Nesse caso, seria algo como isto: 0 se a remoção dos nós no conjunto S não particionar G em pelo menos dois componentes e | V | - | S | caso contrário. Maximizar f é equivalente a encontrar um corte mínimo , o que pode ser feito em tempo polinomial.)fSG|V||S|f

Você também pode definir uma função semelhante que corresponda a cortes mínimos nas bordas.

(Por exemplo, é 0 se S = ou S = V ; caso contrário, é | E | - | X | , onde X é o conjunto de arestas que possuem um ponto final em S e o outro ponto final em V S. )f(S)S=S=V|E||X|XSVS

Jukka Suomela
fonte
Ok, mas esse é um problema de minimização disfarçado, que tende a ser mais fácil quando você ignora os pesos das arestas. (Observe que se você levar em consideração os pesos das arestas, uma vez que eu especifique que podemos ter pesos negativos, o min-cut também é um problema difícil). Vou tentar editar a pergunta para enfatizar esse ponto.
Aaron Roth
1

Conjunto independente máximo.

f(S)SSVSSSf(S)=|V|

Jukka Suomela
fonte
Como você encontra o conjunto independente máximo no tempo polinomial?
Yaroslav Bulatov 9/10/10
11
@Yaroslav: avidamente.
Jukka Suomela 9/10/10
@Yaroslav: Dica - a diferença entre máximo e máximo é enorme. ;-)
Ross Snider