Aprendiendo las reglas del ajedrez


11

Una pregunta similar pregunta si una computadora puede aprender a jugar de manera óptima en el ajedrez analizando miles de juegos.

Si una máquina puede mirar el estado del tablero para algunos juegos de ajedrez (o algunos juegos de damas) al principio y después de cada movimiento, ¿se puede programar para aprender las reglas del juego?

Si puede, ¿en qué medida (por ejemplo, sería capaz de dar cuenta del enroque o la promoción) funcionaría? ¿Qué algoritmos de aprendizaje automático harían esto posible?


3
La máquina debería poder llegar a un estado en el que pueda decir "He visto este movimiento realizado, así que supongo que puedo hacerlo en circunstancias similares". Si eso constituye "aprender las reglas" es casi una cuestión filosófica. ;)
deceze

@deceze Bueno, no tienes toda la razón. Al aprender las reglas uno significa ser capaz de hacer el movimiento dado el diseño que nunca antes le había sucedido al programa. De lo contrario, no se trata de aprender las reglas sino de memorizar los movimientos.

2
@Max ¿Podría la computadora realizar correctamente movimientos que nunca antes haya visto? Digamos que ha visto al caballero moverse dos veces hacia adelante y uno hacia un lado muchas veces, pero nunca dos hacia atrás, uno hacia un lado. ¿Cómo podría decir con confianza cuáles son las reglas con respecto al movimiento de los caballeros? Tal vez hay una cláusula especial en las reglas que establece que "los caballeros no pueden retroceder, solo avanzar" (al igual que los peones). Por lo tanto, deducir reglas con certeza parece algo imposible. Eso también se aplica a los humanos.
deceze

8
@Max De hecho, podría haber un número infinito de reglas que la computadora no puede deducir . On the 8th turn the knight may not turn right. On a sunny day the pawns may jump over bishops.La computadora no puede decir por qué ese peón no se movió en un turno en particular. Tal vez había una regla en contra de que se moviera en esa circunstancia particular. Por lo tanto, la computadora solo debería poder reproducir patrones similares (en realidad, exactos), pero nunca podrá deducir las reglas con un 100% de confianza.
deceze

@deceze Sí, puede hacerlo si le mostró esa regla de alguna manera. De la misma manera que necesita enseñarle a los humanos las reglas (por ejemplo, darle la impresión de las reglas para que las lea), debe proporcionar de alguna manera esas reglas a la máquina. La forma más fácil es reproducir TODAS las reglas en una cantidad de juegos para que la máquina aprenda. Lo mismo ocurre con los humanos: los humanos no sabrán eso On a sunny day the pawns may jump over bishops.si nunca se lo mostraste.

Respuestas:


10

Si una máquina puede mirar el estado del tablero para algunos juegos de ajedrez (o algunos juegos de damas) al principio y después de cada movimiento, ¿se puede programar para aprender las reglas del juego?

Ciertamente no para unos pocos juegos de ajedrez; necesitaría analizar un número increíblemente grande de ellos para evitar que realice movimientos no válidos. Cuánto, no lo sé; Este problema pertenece al área de la teoría del aprendizaje computacional, el aprendizaje PAC y el problema de la capacidad de aprendizaje en el límite .

Los algoritmos de clasificación sugeridos por los otros pósters podrían aprender de manera discriminatoria las reglas del ajedrez: dadas dos configuraciones de tablero, podrían responder "sí" o "no" a la pregunta de si un movimiento válido transforma uno en el otro. Con algo de esfuerzo, también podrían usarse para generar movimientos. Sin embargo, solo generarán movimientos que hayan visto en juegos en los que han sido entrenados, o generarán una combinación de movimientos válidos e inválidos, cada uno con un puntaje que indique qué tan probable consideran el movimiento en cuestión, con reglas inválidas con suerte obteniendo muy pocas probabilidades.

(Es decir, o el programa no reconocería algunos movimientos válidos a su disposición; o podría ser capaz de hacer trampa sin que lo note; o tendría que entrenarlo durante tanto tiempo que pierda todo interés en el juego).

Para conocer las técnicas que pueden aprender reglas, consulte la programación lógica inductiva y la programación genética . No estoy seguro de si alguien alguna vez ha tratado de aplicarlo al aprendizaje del ajedrez; Dado que las reglas del ajedrez son fijas, es mucho más interesante (incluso para la academia) construir buenos programas de juego de ajedrez en lugar de aquellos que tienen que aprender las reglas básicas desde cero.


