Cómo crear un motor de ajedrez desde cero
(chessengines.org)- Usando Chess.js (movimientos y validación) y Chessboard.js (visualización)
- Hacer movimientos aleatorios: si Chess.js entrega en un arreglo todas las jugadas legales, elegir una al azar
- Elegir solo jugadas que capturen piezas rivales y seleccionar entre ellas (si no hay, usar una aleatoria)
- Evaluar el rendimiento con el PGN (Portable Game Notation) que se genera al terminar la partida (lo ofrecen sitios como Chess.com)
- Entender FEN (Forsyth-Edwards Notation)
- Entender e implementar el algoritmo minimax
- Resolver el problema del horizonte:
quiescence search - Hacerlo más rápido con
alpha-beta pruning iterative deepening- Crear una tabla de transposición/hash
1 comentarios
Wiki de Programación de Ajedrez