Artículos

Reportajes extensos sobre todo aquello relacionado con nuestras computadoras.

DanaSah 7.9 LS (beta2)

pedro
Author: pedro
Programador de motores de ajedrez y colaborador de la web.

DanaBlock

DanaSah 7.9 LS (beta2)

Descarga

Voy a dejar una copia de mi motor en estado beta por si alguien quiere probar la relación entre las listas de Elo y comprobar si funciona.

El motor es compatible con los protocolos xboard y uci, por lo que es posible hacerlo jugar en cualquier GUI o interfaz gráfica que soporte dichos protocolos.

Protocolo xboard

Con el protocolo xboard no tenemos ningún problema, por ejemplo, podríamos hacer jugar al motor en Winboard, Arena o cualquier otro GUI incluso aunque solo soporte el protocolo uci si utilizamos el adaptador wb2uci (no incluido aquí). En este caso la configuración se hace modificando el archivo de texto danacfg.txt

Las líneas que nos interesan son:

limitstrength true

elo 1500

elo_type FIDE

adjust_strength 0

diff_ssdf_active -125

El motor utilizará fuerza limitada ya que el parámetro limitstrength está en true (false para deshabilitar la fuerza limitada).

Podemos poner con el parámetro elo el valor deseado de fuerza, este elo dependerá de que clase de Elo queramos y que lo indicaremos con el siguiente parámetro.

El parámetro elo_type lo podemos indicar como FIDE, CCRL, USCF y ACTIVE.

El parámetro adjust_strength permitiría ajustar la fuerza si la calibración no estuviese bien hecha, de momento se queda en 0.

Y por último el parámetro diff_ssdf_active indica una diferencia de elo media entre las 2 listas, utilizado si seleccionamos Elo Active.

Protocolo uci

Muchos usuarios están más acostumbrados y prefieren el protocolo uci al xboard, la mayoría de los motores profesionales y fuertes lo soportan. Sin embargo, la regulación de fuerza es un tanto especial y depende de las interfaces gráficas. Por ejemplo, aunque la interfaz de Fritz es buena y utilizada por mucha gente no estoy seguro de que haga bien la limitación de fuerza en motores que no son el integrado.

Mi interfaz gráfica preferida para la limitación de fuerza y la que he probado es Arena. Arena es gratuito. El motor se instalará como cualquier otro motor con protocolo uci. Una vez configurado lo pasamos a la ventana de motores activos y lo iniciamos. Por defecto si no decimos nada, la GUI no limitará la fuerza. Para ello debemos ir al menú y en Level (Nivel) seleccionar la opción que dice Limitar la fuerza de juego a Elo … Personalmente no me gusta mucho que esta opción se encuentre aquí, yo casi prefiero que se pudiera modificar el valor de Elo en la ventana de configuración. Para acceder a la ventana de configuración hay que ir al menú Engines (Motores) y seleccionamos el número de motor que es y usamos la opción de configuración, entonces se nos abrirá la ventana de configuración.

También sugiero abrir desde el menú de Engines la ventana de depuración (log) ya que en este caso el motor cuando se inicia muestra el valor de Elo para cada una de las listas y da más información como el número de nodos por segundo que utilizará.

danasah79lsbeta2

Podéis seleccionar el tipo de Elo FIDE y jugar contra el motor y comprobar si el motor juega con una fuerza parecida a la que esperabais. También podéis seleccionar la lista Active y hacer jugar al motor contra una máquina dedicada. Creo que la regulación funcionará por encima de los 1300-1400 puntos, por debajo es posible que la regulación falle (¿debido a la fórmula de conversión entre FIDE y CCRL?). En una próxima versión intentaré regular para que se pueda jugar por debajo.

También es posible seleccionar el Elo CCRL y hacerlo jugar contra otros motores, en este caso creo que la regulación funcionará entre los 500 y 2500 puntos. Por debajo de los 500 puntos los motores son defectuosos o casi motores con movimientos aleatorios por lo que es casi imposible regular esos valores. 

© Chess Computer Coleccionistas (2019)