¿Puede algún motor de ajedrez decirte por qué un movimiento es malo o bueno? Por ejemplo, digamos que un motor de ajedrez dice que el puntaje contra mi oponente es actualmente +2 a mi favor. Luego hago un movimiento y mi puntaje cae para decir 1.4. ¿Puede algún motor decirme qué hice mal, de modo que mi puntaje bajó de 2 a 1.4 (suponiendo que no colgué una pieza o un peón, etc.)
Me parece que hacer que los programadores de ajedrez fortalezcan aún más sus programas ahora no tiene sentido y sería mucho más beneficioso para el jugador de ajedrez promedio si pudieran hacer que sus programas nos instruyeran por qué un movimiento es malo (o bueno), suponiendo que actualmente no puedan hacer esto.
Respuestas:
Más o menos (pero no realmente), y en realidad cada vez es más difícil para los motores hacer esto por usted. Para entender por qué, debe comprender cómo va la evaluación. Los motores generalmente pueden realizar evaluaciones instantáneas en una posición determinada, dándole un valor de punto sin procesar. Luego, sea cual sea la posición, juegan hacia adelante, tratando de encontrar la línea hacia adelante que optimice ese puntaje para ambos lados.
Es importante entender que el puntaje '2.0' o '1.4' no es la evaluación / puntaje para la posición actual. En cambio, es la evaluación N se mueve hacia abajo de la línea, con cada lado jugando el mejor movimiento que encontró el motor. Es por eso que el "puntaje de evaluación actual" salta mientras la computadora está pensando. No es que el 'puntaje' para una posición haya cambiado, es solo que encontró una línea diferente en movimiento que terminó en una posición diferente (que tenía un puntaje diferente).
En el pasado, los motores apestaban. No solo por algoritmos subóptimos, sino por hardware muy lento: si crees que el interés compuesto es poderoso, no es nada comparado con la Ley de Moore . Entonces, las computadoras en ese entonces solo estaban mirando algunos movimientos hacia el futuro. Lo que hizo relativamente fácil para un humano seguir la lógica: su puntaje bajó porque está perdiendo a su caballero el próximo turno.
¿Pero ahora? Si su puntaje pasó de '2.0' a '-0.3', es posible porque, debido a algunas tácticas inevitables en los próximos 7 movimientos, tendrá que renunciar al intercambio para evitar perder a su reina o ser jaqueada. . Pero es difícil mostrar el salto de "Aquí está la posición ahora" y "Bueno, evalué 20 mil millones de posiciones en el futuro, y confía en mí cuando digo que sacrificar la torre por su obispo fue lo mejor que podía esperar".
fuente
@D_M mencionó sobre Chessmaster, pero solo informa características estáticas muy simples como:
¿Sabes por qué Chessmaster hizo eso? Eso es porque la implementación fue fácil.
NO . Chesmaster no puede hacer eso. Ningún software puede hacer eso. No tenemos la tecnología para hacer eso. Las técnicas tradicionales de programación del motor no pueden hacer eso.
Para hacer lo que describe, necesitamos modelos avanzados de matemática / aprendizaje automático. No estoy al tanto de algo así.
fuente
Además de otras respuestas, los motores no evalúan posiciones como los humanos, por lo que no pueden proporcionar una buena explicación de por qué piensan que su movimiento es inferior (énfasis en lo que piensan, no necesariamente).
Pero puede seguir el margen utilizando sugerencias de motor y comprender por qué fue inferior. Al menos esto es lo que hago.
¿Podría haber un motor que pueda hacer esto? Supongo que sí, pero desde el punto de vista comercial, probablemente, es necesario un gran esfuerzo inviable.
fuente
Creo que el motor de ajedrez puede "decirte", pero de manera indirecta.
Lo que haría es jugar varios movimientos diferentes desde la misma posición. El motor de ajedrez (presumiblemente) le dará una puntuación diferente para cada uno.
Esto te permitirá "clasificar" los distintos movimientos. Quizás surja un patrón. Si no, es posible que desee que un jugador humano (más fuerte) le explique la clasificación del motor de ajedrez.
fuente
Sí, he visto programas que intentan explicar por qué un movimiento es bueno o malo en el lenguaje. Chessmaster 9000 haría esto.
Muchos motores le mostrarán la mejor línea para cada movimiento. Así que puede decirte que si juegas g6, espera que el juego vaya f5 gxf5 Nxf5, mientras que si juegas b6 espera que el juego vaya a5 bxa5 Bxa5. A menudo, desde allí se puede ver por qué el movimiento fue bueno o malo. Pero a veces sigue siendo muy sutil.
Hay una herramienta aquí donde se puede introducir una posición y que le dirá exactamente por qué Bacalao evalúa la posición de la forma en que lo hace. Solo funciona para una posición estática (no mira hacia adelante en absoluto), pero sigue siendo interesante.
fuente
No. Aunque Chessmaster, como lo mencionan todos, puede decirte algunas cosas básicas, como si la siguiente línea resultará en un sacrificio de intercambio o si puedes perder un peón y así.
Pero también puede analizar esto usted mismo bajando las líneas. No hay motores de ajedrez ni veo ninguno en el futuro cercano que pueda explicar por qué el movimiento es bueno / malo a menos que le cueste una diferencia material. Como un motor puede haber jugado un movimiento para mejorar su posición en el futuro, digamos como después de 50 movimientos. No hay forma de que pueda explicarte por qué este movimiento dará como resultado una mejor posición después de 50 movimientos.
Además, los principales motores de ajedrez en el mercado, como Stockfish, etc., ni siquiera se molestan en incluir características tales como el nivel en el que juegan los motores de ajedrez, son completamente diferentes y muy difíciles de analizar, incluso si se nos proporciona una explicación de cada movimiento.
fuente
La evaluación del motor ("2" / "1.4") es de hecho muy similar a cómo un humano evaluaría una posición. Básicamente es una suma de varios factores como el material , la seguridad del rey , la actividad de la pieza , etc., evaluados no para la posición actual sino para la posición de unos 20 movimientos más o menos; asumiendo un juego perfecto de ambos lados.
En principio, uno podría tratar de monitorear el cambio en todos esos factores por separado (en lugar de solo su suma como lo hacen los motores). Por ejemplo, si un movimiento lleva a un valor más bajo para "seguridad del rey" más adelante en comparación con el mejor movimiento, uno podría verse tentado a decirle al alumno algo como: Su último movimiento hizo que su rey fuera más vulnerable
Sin embargo, dudo que esto funcione en los juegos reales, porque:
Debido a esto, dudo que las computadoras puedan enseñarle el juego posicional o intuitivo (basado en principios) al menos con la tecnología actual. Es mejor usar métodos clásicos como otros humanos, leer / mirar / escuchar juegos anotados, etc.
fuente