¿La Medalla Fields para un computador ?

Le 8 août 2009  - Ecrit par  Stéphane Lamy
Le 13 février 2019  - Traduit par  Jimena Royo-Letelier, Julio E. De Villegas
Article original : Un ordinateur médaille Fields ? Voir les commentaires
Lire l'article en  

En 2009, un programa computacional para el juego de go llamado MoGo [1] derrotó a un jugador profesional coreano, con 9 piezas de ventaja.

No voy a explicar aquí las reglas del juego de go [2], pero digamos simplemente que el principio es que dos jugadores colocan alternativamente peones negros y blancos sobre una cuadrícula de 19 líneas por 19 columnas, tratando de cercar espacios de áreas lo más grandes posibles. Entre dos jugadores de fuerzas distintas se acostumbra jugar partidas pedagógicas, dando jugadas de ventaja (handicap) al jugador más débil, que usa las negras. Dar nueve piezas de ventaja habitualmente es el máximo handicap acordado. Dicho esto, un jugador razonable de un club francés como yo [3] tendría ciertamente las mayores dificultades para vencer a un profesional coreano, incluso con esta ventaja de nueve jugadas a favor, lo que sitúa el nivel alcanzado por el programa MoGo.

El juego de go es por naturaleza mucho más difícil de programar que el ajedrez (¡y programar esto último no es una trivialidad ! [4]). Una dificultad es que es muy difícil evaluar una posición, ya que para eso es esencial tomar en cuenta el contexto global. Una analogía seductora es el problema de la traducción automática de una lengua a otra, donde la traducción de una misma palabra será distinta en función del contexto, noción que es difícil de implementar en un computador. Con ese paralelo en mente, yo tenía desde hace tiempo la idea de que excelentes programas de go deberían surgir en el mismo momento en que aparecieran excelentes programas de traducción automatizada.

La realización de un programa informático puede a veces dar oportunidad para comprender mejor un problema dado. Yo mismo estoy desde hace semanas sumergido en la concepción de un programa para elaborar de manera automática, y sobre un gran número de ejemplos, un algoritmo complejo derivado del mundo de la geometría algebraica : poco importa el problema exacto, pero en todo caso, el hecho de tener que escribir ese programa me obligó a reflexionar sobre cómo se llevaban a la práctica los cálculos en cada etapa del proceso (mientras que antes, como matemático, yo estaba más bien focalizado en la prueba del hecho que el algoritmo siempre conducía bien a la respuesta al problema planteado). Es un tanto parecido a la experiencia que ha vivido todo profesor : no se comprende realmente bien un tema sino hasta después de haberlo enseñado. Y hacer comprender alguna cosa a un computador es mucho más difícil, a mi juicio, que hacerla comprender a los estudiantes...

Ahora bien, el programa que realizó la hazaña mencionada arriba está basado en un enfoque completamente no intuitivo, al menos para mí, ¡y que no ha debido permitir a sus creadores progresar mucho en su práctica del go ! La idea central del programa es, en líneas generales, la siguiente [5] : para calificar una jugada en una situación dada, el programa hace esa jugada y luego termina la partida haciendo jugar blancas y negras de manera completamente aleatoria, y anota la diferencia de puntos que resulta de eso. El programa repite esto un gran número de veces (digamos un millón de partidas aleatorias con esa misma primera jugada), y la calificación de la jugada examinada será el promedio de los resultados observados. Básicamente, el programa efectúa enseguida la jugada que obtuvo la mejor calificación. A primera vista me pareció absolutamente increíble que un algoritmo semejante (incluso modificado con ayuda de algunas reglas heurísticas para preseleccionar una lista de jugadas ’’plausibles’’) pudiera ser eficiente. ¡Y, sin embargo, funciona !

