Qual é a variação seguinte na capa do conjunto conhecida como?
Dado um conjunto S, uma coleção C de subconjuntos de S e um número inteiro positivo K, existem conjuntos de K em C de modo que cada par de elementos de S esteja em um dos subconjuntos selecionados.
Nota: Não é difícil ver que esse problema é NP-Completo: Dado um problema normal de cobertura do conjunto (S, C, K), faça três cópias de S, digamos S ', S' 'e S' '', então crie seus subconjuntos como S '' ', | S | subconjuntos do formulário {a '} U {x em S' '| x! = a} U {a ''}}, | S | subconjuntos do formulário {a ''} U {x em S '| x! = a} U {a '' '}, {a', a '' | a em C_i}. Então, podemos resolver o problema da tampa do conjunto com subconjuntos K, se pudermos resolver o problema da tampa do par com K + 1 + 2 | S | subconjuntos.
Isso generaliza para triplos, etc. Eu gostaria de não desperdiçar meia página para provar isso, e provavelmente não é óbvio o suficiente para ser considerado trivial. Certamente é bastante útil que alguém tenha provado isso, mas não tenho idéia de quem ou onde.
Além disso, existe um bom lugar para procurar resultados de NP-Completeness que não estejam em Garey e Johnson?
Parece que você está generalizando a cobertura do conjunto para considerar não apenas elementos de S, mas todos os subconjuntos tamanho S. de S. Podemos afirmar o problema de maneira mais geral:
"Dado um conjunto S, uma coleção C de subconjuntos de S e um número inteiro positivo m, qual é o menor número de elementos de C, de modo que cada subconjunto tamanho-M de S esteja em um dos elementos selecionados de C?"
Isso realmente me parece uma generalização bastante óbvia da cobertura do set, e não uma que você precisaria gastar tempo provando NP-complete além de uma única linha. Afinal, escolher m = 1 recupera o problema de capa do conjunto original. Talvez essa formulação mais geral seja boa o suficiente para seus propósitos, para evitar a necessidade de entrar nos detalhes?
Sua pergunta sobre um conjunto atualizado de resultados de completude de NP é boa e merece sua própria pergunta. Crescenzi e Kann reuniram um compêndio útil online aqui .
Segundo, é pouco difundido, mas o Manual de Projeto de Algoritmos de Steven Skiena é frequentemente uma primeira parada útil para um grande número de problemas e está disponível online em parte .
fonte