O problema "Menos bits discriminantes" está NP-completo?


14

Esse é um nome que eu inventei para esse problema. Eu nunca vi isso descrito em nenhum lugar antes. Ainda não consegui encontrar uma prova de completude de NP nem um algoritmo de tempo polinomial para esse problema. Não é um problema de lição de casa - está relacionado a um problema que encontrei no meu trabalho.

POBRES MAIS DISCRIMINANTES

INSTANCE: Um conjunto T contendo vetores de bits, onde cada vetor de bit tem exatamente N bits de comprimento. Cada elemento de T é único, como seria de esperar de um conjunto de matemática. Um número inteiro K <N.

PERGUNTA: Existe um conjunto B na maioria das posições de K bits (ou seja, números inteiros no intervalo [0, N-1]), de modo que, quando removemos todos os bits, exceto aqueles em B, de cada vetor em T, os demais vetores menores são todos ainda é único?

Exemplo 1: Para a instância N = 5, T = {00010, 11010, 01101, 00011}, K = 2, a resposta é sim, porque podemos selecionar as posições de bits B = {0,3}. Usando a convenção de que a posição do bit 0 é a mais à direita e os números da posição do bit aumentam da direita para a esquerda, removendo todas as posições de bits, exceto aquelas em B dos vetores em T, deixa T '= {00, 10, 11, 01}, e esses são todos únicos.

Exemplo 2: N = 5, T = {00000, 00001, 00010, 00100}, K = 2. A resposta é não, porque, independentemente de quais posições de dois bits selecionamos, nenhum dos vetores de 2 bits será igual a 11; portanto, pelo menos dois dos vetores de 2 bits serão iguais um ao outro.

Naturalmente, podemos resolver esse problema enumerando todos os subconjuntos (N, escolha K) com o tamanho K das posições de bits N e determinando quais satisfazem a condição da pergunta. No entanto, isso é exponencial no tamanho da entrada.


1
Relacionado: Teorema de Bondy .
Aryabhata

Respostas:


18

Este problema está NP-completo. Uma prova baseada na redução do 3-SAT é a seguinte:

Considere uma instância de 3-SAT com variáveis ​​e cláusulas m . Construiremos 2 vetores de bits n + 2 m ("linhas") de comprimento 2 n + log 2nm2n+2m , de modo que o menor número de bits discriminantes seja n + log 2 ( n + m ) se a instância 3-SAT original for satisfatória.2n+registro2(n+m)n+registro2(n+m)

Os primeiros bits de corresponderão aos literais { x 1 , ¬ x 1 , x 2 , ¬ x 2 , . . . , X n , ¬ x n } . Com relação a esses bits, as duas primeiras linhas de 2 m virão em pares, a primeira das quais terá 1 para cada literal incluído na cláusula correspondente e a segunda das quais consistirá inteiramente de 0 's. Os restantes 2 n2n{x1,¬x1,x2,¬x2,...,xn,¬xn}2m10 02nlinhas também virão em pares, o primeiro dos quais terá 's para o literal correspondente e sua negação, e o segundo dos quais consistirá inteiramente de 0 ' s. Finalmente, os últimos log 2 ( n + m ) bits serão usados ​​para "assinar" cada par de linhas com seu índice, de 0 a n + m - 1 , escrito em binário.10 0registro2(n+m)0 0n+m-1

Para distinguir cada linha "literal" de seu sucessor, o bit correspondente a esse literal ou o bit correspondente à sua negação deve ser retido. Além disso, para discriminar entre as linhas "zero + índice", todos os bits de índice log 2 ( n + m ) must devem ser retidos. O número mínimo possível de bits discriminantes é, portanto, n + log 2 ( n + m ) n+mregistro2(n+m)n+registro2(n+m). Finalmente, para distinguir cada linha da "cláusula" de seu sucessor, pelo menos um dos três bits correspondentes aos literais incluídos nessa cláusula deve ser retido. Se a instância 3-SAT é satisfiable, esta última condição não vai exigir qualquer bits extras (em particular, não precisamos de reter os bits correspondentes a ambos e ¬ x i para qualquer i + log 2 ( n + m ) bits que discriminam entre todos os vetores de 2 n + 2 m bits, eles deverão conter exatamente um dosxEu¬xEuEu); e, inversamente, se houver n+registro2(n+m)2n+2m e ¬ x i para cada i , e, portanto, corresponde a uma atribuição de satisfazer de valores lógicos para os n variáveis.xEu¬xEuEun


Obrigado! Inteligente e simples de ver ele preserva sim respostas (OK, eu tinha que pensar nisso por pelo menos 20 minutos antes que eu pudesse dizer isso.)
andy_fingerhut

14

Embora já seja fornecida uma prova de completude do NP , vale a pena ressaltar que esse problema é equivalente a um problema completo do NP conhecido chamado problema mínimo do conjunto de testes ([SP6] em Garey e Johnson , também chamado de coleta mínima de testes problema ): apenas troque o papel dos sets e o papel das posições.


2
ah ponto excelente.
Suresh Venkat

@Tsuyoshi Ito: O problema mínimo da coleta de testes é NP-completo. Estou curioso sobre o conjunto mínimo de testes , qual é a complexidade? Quero dizer, qual é a maior cardinalidade de qualquer coleção mínima de testes.
Peng Zhang
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.