Digamos que eu tenha um gráfico ponderado tal que seja a função de ponderação - observe que pesos negativos são permitidos.
Digamos que define uma propriedade de qualquer subconjunto dos vértices . S ⊂ V
Pergunta: Quais são alguns exemplos interessantes de s para os quais o problema de maximização: pode ser executado em tempo polinomial?
Por exemplo, a função de corte do gráfico
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 estar apenas codificando alguma outra função com um domínio de tamanho polinomial, preenchendo-o no domínio (ou seja, eu não quero que exista um pequeno domínio e alguma função conhecido antes de olhar para o gráfico de tal modo que a função de interesse é realmente , e 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.
fonte
Respostas:
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) u∈S v∈S
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.
fonte
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)=1 v∈S V∖S f(S)=0 f(S)=1
fonte
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.)f S G |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| X S V∖S
fonte
Conjunto independente máximo.
fonte