lunes, 24 de noviembre de 2014

Sudoku 201401


La solución en unos días.
Saludos.

miércoles, 15 de agosto de 2012

Visitas al blog

Amigos, estuve revisando hoy las estadísticas de visitas al blog y he quedado impresionado. Tantas personas que lo leen, de diversos países, aún siendo un blog que lamentablemente actualizo tan poco. Muchas gracias. Las visitas más numerosas provienen de España y Colombia, pero no se quedan muy atrás otros países latinoamericanos. Quienes quieran contactarse conmigo, por favor síganme en twitter, pues reviso esa cuenta diariamente (me llega al Blackberry).

martes, 17 de mayo de 2011

Wilson y Tania Alejandra

He visto sólo hoy sus comentarios y consultas. Procuraré responder en próximas entradas a sus consultas y dudas. Les agradezco leer este blog, que hace ya mucho tiempo no actualizo, un poco por mi falta de tiempo. Si tienen twitter, escríbanme a mi cuenta @mrivadene las consultas que tengan.

Saludos,

Mauricio

domingo, 24 de enero de 2010

Sitios de sudokus en la web.

Un amigo lector de este blog -Ubaldo Puche- me ha escrito recientemente desde España, y me cuenta cómo ha ido evolucionando su técnica para resolver los sudokus. Ya está resolviendo los más diabólicos y extremos. Copio esta parte de su correo:

"Continuo con los sudokus y cada día dusfruto más con ellos. Ahora los cojo de las siguientes páginas:
www.sudoku9981.com sólo en la categoría extreme
www.sudoku9981.com/fr sólo en la categoría diabolique
http://aisudoku.com/index_en.html estoy comenzando el Top 10"

Visité estos sitios, y me gustaron muchísimo los tres últimos. Se pueden bajar en formato pdf sudokus dificilísimos que vienen en un formato para imprimir, con un ejemplar del sudoku para llenar con nuestra solución y un ejemplar con los candidatos para ir haciendo las deducciones. Lamentablemente tienen copy right así es que no los compartiré aquí. Pero se pueden bajar desde sus sitios e imprimirlos.

Les dejo uno de los míos. Por mi parte, en marzo retomaré la exposición de técnicas avanzadas de resolución de sudokus, que aún me faltan por exponer.

Pásenlo bien.

En formato TXT, para jugarlo en Master Sudoku pueden bajarlo aquí.

viernes, 22 de enero de 2010

Nueva versión de Master Sudoku

Me ha escrito Marcelo Calniquer para decirme que le hizo algunas mejoras al software y que ahora es capaz de resolver completamente el sudoku que yo propuse en mis entradas recientes, mediante métodos lógicos y sin usar fuerza bruta. Les copio el archivo de resolución de Master Sudoku para que sigan paso a paso su resolución. Son más de 90 pasos, así es que yo no he tenido tiempo de analizarlo aún. Aquí va, para que se animen.



