.  
Plan Donemos un Tablero...
Ajedrez = Arte
Club de Ajedrez Fundado El 15 de febrero de 2003
Sur América - Venezuela - Estado Sucre - Cumaná

Nacionales... 2008 08-17 por: prof. Hernando Guzmán J. / Columna # 05

 

JC-005 15/08/2008

Saludos apreciados ajedrecistas y amigos, antes que nada debo presentar mis excusas por el tiempo transcurrido desde mi última columna, pero se debe a mis compromisos laborales, actualmente dicto un curso intensivo de cálculo en la Universidad del Zulia y me consume casi todo el tiempo entre las clases, preparación y corrección de pruebas, etc, espero pronto retomar la regularidad del principio o al menos cada 15 días.

Aprovecho la ocasión para destacar la buena labor gerencial y deportiva que se viene haciendo en los últimos años en el ajedrez zuliano, los resultados prácticos obtenidos por nuestros atletas hablan por sí solos, como por ejemplo en Barinas 2007 y los múltiples éxitos en diferentes categorías menores , además está la consecución de la casa del ajedrez, lo cual es un gran acierto que impulsará el desarrollo del ajedrez del Zulia hasta niveles nunca antes obtenidos por asociaciones ni entrenadores del pasado.

Muy pocas veces cuando se habla de éxitos deportivos se mencionan dirigentes o entrenadores, generalmente se resaltan a los atletas, pero creo firmemente que el triunfo es una empresa en la cual participan, jugadores, entrenadores y dirigentes, e incluso padres.

Concretamente debo hacer mención de la excelente labor en la AZA del economista Ricardo Rodriguez Ball y del ingeniero José Angarita , y desde el IRDEZ el apoyo técnico y diligente del E.N Orlando Maita . Reconozco que hace algunos años estuve por esas lides del IRDEZ tratando de coordinar el trabajo de la AZA , los entrenadores y los atletas y déjenme decirles, eso no es nada fácil.

También hay que destacar la labor de hormiguita de dos entrenadores cubanos como son Guillermo Sansons y Erick Fernández, sin su aporte quizá tuviéramos varias medallas, o trofeos o clasificaciones de menos.

No se puede obviar al E.N César Reyes, quien se nos instaló hace ya varios en la Concepción y Maracaibo, dejando huérfanos de tutelaje y entrenamiento a los jóvenes de los estados centrales, teniendo su huella impresa en varias medallas y trofeos obtenidos por las nuevas generaciones.

Hago un llamado a los ajedrecistas zulianos reconocidos, que por ahora no están participando en torneos, ni selectivos, ni entrenamientos, aunque tengan los motivos que sean para justificar su ausencia a que se incorporen y se suban al tren, pienso que todavía tienen mucho que aportar, porque el ajedrez zuliano a despegado por fin y nos esperan grandes éxitos.

A propósito de la casa del ajedrez, hay un clamor de varios ajedrecistas, voces que cada vez se escuchan con más fuerza y es que el nombre de este centro debe ser el de Tulio Pérez Matheus (q.e.p.d), maestro de maestros. Propongo desde aquí una recolección de firmas de ajedrecistas zulianos, para lograr que se haga justicia con este pequeño reconocimiento que no se le pudo hacer en vida a quien muchos le debemos lo que hoy somos como ajedrecistas y como seres humanos.

Antes de continuar con la tercera y última parte de mi artículo sobre los algoritmos computacionales de ajedrez, voy a dar la solución del problema artístico de la columna anterior:

COMPOSICION ARTISTICA EN HOMENAJE AL DR. TULIO PEREZ MATHEUS, EN OCASIÓN DE SU JUBILACIÓN COMO ENTRENADOR DEL EQUIPO DE LUZ – AÑO 1989.

JUEGAN BLANCAS:

De7+ - Cxe7 2) Cf6 ++

AHORA JUEGAN NEGRAS
1)…….Db6 + 2) Txb6 – Axb6 ++

El lector puede ver que las piezas sobrevivientes en el tablero, forman las iniciales de T ulio P érez M atheus

COMO “PIENSAN” LOS PROGRAMAS QUE JUEGAN AJEDREZ (PARTE 3)

Una función de evaluación para estos algoritmos es el equivalente humano a la “valoración de la posición”, la cual hace un ajedrecista de mediana fuerza cada vez que puede hacerlo y en particular valora con más énfasis en las posiciones críticas. Aunque un ajedrecista humano valora, tomando en cuenta el bagaje de conocimientos estratégicos y/o tácticos adquiridos en su experiencia, para posiciones simples o complejas, esta valoración es más que todo una ordenación desde mayor importancia hacia abajo de las posiciones terminales que pudo considerar en su análisis y desde luego decide la jugada que está más arriba en su ordenación (o valoración).

Una computadora “valora” mas matemáticamente y debe aplicar una función F de evaluación establecida por el programador. F : P ---> Z.

Esto último lo podemos leer así: una función llamada F toma elementos del conjunto P ( las posiciones posibles en un tablero de ajedrez ) y le asigna valores del conjunto Z ( los números enteros i.e. 1, -4, 10, -234 , etc), la mejor jugada para el programa es la de más alto valor que le da la función de evaluación .

Al escribir una función de evaluación para un programa de ajedrez es esencial emplear instrucciones de uso eficiente dado que este componente del programa es utilizado en forma repetitiva (miles o cientos de miles de veces durante cada selección de movimiento). Por esta razón es preferible no incluir excesivos términos en la función de evaluación dado que cada nuevo término significa un pequeño incremento en el tiempo requerido para evaluar cada posición terminal. Una buena función de evaluación es aquella que evalúa los aspectos críticos de la posición en cuestión y lo realiza de la manera más eficiente posible. Por cada nuevo término incluido en la función de evaluación uno debe evaluar si es que la información agregada compensa la cantidad de tiempo computacional que dicha evaluación requerirá (una función de evaluación perfecta puede tardar siglos en valorar completamente una posición tomado en cuenta todos los factores necesarios)