4

Las reglas del ajedrez son bastante complejas y algunas rara vez se ejecutan en un juego.

Por ejemplo, la regla en passant . ¿Cuántos juegos necesitarás observar para deducir que solo se permite el primer movimiento después del movimiento de dos pasos hacia adelante?

Otro ejemplo. El cuadrado b puede ser atacado en castillos largos. ¿Cuántos juegos ves donde sucede esto?

En otras palabras, necesitará muchos, muchos, muchos juegos para derivar todas las reglas correctamente.

Pero, tal vez, Google encontrará un rincón de su nube para un archivo completo de juegos de ajedrez "pronto" ...


"La casilla B puede ser atacada en un enroque largo" ¿Qué movimiento es este? ¿Me lo puedes explicar o vincular?
CaffGeek

@chad, también llamado enroque en el flanco de dama: se usa la notación "0-0-0". Son solo los tres campos que los reyes "tocan" los que pueden no estar bajo ataque.

2
Además, la casilla d no puede ser atacada cuando se enroca en el flanco de dama (o la casilla f cuando se enroca en el flanco de rey) ; tampoco puedes enrocarte después de mover a tu rey. ¿Cómo se supone que debes saber que algo no se puede hacer observando juegos donde no se hizo? Como menciona Lars, la computadora podría asignar probabilidades de que un movimiento sea válido, pero determinar esa regla específica al observar los juegos es casi imposible.
BlueRaja - Danny Pflughoeft

Además, ha habido juegos, incluso por grandes maestros en una configuración de torneo, donde las reglas se han roto , ¡y ninguno de los jugadores se dio cuenta! De acuerdo con las reglas del torneo, si ninguno de los jugadores se da cuenta en 10 movimientos, el juego es válido y continúa. (Recuerdo muy claramente un juego en el que un gran maestro movió a su rey, luego lo movió hacia atrás y luego lo enrocó. Sin embargo, no puedo encontrarlo ahora)
BlueRaja - Danny Pflughoeft

1
en passant es bastante raro, pero hay algunas reglas de sorteo forzado que son MUCHO más raras. He estado jugando durante 40 años y nunca he visto un juego en el que puedas tener un empate forzado por tener 50 movimientos sin movimientos de peón y sin capturas. Creo que hay una regla más que ni siquiera recuerdo. En la práctica, los jugadores aceptarán un empate antes de ser invocados. (Existen para garantizar que no puedas "ganar" una posición empatada arrastrándola hasta que tu oponente se vaya.)
Loren Pechtel el

2

Si y no

No estoy seguro de si está preguntando si es posible aprender las reglas del ajedrez utilizando el aprendizaje automático / redes neuronales o si es posible entrenar a una máquina de ajedrez de nivel "gran maestro" utilizando.

Ciertamente puedes enseñarle a una computadora las reglas y cierto nivel de ajedrez usando esas. Sin embargo, no creo que pueda entrenarlo de manera factible a un nivel superior usándolo. La informática aún no ha logrado producir una máquina que pueda "comprender" el ajedrez desde un punto de vista posicional / intuitivo. Todas las computadoras de ajedrez actuales usan una base de datos extensa, cálculos de fuerza bruta y posiblemente un aprendizaje automático.

Supongo que depende si cuentas con usar una base de datos de referencia como trampa o no :) Además, es difícil saber si realmente puedes separar saber muchos juegos de ser bueno en eso. Los humanos que son buenos en el ajedrez son buenos precisamente porque han visto muchos juegos a los que hace referencia la parte del cerebro que generalmente se sabe que reconoce caras. De este recuerdo parece que los jugadores de ajedrez humanos pueden desarrollar una "intuición" de la fuerza de una posición.


los mejores grandes maestros memorizan vastos libros de apertura y eso no se considera trampa. Y de todos modos, sucede todo el tiempo que lo que alguna vez se consideró una buena variación de apertura se ve afectado por una nueva idea. Por lo tanto, el "truco" de los movimientos de los libros puede que ni siquiera sea la forma óptima de jugar de una computadora.
Kevin

2

