MLmfl and other test suites

Discussion of anything and everything relating to chess playing software and machines.

Moderator: Ras

User avatar
Kempelen
Posts: 620
Joined: Fri Feb 08, 2008 10:44 am
Location: Madrid - Spain

MLmfl and other test suites

Post by Kempelen »

Altought I have read about it I don't know exactly how to take adventage of the results of testing MLmfl over my engine. It is suppoused to be and epd suite to let you adjust the differents positional values of your engine. How do you do that? you run the test and, what do you do with the results? How exactly this kind of test must be run?
Marc MP

Re: MLmfl and other test suites

Post by Marc MP »

Kempelen wrote:Altought I have read about it I don't know exactly how to take adventage of the results of testing MLmfl over my engine. It is suppoused to be and epd suite to let you adjust the differents positional values of your engine. How do you do that? you run the test and, what do you do with the results? How exactly this kind of test must be run?
As the author put it: "The MLmfl testing scheme has proved to be a valuable tool for fast engine/personality testing in less than 48 hours on a single PC.
Complete description with listing of the starting positions in epd format."

see the link: http://users.skynet.be/mlcc/chessbazaar/contents.html
User avatar
Kempelen
Posts: 620
Joined: Fri Feb 08, 2008 10:44 am
Location: Madrid - Spain

Re: MLmfl and other test suites

Post by Kempelen »

Yes, I know the site and read all notes, but I continue don't understanding how to interpret the results. For example, why he choose 32 openings, does that mean that in a position one has to tune a parameter more that the rest?
what exactly is the test for? Page said to adjust positional values but dont know exactly . The only clear issue is how to run the test....
Marc MP

Re: MLmfl and other test suites

Post by Marc MP »

Kempelen wrote:Yes, I know the site and read all notes, but I continue don't understanding how to interpret the results. For example, why he choose 32 openings, does that mean that in a position one has to tune a parameter more that the rest?
what exactly is the test for? Page said to adjust positional values but dont know exactly . The only clear issue is how to run the test....
To my understanding, 32 positions and 8 opponents are arbitrary choices, it could be 40 positions and 5 opponents etc. The positions were choosen to reflect GM practice I believe. They aren't choosen for tuning a generic engine (if that was your question... I'm not sure I understand what you are asking about...).
User avatar
pedrox
Posts: 1056
Joined: Fri Mar 10, 2006 6:07 am
Location: Basque Country (Spain)

Re: MLmfl and other test suites

Post by pedrox »

Una vez que tienes listo un motor, lo que quieres es comprobar su fuerza y para ello nada mejor que enfrentarlo contra un conjunto de motores y cuantas más partidas mejor.

La verdadera cuestión está en saber cual es el número de rivales que necesitamos, así como el número de partidas que hay que jugar contra cada rival y otra cosa importante es cual debe ser la duración de las partidas, no es lo mismo jugar partidas rápidas que lentas.

Posiblemente cuanto más rápidas sean las partidas más posibilidades de que se produzcan resultados aleatorios. La mayoría de los programadores no tenemos ordenadores a nuestra disposición solo para hacer test o no tenemos la paciencia de esperar resultados por ejemplo durante 15 días, así que tratamos de jugar partidas con el menor tiempo posible.

El test que tu indicas, el MLmfl es un test que está creado para demostrar que con partidas de 1 minuto más 1 segundo de incremento puedes hacer una lista de ELO de motores que es muy parecida a la que se producen por ejemplo con tiempos más largos de por ejemplo 40 / 40, el autor del test lo demuestra y hay otras personas que con ello se dedican a hacer torneos con este tiempo y hay algunos programadores que utilizan este método.

Según el creador del programa Crafty, profesor Hyatt, el número de partidas que tu necesitas en este caso para tener una buena estimación del ELO con un error por debajo de 20 puntos es de unas 2500 partidas.

En muchos test se evitan los libros de aperturas, ya que los libros de aperturas también pueden influir aleatoriamente en los resultados de las partidas, lo mejor es partir de una serie de posiciones, aquí está la habilidad de algunas personas para conseguir buenas posiciones de inicio que no alteren los resultados finales y que den variedad de juego, en este caso el autor da 32, pero hay otras posiciones famosas como las de Noomen, Nunn, Silver, Sherwin, Schnapp, etc. Dichas posiciones son normalmente extraidas de bases de datos y quizás son posiciones que se han repetido en bastantes ocasiones, son posiciones que normalmente son cercanas a cuando termina el libro de aperturas. También para hacer los test podrías utilizar libros de aperturas iguales para todos los motores y limitados hasta un cierto movimiento como lo hacen CCRL y CEGT en sus test.

Si lo que tu quieres es tunear tu evaluación, quizás lo mejor es recurrir simplemente a test epd's, hay muchas archivos epd con posiciones, muchas de estas posiciones son tácticas para ganar material o dar mate, pero hay algunos test que son posicionales como este

http://home.interact.se/~w100107/fentest.htm

También recientemente Dan Corbit en la página de programación ha presentado 2048 posiciones que todo motor debe comprender, se podría utilizar también dichas posiciones para tunear la evaluación de tu programa o al menos en parte.

Sin embargo los test epd son peligrosos, a veces puedes tener un mejor resultado en un test y luego en partidas el motor juega peor, así que a parte de hacer test necesitas jugar partidas.

Yo después de un tiempo haciendo test con partidas de 1 minuto más un segundo he decido a utilizar más tiempo por partida, por ejemplo 40/4 y utilizo las posiciones de NoomenTestsuite2006, 30 posiciones por 2 = 60 partidas contra cada motor, si lo pruebo con 4 motores diferentes yo creo que tengo mejor resultados que con 2500 partidas en 1+1.

Pedro