El problema de crear una función de evaluación es que no hay un solo criterio para construir esta función, algunas veces priva la ventaja material como en el final y otras veces es más importante los factores dinámicos de la posición, como en el medio juego, no existe un método estándar de construcción. Los patrones potenciales que podría manejar una función de evaluación son cerca de 50.000, los cuales toman distintos valores de acuerdo a la etapa del juego en que nos encontremos y además el contexto de la posición (por ejemplo, cerrada o abierta). Es claro que existen cierta base de patrones básicos en las funciones de evaluación que todo programa presenta: Equilibrio material, movilidad de piezas, casillas atacadas, seguridad del rey, dominio central, actividad de piezas, desarrollo, etc. Estos patrones fueron propuestos por Claude Shannon (el pionero de los programas de ajedrez) y se encuentran en distinta literatura ajedrecística, pero si suponemos que nuestra función de evaluación ya contiene en su código el reconocimiento adecuado de estos patrones, ¿cómo podemos seguir mejorándola?. Este fue un problema que ocurrió a varios programas los cuales en un momento debieron decidir por recurrir a la consulta a grandes maestros con tal de obtener información relevante de cómo incrementar la cantidad de patrones de reconocimiento de su función de evaluación.

MINIMAX Y PODA ALPHA BETA

Este algoritmo, es el que realmente “decide” que jugada hacer en el complejo árbol de juego, usa la función de evaluación que valora cada nodo del árbol de juego y lo recorre siguiendo una filosofía consistente de manera simple en lo siguiente : “ lo mejor para mí y lo peor para mi rival “, el siguiente diagrama ilustra mejor este hecho :

En el siguiente ejemplo puede verse el funcionamiento de Minimax en un árbol generado para un juego imaginario. Los posibles valores de la función de evaluación tienen un rango de [1-9]. En los movimientos del contrincante suponemos que escogerá los movimientos que minimicen nuestro beneficio ( la peor jugada), en nuestros movimientos suponemos que escogeremos los movimientos que maximicen nuestra función ( la mejor jugada) , la peor equivale a la de menor valor de la función y la mejor a la de más alto valor.

El lector puede observar en los nodos terminales del árbol, si tiene dos valores posibles a elegir ( 5-8 y 9-2 y 9-1), como este es un nivel donde se debe elegir el mínimo valor ( le toca jugar a mi rival) , se decide por la jugada de menor valor ( 5, 2, 1 ) , ahora retrocedemos un nivel , encontramos dos decisiones posibles ( 5-2 y 1-9), en este caso me toca jugar y por ello decido por el mayor valor de la función de evaluación, por ello las decisiones son ( 5 y 9) , seguimos subiendo un nivel y ahora la decisión está en el menor valor entre las posibles ( 7-5-8 y 3-4 y 9-2-1) obviamente estos menores valores en cada caso son ( 5, 3 y 1) y ahora decido por el mayor valor entre ellos saliendo el valor de 5 ( ver nodo inicial) . ¿Cómo decido?

Simplemente el programa va a decidir que la línea a seguir ( la que le da mejores posibilidades) es la que está resaltada por líneas remarcadas ( ver sector izquierdo del árbol) , porque allí se están tomando en cuenta mis mejores jugadas y las de mi oponente ( las que me oponen mayor resistencia).

Pensemos ahora que un árbol de juego para el ajedrez es mucho más complejo que el ejemplo anterior, es decir es mucho más profundo en niveles y es mucho más ramificado en cada nivel ( mas jugadas a considerar) , en especial cuando la posición es muy táctica, entonces el árbol de juego es mucho más “ frondoso” que en el sencillo ejemplo anterior , esto por supuesto incrementa los tiempos computacionales ( no olvidar una consideración hecha anteriormente : el número de posiciones posibles es más alto que el número átomos conocidos en el universo) , entonces es prácticamente imposible incluso para una computadora , recorrer y valorar todos los nodos de un árbol ajedrecístico.

Por ello la poda Alpha Beta , permite aligerar el problema, si en un nivel a decidir hay 20 jugadas posibles, pero 12 de ellas son absurdas ( desde el punto de vista de un buen jugador), por ejemplo regalan una pieza, sin haber posibilidades tácticas en compensación, entonces estas jugadas no serán consideradas ni por la función de evaluación , ni por el MiniMax, entonces el árbol de juego se ve recortado ampliamente en varias de sus ramas, y el análisis se simplifica grandemente, de allí su nombre, porque se asemeja a podar un árbol y quitarle parte de su frondosidad.
 

 


Nacionales... 2008 06-22 por: prof. Hernando Guzmán J. / Columna # 04

 
JC-004 22/07/2008

DE LUTO EL AJEDREZ ZULIANO

