Ajedrez en computadora
Actualmente, las computadoras de ajedrez están disponibles por un precio insignificante, y hay numerosos programas (muchos de software libre, como GNU Chess, Amy, o Crafty) que pueden jugar al ajedrez en cualquier ordenador personal y derrotar a jugadores profesionales bajo condiciones de torneo, mientras que algunos de entre los mejores programas comerciales de ajedrez, como Shredder, Fritz, Rybka o Fruit, han vencido a muchos jugadores de calibre y varios campeones
del mundo en tiempos de control muy cortos y partidas relámpago.
Existen varias causas que motivaron la existencia del ajedrez computarizado, como el entretenimiento propio (pudiendo permitir que los jugadores practiquen y se diviertan cuando no hay ningún oponente disponible), también como herramienta o soporte de análisis, para competiciones entre computadoras de ajedrez, y como investigación o abastecimiento del conocimiento humano. Los dos primeros objetivos han sido saciados satisfactoriamente, siendo todo un logro, sobre todo si se vuelve la vista atrás, cuando los primeros intentos de programar una computadora capaz de desafiar a los grandes jugadores de ajedrez datan de hace solamente menos de cincuenta años. Podríamos decir que el ajedrez no es un gran problema para la computación contemporánea.
Sin embargo, y a pesar de la sorpresa de muchos, el ajedrez nos ha enseñado muy poco en lo referente a la construcción de máquinas que proporcionen inteligencia humana, o hacer cualquier otra cosa que no sea jugar prodigiosamente al ajedrez. Por esta razón, el ajedrez computarizado, así como también otros muchos juegos, como el Scrabble, no tienen un gran interés académico para los expertos de la inteligencia artificial, siendo éste reemplazado por juegos más intuitivos, como el Go. El funcionamiento de los programas de ajedrez consiste, esencialmente, en explorar un número muy elevado de posibles futuros movimientos y aplicarles una función de evaluación al resultado, mientras que las computadoras de Go desafían a los programadores a idear nuevos enfoques y estrategias de juego.
Las tácticas basadas en la fuerza bruta son prácticamente inútiles para la mayoría de problemas que han afrontado los investigadores de la IA. El estilo de juego de un programa de ajedrez se diferencia en gran medida del estilo de juego humano, ya que la elección del movimiento a jugar es totalmente distinta. En algunos juegos de estrategia, las computadoras suelen vencer fácilmente la gran mayoría de partidas, mientras que en otros, los principiantes vencen a las máquinas sin mayor esfuerzo. En el ajedrez, el resultado de la fusión de las habilidades de los expertos, con los programas de ajedrez, es mayor que el de cualquiera de los dos a solas.
Estrategia contra fuerza bruta el primer artículo sobre el tema fue escrito por Claude Shannon, y publicado en 1950, antes de la existencia de una computadora que jugara al ajedrez, y predijo acertadamente las dos posibles principales formas de búsqueda de cualquier programa, a las que nombró de 'Tipo A', y de 'Tipo B'.
Los programas 'Tipo A', más rudimentarios, utilizarían una búsqueda basada en la "fuerza bruta", los cuales examinarían todas posibles posiciones de cada rama del árbol de movimientos usando el algoritmo minimax. Shannon creyó que esto sería muy poco práctico por dos razones:
Primero, con aproximadamente 30 movimientos posibles en una posición típica de medio juego, Shannon predijo que buscando las 306 (más de 700.000.000) posiciones contenidas en los primeros tres movimientos (de ambos bandos, lo que son 6 plies), tardaría aproximadamente 16 minutos, incluso en el caso "muy optimista" que el programa evaluara un millón de posiciones por segundo. Después de esta conjetura, se tardó alrededor de 40 años para conseguir esa velocidad.
Segundo, se ignoraba el problema de la latencia, ya que el programa trata de evaluar la posición resultante después de todo el intercambio de piezas ocurrido durante todos esos movimientos al final de cada rama del árbol. Los programas de 'Tipo A' funcionan así, pero el inconveniente es que se incrementa enormemente el número de posiciones necesarias para el análisis, y de este modo el programa se ralentizaba todavía más.
En vez de este gastar la potencia de proceso examinando movimientos malos o triviales, Shannon sugirió que a los programas tipo B utilizarían una especie de "inteligencia artificial estratégica" para solucionar estos problemas en los que únicamente se analizarían solo las mejores jugadas de cada posición, algo parecido a lo que hacen los jugadores humanos. Esto permitiría al programa analizar las líneas significantes de manera más profunda en un tiempo razonable.
Adriaan de Groot entrevistó a varios jugadores de ajedrez de varios niveles y su conclusión fue que tanto los grandes maestros como los principiantes calculan aproximadamente cuarenta o cincuenta posiciones antes de decidir que jugada mover. Lo que realmente diferencia a jugadores expertos de jugadores mediocres es la habilidad del reconocimiento de patrones, que se va adquiriendo con la experiencia. Esto permite analizar más profundamente las mejores líneas y no perder el tiempo con otras peores. Una prueba de ello es que los jugadores de ajedrez recuerdan muchas de las posiciones jugadas en anteriores partidas y aprenden de la experiencia, sin embargo, las computadoras no lo tienen tan fácil.
El problema de los programas 'Tipo B' es que se confía demasiado en que el programa puede decidir qué movimientos son suficientemente buenos para ser dignos de consideración en cualquier posición, siendo un problema mucho más grave que en programas 'Tipo A' con un hardware de gran velocidad.
Uno de los grandes defensores de las computadoras de ajedrez entre los grandes maestros fue el Campeón del mundo de ajedrez Mijaíl Botvínnik, que escribió varios trabajos en la materia. También poseía un doctorado en Ingeniería Eléctrica. El trabajó con hardware relativamente primitivo en la URSS a principios de los años 1960, Botvinnik no tuvo la oportunidad de investigar las técnicas de software de selección de movimientos, en ese momento los ordenadores más potentes podían conseguir tres plies por búsqueda y Botvinnik no tenía tales máquinas. En 1965 Botvinnik fue consejero en el quipo ITEP en el match de computadoras EEUU-URSS.
En 1973, la Universidad de Northwestern, encargada de la creación de programas de Tipo B, dejó de programarlos, pasando al bando de los programas de Tipo A. Fue la creadora de una varios de programas de ajedrez que ganaron los primeros tres torneos ACM Computer Chess Championships (1970-1972). El programa de Tipo A resultante fue "Chess 4.0", ganador del torneo ACM durante 5 años seguidos, además de inaugurar uno de los campeonatos más importantes, el World Computer Chess Championship (WCCC).
Una de las razones por las que realizaron el cambio fue porque encontraban a los programas de Tipo B poco estimulantes durante los torneos, ya que es muy difícil predecir lo que van a mover, y mucho menos el por qué. Otra razón fue que en los programas de Tipo A era mucho más fácil detectar los fallos del programa y depurarlos, y lograron hacer de él un programa lo suficientemente rápido: en el tiempo que solían tomar para decidir los movimientos que eran dignos de ser buscados, era posible únicamente buscar todos ellos.
De hecho, Chess 4.0 estableció un paradigma que era y continúa utilizándose en todos los programas de ajedrez actuales. Los programas tipo Chess 4.0 ganaban por la simple razón que sus programas simplemente jugaban un mejor ajedrez. Tales programas no intentaban imitar los procesos de pensamiento humanos, pero confiaban completamente en búsquedas alfa-beta y negascout. Muchos de tales programas (incluyendo todos los programas actuales) también incluyen una parte selectiva bastante limitada de la búsqueda basada en búsquedas latentes y normalmente extensiones y podado (particularmente podado de movimientos nulos desde los años 1990) que eran lanzadas basadas en ciertas condiciones en un intento de eliminar o reducir los movimientos malos obvios (históricos de movimientos) o investigar nodos interesantes (p.ej. comprobación de extensiones, peones pasados en la séptima fila, etc). Sin embargo, los lanzamiento de extensión y poda tienen que utilizarse con mucho cuidado. Si se sobrextiende el programa gastan demasiado tiempo analizando posiciones sin interés. Si se poda demasiado, hay riesgos de cortar nodos interesantes. Los programas de ajedrez difieren en términos de cómo y qué tipos de reglas de poda y extensión se utilizan así como de la función de evaluación. Se cree que algunos programas son más selectivos que otros (por ejemplo Deep Blue se sabe que es menos selectivo que muchos programas comerciales porque podía permitirse hacer más búsquedas completas), pero todos tienen una base de búsquedas como fundamento y todos tienen componente selectivos (búsqueda-Q, poda/extensiones).
Aunque tales adiciones significa que el programa realmente no examinaría cada nodo dentro de la profundidad de búsqueda (de tal manera que no sería realmente fuerza bruta en ese sentido), los extraños errores debidos a estas búsquedas selectivas se encuentra que consumen en tiempo extra que es ahorrado debido a que se podría aumentar la profundidad. De esa manera los programas de ajedrez pueden obtener lo mejor de ambos mundos.
Además, el desarrollo y los avances tecnológicos hicieron que el sistema de fuerza bruta continuara en alza y se intensificara mucho más en los años 90. El resultado ha sido la creación de programas mucho más sólidos, con una IA táctica realmente asombrosa, programas mucho más exactos sin apenas errores, y conducidos hacia el límite de su profundidad de búsqueda. Esto ha producido resultados extraordinarios, por lo menos en lo referente al ajedrez, dejando que las computadoras hagan lo que mejor saben hacer, calcular, en vez de intentar emular la inteligencia y conocimiento humanos. En 1997, Deep Blue, una computadora de Tipo A, derrotó al Campeón del Mundo Garry Kasparov, siendo la primera vez que una computadora derrotara al campeón del mundo en tiempos de control de torneo.
Sin embargo, a finales de los años 1990, los programadores empezaron a preferir los programas de Tipo B, y empezaron a sustituir a los de Tipo A. En 1998 se publica Rebel 10, un programa comercial de Tipo B, quien derrotó a Viswanathan Anand por 5-3, y se proclamó el segundo motor de ajedrez más fuerte del mundo aquel año. Cabe decir que de las cuatro partidas de ajedrez rápido (tiempo de control: 5 min + 5 s por jugada) que se jugaron, Rebel ganó 3 de ellas, en las dos partidas semirrápidas, quedaron 1.5-0.5 a favor de Rebel, y en la partida con tiempo de control más largo (40/2:00, 1 hora), fue Anand quien venció. De esto se puede deducir que las computadoras juegan mejor que los humanos en tiempos de control más rápidos, pero que la fuerza de los jugadores se mide con tiempos de control más largos, donde Anand demostró que los humanos siguen siendo mejores.
A principios del Siglo XXI surgieron nuevos programas de ajedrez comerciales, como Deep Junior, o Fritz, quienes lograron empatar a los campeones del mundo Garry Kasparov y Vladimir Kramnik. En el 2005, Hydra, una computadora de ajedrez del Tipo B, derrotó al mejor jugador británico y séptimo mejor clasificado del mundo, Michael Adams, en un encuentro de seis partidas con un contundente resultado: 5.5 - 0.5 a favor de Hydra.
Computadoras contra humanos
En 1968, el MI David Levy realizó una famosa apuesta, en la cual afirmaba que ninguna computadora de ajedrez sería capaz de derrotarle en diez años, bajo condiciones de torneo. Ganó la apuesta en 1978, venciendo por 3'5-1'5 en un match de cinco partidas a la computadora más fuerte por aquel entonces, Chess 4.7, y llevándose 1250 libras, aunque reconociendo que dentro de poco tiempo le superarían. En 1989, Levy no pudo superar a Deep Thought, derrotándole en una partida de exhibición. Sin embargo, durante un largo periodo de tiempo en los años 1970 y los años 1980 permanecía la pregunta abierta de si un programa de ajedrez podría derrotar al más experto de los humanos.
Sin embargo, Deep Thought no estaba todavía a la altura de los mejores ajedrecistas del mundo, y en 1989 así lo demostró Garry Kasparov en dos ocasiones, hasta que por fin, en 1996, la computadora Deep Blue de IBM logró que Kasparov perdiera su primera partida contra una computadora en tiempos de control de torneo, es más, era la primera vez que una computadora derrotaba a un campeón del mundo con ritmo de juego lento. Sin embargo, después Kasparov consiguió vencer tres y empatar dos de las cinco últimas partidas, logrando la victoria sobre la computadora por 4-2.
En mayo de 1997, una versión mejorada de Deep Blue derrotó a Kasparov en un encuentro de 6 partidas por 3'5-2'5, originando un gran debate sobre si el jugador más fuerte por aquel entonces era una máquina.
Posteriormente se decía que IBM había hecho trampas utilizando además de la computadora, un jugador humano durante la partida para incrementar la fuerza estratégica de la computadora, algo que nunca fue comprobado a ciencia cierta. En 2003 se realizó un documental centrado en la confrontación, titulado Game Over: Kasparov and the Machine. IBM continúa actualmente teniendo una página web del evento http://www.research.ibm.com/deepblue/ .
Aunque no fue un campeonato del mundo oficial, el resultado del match frecuentemente se considera que el jugador más fuerte del mundo es una computadora. Tal reivindicación es un gran debate abierto, ya que es difícil de organizar un verdadero match limpio hombre-máquina. Se ve como injusto que los jugadores humanos tengan que ganar su título en torneos que les enfrentan a un variado conjunto de estilo de oponente, mientras que las computadoras son ocasionalmente optimizadas para el oponente actual. También, al contrario que el contrincante humano, las computadoras tienen acceso a grandes bases de datos de aperturas y finales.
