Razonamiento y resolución de problemas

By Josue Camargo - junio 06, 2022

La Inteligencia Artificial y la Solución de Problemas

La matemática es el arte de resolver problemas. ¿Nos superarán los ordenadores en esta tarea? Tratamos hoy esta cuestión.

Una polémica en MathOverflow

Dos usuarios de MathOverflow han mantenido recientemente una polémica sobre el tema. Son los usuarios fedja y Iosif Pinelis.

fedja responde en muchas ocasiones a preguntas aparentemente imposibles, demostrando desigualdades increíbles en una forma que lo deja a uno lleno de admiración. No obstante, él sostiene que sus soluciones podrían ser encontradas igualmente por una inteligencia artificial (IA). Para fedja, una solución tiene que ser comprendida por un humano. Un humano con sus capacidades usuales, entre las que no incluye la habilidad de multiplicar números de dos cifras, de manera que no confía en los programas de cálculo simbólico del tipo de Mathematica. 

Iosif Pinelis también resuelve problemas que sorprenden por su ingenio, pero no duda, cuando es necesario, en usar Mathematica. Sin embargo, Pinelis duda mucho que una IA sea capaz de imitar las acrobacias de fedja en sus soluciones. 

Para fedja la solución de un problema matemático es como jugar una partida de ajedrez. En cada momento tiene una posición y tiene que tratar de mover a una posición más favorable. Uno puede medir si la posición es más favorable por indicadores simples: número de ecuaciones, número de variables, número de ocurrencias de cada variable, capacidad de aplicar teoremas conocidos. Al igual que en el ajedrez uno no ve la posición vencedora hasta que casi llega al final, simplemente trata de conseguir un pequeño avance en cada jugada. 

Como en el ajedrez, hay sacrificios, que son aceptables si simplifican y mejoran la situación. Así, si quiero probar A<B, puedo demostrar A<C y reducir el problema a probar C<B. Sacrificando la ventaja CA. 

Esta comparación con el ajedrez es correcta, pero ya expliqué en otra entrada anterior cuál es la diferencia muy importante para mí. En el ajedrez lo que cuenta es sobre todo tu peor jugada y en cambio en matemática solo cuenta tu mejor jugada. 


El caso del ajedrez y la inteligencia artificial

Desde el inicio de los computadores se ha intentado que jugaran al ajedrez. Un éxito fundamental de la Inteligencia Artificial se dio en 1997 cuando Deep Blue ganó al campeón mundial Kasparov. Este programa evaluaba las posiciones utilizando una base de datos con las partidas de los mejores jugadores humanos, cuidadosos pesos construidos por jugadores profesionales y programadores, combinados con una búsqueda en el espacio de jugadas a una velocidad de unos 200 millones de posiciones por segundo. Una estrategia parecida es la que parece proponer fedja, y en sus soluciones trata de exponer algunos de los pesos y criterios para estimar cada posición. 

La inteligencia artificial ha dado un salto muy grande desde Deep Blue. En 2017 se presentó AlphaZero. Este programa es capaz de vencer a todos los anteriores, pero su estrategia es muy diferente. Es un algoritmo de propósito general, que aprende desde cero. No necesita input de jugadores humanos. Es capaz de jugar a distintos juegos: ha conseguido jugar mejor que cualquier otro anterior al ajedrez, al go, y también al shogi (el ajedrez japonés, que se juega en un tablero mayor, con más tipos de fichas y capturas que se convierten en fichas del contrario). 

AlphaZero usa una red neuronal interna que toma la posición s como entrada y retorna un vector de probabilidades, asignando una probabilidad a cada jugada posible y un valor v estimando la esperanza del resultado del juego. AlphaZero estima estas probabilidades por medio de auto-juego. De manera que desde cero avanza mediante juegos simulados consigo mismo hasta una posición de Gran Maestro.

El entrenamiento dura aproximadamente 9 horas en el ajedrez, 12 horas en el shogi y 13 días en el go. 

AlphaZero estudia 60000 posiciones por segundo. Mucho menos que su antecesor Deep Blue. AlphaZero se concentra en posiciones más prometedoras. La distancia entre AlphaZero y los anteriores programas es como la de gran maestro a un buen jugador aficionado. No son rivales para AlphaZero. Gana a los programas anteriores aunque solo se le permita usar en cada jugada la décima parte de tiempo que a su oponente.

La característica del juego de AlphaZero es que es más atrevido, sacrificando piezas para obtener ventajas estratégicas a largo plazo. Algunos jugadores humanos piensan que su juego es como el de un extraterrestre con inteligencia superior. 

Los creadores de AlphaZero no han intentado aplicar este método a la solución de problemas matemáticos. Ni siquiera a un tipo particular como la demostración de desigualdades. Resolver problemas matemáticos en general es más complicado que resolver problemas en la clase NP, de forma que querer que resuelva cualquier problema matemático posiblemente sea querer demasiado. ¿Qué sería una posición?, ¿qué una jugada válida? Si restringimos el campo a la demostración de desigualdades de algún tipo, por ejemplo que se puedan expresar mediante funciones elementales, integración y sumas, es posible que podamos hacer que un programa del tipo AlphaZero aprenda a resolverlos. 

“Chess is mental torture. – Garry Kasparov”

De todos modos, incluso con esa definición restringida, el resultado final se parece mucho a dar la solución de un problema concreto en la clase NP. Si nos dan la prueba, seremos capaces de comprobarla en tiempo polinómico a su longitud. Pero aquí se trata de encontrar la prueba. 

Ya lo decía en la entrada anterior (El algoritmo que nadie quiere ver), hay un algoritmo: entrena a un humano. En los próximos años veremos si realmente los ordenadores consiguen superarnos. Yo creo que es probable que lo consigan. Pero es posible que cuando consigamos que un programa sea capaz de resolver problemas matemáticos, no consigamos que resuelva nuestros problemas, porque (el algoritmo) tendrá los suyos propios.

  • Share:

You Might Also Like

0 comments