Determinar si dos tableros de Sudoku están en la misma clase de equivalencia

Considera lo siguiente 9 × 9 tablero de sudoku

963 174 258
178 325 649
254 689 731
           
821 437 596
496 852 317
735 961 824
         
589 713 462
317 246 985
642 598 173

y el siguiente tablero de Sudoku parcialmente lleno

.6. 1.4 .5.
2.. ... ..1
..8 3.5 6..
         
8.. 4.7 ..6
..6 ... 3..
7.. 9.1 ..4
         
5.. ... ..2
.4. 5.8 .7.
..7 2.6 9..

La tarea es averiguar si están en la misma clase de equivalencia .

Los tableros de Sudoku se cierran según las siguientes operaciones :

  • Símbolos de reetiquetado (¡9!)
  • Permutaciones de bandas (¡3!)
  • Permutaciones de fila dentro de una banda ( 3 ! 3 )
  • Permutaciones de pila (¡3!)
  • Permutaciones de columna dentro de una pila ( 3 ! 3 )
  • Reflexión, transposición y rotación (2).

¿Cómo puedo saber (sin probar todas las combinaciones posibles del tablero sin resolver) si están en la misma clase de equivalencia?

El enfoque probablemente debería ser definir una forma canónica para el rompecabezas resuelto y luego encontrar un método para derivar la forma canónica de cualquier tablero de Sudoku. Pero, ¿cuál es mi elección de forma canónica y cómo derivar la forma canónica de cualquier tablero de Sudoku (dado que tenemos un tablero resuelto)?

+1 para una pregunta interesante, sin embargo, no tengo idea de cómo responder ¡ajá!
+1 Excelente pregunta, aunque no puedo ayudarte.
¿Quizás puedas encontrar algunas ideas en el siguiente artículo? arxiv.org/abs/1201.0749
Mis disculpas: acabo de hacer una pregunta muy similar.

Respuestas (2)

Ok, tu pregunta inicial me hizo pensar (a pesar del comentario que dejé arriba). Dejar X denota el conjunto de todas las cuadrículas de Sudoku. Entonces es claro que este conjunto es finito. Dejar GRAMO denota el grupo de simetría de una cuadrícula de Sudoku. Entonces es claro que cada elemento de GRAMO es un mapa de una cuadrícula válida a otra, significa GRAMO tiene un número finito de simetrías.

Entonces, entendamos por cuadrículas equivalentes aquellas que se pueden mapear (en X ) por una (o más) de las simetrías en GRAMO . Para cualquier A X todas las cuadrículas equivalentes a A son esencialmente lo mismo que A . Entonces, para todas las cuadrículas equivalentes a (digamos, wlog) A i podemos particionar X en estas clases de equivalencia para que X = i A i (por cierto, creo que | A | seria la orbita de X ).

El número de órbitas se puede contar usando el Lema de Burnside

Para eliminar el reetiquetado, puede reetiquetar la cuadrícula de modo que la primera fila sea 123/456/789. En el ejemplo, la cadena de sustitución "473682591" hará que la primera fila sea "123456789". Es decir, reemplaza 1 con 4, 2 con 7, y así sucesivamente. Elimina las permutaciones de pilas y columnas.

Para eliminar las permutaciones de bandas y filas, ordene las filas de acuerdo con la primera columna en orden ascendente, manteniendo cada fila en su banda respectiva y posiblemente cambiando las bandas media e inferior. Así, la columna de la izquierda se agregaría a la forma canónica.

En el ejemplo, la columna de la izquierda se habría vuelto a etiquetar como 147/965/832. Las bandas y filas deben reordenarse para formar la columna 147/238/569.

Se deben agregar más celdas para asegurarse de que la combinación de todos estos conduzca a un tablero único. No sé cuántas celdas más se necesitarían o qué ubicaciones serían las más adecuadas. (Quizás, ¿todas las diagonales en cada bloque de 3x3?)

Por último, deben agruparse en clases equivalentes. Cada grupo se basaría en la permutación de pila y columna y la transposición de columna/fila (6 x 6x6x6 x 2) de uno. Elija el orden más bajo para representar al grupo. El pedido más bajo (columna izquierda) es 145/236/789.