Cómo usar el solucionador
Escribe el número de cada ficha donde está en tu tablero, fila por fila, y deja vacío el hueco. Luego pulsa Resolver. El solucionador revisa el tablero, busca la solución más corta y la muestra como una lista de fichas que hay que deslizar. Pulsa Reproducir para verla o avanza con las flechas. Cambia a Deslizar fichas para jugar tú mismo tocando las fichas que están junto al hueco. Revolver te da un tablero aleatorio que tiene solución.
Para la versión más pequeña de 3 x 3, elige 8 (3 x 3). También puedes pegar un tablero como texto, por ejemplo 5 1 2 4 9 6 3 8 13 10 7 11 0 14 15 12, con 0 o _ para el hueco.
¿Todos los tableros tienen solución?
No: exactamente la mitad de todas las posiciones no tienen solución, y el solucionador te lo dice antes de buscar. La prueba usa las inversiones: lee las fichas fila por fila y cuenta los pares en los que un número mayor va antes que uno menor.
- Rompecabezas de 8 (3 x 3): tiene solución exactamente cuando el número de inversiones es par. Un deslizamiento a lo largo de una fila no cambia nada; uno hacia arriba o abajo hace saltar una ficha sobre otras dos, y el conteo cambia en 0 o 2.
- Rompecabezas de 15 (4 x 4): un deslizamiento vertical hace saltar una ficha sobre otras tres, así que el número de inversiones cambia en una cantidad impar mientras el hueco se mueve una fila. Por eso la suma de inversiones más la fila del hueco contada desde abajo siempre conserva su paridad, y en el tablero resuelto es impar. Un tablero donde es par nunca se puede resolver.
El ejemplo famoso es un tablero resuelto con el 14 y el 15 intercambiados: una inversión, hueco en la fila de abajo, total 2, par, así que es imposible.
Cómo encuentra la solución más corta
El solucionador usa IDA* (A* con profundización iterativa), una búsqueda que prueba todas las soluciones hasta un límite de longitud y sube el límite hasta que una funciona. La guía una estimación de cuántos movimientos faltan que nunca se pasa de la cuenta, y eso es lo que hace que la primera solución encontrada sea una de las más cortas.
- Para el rompecabezas de 8, la estimación es la distancia Manhattan (qué tan lejos está cada ficha de su lugar, en filas más columnas) más una corrección para fichas que se estorban en su propia fila o columna (conflictos lineales). Todo rompecabezas de 8 se resuelve de forma óptima en una fracción de segundo.
- Para el de 15, los tableros fáciles se resuelven igual; para los difíciles, el solucionador crea tres bases de datos de patrones: el número exacto de movimientos para cada colocación de las fichas 1, 5, 6, 9, 10, 13, de las fichas 7, 8, 11, 12, 14, 15 y de las fichas 2, 3, 4. Sumadas, y revisadas también con el tablero reflejado sobre su diagonal, dan una estimación mucho más precisa. Crearlas toma uno o dos segundos, dentro de tu navegador.
La mayoría de los rompecabezas de 15 aleatorios se resuelven de forma óptima en pocos segundos. Las posiciones más difíciles necesitan hasta 80 movimientos y pueden tardar mucho más, así que la búsqueda tiene un límite de 15 segundos. Si se agota, el solucionador cambia a un método rápido (primero la fila de arriba, luego la columna de la izquierda y después el 3 x 3 restante resuelto de forma óptima) y marca esa solución como no la más corta.
En las pruebas, los resultados del rompecabezas de 8 coincidieron con una tabla completa de las distancias exactas de las 181,440 posiciones con solución, los del de 15 coincidieron con una segunda búsqueda independiente, y cada solución se volvió a reproducir ficha por ficha.
Ejemplo resuelto
El tablero de ejemplo 5 1 2 4 / 9 6 3 8 / 13 10 7 11 / _ 14 15 12 se resuelve en 9 movimientos: desliza 13, 9, 5, 1, 2, 3, 7, 11, 12. Para el de 8, prueba 8 6 7 / 2 5 4 / 3 _ 1: es una de las dos únicas posiciones del rompecabezas de 8 que necesitan 31 movimientos, el máximo que puede necesitar.
Consejo para resolverlo a mano
Resuelve primero la fila de arriba, luego la columna de la izquierda, y déjalas en su lugar: lo que queda es un rompecabezas más pequeño. Coloca juntas las dos últimas fichas de una fila estacionando la última debajo de su lugar y girando ambas hacia adentro.
Otros retos donde el mínimo de movimientos importa: las torres de Hanói, con su fórmula exacta, y el 2048, donde también deslizas fichas y una IA sugiere la mejor jugada. Si prefieres un rompecabezas en 3D, el solucionador del cubo de Rubik te da la solución y el cronómetro para cubo Rubik mide tus tiempos.
Solucionador probado el . ¿Encontraste un error? Avísanos.
Preguntas frecuentes
¿Por qué mi rompecabezas de 15 no tiene solución?
La mitad de todas las posiciones de fichas no se pueden alcanzar deslizando. Si las inversiones más la fila del hueco contada desde abajo suman un número par, ninguna serie de deslizamientos resuelve el tablero. En un rompecabezas real esto pasa cuando alguien sacó dos fichas y las intercambió. Intercambia dos fichas cualesquiera y tendrá solución.
¿Cuántos movimientos puede necesitar como máximo un rompecabezas de 15?
80 movimientos de una ficha. Búsquedas por computadora han demostrado que toda posición del 15 con solución se resuelve en 80 movimientos o menos, y que algunas posiciones necesitan los 80. Para el rompecabezas de 8 el máximo es 31.
¿La solución es de verdad la más corta?
Cuando el resultado dice óptima demostrada, sí: la búsqueda comprobó que no existe ninguna solución más corta. Si el límite de 15 segundos se agota en un tablero muy difícil, recibes una solución rápida, marcada claramente como no la más corta.
¿Cómo cuento las inversiones?
Lee las fichas fila por fila, sin contar el hueco. Para cada ficha, cuenta cuántas fichas que vienen después tienen un número menor. Suma todos esos conteos.
¿El solucionador envía mi tablero a algún lado?
No. La búsqueda corre en tu navegador, en un hilo en segundo plano; no se sube nada.