sábado, 2 de julio de 2022

El contraajedrez y el lado derecho

Por convención, en el procesamiento de lenguajes cuando se lee de derecha a izquierda el reconocimiento se suele hacer de manera ascendente. Es, por tanto, un proceso de síntesis lo que viene de la derecha y un proceso de análisis lo que viene de la izquierda..., son pequeños juegos de palabras, o bromas, que encajarían con la supuesta lateralidad del cerebro.

Hoy día las máquinas que resuelven problemas de ajedrez se fundamentan principalmente en la resolución del Principal Component, en el sentido en que recogen el tablero y lo convierten en un vector con una cantidad descomunal de dimensiones para, acto seguido, evaluar mediante las partidas más importantes cuál es el peso que debe recibir cada componente del vector. De esa manera, las partidas que acaben con la mínima varianza en ciertas componentes del vector definirán la componente principal. La magia entre los equipos desarrolladores, por tanto, reside en dos aspectos: ¿qué estructura inicial debe de vector gigantesco debe tener nuestro tablero de ajedrez (contar el número de peones, si se conserva la pareja de alfiles, si se ha enrocado, etc...) y, por otro lado, qué implementación de varianza se aplicará para escoger los pesos más significativos para el vector resultante?

Hecho esto se tiene definido un "termómetro", que se usará para hacer una poda alfa-beta fácil de implementar - es decir, teniendo el termómetro lo demás es automático: la máquina solo tiene que calcular lo más rápido posible y sin restricciones.

Ahora bien, si hiciéramos una analogía con cómo sería jugar contra un ser humano que aplique esa técnica puede que nos llevemos una sorpresa: es cuestión de imaginarse que nuestro rival en realidad es un señor que tiene un montón de libros de ajedrez y que, cada vez que hacemos una jugada, se pone a calcular internamente qué partida se parece más a la configuración actual para pillar inspiración de alguno de sus libros para dar con el siguiente movimiento. Cuando se juegue contra alguien así la impresión que puede dar es que no parece que se esté jugando exactamente contra un jugador de ajedrez, es decir, sí es un experto en ajedrez - pero a su manera.

La cosa es que cuando hablamos con un experto en deep learning observamos cómo él nos dice que éste se divide en tres grandes ramas, que una es la basada en convoluciones, otra que es recurrente y otra de un sistema generador de adversarios. Ahora bien, si evaluamos cómo se resuelven las máquinas de ajedrez, al ser un sistema que indexa partidas, técnicamente estaríamos hablando de un sistema recurrente - no es un sistema GAN (red generadora de adversarios). Es decir, en ningún momento, supuestamente, la máquina necesita crearse en su cabeza cómo piensa su adversario porque con el mecanismo de poda alfa-beta ese proceso queda sobradamente calculado mediante pura combinatoria.

Así, todo esto conlleva a que cuando se plantee un ejercicio de ajedrez propuesto por un humano a resolver en veinte movimientos o así es hasta posible que la máquina no sea capaz de analizar correctamente la partida. Aunque..., quizá la palabra "analizar" no sea la palabra correcta.

A la hora de crear de un ejercicio de ajedrez partiendo de la nada lo primero que hay que hacer es determinar qué tipo de ejercicio será: si es de ganar pieza o de red de mate. Supongamos, por ejemplo que es de mate: entonces el punto de partida es un mate generado y, acto seguido, debe haber unas reglas de "contraajedrez" mediante las cuales la pieza que hace el jaque salta atrás para dejar a su paso una pieza rival que acaba de capturar, o ninguna. Es decir, cuando incorporamos las reglas de contraajedrez las piezas que añadimos deben ser incapaces de anular nuestra red de mate, así como que el resto de las piezas deben ser incapaces de romper la red amenazando a nuestro rey - o que si lo hicieran que no afectara al mate resultante. Esas reglas, si nos damos cuenta, llevan a cabo una síntesis de movimientos que posibilitan una idea de jugada o celada deseable. Ese tipo de jugadas son fácilmente capturables mediante alfa-beta probando todas las combinaciones, pero mediante un sistema de contraajedrez ¿acaso no se podría encontrar sacrificios a mucho más largo plazo?