Como muchos de los comentarios han dicho, esta es casi una pregunta filosófica que debate la definición de 'aprender'. La mayoría de los programas de inteligencia artificial se basan en la determinación de soluciones racionales. Con suficientes datos, un programa de aprendizaje de ajedrez ai determinará una lista de movimientos que son racionales de hacer en ciertas situaciones. Esto no significa que conozca las reglas del ajedrez, simplemente comprende qué movimientos son beneficiosos y cuáles no. Incluso si el conjunto de datos incluye jugadores que realizan movimientos ilegales, el movimiento ilegal causará una pérdida instantánea, por lo que el ai lo ignorará y nunca usará ese movimiento porque nunca es beneficioso.

No importa si se utilizan redes neuronales o algoritmos evolutivos o cualquier otro tipo de algoritmo de aprendizaje, un ai nunca puede aprender explícitamente las reglas al observar algo, solo puede determinar una lista de opciones racionalmente beneficiosas.


2

Si piensa en las reglas del Ajedrez como el motor de física del juego y las Leyes de la Física como las reglas aceptadas permanentes e inflexibles del universo, piense en las pocas "Leyes" reales que hay en nuestro universo natural. Es EXTREMADAMENTE difícil, si no imposible, hacer una REGLA dura y rápida, pero podemos hacer una serie de teorías probadas y aceptadas a partir de un punto específico en el tiempo.

PODRÍA ser posible asumiendo que la computadora observa y registra movimientos, pero NO hace afirmaciones sobre movimientos válidos directamente.

Por ejemplo, observaría un peón avanzando una pieza y formularía nuevas hipótesis de que todas las piezas pueden avanzar solo un espacio, y otra que un peón puede avanzar solo un espacio. Se formarán tantas hipótesis restrictivas como sea posible hasta que ocurra el próximo movimiento y se puedan lanzar varias o hacerlas más liberales.

Finalmente, después de tantos movimientos, tendrá un conjunto de teorías sólidas, pero será un conjunto de datos vivo que se acercará permanentemente a 0 pero nunca lo alcanzará.

Entonces, la respuesta es que una computadora podría hacer una buena suposición, pero (EDITAR: NO) conocerá las reglas con seguridad.


1

En teoría, sí puede. Incluso puede convertirse en un gran maestro en el ajedrez. La respuesta que busca es redes neuronales . Las redes neuronales son, en esencia, lo mismo que sucede dentro de nuestro cerebro. Además, dada la red neuronal diseñada perfectamente (leída, imposiblemente perfecta) y un hardware perfecto, puede aprender todo lo que un ser humano puede aprender de la misma manera o incluso mejor.

Lea más sobre esto:


2
Esta "respuesta" es solo un montón de enlaces de Wikipedia, dos de los cuales describen el mismo concepto, uno de los cuales es extremadamente amplio, y uno de los cuales no tiene nada que ver con el problema en cuestión. Muestre cómo se usaría un mapa de Kohonen para aprender de manera efectiva las reglas del ajedrez.
Fred Foo

1
ANN y NN no están cerca de la complejidad de una neurona / cerebro humano real, un ANN es, en el mejor de los casos, una aproximación cruda horrible.
Darknight

"En teoría, teoría y práctica son lo mismo, pero en la práctica nunca lo son". Los programas de ajedrez pueden jugar como grandes maestros, pero no creo que sea por redes neuronales o aprendizaje automático. La mayoría de los buenos programas utilizan vastos libros de apertura, bases de tablas de final de juego y una primera búsqueda en profundidad ("negamax con alfa beta poda"), y probablemente una función de evaluación muy complicada (que probablemente está escrita con la ayuda de grandes maestros).
Kevin

Las redes neuronales solo pueden aprender para qué están entrenados. El ajedrez tiene algunas reglas que rara vez se aplican, pero que son parte del juego. ¿Sería legal ascender a obispo? ¿Sería legal ascender a rey?

2
¡Ja ... ascender a rey hace que jaque mate sea un poco más difícil!
Kevin

1

Creo que puede aprender los movimientos que puede hacer simplemente analizando, pero ¿cómo aprendería los movimientos que no puede hacer? Por ejemplo, el peón nunca parece avanzar una casilla cuando una pieza opuesta está frente a ella. ¿Cómo sabe la computadora si esto es por elección del jugador o si no está permitido hacerlo? Puede crear algún algoritmo que diga que si el 99.99% del tiempo o más no ocurre un evento, eso significa que no puede hacerlo, pero también podría ser que el 99.99% del tiempo se considere un evento mal movimiento, pero ese 0.01% del tiempo es el movimiento que gana el juego. Entonces, mi respuesta es no, no puede aprender todas las reglas simplemente analizando juegos, pero probablemente puede aprender lo suficiente como para jugar un juego.