<<<>>>
1) Sencillo Descubierto {5} en f4c8
2) Sencillo Descubierto {3} en f5c8
3) Sencillo Oculto {9} en f6c7
4) Sencillo Descubierto {1} en f8c7
5) Sencillo Descubierto {4} en f5c7
6) Sencillo Descubierto {1} en f5c9
7) Sencillo Descubierto {7} en f4c9
8) Pares Descubiertos {4,6} en f1c4 f1c9
-> Se excluyó el candidato 4 de la posición f1c3
-> Se excluyó el candidato 6 de la posición f1c3
-> Se excluyó el candidato 4 de la posición f1c5
9) X-Wing {6} en f1c4 f8c4 f1c9 f8c9
-> Se excluyó el candidato 6 de la posición f3c4
-> Se excluyó el candidato 6 de la posición f7c4
-> Se excluyó el candidato 6 de la posición f3c9
-> Se excluyó el candidato 6 de la posición f7c9
10) XYZ-Wing {4} en f2c6 f1c4 f6c6
-> Se excluyó el candidato 4 de la posición f3c6
11) Cadena XY {1} en f4c6 f4c3 f9c3 f9c1
-> Se excluyó el candidato 1 de la posición f9c6
12) Cadena XY {9} en f1c5 f1c7 f3c8 f1c9 f3c9 f7c9
-> Se excluyó el candidato 9 de la posición f7c5
13) Cadena Inferencia Alterna Débil {2} 2[f5c3]-2[f5c5]=5[f5c5]-5[f9c5]=5[f9c7]-2[f9c7]=2[f9c3]-2[f5c3]
-> Se excluyó el candidato 2 de la posición f5c3
14) Cadena Inferencia Alterna Continua {2} 2[f4c3]-2[f9c3]=2[f9c7]-5[f9c7]=5[f9c5]-5[f5c5]=2[f5c5]-2[f5c2]=2[f4c3]
-> Se excluyó el candidato 2 de la posición f7c3
-> Se excluyó el candidato 8 de la posición f9c7
15) Sencillo Oculto {8} en f9c6
16) Rectángulos Vacios {9} en f1c3 f1c5 f7c3 f7c6 f8c5 f9c5
-> Se excluyó el candidato 9 de la posición f7c3
17) XY-Wing {9} en f9c7 f7c9 f9c3
-> Se excluyó el candidato 9 de la posición f7c1
18) Rectángulos Vacios {9} en f1c5 f1c3 f9c5 f8c3 f9c1 f9c3
-> Se excluyó el candidato 9 de la posición f9c5
19) Candidato Bloqueado {9} en f9c1 f9c3
-> Se excluyó el candidato 9 de la posición f8c3
20) Cadena Inferencia Alterna Débil {1} 1[f7c6]-9[f7c6]=9[f3c6]-9[f3c1]=9[f9c1]-1[f9c1]=1[f9c5]-1[f7c6]
-> Se excluyó el candidato 1 de la posición f7c6
21) Cadena Inferencia Alterna Continua {5} 5[f9c5]-5[f5c5]=2[f5c5]-2[f5c2]=2[f7c2]-2[f7c7]=2[f9c7]-5[f9c7]=5[f9c5]
-> Se excluyó el candidato 5 de la posición f7c5
22) Cadena Inferencia Alterna Continua {6} 6[f7c6]-9[f7c6]=9[f7c9]-9[f8c9]=6[f8c9]-6[f1c9]=6[f1c4]-6[f8c4]=6[f7c6]
-> Se excluyó el candidato 3 de la posición f7c6
-> Se excluyó el candidato 4 de la posición f7c6
23) Cadena Inferencia Alterna Débil {3} 3[f3c6]-9[f3c6]=9[f7c6]-9[f7c9]=5[f7c9]-5[f7c4]=5[f6c4]-3[f6c4]=3[f6c6]-3[f3c6]
-> Se excluyó el candidato 3 de la posición f3c6
24) Cadena Inferencia Alterna Débil {5} 5[f3c1]-9[f3c1]=9[f9c1]-9[f9c3]=2[f9c3]-2[f9c7]=5[f9c7]-5[f7c9]=5[f3c9]-5[f3c1]
-> Se excluyó el candidato 5 de la posición f3c1
25) Cadena Inferencia Alterna Débil {6} 6[f3c1]-9[f3c1]=9[f9c1]-1[f9c1]=1[f9c5]-5[f9c5]=5[f5c5]-5[f5c1]=6[f5c1]-6[f3c1]
-> Se excluyó el candidato 6 de la posición f3c1
26) Cadena Inferencia Alterna Débil {7} 7[f7c2]-2[f7c2]=2[f7c7]-2[f9c7]=2[f9c3]-2[f4c3]=4[f4c3]-4[f6c2]=7[f6c2]-7[f7c2]
-> Se excluyó el candidato 7 de la posición f7c2
27) Cadena Inferencia Alterna Débil {9} 9[f3c3]-9[f3c6]=9[f7c6]-9[f7c9]=5[f7c9]-5[f9c7]=2[f9c7]-2[f9c3]=9[f9c3]-9[f3c3]
-> Se excluyó el candidato 9 de la posición f3c3
28) Cadena Inferencia Alterna Débil {9} 9[f3c5]-2[f3c5]=2[f3c4]-2[f4c4]=2[f4c3]-2[f9c3]=9[f9c3]-9[f9c1]=9[f3c1]-9[f3c5]
-> Se excluyó el candidato 9 de la posición f3c5
29) Cadena Inferencia Alterna Continua {5} 5[f7c4]-5[f7c9]=9[f7c9]-9[f7c6]=9[f3c6]-9[f3c1]=9[f9c1]-1[f9c1]=1[f9c5]-5[f9c5]=5[f7c4]
-> Se excluyó el candidato 5 de la posición f7c7
30) Cadena XY {4} en f3c9 f7c9 f7c6 f7c8 f7c7 f7c2
-> Se excluyó el candidato 4 de la posición f3c2
31) Cadena XY {8} en f3c2 f6c2 f7c2 f7c7
-> Se excluyó el candidato 8 de la posición f3c7
32) Cadena XY {4} en f4c3 f5c2 f3c2 f6c2
-> Se excluyó el candidato 4 de la posición f6c1
33) Cadena XY {8} en f3c2 f6c2 f7c2 f7c7 f7c8 f3c8
-> Se excluyó el candidato 8 de la posición f3c3
34) Cadena XY {4} en f1c4 f1c9 f3c9 f7c9 f7c6 f7c8 f7c7 f7c2
-> Se excluyó el candidato 4 de la posición f7c4
35) Cadena XY {4} en f3c9 f7c9 f7c6 f7c8 f7c7 f7c2 f6c2 f3c2 f5c2 f4c3
-> Se excluyó el candidato 4 de la posición f3c3
36) Cadena XY {4} en f1c4 f1c9 f3c9 f7c9 f7c6 f7c8 f7c7 f7c2 f6c2 f3c2 f5c2 f4c3
-> Se excluyó el candidato 4 de la posición f4c4
37) XY-Wing {1} en f5c5 f4c4 f9c5
-> Se excluyó el candidato 1 de la posición f7c4
38) Candidato Bloqueado {1} en f7c5 f9c5
-> Se excluyó el candidato 1 de la posición f3c5
39) Cuartetos Descubiertos {3,4,5,6} en f1c4 f6c4 f7c4 f8c4
-> Se excluyó el candidato 3 de la posición f3c4
-> Se excluyó el candidato 4 de la posición f3c4
40) Cadena Inferencia Alterna Débil {4} 4[f7c3]-7[f7c3]=7[f7c1]-7[f6c1]=7[f6c2]-4[f6c2]=4[f7c2]-4[f7c3]
-> Se excluyó el candidato 4 de la posición f7c3
41) Cadena XY {7} en f3c2 f5c2 f4c3 f8c3 f7c3
-> Se excluyó el candidato 7 de la posición f1c3
-> Se excluyó el candidato 7 de la posición f2c3
-> Se excluyó el candidato 7 de la posición f3c3
42) Sencillo Oculto {7} en f7c3
43) Sencillo Oculto {3} en f8c3
44) Candidato Bloqueado {4} en f8c4 f8c5
-> Se excluyó el candidato 4 de la posición f7c5
45) Pares Descubiertos {4,6} en f1c4 f8c4
-> Se excluyó el candidato 4 de la posición f6c4
46) Candidato Bloqueado {4} en f4c6 f6c6
-> Se excluyó el candidato 4 de la posición f2c6
47) XY-Wing {7} en f1c3 f1c5 f3c2
-> Se excluyó el candidato 7 de la posición f3c5
48) XY-Wing {6} en f3c9 f1c9 f3c3
-> Se excluyó el candidato 6 de la posición f3c8
49) Sencillo Descubierto {8} en f3c8
50) Sencillo Descubierto {7} en f1c7
51) Sencillo Descubierto {9} en f1c5
52) Sencillo Descubierto {8} en f1c3
53) Sencillo Descubierto {7} en f3c2
54) Sencillo Descubierto {4} en f6c2
55) Sencillo Descubierto {2} en f4c3
56) Sencillo Descubierto {1} en f4c4
57) Sencillo Descubierto {2} en f3c4
58) Sencillo Descubierto {4} en f4c6
59) Sencillo Descubierto {8} en f5c2
60) Sencillo Descubierto {3} en f6c6
61) Sencillo Descubierto {6} en f2c6
62) Sencillo Descubierto {4} en f1c4
63) Sencillo Descubierto {6} en f1c9
64) Sencillo Descubierto {3} en f3c5
65) Sencillo Descubierto {7} en f2c5
66) Sencillo Descubierto {1} en f3c6
67) Sencillo Descubierto {5} en f3c7
68) Sencillo Descubierto {3} en f2c7
69) Sencillo Descubierto {6} en f3c3
70) Sencillo Descubierto {4} en f3c9
71) Sencillo Descubierto {9} en f3c1
72) Sencillo Descubierto {5} en f5c3
73) Sencillo Descubierto {4} en f2c3
74) Sencillo Descubierto {5} en f2c1
75) Sencillo Descubierto {6} en f5c1
76) Sencillo Descubierto {2} en f5c5
77) Sencillo Descubierto {7} en f6c1
78) Sencillo Descubierto {5} en f6c4
79) Sencillo Descubierto {2} en f7c2
80) Sencillo Descubierto {3} en f7c4
81) Sencillo Descubierto {1} en f7c5
82) Sencillo Descubierto {4} en f7c1
83) Sencillo Descubierto {9} en f7c6
84) Sencillo Descubierto {8} en f7c7
85) Sencillo Descubierto {6} en f7c8
86) Sencillo Descubierto {5} en f7c9
87) Sencillo Descubierto {6} en f8c4
88) Sencillo Descubierto {4} en f8c5
89) Sencillo Descubierto {9} en f8c9
90) Sencillo Descubierto {1} en f9c1
91) Sencillo Descubierto {9} en f9c3
92) Sencillo Descubierto {5} en f9c5
93) Sencillo Descubierto {2} en f9c7