Ese sería un proceso paradógico, porque de antemano ya sabemos que las máquinas funcionan más rápido que las personas - y que de implementar ese modelo que comento en la mayoría de los casos especulo que funcionaría más lento. Solo funcionaría mejor en configuraciones de ajedrez muy específicas y terriblemente improbables. Por lo que lo que estoy exponiendo no puede ser una innovación para el mundo del ajedrez, o así lo siento en mis huesos. Además de que esto es algo que creo que ya se sabía desde que se diseñó el Deep Blue y los programadores, en mitad del torneo, decidieron claudicar de hacer que la máquina no supiera nada para ya convertirla en una gran bibliotecaria. Quizá en las últimas partidas Deep Blue jugara peor, pero tuviera más opciones de ganar como hasta entonces se solía hacer al estudiar menos combinaciones y centrarse más en cómo juega su adversario: cosa que, insisto, es lo contrario a desarrollar el GAN.

Teoricemos un poco qué significa que la máquina desarrolle un GAN en términos genéricos, algo así como para cualquier tipo de problema PSPACE, no exclusivamente el ajedrez. Parecería, entonces, que estaríamos trabajando en el interior de una ratonera para intentar adivinar por dónde aparecerá el queso, recordar cómo aparecen las paredes y bajo qué patrón se rigen, si hay algún gato y qué clase de operaciones podemos llevar a cabo para obtener ventajas en este juego. En nuestro sistema GAN, el ratón se genera en su mente un laberinto aleatorio para practicar antes de entrar en acción, y se construye varios métodos que le permiten mejorar sus reacciones ante cualquier clase de imprevisto. El objetivo del GAN, en definitiva, es construirse los modelos más eficientes con la esperanza de que éstos sean predictivos: si nuestro cerebro no fuera eficiente no existiría, y ese principio puede aplicarse para todos los problemas en los que pretendamos construir una simulación de lo que pretendemos recorrer.

Esa jugada de ir en dirección contraria a las reglas genera una espectativa de cómo construir métodos de red de mate para cazar el queso sin que te pille el gato, y a medida que se vaya desarrollando con ejercicios más complejos podría llegar a ocurrir que nuestro ratón sería capaz de visualizar cómo salir de la madriguera exactamente para cuando el gato se quede en la inopia, pillar el queso y volver. El crimen perfecto. 

Todo este trabajo es un proceso de inferencia que debe llevar a cabo el metamarco del ratón y su manera de construir el metamodelo del laberinto a partir de su experiencia para desarrollar un lenguaje capaz de crear un modelo que le sirva en la práctica. A medida que encuentre un modelo que le funcione podrá diversificar sus parámetros para convertirlo en una red de más valoraciones y un vector gigantesco; así, con ese modelo descomunal de escenarios victoriosos el ratón usará su red recurrente (probablemente un transformer) para tirar de biblioteca y deducir cuál es la componente principal y matar el GAN.

A medida que los retos desaparezcan también desaparecerá el interés. Si el gato no está ahí para complicarle la vida al ratón, o no existen eventualidades, el proceso diario se convertirá en una degradación del sistema hasta convertir los recursos del GAN en los de la Red Recurrente. 

Según mi modelo, SABE es el modelo que regula la atención, que es un GAN. Entiendo que el sistema tiene que tener una función para juntar las distintas escenas y saber montarse una película; de la misma manera que debe tener un sistema de fraccionamiento que le permita crear una red recurrente. Al análisis de una película completa lo he llamado fraccionamiento, mientras que el proceso de síntesis se fundamenta en un cálculo de contrarreglas (para conseguir la red de mate sin que te cace el gato).

Visto de esta manera el director montará una película a partir de las fracciones (las escenas) que tenga preparadas. Sin embargo, en ese laberinto de posibilidades debe tener una idea en mente de qué es lo que quiere transmitir. De esa manera se justifica que la película que uno se monte debe hacerse a partir de un fraccionamiento inicial. El avance cultural, o motivación para sumar con la obtención del queso, es lo que motiva hacer la obra.

Considero, por tanto, que una buena película debe partir de que sea susceptible de ser refraccionada para reevaluar otro enfoque que, sintetizado, conforme un ejercicio más satisfactorio.


No hay comentarios:

Publicar un comentario

Tierra: Día 19/07/24 punto de inflexión

Ayer se produjo el punto de inflexión a escala mundial. Dependiendo de lo que hagan y no hagan los gobiernos tras lo sucedido ayer las dos c...

Entradas populares