O problema do conjunto de acertos (HS) é definido como segue. Seja $ (C, k $)

  • $ C = \ {S_1, S_2, …, S_m \} $ coleção de subconjunto de S, ou seja, $ S_i \ subseteq S, \ forall i $
  • $ k \ in \ mathbb {N} $

Queremos saber se existe $ {S} “\ subset S $ onde $ | {S} “| < k $ de modo que $ S_i \ cap S “\ neq \ emptyset $, $ i = 1,2, …, m. $

Prove que HS é Np-Completo.

Dica : Quando $ | S_i | = 2 $, HS torna-se cobertura de vértices, já sabe que está NP-completa.

Comentários

  • O que você tentou? Onde você empacou? ' Ficamos felizes em ajudá-lo a entender os conceitos, mas é improvável que você consiga apenas resolver os exercícios. Você pode encontrar esta página é útil para melhorar sua pergunta.

Resposta

3SAT é reduzido para acerto Defina o problema. Dado um 3SAT $ \ phi $ tendo $ m $ cláusulas e $ n $ variáveis, defina

$$ S = \ {x_1, \ dots x_n, \ overline {x_1}, \ dots, \ overline {x_n} \} $$ $$ S_i = \ {y_1, y_2, y_3 \}, \ text {if} y_1, y_2, y_3 \ in S \ text {e} (y_1 \ lor y_2 \ lor y_3) \ text {é uma cláusula.} $$ $$ S_x = \ {x, \ overline {x} \}, \ text {para todos variável} x. $$ $$ k = n $$

Suponha que $ \ phi $ seja satisfatório, então há uma atribuição de valor verdadeiro para $ n $ variáveis. Portanto, adicione $ x $ a $ S “$ se $ x = true $, caso contrário, adicione $ \ overline {x} $ a $ S” $.

Agora, suponha que o problema de HS tenha uma solução $ S “$. Então, como para cada variável $ x $, $ S” \ cap S_x \ neq \ emptyset $, $ S “$ tem pelo menos $ n $ literais na forma $ x $ ou $ \ overline {x} $ para cada variável $ x $. Além disso, nenhum $ x $ e $ \ overline {x} $ pode pertencer a $ S “$ ao mesmo tempo, uma vez que o tamanho de $ S” $ é no máximo $ n $. Além disso, para cada cláusula $ C_i $, $ S “\ cap S_i \ neq \ emptyset $ e então para cada cláusula nós selecionamos $ y_i \ in S” \ cap S_i $, e definimos $ x = true $ se $ y_i = x $ e $ x = false $ if $ y_i = \ overline {x} $.

Comentários

  • você pode mostrar uma instância positiva e uma negativa?

Resposta

É fácil mostrar que acertar Set está em NP. Uma solução só precisa exibir o conjunto H – pode-se verificar facilmente em tempo polinomial se H é do tamanho ke intercepta cada um dos conjuntos B1,…, Bm.

Nós reduzimos da cobertura do vértice. Considere uma instância do vértice problema de cobertura – gráfico G = (V, E) e um número inteiro positivo k. Nós o mapeamos para uma instância do problema do conjunto de acertos como segue. O conjunto A é o conjunto de vértices V. Para cada aresta e ∈ E, temos um conjunto Se consistindo nos dois pontos finais de e. É fácil ver que um conjunto de vértices S é uma cobertura de vértice de G se os elementos correspondentes formam um conjunto de acerto na instância do conjunto de acerto.

Comentários

  • Bem-vindo ao ComputerScience @ SE. Uso interessante do símbolo especial – é comum usar MathJax, permitindo, por exemplo, subscrições adequadas: $ B_1, \ dots, B_m $.
  • e se tamanho de Se é maior que 2? Funcionará?

Resposta

O problema do conjunto de acertos é equivalente ao problema do conjunto de cobertura, que é definido como segue:

INPUT: uma coleção C de subconjuntos de um conjunto finito S.

SOLUÇÃO: Um conjunto de cobertura para S, ou seja, um subconjunto $ C “\ subseteq C $ such que cada elemento em S pertence a pelo menos um membro de $ C “$.

Dado $ k $ existe um conjunto que cobre $ C” $ tal que $ \ vert C “\ vert \ leq k $?

Isso parece um dever de casa, então deixo você descobrir como, dada uma instância de Set Cover, você pode convertê-la em uma instância equivalente de Hitting Set.

Caso contrário, se você deseja seguir a dica, você primeiro mostra que Hitting Set in em $ NP $, que é dada uma solução que você pode verificar em tempo polinomial.

Então, você mostra que dado um gráfico $ G = (V, E) $, encontrar uma cobertura de vértice de tamanho $ k $ é equivalente a encontrar um conjunto de acerto de tamanho $ k $. Ou seja, se $ | E | = m $, você pode construir uma instância de conjunto de acerto com a mesma quantidade de conjuntos.

Deixe uma resposta

O seu endereço de email não será publicado. Campos obrigatórios marcados com *