Quelle est la difficulté du puzzle binaire Sudoku?

12

Sudoku est un puzzle bien connu qui est NP-complet. Le Sudoku binaire est une variante qui n'autorise que les chiffres et 1 . Les règles sont les suivantes.01

  1. Chaque ligne et chaque colonne doit contenir un nombre égal de zéros et de uns.
  2. Chaque ligne et chaque colonne est unique.
  3. Aucune ligne ou colonne ne contient de triplets consécutifs de zéros ou de uns ( est un triple consécutif de uns).111

L'entrée est un carré partiellement rempli de zéros et de uns. Pour résoudre le casse-tête, chaque cellule du carré N × N doit être remplie par 0 ou 1 tout en respectant les règles ci-dessus. Je n'ai pas pu trouver de résultat d'intractabilité pour résoudre le puzzle de Sudoku binaire.N×NN×N01

Quelle est la difficulté à résoudre le puzzle Sudoku binaire? Est-il NP-complet?

Je m'intéresse également à la complexité d'un problème connexe.

Étant donné un carré entièrement rempli qui ne respecte que les règles 1 et 2 ci-dessus,N×N

est-il difficile de trouver une permutation de lignes et de colonnes telle que le carré résultant respecte la règle 3?

Mohammad Al-Turkistany
la source
Ce n'est pas le même problème, donc je laisserai cela comme un commentaire plutôt qu'une réponse, mais il y a un résultat de dureté NP pour les sous-problèmes à un chiffre du type standard de puzzle Sudoku dans mon article arxiv.org/abs/1202.5074
David Eppstein
1
En tant qu'auteur d'une application de puzzle binaire (ce problème), je peux vous offrir une observation (pas une preuve): toutes les instances de ce puzzle vu dans la pratique peuvent être résolues en temps polynomial, mais il y a des instances qui ne semblent pas résolubles de cette façon, à savoir exactement les cas où vous atteignez un état où aucune des trois règles ne force directement une cellule à prendre une valeur spécifique (c'est-à-dire qu'il semble que vous devez "essayer quelque chose" et peut-être revenir en arrière jusqu'à ce point).
harold
Hé, j'ai essayé de créer des programmes pour résoudre des puzzles binaires, sauf que j'ai du mal à terminer les puzzles binaires très durs et j'aurais besoin d'un indice pour le résoudre. Mon programme peut facilement faire tous les problèmes binaires sauf les très difficiles

Réponses:

14

EDIT : J'ai rapidement complété la preuve amateur que j'ai commencé il y a quelques mois et que je n'ai jamais terminé.

Vous pouvez le télécharger au format PDF sur mon blog ... personne ne l'a encore vérifié, donc réfutations, commentaires et suggestions sont les bienvenus.


Je ne sais pas s'il existe une preuve officielle, mais il y a quelques mois, j'ai construit les gadgets pour imiter une formule planaire 3-CNF; par exemple, les gadgets OR, SPLIT et TURN sont:

entrez la description de l'image ici

J'ai construit / vérifié les gadgets à l'aide d'un simple programme de résolution de contraintes.

L'unicité de chaque ligne / colonne (règle 2) peut être obtenue en les marquant avec un "nombre binaire" unique en utilisant un bloc 2x2 qui agit comme un "chiffre":

01 = 0   10 = 1
10       01

Et le nombre égal de 1 et de 0 (règle 3) peut être obtenu en reflétant l'ensemble du puzzle et en inversant les 0 avec des 1 (en utilisant des murs spéciaux au milieu qui permettent la transition sans enfreindre les règles):

  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
la source
Je suppose que vous voulez dire un circuit plan SAT?
Mohammad Al-Turkistany
Je veux dire Planar type 1 3CNF (le graphe bipartite entre les clauses 3CNF et les variables est plan). Un gadget est utilisé pour simuler une affectation T / F, un autre est utilisé pour forcer un T sur chaque clause, 2 gadgets OR sont utilisés pour simuler les deux OR de chaque clause et le SPLIT pour diviser et "transporter" le signal des affectations aux clauses. Maintenant, j'essaie de terminer le document, dès que je l'aurai terminé, je posterai le lien dans la réponse.
Marzio De Biasi
Ainsi, vous réduisez le problème SAT monotone bipartite cubique planaire NP-complet 1-en-3. droite?
Mohammad Al-Turkistany
Non, "type 1" signifie la formule planaire 3CNF particulière utilisée (il y a une légère différence entre le type 1 et le type 2). J'ai utilisé une réduction similaire pour prouver l' exhaustivité NP du jeu de puzzle Tent ; vous pouvez jeter un œil à ce document, mais je pense que dans un à deux jours, je publierai une preuve complète du problème du sudoku binaire - alias puzzle binaire (je viens de terminer les instantanés des gadgets) (et j'espère que vous '' Je vais y jeter un œil pour voir si ça marche vraiment :-)
Marzio De Biasi
Bonne chance, j'ai hâte.
Mohammad Al-Turkistany