¿Cuál sería el Elo de un programa de computadora que juega movimientos aleatorios?
En aras de la simplicidad, suponga que nunca pide un sorteo o renuncia y nunca acepta una oferta de sorteo.
¿Cuál sería el Elo de un programa de computadora que juega movimientos aleatorios?
En aras de la simplicidad, suponga que nunca pide un sorteo o renuncia y nunca acepta una oferta de sorteo.
Respuestas:
Justo en la parte inferior de la Lista de clasificación de ajedrez de computadora para el control de tiempo 40/4 se encuentra Brutus RND, un motor que simplemente selecciona movimientos legales aleatorios.
Tiene una calificación de 205 (a partir del 6/6/2018). Por supuesto, esta no es una calificación FIDE, pero está utilizando el sistema Elo.
Tiene 0 victorias, 242 derrotas y 64 empates. Los sorteos se deben a programas defectuosos que causan sorteos accidentalmente por repetición u ocasionalmente estancamiento, aunque generalmente tienen una ventaja material sustancial cuando esto ocurre.
La FIDE tiene un piso de calificación de 1000. Brutus RND simplemente no lograría establecer una calificación tan alta y no tendría calificación.
Si ignoramos el piso de calificación FIDE, es posible tener una calificación negativa bajo el sistema Elo.
Un punto a mencionar es que la FIDE usa una tabla para calcular los cambios de calificación y si la diferencia de calificación es mayor a 735, no ocurre ningún cambio cuando el jugador más fuerte gana. Esto significa que Brutus nunca podría tener una calificación de -5000 o algo así porque necesitaría perder puntos para jugadores espectacularmente incompetentes que no serían capaces de entregar jaque mate.
https://www.fide.com/component/handbook/?view=article&id=197
Nos quedamos adivinando aquí. 1000 jugadores con calificación Elo podrían bajar la calificación de Brutus a 265, pero dado que no hay jugadores con peores calificaciones, no podemos decir exactamente cuánto más podrían presionar la calificación de Brutus si existieran.
Supongo que los jugadores que son 500 Elo o peor tendrían problemas para entregar mate constantemente, al igual que los programas defectuosos. Los sorteos por repetición de 3 veces o la regla de 50 movimientos no son automáticos según las reglas de la FIDE y solo ocurrirían si Brutus los reclamara. Pero un humano podría perder al quedarse sin tiempo, así como al dibujar por un punto muerto accidental.
Así que supongo que en algún lugar en el rango de -200 a 200 si la FIDE permitió calificaciones por debajo de 1000 y permitió que Brutus compita.
El problema con el juego aleatorio es que en una posición de ajedrez promedio hay muchos movimientos (desde 20 en la apertura hasta fácilmente 50 o más en finales complicados), pero solo unos pocos son aceptables. Los movimientos aleatorios resultarán en una descoordinación total desde el comienzo del juego. Además, capturar piezas menos valiosas sería muy común, especialmente en el medio juego. Dicho esto, incluso contra una oposición extremadamente débil, la computadora, a la larga, cometerá un error: se intercambiarán toneladas de material y posiblemente no sean muy buenas para la computadora, la computadora sin duda estará poco desarrollada, su rey no estará a salvo y posiblemente ni siquiera enrocado ...
Tantas cosas malas que se acumulan, y extremadamente rápido, resultarán en una derrota segura para la máquina. Su Elo probablemente será 0 FIDE.
No estoy seguro de cómo se comparan las clasificaciones de Go con el ajedrez, pero el juego aleatorio es de aproximadamente -3500 allí . Dado que el factor de ramificación para el ajedrez es menor, esperaría que el jugador aleatorio elo sea mayor, tal vez entre -2000 y -500.
Peor que un principiante absoluto que apenas conoce las reglas del juego, porque al menos el principiante pone un poco de pensamiento en la elección de un movimiento. Sus movimientos aún pueden ser en su mayoría aleatorios, pero al menos hay una evaluación de las posiciones en curso.
Por lo tanto, la calificación de este motor estaría en el piso más bajo posible de cualquier sistema de calificación que elija. Eventualmente podría ganar o empatar un juego contra un oponente igualmente malo, y luego aumentar en algunos puntos. Sin embargo, puede esperar que la calificación del motor vuelva rápidamente al piso mínimo después.
En "Programación de una computadora para jugar ajedrez" de Shannon, señala que la probabilidad de que un juego aleatorio venza a Botvinnik es del orden de 10 ^ -75. Por lo tanto, si esta computadora aleatoria fuera a jugar Botvinnik (o incluso un maestro regular) sin parar durante toda la vida humana, razonablemente podemos esperar que nunca gane.
Sin embargo, Shannon continúa diciendo que el juego aleatorio no es la peor estrategia; La peor estrategia es jugar movimientos deliberadamente que ayuden al oponente. Si bien es posible que un principiante completo pueda hacer esto, lo más probable es que intenten jugar movimientos que mejoren su propia posición.
Una muy buena respuesta sería hacer esto:
Use numpy, un motor de juego muy débil, 1500 ELO más o menos, y adjunte un script de python. Hay muchas bibliotecas que le proporcionan los posibles movimientos en una posición, por lo que podemos elegir uno al azar. Publicaré los resultados más tarde.
http://creative-co.de/random_chess/
También deberías revisar esto.