Saludos amigos del ajedrez, antes de continuar mi exposición sobre los algoritmos de ajedrez, debo hacer una pequeña reseña que el día jueves 17 de julio partió al encuentro con el señor y de su adorada esposa María, del Dr. Tulio Pérez Matheus, entrañable amigo y eximio ajedrecista de quien su desaparición física deja un profundo vacío en toda una generación de ajedrecistas zulianos, algunos de los cuales nos formamos deportivamente y otros estuvieron siempre allí, en el salón 101 de la facultad experimental de ciencias de LUZ, lugar obligado en las décadas de 1970, 80 y 90, para jugar ajedrez de altura, experimentar una variante de apertura, o simplemente conversar sobre cualquier tema de actualidad, charlas que muchas veces se extendían durante largo rato, dado el don de gente y la cultura general que a lo largo de su vida había acumulado el Dr. Tulio, él era el amigo, el confidente y hasta el psicólogo que descubría en cualquier momento los rasgos más importantes que te impedían enfrentar con éxito tus problemas cotidianos ó frenaban tu ascenso en tu carrera de ajedrecista ofreciendote siempre su estímulo y apoyo en el momento justo y con las palabras adecuadas, sobre todo en los jóvenes y adolescentes.

Debo decir, que cuando se trataba de la amistad con el Dr. Tulio no existía la barrera generacional, esa infranqueable muralla que congela las relaciones entre un adulto y un joven, pues para el Dr. Tulio siempre había temas comunes para establecer una charla entre él y cualquier otra persona indiferentemente de su edad, es por ello que fue tan apreciado entre sus compañeros de trabajo, discípulos ó cualquier persona que tuvo la suerte de conocerlo y tratar con él.

Este era el perfil del Dr. Tulio que recordamos, y que contrasta un poco con los difíciles momentos que le envió el señor en los últimos años de su fructífera vida, quizá le colocó estas pruebas para hacer saber a todos de su temple de espíritu para afrontar una penosa enfermedad y sobre todo un dolor espiritual que llevó consigo en los últimos años desde la partida al cielo de su adorada esposa María, en realidad este fue el último ejemplo que pudimos conocer en él, quienes fuimos sus alumnos y aprendimos de sus últimos años de su vida, que la tenacidad en el espíritu es un don que debe acompañar a todo ajedrecista, y que debemos soportar todo con la paciencia y humildad necesarias, gracias Dr. Tulio por esta enseñanza final.

Voy a hacer a continuación un breve resumen de la carrera deportiva del Dr. Tulio, agradeciendo de antemano la valiosa colaboración del Ing. Gustavo Pérez, para recopilar algunos datos de interés.

Tulio Pérez nació en Maracaibo en el año 1929, fue una ventajado jugador de damas, hasta que aprendió los rudimentos de nuestro noble juego en el año 1948 de su hermano José Luis, enfrascándose en una sana rivalidad con su hermano Evaristo Pérez Matheus, quien fue también un reconocido jugador zuliano, ganó su primer torneo en el liceo Baralt en ese mismo año, obtiene el título de doctor en farmacia en la universidad de los Andes, en Mérida 1953. Se casa ese mismo año con la señorita María Quintero y se residencia en Maracaibo, procreando cuatro hijos.

Se puede resumir su exitosa carrera como jugador, con los siguientes datos, teniendo que dejar de lado por razones de espacio, otros grandes resultados en Torneos estatales, nacionales e internacionales: campeón distrital (2 veces), campeón estatal (2 veces), subcampeón nacional individual año 1968, y campeón nacional por equipos año 1965, siendo esta la primera vez que el Zulia conseguía un campeonato nacional por equipos, el cuarteto estaba formado por (Tulio Pérez (1T), Evaristo Pérez (2T), Reinaldo Biasino (3T) y Neúcrates Wilhem (4T)).

Jugó también en representación del país en los Juegos centroamericanos y del caribe en 1967 en República Dominicana, y en las ciudades colombianas de Ciénaga, Rio Hacha y Santa Marta en 1963 y 1964, ganó también los importantes torneos abiertos de la época: 1969- Copa Gobernador del Estado, 1964 –Torneo autoagro, 1966-Torneo centro gallego.

Se retira del ajedrez de competencia en el año 1974 siendo subcampeón del estado Zulia y se inicia como entrenador de ajedrez de LUZ. Él decía que esa era la etapa más feliz de su vida en el mundo del ajedrez por la oportunidad de ver la formación de decenas de ajedrecistas y haber logrado conformar equipos que se destacaron en competencias locales y nacionales. Promocionó el ajedrez en todas las facultades de LUZ dando simultáneas hasta en laboratorios, calculándose unas 300 en su carrera como entrenador de LUZ y unas 350 de por vida, si promediamos al menos 20 jugadores en cada exhibición, nos daría la respetable cifra de más de 7000 partidas jugadas en simultáneas, un record difícil de igualar. Recibió el título de maestro nacional de ajedrez (honoris causa) por parte de la FVA, siendo hasta ahora el único zuliano que obtiene este título de manera honorífica por méritos propios.

