Quão difícil é o quebra-cabeça binário de Sudoku?

12

Sudoku é um quebra-cabeça conhecido que é NP-completo. O Sudoku binário é uma variante que permite apenas os números e 1 . As regras são as seguintes.01

  1. Cada linha e cada coluna deve conter um número igual de zeros e uns.
  2. Cada linha e cada coluna é única.
  3. Nenhuma linha ou coluna contém triplos consecutivos de zeros ou uns ( é um triplo consecutivo de um).111

A entrada é um quadrado parcialmente preenchido com zeros e uns. Para resolver o enigma, cada célula do N × N praça deve ser preenchido por um ou outro 0 ou 1 , respeitando as regras acima. Não consegui encontrar nenhum resultado intratável para resolver o quebra-cabeça do Binary Sudoku.N×NN×N01

Quão difícil é resolver o quebra-cabeça do Sudoku Binário? É NP-completo?

Além disso, estou interessado na complexidade de um problema relacionado.

Dada uma totalmente preenchido quadrado que governa os aspectos apenas 1 e 2 acima,N×N

quão difícil é encontrar uma permutação de linhas e colunas de modo que o quadrado resultante respeite a regra 3?

Mohammad Al-Turkistany
fonte
Não é o mesmo problema, então deixarei isso como um comentário e não como uma resposta, mas há um resultado de dureza NP para subproblemas de um dígito do tipo padrão de quebra-cabeça Sudoku no meu artigo arxiv.org/abs/1202.5074
David Eppstein 23/03
1
Como autor de um aplicativo de quebra-cabeça binário (esse problema), posso oferecer uma observação (não uma prova): todas as instâncias desse quebra-cabeça vistas na prática podem ser resolvidas em tempo polinomial, mas há instâncias que parecem não ser solucionáveis Dessa forma, ou seja, exatamente aquelas instâncias em que você atinge um estado em que nenhuma das três regras força diretamente uma célula a receber um valor específico (ou seja, parece que você precisa "tentar algo" e talvez voltar a esse ponto).
harold
Ei, eu tenho tentado criar programas para resolver quebra-cabeças binários, exceto que tenho dificuldade em concluir os quebra-cabeças binários muito difíceis e precisaria de uma dica para resolvê-lo. Meu programa pode facilmente fazer todos os problemes binários, exceto os muito duros

Respostas:

14

Edição : Eu rapidamente completei a prova amadora de que comecei há alguns meses e nunca terminei.

Você pode baixá-lo em formato PDF no meu blog ... ninguém o verificou ainda, portanto, refutações, comentários e sugestões são bem-vindos.


Não sei se há uma prova oficial, mas alguns meses atrás eu construí os aparelhos para imitar uma fórmula planar de 3-CNF; por exemplo, os gadgets OR, SPLIT e TURN são:

insira a descrição da imagem aqui

Eu construí / verifiquei os gadgets usando um programa simples de resolução de restrições.

A exclusividade de cada linha / coluna (regra 2) pode ser alcançada marcando-os com um "número binário" exclusivo, usando um bloco 2x2 que age como um "dígito":

01 = 0   10 = 1
10       01

E o número igual de 1s e 0s (regra 3) pode ser alcançado espelhando todo o quebra-cabeça e invertendo os 0s com 1s (usando paredes especiais no meio que permitem a transição sem violar as regras):

  3CNF simulation    |  wall  | 3CNF sim. with  | 0000 (using 2x2 blocks)
                     |        | 0,1 inverted    | 0001
 --------------------+        +-----------------+ 0010
    wall                        wall            | ....
 --------------------+        +-----------------+ ....
  3CNF sim. with     |  wall  | 3CNF simulation |
  0,1 inverted       |        |                 |
 --------------------+--------+-----------------+
 0101 .... (using 2x2 blocks)
 0011 ....
 0000 ....

N×N

{0,1,}N×N

Marzio De Biasi
fonte
Eu acho que você quer dizer circuito planar SAT?
Mohammad Al-Turkistany 24/03
Quero dizer Planar tipo 1 3CNF (o gráfico bipartido entre as cláusulas e as variáveis ​​3CNF é planar). Um dispositivo é usado para simular uma atribuição de T / F, outro é usado para forçar um T em cada cláusula, 2 dispositivos OU são usados ​​para simular os dois ORs de cada cláusula e o SPLIT para dividir e "transportar" o sinal das atribuições para as cláusulas. Agora estou tentando concluir o artigo, assim que terminar, postarei o link na resposta.
Marzio De Biasi 24/03
Então, você está reduzindo do problema 1-em-3 SAT monótono bipartido cúbico planar NP-completo. certo?
Mohammad Al-Turkistany 24/03
Não, "tipo 1" significa a fórmula 3CNF planar específica usada (há uma pequena diferença entre o tipo 1 e o tipo 2). Usei uma redução semelhante para provar a completude do jogo de quebra-cabeça Tent ; você pode dar uma olhada nesse artigo, mas acho que em 1 a 2 dias publicarei uma prova completa do problema do sudoku binário - também conhecido como quebra-cabeça binário (acabei de concluir as capturas de tela dos gadgets) (e espero que você ' vou dar uma olhada para ver se ele realmente funciona :-)
Marzio de Biasi
Boa sorte, mal posso esperar.
Mohammad Al-Turkistany 25/03