En los artículos que pude revisar, los especialistas del tema llaman el enfoque de arriba como Método de Monte Carlo. Me parece que se podría calificarlo como método Darwinista, ya que ahí se encuentra la idea de mutaciones aleatorias y de selección de las mejores mutaciones. En efecto, si la naturaleza tuviera que jugar al go, jugaría millones de partidas (millones de individuos) donde cada jugada sería el fruto del azar (mutaciones aleatorias) pero solo sobrevivirían (los individuos mejor adaptados) las partidas donde esas jugadas al azar resultaran ser en realidad jugadas ’’adecuadas’’ (mutaciones que llevaran una ventaja adaptativa). Yo no sé si vale esta analogía, pero al menos me permitió reconciliarme con la idea de que esta manera de programar era tal vez razonable [6].

En este inicio de siglo XXI ¿cuáles son las actividades humanas que podrían prestarse para la automatización, y donde los computadores todavía hacen un papel pobre frente a los (mejores especialistas) humanos ? A los dos ejemplos ya mencionados en esta nota agrego un tercero, completando así la siguiente lista 1) La práctica del juego del go, 2) La traducción literaria, 3) La producción de teoremas matemáticos. Para cada uno de estos ejemplos he tratado de imaginar un examen que certificaría que los programas han sobrepasado a los programadores. Para el go, esto es bastante fácil : ’’derrotar a un jugador profesional de alto nivel en las condiciones habituales de un partido de campeonato’’. A la vista de los recientes progresos de los programas, uno puede esperar que esto ocurra de aquí a una década o dos. Para la traducción es un poco menos claro. ¿Qué piensa usted acerca de ’’traducir una novela de una manera tal que podría convencer a un editor para publicarla tal cual’’ ? Yo no sé si se puede imaginar un examen mejor, pero en todo caso un desempeño semejante me parece que está en un horizonte un poco lejano. También es interesante preguntarse si un enfoque ’’darwinista’’ de ese problema podría ser desarrollado. A primera vista no parece el caso, lo que tendería a mostrar que —contrariamente a mi idea inicial— ambos problemas no están en el mismo registro de dificultad. Finalmente, ¡las matemáticas ! Ahí soy incapaz de encontrar un examen que me satisfaga. Por lo tanto, hago una finta : ’’resolver uno de los problemas de un millón de dólares catalogado por el Clay Mathematics Institute’’ [7], y (¡tanto que hacer !), hacerse otorgar la medalla Fields. Ese tipo de perspectiva por supuesto hace sonreír a todos los matemáticos profesionales (como yo).

Nos reiremos menos si esto se produce durante nuestra carrera...

Notes

[1¡MoGo fue desarrollado por investigadores franceses ! Vea aquí esta noticia y acá el sitio del proyecto MoGo (INRIA-CNRS-Paris 11).

[2Vea este sitio de la Federación Francesa de go.

[3Yo estoy más o menos en 2° kyu.

[4En matemáticas, el carácter ’’trivial’’ se entiende en el sentido de ’’evidente’’.

[5En todo caso, lo que yo comprendí de él. Espero no haberme equivocado. Si un especialista pasa por aquí que no dude en rectificarlo, pero por favor con misericordia...

[6Y además fue en el bicentenario del nacimiento de Darwin, quien produjo una de las teorías científicas más impresionantes para mí : fácil de enunciar y llena de astutas trampas en cuanto uno busca aplicarla a no importa cuál caso particular (extraigo esta opinión de la lectura de los maravillosos ensayos de S. J. Gould).

[7Si usted quiere probar suerte.

Partager cet article

Pour citer cet article :

Julio E. De Villegas, Jimena Royo-Letelier — «¿La Medalla Fields para un computador ?» — Images des Mathématiques, CNRS, 2019

Commentaire sur l'article

Laisser un commentaire

Forum sur abonnement

Pour participer à ce forum, vous devez vous enregistrer au préalable. Merci d’indiquer ci-dessous l’identifiant personnel qui vous a été fourni. Si vous n’êtes pas enregistré, vous devez vous inscrire.

Connexions’inscriremot de passe oublié ?