Otro record difícil de igualar es que en 1973 en la empresa Cad`empaire, dio una simultánea con 89 tableros, obteniendo 84 victorias.

La siguiente posición es tomada de una partida jugada en Ciénaga (Colombia) 1964.

Blancas: Tulio Pérez Matheus
Negras: Rafael Giménez.
Juegan blancas

23) Cd4 ¡ - Ad5
Si 23….exd4 24)Txe6¡+ _ fxe6 25) Dxe6 _ Rd8
26) Dxg8 +, etc, etc.
24) Cf5 _ Td8
25) g3 – Td7
26) Cg7+ _ Rf8
27) Ce6 +_Ae6
28)Dxe6 _ Te7
29) Dd5 –Rg7
30) Tf5 _ Rinden.

En el año 1989 se jubila de su cargo como entrenador de ajedrez de la universidad del Zulia (su profesión de farmaceuta la ejerció durante unos años más), no sin antes dejar atrás su respetable record de simultáneas y varios éxitos obtenidos por el equipo competitivo de LUZ en juegos Juvines y Fevedes, y contamos también la gran cantidad de amistades que cultivó en su fructífera carrera como entrenador de LUZ.

Fueron precisamente estos amigos y discípulos, quienes quisimos darle un reconocimiento especial al retirarse de su cargo como entrenador, en ese orden de ideas, pudimos reunirnos los más allegados y le entregamos un diploma (cuero de chivo), en el que estaba planteado un problemas artístico, que invitaba a las blancas a dar jaque mate en dos jugadas, y acto seguido en la posición resultante, las negras debían también ejecutar un mate en dos jugadas.

Al finalizar la doble composición artística, las piezas sobrevivientes en el tablero formarían las iniciales del nombre de Tulio (TPM).

Además el enunciado del problema estaba plasmado en forma de versos, en tres estrofas.

Puedo recordar algunas de las personas presentes en ese sencillo pero significativo homenaje, si omito a alguien espero me sepan disculpar, pero puedo corregirlo si me escriben un e-mail, entre otros: Gustavo Pérez, Gerardo Nava, Carlos Bermúdez, Argenis Arteaga (qepd) y mi persona.

No está de más decir, que al enterarse del reconocimiento se le notaba un brillo en sus ojos, lo más parecido a un padre al que sus hijos le reconocen todo el esfuerzo para sacarlos adelante en la vida, no era para más, todos los allí presentes en algún momento formamos parte del equipo competitivo de LUZ, y reconocíamos su labor formadora en nuestros conocimientos ajedrecísticos, y sobre todo sus consejos y amistad sincera.

Debo reconocer de mi parte, que mis humildes y esporádicos éxitos como jugador de ajedrez, se los debo en buena parte a la amistad y al consejo fraternal del Dr. Tulio Pérez Matheus.

COMPOSICION ARTISTICA EN HOMENAJE AL DR. TULIO PEREZ MATHEUS, EN OCASIÓN DE SU JUBILACIÓN COMO ENTRENADOR DEL EQUIPO DE LUZ – AÑO 1989.

Tulio Pérez Matheus; el Doctor
será en el Ajedrez Universitario
profesor y ejemplo de varios
hasta después de su jubilación
 
En homenaje suyo irá
este problema original y sin ancestro
porque las iniciales del maestro
con las piezas se formarán
 
Mate en dos jugadas y muy legal
las blancas darán primero
luego las negras devolverán ligero

La solución en la próxima columna....

Nacionales... 2008 06-24 por: prof. Hernando Guzmán J. / Columna # 03

 
JC-003 24/06/2008

COMO “PIENSAN”
LAS COMPUTADORAS QUE JUEGAN AJEDREZ
(2da parte)

Saludos amigos ajedrecistas de Venezuela, hoy continuamos tratando de explicar en el lenguaje más sencillo la forma como se implementa un programa para jugar ajedrez, al menos la base matemática usada por estos programadores, para hacer que un programa seleccione una jugada y que esta selección sea capaz de solucionar el problema que la posición exige en ese momento o también que cree la mayor cantidad de problemas a su rival. Dividiré el asunto de jugar ajedrez, como siempre se ha hecho a lo largo de la historia ajedrecística, enfocándonos por separado en tres sub-problemas clásicos: la apertura, el medio juego y el final.

En la apertura los programas más fuertes hacen uso de una gran base de datos de aperturas (libro de aperturas), lo que simplemente haría el programa es seleccionar la jugada mejor siguiendo el libro de aperturas, entendiendo por mejor la jugada que estadísticamente le dé mayor probabilidad de ganar, así que para un programador esta selección que no depende de ninguna función de evaluación ni algoritmo refinado de selección es relativamente fácil, y solo requiere de mecanismos que puedan administrar y ordenar correctamente una base de datos, previamente creada. Hay programas más avanzados que pueden ser configurados para jugar una determinada línea de apertura con fines de entrenamiento, de esta manera “le hace caso“ al usuario entrando en la línea que le pidieron y jugando según lo recomendado en el libro, hasta el momento que no consigue respuesta posible en el libro, disponiéndose ahora a usar los algoritmos de búsqueda y selección de jugadas (generalmente MiniMax y poda alphaBeta que explicaré mas adelante) y jugar como lo haría en el medio juego. Hasta aquí, esto no se diferencia mucho a como piensa un Gran Maestro con un gran bagaje de conocimientos teóricos de apertura.

En el caso de los finales el problema se puede resolver de manera similar si hacemos uso por ejemplo de las tablas de Nalimov, que también son unas bases de datos que tienen guardada la información del número de jugadas necesarias para que se dé el jaque mate, en finales de 3,4,5 y 6 piezas, contando como una pieza al rey.

Lo podemos entender mejor, si consideramos la siguiente posición (5 piezas), que fue puesta en el Fritz 11 con las tablas de Nalimov cargadas, al pedirle que analice la posición jugando las blancas, Fritz devuelve la evaluación: 1) Ta2 (#28) 1) Rd4(#28) 1) Rd3(#29) 1)Tf2(#34) el número entre paréntesis indica la cantidad de jugadas necesarias para alcanzar el jaque mate de parte de las blancas, a estos cuatro movimientos los antecede con el símbolo +-, es decir son jugadas ganadoras para las blancas, mientras que las jugadas 1) Th2(-#18) y 1) Tc6(-#17) las acompaña con el símbolo -+ pues obviamente son errores graves y regalan el final a las negras. Todas las demás jugadas de las blancas las evalúa como 0.00 , pues no hay ganancia posible con un juego correcto de ambos bandos, y lleva a tablas.

Así, como conclusión las Tablas de Nalimov nos dice que la posición es ganadora si juegan las blancas cualquiera de las cuatro primeras jugadas, en caso contrario es tablas o pierde.

En realidad no es difícil entender la filosofía de resolver el problema de los finales usada por las Tablas de Nalimov, actualmente las T.N. soluciona sin ningún error cualquier final hasta de 6 piezas, y se esta desarrollando las bases de datos para 7 o más piezas, cabría hacernos entonces la siguiente pregunta: Si las tablas de Nalimov se pueden desarrollar hasta 32 piezas, en teoría un programa de ajedrez sería capaz de decidir, “juego 1) e4 con las blancas y obtengo el jaque mate en la jugada 165 aunque mi rival plantee cualquier siciliana, francesa o caro-kan de manera perfecta” ó “ Si realizo 1)d4 la partida es tablas jugando correctamente las blancas y negras.

Si un programa de ajedrez, fuera capaz de plantear y responder de manera acertada preguntas como estas, entonces estaríamos siendo testigos de la muerte del ajedrez como disciplina intelectual humana, y los jugadores y aficionados nos convertiríamos en simples espectadores para saber cual de los programas resuelve el problema de ganar la partida de la manera más rápida y eficiente, ó en su defecto estaríamos buscando alternativas al ajedrez clásico, como la modalidad 960 de Fischer, para poder encontrar alguna motivación en competencias entre humanos, con todos nuestros errores o diferencias de criterios teóricos, estratégicos o tácticos, muy propios de la naturaleza humana, formando parte esencial de la belleza de nuestro arte.

Afortunadamente esta hipotética situación está bastante lejana en el tiempo, pues hoy en día las T.N. para seis piezas, necesitan 7 Gb de espacio de almacenamiento y una buena velocidad del procesador y memoria, y esta cantidad de recursos computacionales crece de manera exponencial a medida que agregamos una pieza más a la base de datos, es necesario tener discos duros de miles de Terabytes de capacidad y procesadores mucho más potentes que los actuales, por lo que esta muerte del ajedrez no la viviremos al menos en esta generación.

Así que exceptuando la apertura y el final, el problema de jugar correctamente una partida de ajedrez por parte de un programa, sigue siendo un problema de inteligencia artificial más que de manejo eficaz de una base de datos.

A continuación voy a tratar de explicar la manera como se enfoca el medio juego, por parte de los programas ajedrecísticos, para ello debo definir previamente algunos conceptos como árbol de juego, profundidad y ramificación del árbol, nodos y caminos, y evaluación de los nodos, trataré como hasta ahora de usar el lenguaje más básico posible, apoyándome en la matemática mas “light” necesaria, así como algunos conceptos elementales de estructura de datos, con la finalidad que esta monografía sea accesible a todos.

Partiremos de un concepto esencial manejado por los estudiosos de la teoría de juegos , el ajedrez está catalogado como “ un juego bipersonal de suma cero y de información perfecta “ ¿Qué significa esto?, sencillamente porque es jugado por dos rivales con intereses diametralmente opuestos respecto a la finalidad, uno de ellos gana y el otro pierde, ó entablan los dos ( juego bipersonal ), donde para que uno de ellos gane el otro debe perder o en su defecto, repartirse la ganancia en partes iguales ( de suma cero ), esta última cualidad excluye resultados imposibles como, los dos ganaron o los dos perdieron. Y además es de información perfecta porque ambos jugadores saben las reglas del juego y conocen los movimientos que ha efectuado el contrario antes de decidir su próxima jugada. No todos los juegos tienen esta triple cualidad, piensen por ejemplo en el dominó o el póquer.

Un árbol de juego es un conjunto de elementos llamados nodos del árbol, los cuales están enlazados mediante líneas llamados caminos y que permiten pasar de un nodo a otro, mediante la aplicación de reglas llamadas jugadas válidas.

Para no “teorizar” más de lo necesario, observemos el siguiente gráfico donde se ilustra un árbol de juego del ajedrez, que abarca en cada nodo diferentes estados del tablero empezando con la posición en que se jugó 1) e4 por parte de las blancas:

vemos que los nodos son simplemente los círculos ajedrezeados que representan una posición del tablero, desde la posición inicial (nivel cero), observamos que en este árbol de juego podemos pasar del nivel cero al uno, mediante la jugada de las blancas 1) e4, así que el nodo que está en el nivel uno, representa la posición del tablero después de efectuado este movimiento, entonces un camino, representado por una flecha es simplemente una jugada válida que permite pasar de un estado del tablero a otro. Si observamos un nivel más abajo (nivel dos), tendríamos varias jugadas posibles (4 caminos), bien sea si las negras se deciden en su primer movimiento por la defensa siciliana, peón rey, francesa o caro-kan (se han obviado algunos movimientos jugables con el fin de hacer más sencilla la explicación del árbol de juego), a este nivel decimos que el árbol presenta una ramificación igual a cuatro, es decir la ramificación del árbol en un determinado nivel es el número de nodos presentes en él, y la máxima ramificación del árbol de juego, es el mayor valor de ramificación en todos los niveles, en nuestro ejemplo, la máxima ramificación es cuatro. Y la profundidad del árbol , es el número de niveles necesarios que hay que bajar para llegar a los nodos terminales, en este árbol la profundidad es tres.

Ya hemos hablado en la entrega anterior de las funciones de evaluación, que son capaces de valorar cada nodo (posición del tablero), y asignarle un número positivo o negativo, tomado en cuenta elementos estratégicos y/o tácticos presentes en determinada posición. Hablaremos la próxima semana de cómo se implementan estas funciones así como también la forma que el programa recorre el árbol de juego y de que manera decide la jugada “mejor”, maximizando las ganancias para su propia causa y minimizando las de su oponente (algoritmo MiniMax ).

Hablaremos también que el programa debe hacer una búsqueda heurística (es decir una búsqueda inteligente), para descartar nodos en el árbol y así reducir su profundidad, su ramificación o ambas cosas, pues recordemos que ya hicimos un análisis donde se establece que el número de posiciones posibles durante una partida de solo 40 jugadas es más alto que el número de átomos del universo, por lo tanto un programa que trate de construir y valorar cada nodo en un árbol de 40 niveles de profundidad, tomando en cuenta todas las jugadas posibles en cada nivel (ramificación máxima), estaría haciendo un análisis prácticamente infinito para todos los fines prácticos.

Es necesario entonces implementar mecanismos para descartar nodos en el árbol, cuando las jugadas que los generan (caminos), sean de poco valor estratégico-táctico o sean claramente errores garrafales, uno de estos mecanismos es la poda alpha-beta, llamada así por su similitud física del hecho de podar un árbol y cortar sus ramas excedentes.

Hasta la próxima semana, amigos y amigas ajedrecistas .

Nacionales... 2008 06-24 por: prof. Hernando Guzmán J. / Columna # 02

 
JC-002 17/06/2008

COMO “PIENSAN”
LAS COMPUTADORAS QUE JUEGAN AJEDREZ
(1ª parte)

El problema principal de la programación en ajedrez es el número de jugadas posibles que hay que considerar, aunque solo queramos profundizar pocas jugadas hacia adelante. Si estimamos que en una posición cualquiera del tablero hay en promedio 40 jugadas posibles (legales), entonces el solo hecho de calcular una jugada de las blancas y la respuesta de las negras habría que considerar 40x40 = 1600 posiciones diferentes para evaluar y tomar una decisión, y si son dos jugadas (2 blancas y 2 negras ) el número de posiciones posibles asciende a 2.560.000, después de tres jugadas serían 4.1 billones, y si consideramos que un juego normal tiene en promedio 40 jugadas entonces estaríamos hablando de la bicoca de 10 elevado a la potencia 128, para analizar con “suficiente profundidad” la partida completa, numerito que es mucho más grande que la cantidad de átomos conocidos en el universo.

Un jugador humano de mediana fuerza si lleva las negras desecharía automáticamente analizar líneas que empiecen con Dxa2 , Dxg4 , Txc3, Dd1+, De4 etc. Y no perdería tiempo ni esfuerzo en analizar variantes que empiecen por estas jugadas “absurdas”, también desecharía jugadas que aunque no generen pérdidas materiales, estén contra la teoría conocida de cómo jugar este tipo de final, de esta manera ignoraría de entrada planes que traten de llevar su rey al centro sin cambiar al menos una de las piezas pesadas, pues sabe según

Así que este análisis exhaustivo está físicamente fuera del alcance de cualquier ser humano, y aún inclusive de la computadora más potente, así que a lo largo de la historia del ajedrez por computadora se empezó a ver progresos en la fuerza de juego de los programas ajedrecísticos y obtener resultados razonablemente buenos (ejm. ganarle a un gran maestro), cuando se empezó a implementar y refinar algoritmos que simulen la forma como piensan y toman decisiones los seres humanos. Para entender mejor esto último, vamos a referirnos al siguiente diagrama.

Un jugador humano de mediana fuerza si lleva las negras desecharía automáticamente analizar líneas que empiecen con Dxa2 , Dxg4 , Txc3, Dd1+, De4 etc. Y no perdería tiempo ni esfuerzo en analizar variantes que empiecen por estas jugadas “absurdas”, también desecharía jugadas que aunque no generen pérdidas materiales, estén contra la teoría conocida de cómo jugar este tipo de final, de esta manera ignoraría de entrada planes que traten de llevar su rey al centro sin cambiar al menos una de las piezas pesadas, pues sabe según la teoría de este tipo de final, que podría caer en una red de mate, y más bien se concentraría en profundizar en jugadas que aprovechen la expuesta situación del rey blanco, como por ejemplo Df4+, Td8+ ó e4 seguido de e3.

Además en muchas posiciones un jugador fuerte casi siempre considera un pliego de unas tres o cuatro jugadas lógicas que respondan a un plan o a su experiencia y conocimientos tácticos y/o estratégicos de cómo debe tratarse ese tipo de posición haciendo un análisis más o menos profundo y si alguna línea le promete una alta probabilidad de quedar con ventaja decisiva, entonces escoge la jugada de más alta valoración posible y la realiza en el tablero y si no es así, entonces busca un poco más considerando otras jugadas.

Es obvio que esta manera de razonar de un maestro de ajedrez, es mucho más “económica” y reduce en gran manera el número de posiciones distintas a considerar en una partida de 40 jugadas, sin embargo los primeros programas que jugaban ajedrez no usaban esta estrategia inteligente, sino que se limitaban a considerar todas las jugadas posibles y profundizaba su “análisis” en la medida que el tiempo de duración de la partida o la potencia de su procesador y/o memoria se lo permitía, por esta razón jugaban tan débilmente, esta forma de analizar todas las jugadas posibles se llamó estrategia de fuerza bruta.

Hoy en día se usan estrategias inteligentes, como la estrategia Mínimax o la poda alpha-beta, de las cuales hablaremos un poco más adelante.

También los programadores han implementado refinadas funciones de evaluación, para hacerles entender con la mayor simplicidad posible lo que son las funciones evaluación , recordemos lo que significa en matemática el concepto elemental de función.

Una función es una regla que permite asignarle a los elementos de un conjunto llamado de partida un único elemento de un conjunto llamado de llegada , el siguiente esquemita simplifica lo que acabo de decir. f : A ? B

Esto está diciendo que f es una función, A es el conjunto de partida y la flecha dice que f es capaz de asignar a elementos del conjunto A , un elemento del conjunto B .

Ahora pensemos si el conjunto A fuera todas las posiciones posibles (válidas) en el tablero de ajedrez y el conjunto B fueran los números reales (positivos y negativos). De esta manera tendría sentido expresiones como f(p1) = 154 ó f(p5) = -322 .

Estas expresiones estarían diciendo en lenguaje coloquial, “la valoración que la función f le está asignando a la posición uno p1 es el número 154 y a la posición p2 el número negativo -322.”

La explicación del porqué se usa números negativos y positivos, es por el sencillo principio ajedrecístico “lo que es bueno para mí es malo para mi rival y viceversa “, es decir la función de evaluación asigna valores positivos cuando la última jugada que generó esa posición fue hecha por mi, y valores negativos si la última jugada la realizó mi rival.

Obviamente los seres humanos ajedrecistas no valoramos posiciones de esta manera, quizá la única excepción en la que coincidimos con los ordenadores es en la función de evaluación material, aquella valoración elemental que nos decía : un peón vale un punto, una dama nueve, la torre 5 etc., así que podemos considerar una determinada posición y restar los puntos que tengo con los de mi rival y obtener un número real que nos dice si tenemos ventaja o desventaja material. Pero si solo nos limitamos a esta evaluación material durante la partida, no superaríamos los 200 puntos de elo.

Así que los jugadores de ajedrez valoramos de otra manera, es más casi nunca usamos números reales para asignar a las posiciones, sino que hacemos valoraciones más subjetivas, basándonos en los conocimientos aprendidos y apreciamos posiciones más o menos así: “El blanco está mejor “, “hay mate en pocas jugadas “, “la estructura de peones de mi rival es perdedora en un final “, “tengo un peón pasado con chances de avanzar y coronar”, etc.

Hago esta explicación lo más sencilla posible, porque sé que todos los ajedrecistas no son matemáticos ó ingenieros, ni viceversa, y también porque cuando pensé en esta columna lo hice para que sea accesible a todos los que les guste los temas ajedrecísticos, aficionados ó maestros.

Las nuevas funciones de evaluación que se implementan en los programas fuertes, son funciones que toman en cuenta por ejemplo, el carácter dinámico o estático de la posición, la estructura de peones, el dominio del centro en la apertura, retraso en el desarrollo, etc. Que son conceptos estratégicos y tácticos que también toma en cuenta el maestro de ajedrez, o en el caso de las tablas de Nalimov considera el número de jugadas necesarias en una posición de muy pocas piezas para conseguir el jaque mate, esto es posible aprovechando el progreso en los recursos de hardware obtenidos en los últimos años, potencia del procesador y capacidad de memoria y almacenamiento, las tablas de Nalimov no se hubieran podido ni soñar con los ordenadores de los años 80.

También los programas actuales son capaces de descartar las jugadas “absurdas” ( poda alpha-beta ).

En la próxima columna les explicaré en que consiste el árbol de juego, así como la estrategia Mínimax y la poda alpha-beta.

También en otras entregas trataremos el tema de los programas más avanzados como Deep Blue y el futuro del ajedrez por computadora.

Nacionales... 2008 06-16 por: prof. Hernando Guzmán J. / Columna # 01

 
JC-001 12/06/2008

Apreciados ajedrecistas, inicio este proyecto con el entusiasmo y satisfacción que produce el hecho de observar los grandes progresos que en los últimos años está manifestando el ajedrez en Venezuela. Ya tenemos dos grandes maestros (as) y estamos en camino de multiplicar esta cifra a corto o mediano plazo, jugadores como Sequera, Prasca, Alvarez, Oliver Soto y otros son jóvenes y tienen un gran talento, por lo que no es de extrañar que alguno de ellos alcance también el máximo título en cualquier momento. Contamos también con generación de relevo muy buena y quienes han obtenido resonantes triunfos a nivel continental en sus respectivas categorías, actuaciones que hace 10-15 años no podíamos ni soñar.

El objetivo de esta mi colaboración es aportar algo, desde el punto de vista de una columna de opinión, para dar a conocer estos progresos, así como también reseñar partidas y posiciones de interés táctico, estratégico o técnico. Apoyándome cuando sea necesario y así lo haré saber, con comentarios de grandes maestros o comentaristas de corte mundial y con las potentes herramientas Fritz y ChessBase.

Quiero tocar también en la medida de lo posible temas apasionantes como : ajedrez y matemáticas, ajedrez e informática, software y algoritmos del ajedrez e historia ajedrecística. Espero que mi columna tenga aceptación dentro de la familia ajedrecística venezolana y como sabemos que errar es humano y escuchar es de sabios, anexo mi dirección e-mail para cualquier sugerencia, aporte, corrección o reclamo.

prof. Hernando Guzmán J

LAS 1.000 MEJORES DE LAS MEJORES

Los editores del informador ajedrecístico con motivo de haberse publicado 100 números del informador están preparando una edición especial que debe ver la luz este mismo semestre y que recopila las 1000 mejores partidas de las 101.031 que se han publicado en todos los informadores (1966 – 2008).

Como todos alguna vez hemos tenido en nuestras manos un informador ajedrecístico, recordamos que en cada semestre aparece una selección de las 10 mejores partidas que han sido sometidas a votación por los mejores grandes maestros de ese tiempo, de tal manera que han aportado su voto jugadores de la talla de Euwe, Bottvinnik, Smyslov, Karpov, Korchnoi para citar algunos del pasado y por la mayoría de los mejores GMs actuales. Aparte de la elección de las 10 mejores del semestre, se escoge la partida de mayor puntuación (golden game). Estas partidas son seleccionadas cada semestre en virtud de su bella concepción táctica o profundo concepto estratégico o ambas cosas. Todos los juegos son comentados, y todas las partidas doradas son ilustradas con una fotografía o caricatura del ganador. Considero que quien pueda comprar esta edición especial, tendrá consigo una verdadera reliquia dentro de la literatura ajedrecística. De ese libro ( “ The 1000 Best of the Best” ) que saldrá pronto a la venta es este hermoso remate táctico de Kasparov , considerado por muchos el mejor ajedrecista de todos los tiempos.

(1) Kasparov,G (2810) - Topalov,V (2700) [B07]
Wijk aan Zee, 1999
[Kasparov,G]
1.e4 d6 2.d4 Cf6 3.Cc3 g6 4.Ae3 Ag7 5.Dd2 c6 6.f3 b5 7.Cge2 Cbd7 8.Ah6 Axh6 9.Dxh6 Ab7 10.a3N e5 11.0–0–0 De7 12.Rb1 a6 13.Cc1 0–0–0 14.Cb3 exd4! 15.Txd4 c5 16.Td1 Cb6! 17.g3 Rb8 18.Ca5 Aa8 19.Ah3 d5 20.Df4+ Ra7 21.The1 d4 22.Cd5 Cbxd5 23.exd5 Dd6 . POSICIÓN DE MÁXIMO INTERÉS… 24.Txd4!! . Inicio de una profunda combinación para aprovechar la débil posición del Rey negro y en algunas variantes aprovechar una pieza negra clavada en "d7", para ganar la Dama. Kasparaov no escatimará esfuerzos para entregar más material (fiel a su estilo) con el fin de avivar su ataque.
24...cxd4?

[24...Axd5?! 25.Txd5! Cxd5 26.Dxf7+ Cc7 27.Te6 Td7 28.Txd6 Txf7 29.Cc6+ Ra8 30.f4 con ventaja blanca; 24...Rb6! 25.Cb3! (25.Dd2? Cxd5! 26.Td3 c4 27.b4 Ra7 con ventaja negra ) 25...Axd5! (25...cxd4? 26.Dxd4+ Rc7 27.Da7+ Ab7 28.Cc5 Tb8 29.Te7++-; 25...Cxd5? 26.Dxf7 Thf8 27.Dg7 Tg8 28.Dh6 Df8 29.Th4 con ventaja clara para el blanco ) 26.Dxd6+ Txd6 27.Td2 Thd8 28.Ted1= G.K.]
25.Te7+!

Aprovechando que no es posible responder ni 25.Td7 ni Cd7, y de esta manera capitalizar la crítica posición del rey negro. Seguramente Topalov cuando capturó la primera Torre, obvió esta sutileza táctica. [25.Dxd4+? Db6 26.Te7+ Cd7 con ventaja clara del negro G.K.]
25...Rb6
Triste necesidad, la Torre es intomable, como lo confirman los siguientes análisis del ex-campeón mundial [25...Rb8 26.Dxd4! Cd7 27.Axd7 Axd5 28.c4! Dxe7 29.Db6+ Ra8 30.Dxa6+ Rb8 31.Db6+ Ra8 32.Ac6+! Axc6 33.Cxc6+-; 25...Dxe7 26.Dxd4+ Rb8 27.Db6+ Ab7 28.Cc6+ Ra8 29.Da7#]
26.Dxd4+ Rxa5

[26...Dc5 27.Dxf6+ Dd6 28.Ae6!! Axd5 (28...The8 29.b4!+-) 29.b4! Aa8 30.Dxf7 Dd1+ 31.Rb2 Dxf3 32.Af5+- G.K.]
27.b4+ Ra4 28.Dc3
[28.Ta7!]
28...Dxd5

[28...Axd5 29.Rb2+- Con idea de 30.Db3 y mate]
29.Ta7! Ab7 30.Txb7 Dc4

[30...Td6 31.Tb6!!+- para construir el mate ahogado en "b3"; 30...The8! 31.Tb6 Ta8 32.Af1!! Te1+! 33.Dxe1 Cd7 34.Tb7!! Dxb7 35.Dd1! Rxa3 36.c3+- Como podemos observar, la caótica situación del Rey negro permite la aparición de golpes tácticos verdaderamente sorprendentes, en estos análisis de Kasparov]
31.Dxf6 Rxa3
[31...Td1+! 32.Rb2 Ta8 33.Db6! Dd4+ 34.Dxd4 Txd4 35.Txf7 a5 36.Ae6 axb4 37.Ab3+ Ra5 38.axb4+ Rb6 (38...Txb4 39.c3+-) 39.Txh7 Tc8 40.h4+- G.K.] 32.Dxa6+ Rxb4 33.c3+! Rxc3 34.Da1+ Rd2
Ir a "b4" tampoco salva: [34...Rb4 35.Db2+ Ra5 36.Da3+ Da4 37.Ta7++-]
35.Db2+ Rd1 36.Af1! Td2 37.Td7! Txd7 38.Axc4 bxc4 39.Dxh8 Td3 40.Da8 c3 41.Da4+ Re1 42.f4 f5 43.Rc1 Td2 44.Da7
Una verdadera obra de arte táctico… 1–0

 
 
webmaster: Rafael Aquino
ajedrezclub2t@hotmail.com