Considera lo siguiente 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 :
¿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)?
Ok, tu pregunta inicial me hizo pensar (a pesar del comentario que dejé arriba). Dejar denota el conjunto de todas las cuadrículas de Sudoku. Entonces es claro que este conjunto es finito. Dejar denota el grupo de simetría de una cuadrícula de Sudoku. Entonces es claro que cada elemento de es un mapa de una cuadrícula válida a otra, significa tiene un número finito de simetrías.
Entonces, entendamos por cuadrículas equivalentes aquellas que se pueden mapear (en ) por una (o más) de las simetrías en . Para cualquier todas las cuadrículas equivalentes a son esencialmente lo mismo que . Entonces, para todas las cuadrículas equivalentes a (digamos, wlog) podemos particionar en estas clases de equivalencia para que (por cierto, creo que seria la orbita de ).
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.
Francesco Alem.
usuario284001
david robertson
ricardo1941