Programas para jugar ajedrez: ¿rivales o aliados? Programas para jugar ajedrez: ¿rivales o...

Post on 12-Jan-2015

13 views 6 download

Transcript of Programas para jugar ajedrez: ¿rivales o aliados? Programas para jugar ajedrez: ¿rivales o...

““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!!)