14
Programas para Programas para jugar ajedrez: ¿rivales o jugar ajedrez: ¿rivales o aliados?” aliados?” Cómo funcionan y cómo pueden ayudarnos a mejorar nuestro juego.

Programas para jugar ajedrez: ¿rivales o aliados? Programas para jugar ajedrez: ¿rivales o aliados? Cómo funcionan y cómo pueden ayudarnos a mejorar nuestro

Embed Size (px)

Citation preview

Page 1: Programas para jugar ajedrez: ¿rivales o aliados? Programas para jugar ajedrez: ¿rivales o aliados? Cómo funcionan y cómo pueden ayudarnos a mejorar nuestro

““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.

Page 2: Programas para jugar ajedrez: ¿rivales o aliados? Programas para jugar ajedrez: ¿rivales o aliados? Cómo funcionan y cómo pueden ayudarnos a mejorar nuestro

¿Cómo funciona básicamente un programa de ajedrez?

1. Introducción“Árbol de búsqueda”

Page 3: Programas para jugar ajedrez: ¿rivales o aliados? Programas para jugar ajedrez: ¿rivales o aliados? Cómo funcionan y cómo pueden ayudarnos a mejorar nuestro

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

Page 4: Programas para jugar ajedrez: ¿rivales o aliados? Programas para jugar ajedrez: ¿rivales o aliados? Cómo funcionan y cómo pueden ayudarnos a mejorar nuestro

2. Representación del tablero

Page 5: Programas para jugar ajedrez: ¿rivales o aliados? Programas para jugar ajedrez: ¿rivales o aliados? Cómo funcionan y cómo pueden ayudarnos a mejorar nuestro

3. Técnicas de búsqueda

a. Método “mini-max”

Page 6: Programas para jugar ajedrez: ¿rivales o aliados? Programas para jugar ajedrez: ¿rivales o aliados? Cómo funcionan y cómo pueden ayudarnos a mejorar nuestro

b. Método “alfa-beta”

Page 7: Programas para jugar ajedrez: ¿rivales o aliados? Programas para jugar ajedrez: ¿rivales o aliados? Cómo funcionan y cómo pueden ayudarnos a mejorar nuestro

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

Page 8: Programas para jugar ajedrez: ¿rivales o aliados? Programas para jugar ajedrez: ¿rivales o aliados? Cómo funcionan y cómo pueden ayudarnos a mejorar nuestro

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)

Page 9: Programas para jugar ajedrez: ¿rivales o aliados? Programas para jugar ajedrez: ¿rivales o aliados? Cómo funcionan y cómo pueden ayudarnos a mejorar nuestro

Tablas pieza/casilla(ejemplo: caballo)

Page 10: Programas para jugar ajedrez: ¿rivales o aliados? Programas para jugar ajedrez: ¿rivales o aliados? Cómo funcionan y cómo pueden ayudarnos a mejorar nuestro

5. Libros de aperturas

6. Bases de finales (“tablebases”)

Page 11: Programas para jugar ajedrez: ¿rivales o aliados? Programas para jugar ajedrez: ¿rivales o aliados? Cómo funcionan y cómo pueden ayudarnos a mejorar nuestro
Page 12: Programas para jugar ajedrez: ¿rivales o aliados? Programas para jugar ajedrez: ¿rivales o aliados? Cómo funcionan y cómo pueden ayudarnos a mejorar nuestro

La interfaz “Fritz” para jugar

Page 13: Programas para jugar ajedrez: ¿rivales o aliados? Programas para jugar ajedrez: ¿rivales o aliados? Cómo funcionan y cómo pueden ayudarnos a mejorar nuestro

La base de datos “ChessBase”

Page 14: Programas para jugar ajedrez: ¿rivales o aliados? Programas para jugar ajedrez: ¿rivales o aliados? Cómo funcionan y cómo pueden ayudarnos a mejorar nuestro

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