martes, 15 de abril de 2008

Investigación con y contra computadoras

Lawrence(2001) Al Lawrence y Lev Alburt "CÓMO JUGAR CONTRA LAS COMPUTADORAS DE AJEDREZ. Para sacar el máximo provecho a su juego" Editorial Paidotribo Barcelona, 2001 http://www.paidotribo.com/ Traducción: Antonio Gude. Director de colección y revisor: Josep Escaramís Tit.Orig: Playing Computer Chess. Sterling Publishing Co.Inc.


#86
(Entrevista a Don Maddox por Al Lawrence)
*Don, a principios de mayo de 1997 un pequeño equipo de científicos e investigadores informáticos que trabajaba para IBM -con el apoyo de usted y del gran maestro estadounidense Joel Benjamin- consiguió lo que parecía imposible: derrotar al Campeón del Mundo Gari Kasparov ante un tablero de ajedrez. La pregunta obvia es: ¿Por qué perdió Kasparov aquel match contra Deeper Blue, convirtiéndose así en el primer campeón del mundo derrotado por una computadora?

Antes de que podamos responder a la cuestión de por qué Kasparov perdió y qué significa eso para nosotros y el resto de la humanidad, tenemos que hablar un poco acerca de computadoras y ajedrez en general. No hace muchos años, los expertos decían que las computadoras nunca jugarían al nivel de un maestro (es decir, el mejor 2% de todos los jugadores de ajedrez), y mucho menos aún a nivel de gran maestro (probablemente, el medio por ciento de todos los maestros).

*¿Por qué es tan dificil para las computadoras jugar al ajedrez?

Echemos un vistazo a la aritmética. Un pionero de las computadoras de ajedrez, Claude E. Shannon, realizó cálculos según los cuales el número de jugadas posibles en una partida de ajedrez es superior al de átomos que contiene el universo conocido. Su cifra eleva 10 a la 120ª potencia. Shannon señaló que si una computadora podía calcular una partida de 40 jugadas por microsegundo (y Deep Blue no puede) el programa requeriría 10 elevado a la 90ª potencia, en años, para realizar su primera jugada, algo que, por supuesto, ¡no es precisamente el ideal para el público espectador!

*¿Es eso realmente un problema? ¡Desde luego, parece más tiempo del que necesito para comer! Sin embargo, todos hemos oído hablar de lo rápido que "piensan" las computadoras..

Deeper Blue, que se encuentra a años luz de otros programas de juego, calcula 200 millones de posiciones por segundo, es decir, ¡50 billones de posiciones en tres minutos! Pero por espectacular que esto pueda parecer, tales cifras son irrisorias en comparación con el monstruoso universo ajedrecístico que pinta Shannon.

La clave es que el ajedrez es demasiado grande para que hoy -o mañana- pueda ser resuelto por las computadoras. La buena noticia es que Deep Blue no tiene que resolver el problema del ajedrez para jugar. Aquí es donde entra en escena la heurística. Una computadora no tiene que ver cada jugada, porque puede descartar las jugadas perdedoras "evidentes" y concentrarse en las jugadas candidatas "razonables". El problema es que el ajedrez es un juego de excepciones, y cada posibilidad descartada podría ser una línea que condujese al triunfo o al fracaso.

*Como humano, tengo que decirle que me encanta el efecto horizonte de las computadoras. En una perspectiva cómica, podríamos decir que es como si hubiéramos creado la versión robótica de Lo que el viento se llevó, cuya frase favorita, al enfrentarse ante un inevitable peligro es "Hoy no puedo pensar acerca de eso. ¡Mañana lo pensaré!". Sólo que supongo que Deeper Blue tendrá el acento de Ivy League.

Sí, por si no hubiera bastante problemas que resolver, las computadoras sólo pueden evaluar posiciones que realmente ven, que se encuentran dentro de su horizonte. Si hay mate una jugada más allá de ese horizonte, para ellas es invisible hasta que la siguiente jugada traslada el horizonte otra media jugada o dos medias jugadas, lo que generalmente es demasiado tarde para salvar a la desventurada máquina de un error. Deeper Blue está diseñada para prolongar su horizonte en líneas en los que el rey está amenazado, pero esta supercomputadora es tan vulnerable al efecto horizonte como cualquier otra en posiciones más sutiles, menos dramáticas.

De modo que lo que hace realmente difícil el ajedrez para las computadoras es su inmensidad y su virtual obligación de examinar cada posición y cada línea de juego antes de tomar una decisión. Con tiempo ¡limitado y un perfecto algoritmo de evaluación, estas desventajas desaparecen. Pero contra Gari, Deep Blue sólo disponía de tres minutos por jugada, y su algoritmo de evaluación se encuentra en proceso "de continua mejora una frase corporativa que viene a significar "lejos de ser perfecto".