1

Esta es una pregunta filosófica. También podría preguntar si una persona podría aprender a jugar ajedrez únicamente observando a las personas mientras juegan ajedrez. De hecho, es básicamente el mismo tipo de pregunta que Nelson Goodman hace en su gran libro Fact, Fiction and Forecast : cómo podemos pasar de un conjunto finito de observaciones ya hechas a una predicción de observaciones futuras. Las observaciones ya hechas serían los movimientos de ajedrez observados hasta ahora y las observaciones futuras serían todos los movimientos de ajedrez que aún no han sucedido. La pregunta es, ¿existe una relación nomológica entre las observaciones pasadas y las observaciones futuras (en oposición a la relación puramente causal entre eventos pasados ​​y eventos futuros)?

Si interpretamos la palabra nomológica como una ley de la naturaleza o la lógica y nada puede suceder en desacuerdo con esta ley , entonces, ciertamente no existe tal relación, ya que la primera persona que mueve un castillo en diagonal, violaría la ley de la naturaleza y el universo tal como lo conocemos colapsaría.

Pero incluso si, de hecho, por algún extraño accidente de la naturaleza, cada movimiento que cualquier jugador de ajedrez en el mundo hiciera a partir de ahora, es válido (nadie cometerá ningún error o tratará de hacer trampa e incluso la gente desconocerá las reglas del ajedrez comenzaría a empujar piezas de ajedrez al azar en todos los ámbitos, pero accidentalmente siempre de acuerdo con las reglas), eso no nos convencería de que hay una ley de la naturaleza (o una ley de la lógica) que forzó todo esto. Lo consideraríamos puramente accidental.

Ludwig Wittgenstein cubrió un terreno similar en sus Investigaciones filosóficas . Insiste en que cualquier conjunto de observaciones está de acuerdo con arbitrariamente muchas reglas, e incluso conflictivas. Por ejemplo, si todos los juegos de ajedrez observados por mí hubieran sucedido en la tarde, entonces mi regla podría ser en la tarde, el alfil solo se puede mover en diagonal . Que la hora del día no sea importante para el juego es algo que no podría haber observado ya que no he observado juegos de ajedrez en diferentes momentos del día. O, por cierto, si nunca he observado a una mujer jugando al ajedrez, entonces la regla podría ser que el obispo solo puede ser movido por hombres. Lo que es relevante para una observación y lo que no lo es se determina como un requisito previo para la observación y no puede ser parte de la observación misma.

Por cierto: la solución de Wittgenstein al problema es bastante similar a la de Goodman. Aunque no estropearé la sorpresa;-)

Apéndice:

En los días en que Sussman era un novato, Minsky se le acercó una vez mientras estaba pirateando el PDP-6.

"¿Qué estás haciendo?", Preguntó Minsky. "Estoy entrenando una red neuronal cableada al azar para jugar Tic-tac-toe", respondió Sussman. "¿Por qué la red está conectada al azar?", Preguntó Minsky. "No quiero que tenga ideas preconcebidas sobre cómo jugar", dijo Sussman.

Minsky luego cerró los ojos. "¿Por qué cierras los ojos?" Sussman le preguntó a su maestro. "Para que la habitación esté vacía". En ese momento, Sussman estaba iluminado.


-4

No

Porque simplemente aprender patrones (a través de cualquier método) no es lo mismo que "aprender a jugar al ajedrez de manera óptima".

Esto requiere planificación y estrategia, lo cual es muy distinto de simplemente aprender patrones de conjuntos.


1
En realidad no lo sabes; Además, la pregunta es si es posible (para una computadora, pero las mismas restricciones probablemente también se aplicarían a los humanos) aprender las reglas reales del ajedrez simplemente analizando juegos de ejemplo.
tdammers

1
Creo que
entendiste

Después de trabajar (tesis de maestría) con IA (redes neuronales), estoy bastante seguro de que no puede. A menos que tenga evidencia para decir lo contrario, no puede simplemente decir "no lo sabe"
Darknight
Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.