Problema Del Salto Del Caballo

PROBLEMA DEL SALTO DEL CABALLO En un tablero de ajedrez de n x n casillas, se tiene un caballo situado en la posición

Views 85 Downloads 0 File size 423KB

Report DMCA / Copyright

DOWNLOAD FILE

Recommend stories

Citation preview

PROBLEMA DEL SALTO DEL CABALLO

En un tablero de ajedrez de n x n casillas, se tiene un caballo situado en la posición inicial de coordenadas (𝑥0 , 𝑦0 ). El problema consiste en encontrar, si existe, un circuito que permita al caballo pasar exactamente una vez por cada una de las casillas de tablero, teniendo en cuenta los movimientos (saltos) permitidos a un caballo de ajedrez. Este es un claro ejemplo de problemas que se resuelven con el esquema algorítmico de vuelta atrás (backtracking). El problema consiste en buscar la secuencia de saltos que tiene que dar el caballo, partiendo de una casilla cualquiera, para pasar por cada una de las casillas del tablero realizando un total de 𝑛2 − 1 movimientos. Suponiendo que el tablero se encuentra vacío, exceptuando el caballo.

Lo primero que se debe tomar en cuenta es que el caballo, desde una casilla, puede realizar hasta 8 movimientos.

No siempre será posible realizar los ocho movimientos, se debe comprobar que la casilla de destino este dentro del tablero y también que el caballo na haya pasa previamente por ella. En caso de ser posible el movimiento, se anota, guardando el numero de salto realizado. Si se agotan los ocho posible movimientos sin llegar a la solución, se vuelve al movimiento anterior (vuelta atrás), se borra el movimiento donde ocurrió el fallo y se intenta con el siguiente movimiento, y así sucesivamente.

Si el caballo termina en una casilla que esta a un movimiento de la casilla donde inicio el recorrido (de modo que pudiera recorrer el tablero de nuevo inmediatamente, siguiendo el mismo camino), el recorrido se considera cerrado, de lo contrario se lo considera abierto.

Existen variaciones a este problema que involucran tableros de ajedrez de diferentes tamaños al usual 8 x 8, así como tableros irregulares, es decir, tableros no rectangulares.

El número de recorridos abiertos en un tablero n x n para n= 1,2,3,4,5,6,7,8 son: 1, 0, 0, 0, 1728, 6637920, 165575218320, 19591828170979904 Existen diversas formas de resolver este problema de forma computacional. Algunos son métodos algorítmicos y heurísticos. Algoritmos de fuerza bruta: Una búsqueda de fuerza bruta para el recorrido del caballo es poco práctica en todos, menos los tableros más pequeñas; por ejemplo, en un tablero de 8x8 hay aproximadamente 4 ∗ 1051 posibles secuencias de movimientos, y es mucho más allá de la capacidad de las computadoras modernas (o redes de ordenadores) para realizar operaciones en un conjunto tan grande.

Algoritmos divide y vencerás: Al dividir el tablero en piezas más pequeñas, construyendo recorridos en cada pieza, y poniendo las piezas juntas, se puede construir recorridos en la mayoría de los tableros rectangulares en tiempo polinómico

Soluciones de redes neuronales: El problema del salto del caballo también se presta a ser resuelto por una aplicación de redes neuronales. La red está configurado de tal manera que cada movimiento posible del caballo está representado por una neurona, y cada neurona se inicializa al azar para ser "activo" o "inactivo" (salida de 1 o 0), con 1 lo que implica que la neurona es parte de la solución definitiva.