*Si el ajedrez es tan difícil para las computadoras, ¿por qué resulta tan difícil ganarles?

Una posible respuesta es que... ¡las computadoras no tienen que jugar muy bien para vencer a los seres humanos!

*¡Seguramente tendrán que esforzarse más cuando este libro haya sido leído por numerosa gente!

¡Creo que tiene razón! Pero incluso los programas para PC pueden "ver" varias jugadas de anticipación en un procesador rápido. Dentro de su horizonte, ven prácticamente todo, no cometen errores que impliquen pérdidas materiales y prácticamente sacan partido de cada uno de los errores rivales. En realidad, sólo están obligadas a ganar unas cuantas partidas, porque son los seres humanos los que pierden la mayoría.

*Y además tienen una perfecta memoria para retener las jugadas que gente como usted les graban en su cerebro...

Sí, los programas de hoy en día se venden con un potente libro de aperturas incorporado. Este "libro" contiene una base de datos con material teórico de aperturas, a menudo "sintonizado" para llevar el juego a posiciones que el programa juega bien. En tanto que el juego discurra por estas líneas teóricas, el programa no tiene que "pensar" en absoluto: simplemente, responde de forma instantánea y sin reflexión las jugadas que tiene incorporadas. Durante la fase teórica de la partida, el programa es literalmente inmune a cualquier forma de error de memoria, mientras que su oponente humano lucha por poner en práctica lo mejor que sabe, arriesgándose a caer en una catástrofe de apertura en cada decisión que toma. Muchos jugadores como Gari en la 6ª partida- quedan en posición perdida antes de que su rival electrónico haya salido del libro.

El corolario de todo esto es que las computadoras no tienen que jugar al ajedrez tan bien como los seres humanos para conseguir resultados similares. ¿Por qué? Porque son, en esencia, bestias oportunistas programadas para privar a sus oponentes de las mismas oportunidades. Como si fuesen autómatas de tenis, incapaces de cometer errores no forzados, se alimentan de los errores del contrario, sin devolverle el favor.

*Algo que ciertamente podemos aprender de las computadoras es su "actitud" en malas posiciones. ¡No puedo recordar la cantidad de veces que cometí el error de confiarme en exceso en posición ganada!

Las computadoras de ajedrez se defienden con gran tenacidad. En una mala posición la mayoría de los seres humanos suelen derrumbarse psicológicamente, lo que conduce a la autodestrucción. Una computadora simplemente busca las mejores jugadas que la posición le ofrece, ajena a los defectos de su posición, hasta que le dan mate o que su oponente comete un error. Es más que improbable que vea usted a Deep Blue rendirse en una posición de tablas, como hizo Gari en la segunda partida.

Hay que añadir, por último, que los seres humanos somos nuestros peores enemigos en el tablero. Nos ponemos nerviosos y nos cansamos, omitimos jugadas evidentes, perdemos nuestra objetividad y abandonamos la esperanza. Pecados todos a los que la computadora es inmune.

*¿Fue eso lo que le sucedió a Gari en el match?

Cualquier jugador fuerte que haya visto las partidas del match sabe que Gari jugó "mejor" ajedrez que Deep Blue. Sin embargo, cualquiera que haya visto el resultado final ¡sabe que esto tuvo poca importancia!

*Dígame, ¿tiene algo que ver esta especie de alta investigación con usted o conmigo cuando jugamos en casa con nuestras computadoras una partida de ajedrez?

Curiosamente, Gari Kasparov perdió con Deep Blue del mismo modo que usted puede perder en casa con su computadora, y hay claras lecciones que aprender de su derrota.

En primer lugar, antes del match Kasparov subestimó en conjunto a Deeper Blue. Al mismo tiempo, sobrestimó su libro de aperturas. El resultado fue una confianza errónea en una estrategia de apertura basada en "sacar del libro" a la computadora lo antes posible. Mi tarea en la base de datos de Deep Blue y gran parte del trabajo del gran maestro Joel Benjamin en su libro de aperturas quedaron prácticamente sin verificar, hasta que Gari sucumbió estrepitosamente, a causa del libro, en la sexta partida.

Como consecuencia, Gari jugó a lo largo del match una serie de aperturas no "kasparovianas", evitando religiosamente las líneas teóricas con blancas y desdeñando su habitual repertorio activo con negras. Los asesores de Kasparov pueden argumentar que la estrategia fue un éxito. Ganó la primera partida, debería haber hecho tablas en la segunda, y quedó con peligrosas ventajas en la tercera, cuarta y quinta. La sexta apenas cuenta, excepto a efectos del resultado final. Pero también se cargó de serios déficits de tiempo, además de invertir una enorme energía para navegar por aguas desconocidas, y ese gasto de energía puede explicar bien su grave error en la sexta partida.

(...)