Upload
andres-teran
View
19
Download
6
Embed Size (px)
Citation preview
““Programas para jugar ajedrez: Programas para jugar ajedrez: ¿rivales o aliados?”¿rivales o aliados?”
Cómo funcionan y cómo pueden ayudarnos a mejorar nuestro juego.
¿Cómo funciona básicamente un programa de ajedrez?
1. Introducción“Árbol de búsqueda”
Claude Shannon (1950): Programas tipo “A” y tipo “B”
Programas tipo “A”: búsqueda de “fuerza bruta”
Examina todas las posibles posiciones de cada rama del árbol de movimientos
Pero: 3.35*10123 nodos
5.3 *10109 años para explorar todo el árbol
Pero: Es muy difícil decidir qué movimientos son prometedores
Programas tipo “B”: búsqueda “selectiva”
Examina sólo las mejores jugadas de cada posición
2. Representación del tablero
3. Técnicas de búsqueda
a. Método “mini-max”
b. Método “alfa-beta”
b. El “efecto horizonte”
c. Posiciones estables
y búsqueda “quiescente”
d. Otras mejoras a la técnica de búsqueda
1) Profundización iterativa
2) Tablas de transposición
3) Poda por adelantado
4. La evaluación de los modos terminales (algunos parámetros elementales)
1) Material: P= 1, C= 3, A= 3, T= 5, D= 9 , R= ∞
(Propio → positivo, rival → negativo)
2) Estructura de peones (penalización por peones aislados, doblados, retrasados, o, en general, por estructuras deficientes de peones; bonificación de peones pasado)
3) Movilidad de las piezas (cantidad total de casillas dominadas)
4) Seguridad del rey: (penalización por cercanía peligrosa de piezas rivales, por pérdida enroque o rey en mala posición; con rey enrocado: por estructura deficiente de peones del enroque, etc.)
5) Situación de cada pieza en el tablero (ejemplo: tablas de piezas)
Tablas pieza/casilla(ejemplo: caballo)
5. Libros de aperturas
6. Bases de finales (“tablebases”)
La interfaz “Fritz” para jugar
La base de datos “ChessBase”
Algunos links recomendados:
• www.chessbase.com (Noticias sobre ajedrez y ajedrez por computadora)
• chessprogramming.wikispaces.com (Acerca del desarrollo de un programa para jugar ajedrez)
• www.tckerrigan.com/Chess/TSCP (Descarga de un código fuente en C de un programa de ajedrez, con explicaciones y pensado para el que quiere comenzar a desarrollar su propio programa)
• www.chessbin.com (Otro sitio con código fuente para desarrollar un programa de ajedrez, con consejos y varios links interesantes)
• www.top-5000.nl/chess.htm (Otro sitio excelente con la explicación de los secretos del ex programa comercial Rebel y muchos otros recursos).
• www.shredderchess.com/online-chess/online-databases/opening-database.html (Gran libro de aperturas online).
• www.shredderchess.com/online-chess/online-databases/endgame-database.html (Base de datos de finales online de hasta 6 piezas)
• www.chesslogik.com/Fire.htm (Descarga gratis del que es, tal vez, mejor programa del mundo!!)