El puzzle se resolvió con métodos lógicos
-> Sencillo Descubierto: 51
-> Sencillo Oculto: 4
-> Candidatos Bloqueados: 4
-> Pares Descubiertos: 2
-> Cuartetos Descubiertos: 1
-> X-Wing: 1
-> Rectángulos Vacíos: 2
-> XY-Wing: 4
-> XYZ-Wing: 1
-> Cadenas XY: 10
-> Cadena Inferencia Alterna: 13

Hasta la próxima

lunes, 18 de enero de 2010

Análisis de sudokus.

Vuelvo sobre el sudoku analizado ayer y el sábado. Ayer mostré una forma de seguir, en el paso 29, eliminando el candidato 5 en [f3c1] mediante una Cadena de Inferencias Alternas. Sin embargo, también es posible jugar, como paso 29, la solución mostrada el sábado, mediante una Cadena de Implicancias que permite eliminar el candidato 8 en [f5c3]. El sábado la mostré graficamente. Ahora anoto la fórmula lógica:

8[f5c3]=>2[f5c2]=>5[f5c5]=>[f6c4] ≠ 5 =>5[f7c4]=>[f7c9] ≠ 5 =>5[f3c9]=> [f3c3] ≠ 5 => 5[f2c3]=> 6[f3c3] => 8[f3c8] => [f3c2] ≠ 8 => 8[f5c2] => [f5c3] ≠ 8. Luego podemos excluir el 8 de [f5c3].

