Quelle est la difficulté d'une variante du puzzle Sudoku?

8

Sudoku est un puzzle bien connu qui est connu pour être NP-complet et c'est un cas spécial de problème plus général connu sous le nom de carrés latins. Une solution correcte du carré consiste à remplir chaque ligne et chaque colonne avec des nombres de à condition que chaque nombre apparaisse exactement une fois dans n'importe quelle ligne ou colonne.N×N1N

Je définis un nouveau problème. L'entrée est une solution correcte du puzzle Sudoku (plus généralement le problème du carré latin). Je voudrais décider s'il y a permutation de lignes et permutation de colonnes de sorte qu'aucune ligne et aucune colonne ne contiennent de triplets consécutifs.N×N

Un exemple pour une rangée sans triple consécutif est 9 5 6 2 3 8 4 7 1. Un exemple pour une rangée avec triple consécutif est 8 9 5 2 3 4 7 6 1. Le triple est 2 3 4.

Je soupçonne que le problème est NP-difficile mais je n'ai pas pu trouver de réduction.

À quel point est-il difficile de résoudre cette variante du puzzle Sudoku? Est-il NP-complet?

EDIT : Pour clarifier, la même permutation doit être appliquée aux colonnes et aux lignes.

Mohammad Al-Turkistany
la source
1
Juste une information: pour les carrés latins, avez-vous un exemple simple où une telle permutation n'existe pas?
Vor
Pourquoi l'entrée est-elle une grille correcte? Les permutations changeront cette propriété.
saadtaame
@saadtaame Notez que l'entrée est une solution correcte du problème du carré latin et non du problème que j'ai défini ci-dessus.
Mohammad Al-Turkistany
Oui, pourquoi faut-il que ce soit une solution correcte du carré latin?
saadtaame
@saadtaame car toutes les lignes et les colonnes du carré d'entrée ne sont que des permutations libres à virgule fixe des nombres de 1 à N.
Mohammad Al-Turkistany

Réponses:

4

Lorsque les permutations de lignes et de colonnes sont différentes et que les triplets consécutifs doivent augmenter: la réponse est toujours OUI.

Supposons que la matrice ait une taille N×N. Considérons une permutation aléatoire des colonnes. Chaque ligne (en elle-même) est une permutation aléatoire. La probabilité que les chiffresi,i+1,i+2 apparaître dans des positions t,t+1,t+2 est 1/(N(N1)(N2)). Il y aN2 choix pour t et i, et Ndifférentes lignes. Par conséquent, le nombre attendu de triplets consécutifs estN(N2)2/(N(N1)(N2))<1. Nous concluons qu'il y a une certaine permutation des colonnes, sous laquelle il n'y a pas de triplets consécutifs dans aucune des lignes. Répétez maintenant le même argument pour les colonnes - notez que permuter les lignes ne peut créer un triple consécutif dans aucune d'entre elles.

Lorsque les permutations de ligne et de colonne sont les mêmes, et que les triplets consécutifs peuvent être soit croissants soit décroissants: la réponse est toujours OUI, pour assez grand N.

L'idée est d'utiliser la version déséquilibrée du lemme local de Lovász , via l'article de Lu et Székely Utilisation du lemme local de Lovász dans l'espace des injections aléatoires . Dans la preuve précédente, nous avons considéré les événementsX,i,t,σ pour σ{±1}, qui pour une ligne (une ligne ou une colonne), indiquez que (i+σδ)=t+δ pour δ{0,1,2}. Ce sont des exemples des événements canoniques considérés par Lu et Székely: si la permutation aléatoire (permutant à la fois les lignes et les colonnes) estπ, alors ils sont de la forme π(t)=j0,π(t+1)=j1,π(t+2)=j2, où jδ=1(i+σδ). Deux événementsX,i,t,σ,X,i,t,σ conflit si{t,t+1,t+2}{t,t+1,t+2} ou {j0,j1,j2}{j0,j1,j2}(ce n'est en fait qu'une condition nécessaire). Chaque événement entre en conflit avec au plus2N2251=40N1 d'autres évènements (2Nlignes, deux orientations, deux modes de conflit, cinq positions conflictuelles). Alors que les événements non conflictuels sont généralement dépendants, en utilisant la version déséquilibrée du lemme local de Lovász, nous pouvons ignorer cela et laisser notre graphique de dépendance inclure des bords uniquement pour les événements conflictuels. Étant donné que la probabilité que chaque événement se produise estp=1/(N(N1)(N2)) et la taille de chaque quartier est d40N1, le lemme s'applique chaque fois ep(d+1)1, C'est

40eNN(N1)(N2).
Cette condition est remplie pour N12. Nous concluons que pourN12, la permutation requise existe toujours. En utilisant la récente version constructive de LLL, nous pouvons même la trouver efficacement.
Yuval Filmus
la source
Merci pour votre réponse. Avez-vous appliqué la même permutation sur les lignes et les colonnes?
Mohammad Al-Turkistany
Non, j'applique d'abord une bonne permutation sur les colonnes, puis une bonne permutation sur les lignes. Aucune raison pour qu'ils soient les mêmes.
Yuval Filmus
Désolé de ne pas avoir été clair dans ma question. Je veux une seule permutation qui soit appliquée aux lignes et aux colonnes simultanément.
Mohammad Al-Turkistany
2
Voici ce que vous avez écrit: "décidez s'il y a permutation de lignes et permutation de colonnes telles que ...".
Yuval Filmus
Désolé encore de ne pas avoir été clair dans ma question. Si cela ne vous dérange pas, je vais modifier la question pour la clarifier.
Mohammad Al-Turkistany