Al excluir ese 8, el sudoku queda:



Y este sudoku queda con la bendita gracia de haberse convertido desde un sudoku extra difícil en un sudoku muy fácil de resolver, pues como ya lo dije el sábado, se va resolviendo mediante los singles que van apareciendo. Por ejemplo: [f5c2] =8 => [f5c5] =2 => [f4c3] =2 y así sucesivamente. Esto se debe a que el 8 en [f5c3] constituye un "backdoor" del puzzle, algo así como una puerta de escape (no se me ocurre una mejor traducción). Los backdoors son candidatos que al eliminarlos, el sudoku en el que están se convierte en un sudoku trivial. Un sudoku puede tener varios backdoors y basta eliminar sólo uno de ellos para que el sudoku pase de extra difícil a extra fácil. No existe un método lógico para encontrarlos (hasta donde yo sé), y cuando se encuentra uno, no siempre existe un método lógico para excluirlo. Pero bueno, en este caso el proceso fue al revés: primero se halló la cadena de implicancias que permitía eliminar el 8 en [f5c3] y posteriormente uno se da cuenta que el sudoku mágicamente se desenreda.

Con esto doy por concluído el análisis de este sudoku, pues está resuelto. Marcelo, a tí te queda por ver por qué Master Sudoku no encontró esta cadena de implicancias, o la cadena de inferencias alternas mostrada en mi análisis de ayer. De todas formas pienso que el software es un gran programa. El sudoku que elegí para probarlo es extremo.

Saludos.



domingo, 17 de enero de 2010

Análisis de sudokus

Al igual que ante una posición de ajedrez, en el sudoku es muy interesante (y entretenido) buscar la o las mejores alternativas a seguir a partir de un cierto estado de avance en la resolución de un sudoku. En el sudoku mostrado ayer, podemos ver que MasterSudoku logró encontrar 28 pasos lógicos. Desde ahí resolvió el puzzle mediante fuerza bruta, esto es, mediante ensayo y error analizando a la velocidad de computador todas y cada una de las diversas posibilidades que existían. A continuación me dispongo a analizar en varias entradas sucesivas, qué alternativas lógicas tenía Master Sudoku desde la situación del desarrollo alcanzado tras la deducción 28, hasta dar con la solución en forma lógica, completando los pasos que MasterSudoku no hizo. La situación del sudoku en ese momento era:


Antes de seguir me permito hacer notar que Master Sudoku pudo haber descartado en el paso 14 el 5[f7c5]. Ignoro por qué no lo hizo ahí. Lo hizo luego en el paso 21; un paso que pudo haber evitado.

Bueno, independientemente de eso, aquí tenemos una Cadena de Inferencia débil, según muestra la siguiente figura:


Es decir, 5[f3c1]-5[f3c9]=5[f7c9]-5[f9c7]=2[f9c7]-2[f9c3]=9[f9c3]-9[f1c3]=9[f3c1]-5[f3c1]. Luego se puede excluir el 5 en [f3c1].

Seguiré pensando cómo seguir. Hasta la próxima.