lunes, 26 de septiembre de 2011

Codificación de conocimiento en ajedrez

En mi búsqueda por tener algo parecido a un lenguaje que describa posiciones e información de ajedrez, he hallado algunos interesantes esfuerzos. Uno de ellos es de Christian "Chrilly" Donninger, el autor del programa Nimzo y además, de Hydra, un monstruo de 32 procesadores que no ha perdido una sola partida oficial contra jugadores humanos. Información sobre este proyecto extraordinario (lamentablemente descontinuado), puede verse aquí.

Donninger escribió todo un lenguaje de programación para dotar a su programa "Nimzo", con conocimiento posicional. Dicho lenguaje se llama Che (hay rumores de una comunidad que le ha agregado funcionalidad y que ahora se llama por ello "Che++") y pretende añadir al motor de juego de Nimzo con conocimiento posicional ajedrecístico codificado.

Por ejemplo, se sabe que en el sistema Colle, la estructura de peones blancos en c3, d4, e3, con el afil blanco en d3, contra los peones negros en c5 y d5 (véase diagrama),


Las negras no deben jugar c4, porque fija la estructura y el rompimiento en e4 (que es uno de los motivos del sistema Colle), es entonces más fuerte. La jugada c4 del negro fue típica por algún tiempo entre los programas de computadora, porque los "engines" de ajedrez suponían que esta jugada limitaba la acción del alfil de d3, pero la experiencia entre grandes maestros ha calificado como mala esa jugada.

Donninger describe su lenguaje Che en un interesante artículo que apareció en la revista especializada en ajedrez por computadora (ICCA) y que puede ser consultado aquí (me tomé la libertad de escanearlo Yo compré dicha revista por el artículo y por lo complicado y difícil de acceder a esta información, la puse disponible a los interesados en el enlace mencionado). Donninger ha hecho un trabajo notable con Che. Su sistema está básicamente orientado como un intérprete de Forth y a decir del autor, cualquiera -con conocimientos del elemental lenguaje Basic- puede aprender a alimentar información ajedrecística en Che. En las referencias de Donninger sobre su artículo, menciona la tesis doctoral sobre un programa para dar consejos sobre posiciones de ajedrez. Hay un artículo que habla de eso, que puede leerse aquí. Se llama Chunking for Experience y realmente habla del mismo problema que estoy tratando de resolver: el de tener una manera de describir vía un lenguaje, las posiciones de ajedrez.

Por su parte, Armando Estrada, buen amigo virtual de este blog, me dio la referencia: "Chess skill in Man and Machine" Editado por Peter W. Frey que explica este tipo de representación. capitulo 3 (paginas 54 a 59). Se publicó en 1977. Sin embargo, de lo que habla Armando es de la representación vía bitboards y no es exactamente lo que ando buscando. Este interesante libro de Peter Frey puede obtenerse aquí.


Che puede conseguirse en el programa comercial Nimzo 8, que vendía hace tiempo Chessbase. en él Donninger menciona que explica cómo usarlo y añadir ese conocimiento a Oracle, el sistema de juego que usa Nimzo 8.


Tengo más información al respecto. A quien le interese, escríbame a morsa@la-morsa.com

martes, 13 de septiembre de 2011

Reflexiones sobre el "Chess Query Language"


¿Qué es lo que hace de una posición de ajedrez un patrón en particular? ¿qué elementos son los que hacen que se pueda describir un patrón como ganador -digamos- en una posición particular? Por ejemplo, consideremos la siguiente:

Juegan las blancas
(Patrón 1)

Quien sepa algunas cosas sobre el ajedrez sabrá que las blancas pueden dar mate en cuatro jugadas con 1.Axh7+ Rh8 2.Ag6+! (evitando que la dama negra capture a la blanca), 2. ... Rg8 3. Dh7+ Rf8 4.Df7#. De hecho, no importa dónde esté el alfil blanco siempre y cuando se mantenga en la diagonal b1-h7:

Juegan las blancas
(Patrón 2)

En este ejemplo podríamos caracterizar la posición como un alfil que corre sin interrupción desde b1 hasta h7, con la dama blanca en h6 y el rey negro en g8. Pero... ¿es esto suficiente? Aparentemente sí. Pero consideremos ahora la siguiente posición:

Juegan las blancas
(Patrón 3)

Este patrón parece ser el mismo que en la posición anterior, pero he aquí que cambia totalmente todo el asunto, porque ahora la torre negra de a7 defiende el punto del mate en f7. Aquí, por ejemplo, las blancas no tienen más que tablas: 1.Axh7+ Rh8 2.Ag6+ Rg8 3.Ah7+ y tablas por repetición. Las blancas no tienen mejor opción que esto.

La pregunta aquí es ¿cómo definir los elementos del patrón que hacen que el patrón 1 sea ganador, Mientras que en el patrón 3 el hecho de tener la torre negra en a7 hace imposible que el patrón de mate se dé? Yo quisiera hallar un lenguaje que describiera los patrones, algo así como una geometría analítica para el tablero de ajedrez. Déjenme ponerles un ejemplo:

Considérese la ecuación de la parábola:

Gráfica 1

y=x^2. Sin vemos la expresión, podemos hacer el dibujo que genera la imagen de la parábola, porque la expresión algebraica representa ni más ni menos a la gráfica 1. En este sentido, la expresión algebraica define y caracteriza la parábola mencionada. ¿Podría haber una especie de "lenguaje algebraico" para caracterizar sin errores cualquier posición de ajedrez? Llevo ya un par de años atorado en esta problemática. No veo cómo hacer un lenguaje que caracterice las posiciones del tablero.


Más de uno se preguntará como para qué quiero algo así. Es fácil: imaginen que tengo la siguiente posición, la cual se dio en la siguiente partida:

Paulsen - Schwarz
Lepzig 1879 (match)
3er juego

1. e4 e6 2. d4 d5 3. e5 c5 4. c3 Nc6 5. Nf3 Qb6 6. a3 Bd7 7. b4 cxd4 8. cxd4 Nge7 9. Nc3 Nf5 10. Na4 Qc7 11. Bb2 Be7 12. Rc1 a6 13. Nc5 Bxc5 14. Rxc5 O-O 15. Bd3 Nfe7?





 
Paulsen-Schwarz
Leipzig 1897 (match)
3er partida
Juegan las blancas 
(Patrón 4)

16. Bxh7+! el clásico "regalo griego". El esquema está dado: el rey negro enrocado. El caballo negro que normalmente está en f6, defendiendo h7 ya no está. El alfil blanco apunta a h7, el caballo en f3 brincará a g5 y la dama blanca entonces se incorporará al ataque.

Si tuviese una manera de describir esta posición vía este "mágico lenguaje" entonces podría hacer búsquedas sobre todas las posiciones en donde este esquema se diese en una base de datos, por ejemplo la megabase 2010. Así, por ejemplo, hallar todas las posiciones con el patrón 4 me permitiría hacer incluso un catálogo o libro con este esquema, y así practicarlo hasta que fuese parte de mi acervo ajedrecístico. Vaya, que escribir libros de ejercicios de combinación sería algo ridículamente simple, pues como autor no tendría que hurgar literalmente en las posiciones, sino que podría pedirle al sistema que hallara el patrón buscado y listo, colección de posiciones para estudiar.

Por ello mismo, el Chess Query Language - CQL, del cual ya hablé aquí antes, es quizás la herramienta que podría solventar las dificultades. Curiosamente el CQL me permite buscar todas las posiciones en un archivo PGN, en donde se dio el regalo griego. Entonces me pregunto: ¿Necesito realmente un lenguaje que describa las posiciones en ajedrez para crear patrones? o bien ¿un lenguaje de consultas en una base de datos es la sustitución natural de este potencial lenguaje y es más que suficiente? Dicho de otra manera, ¿para qué quiero describir posiciones si el CQL me permite crear una búsqueda de un patrón determinado? ¿Será esto equivalente a lo que busco? 

Me llama la atención que el problema de generar un lenguaje descriptor de posiciones sea lo mismo (o al menos equivalente, para hablar con propiedad), que el tener un lenguaje de consultas sobre una base de datos, que finalmente tiene un origen en búsquedas de cadenas. ¿Qué opina lector/a, sobre esto en particular?

viernes, 9 de septiembre de 2011

Dedicarse o no al ajedrez

Eduardo Aguilar (Construajedrez) me ha mandado un comentario para ser publicado en el artículo que escribí sobre que León Hoyos e Ibarra, se retiraban del ajedrez competitivo. Lo pongo en este nuevo artículo porque creo que su comentario merece una atenta reflexión

Dice Eduardo:

Estimado Manuel.


Extrañado por este artículo.


Simplemente te diré que aún y sea cierto que estos jóvenes se retiren porque ellos consideran que no tienen futuro en el ajedrez, eso no valida la hipótesis de que del ajedrez no se puede vivir ya no dignamente sino muy bien.


Es absurdo el planteamiento, es una falacia. De tan evidentemente ilógico que se dificulta refutarlo.
Hay miles de jóvenes egresados de administración de empresas en el país desempleados o trabajando en áreas diferentes de su especialidad pero dudo que alguien afirme que para que queremos profesionales en la administración de empresas.


Estimado Manuel, creo que es tiempo de levantar la toalla y dejar en el pasado el reparto de culpas, hay que dejar el pesimismo para los buenos tiempos.


Cordialmente


Eduardo Aguilar

He aquí mi respuesta:

Hola, Eduardo,

De entrada no creo que sea una decisión descabellada y/o mala, el dejar el ajedrez por estudiar una carrera profesional. Primero, porque evidentemente quien así haga no dejará el ajedrez (véase el caso de Gata Kamsky, por ejemplo), quien después de no poder ganar el Campeonato Mundial, se dedicó a estudiar leyes, casi por obligación de su padre, pero eso no importa. Kamsky terminó la carrera y finalmente cuando ya no pueda competir al nivel de las exigencias actuales, no tiene que tener una vida incómoda o de pocos ingresos por solamente haberse dedicado al ajedrez e incluso, tiene una alternativa más para defenderse en la vida.

Yo entiendo que hay muchos jugadores, ni siquiera de primera fuerza, que viven de dar clases de ajedrez en escuelas particulares. En una ocasión nos invitaron a Russek y a mí a una entrevista radial a las 12 de la noche, con una simpática española llamada Lidia (que tenía o tiene un programa llamado "Lidiando con el futuro"). Hubo un tercer invitado, un señor que jamás habíamos visto, pero que su trabajo era el de enseñar ajedrez a niños en escuelas primarias particulares. No me acuerdo si nos dijo que trabajaba de 11 am a 6 pm... La cuestión es que el señor, cuyo nombre no recuerdo, tenía un sueldo decoroso y probablemente ganaba más que muchos jugadores que quieren vivir ganando torneos pero que, desde luego, difícilmente lo logran por la competencia que hay. Dicho personaje nos confesó que no tenía rating y él calculaba que jugaba más o menos unos 1700 puntos, pero que él no jugaba, ni iba a torneos. Sólo enseñaba.

A mí me parece que el artículo que transcribí está escrito con toda la mala leche. León e Ibarra "no tiran el tablero de ajedrez", eso es una expresión fuera de lugar. Yo creo sin embargo que León tiene razón: no hay apoyo para un jugador joven que quiere dedicarse exclusivamente al ajedrez. Leon Hoyos es un talento, yo siempre lo vi así (y la única partida que jugamos se la gané, pero tenía 10 años :-) )... Y a León lo invitan a reconocerle, darle premios, trofeos por ser el orgullo yucateco, pero no le dan patrocinios, no le contratan un entrenador, nada. ¡Qué tan talento será que hasta Ivanchuk lo tomó como segundo! El gran nivel del ajedrez ya no se puede alcanzar solo. El único en ese sentido es Fischer, pero él fue caso aparte, atípico.

Yo sí creo que se puede vivir del ajedrez. Creo que un arte tan fascinante y obsesivo merece dedicarle la vida.Como Botvinnik apunta: "el ajedrez no es en nada inferior al violín, y tenemos muchos violinistas profesionales".  Lo malo es que las condiciones en el mundo no son fáciles para dedicarse a esto. Y no se trata si la FENAMAC apoya o no. Va más allá. No se trata de repartir culpas y puedo entender que Raúl Hernández, que creo que ha hecho -si bien nos va- una mediocre actuación como presidente de la FENAMAC, podría tener argumentos contundentes por los que León o Ibarra simplemente no pueden ser apoyados como se debiese hacer. La razón es que el país no tiene condiciones para que esto pase. En Ucrania, por ejemplo, salen montones de chavitos que cada vez obtienen títulos más jóvenes. Cito a los actuales, Lahno, Ponomariov, Karjakin, entre otros. ¿Por qué se da? Por dos razones: porque hay escuelas y trabajo especializado para que los chavitos, desde pequeños, se interesen por el ajedrez y de ahí salen las nuevas camadas de maestros. Por otra parte, porque el país entrega recursos para que se desarrollen estas actividades. Lo pondré con una analogía: si tienes un gran jardín y no riegas alguna parte de éste, seguramente se secará esa parte.

Finalmente, cito a Kotov (Piense como un gran maestro - la traducción es mía): "Una vez que se ha obtenido todo el reconocimiento y se ha convertido en gran maestro, uno puede dedicarse de lleno y completamente al arte del ajedrez. Incluso entonces la decisión demanda pensarla muy seriamente; está lejos aún de ser fácil tener que depender de los azares de los resultados de los torneos. Más aún, hay un número de jugadores que son capaces de continuar y seguir la profesión que eligieron, además de lograr excelentes resultados en los torneos".

Hasta aquí mi reflexión...

miércoles, 31 de agosto de 2011

¿Necesitamos ajedrez?


Con la noticia de que Manuel León Hoyos y Luis Ibarra Chami dejan su participación en el ajedrez competitivo y dedicarán ahora su tiempo a una carrera universitaria, algunos internautas, tanto en este blog como en Facebook, han externado su opinión.

Algunos le echan la culpa al sistema lamentable de la Federación Mexicana de Ajedrez, que no promueve que surjan nuevas promesas. No hay entrenador nacional siquiera. Esa figura -si existe- ya la desapareció Raúl Hernández. Y ojo, que ser el entrenador nacional implicaría cierto nivel el cual -considerando que ya tenemos media docena de grandes maestros- requeriría al menos un nivel similar.

Pero independientemente de esto, no existe la mínima planeación para que la Fenamac otorgue becas -vía el CDOM o el COM o la institución que sea la responsable- para que jugadores con talento puedan dedicarse exclusivamente al juego ciencia. Si hubiese becas decorosas, digamos 10 mil pesos por mes, amén de viáticos a ciertos torneos y acceso a jugadores de alto nivel para poder ser entrenados, estas promesas podrían de pronto estar en el ámbito internacional con éxito. Quienes diesen esas becas bien podrían poner sus condiciones, las cuales deberían estar adecuadas al nivel de esfuerzo que se hace para dotar de recursos a los jugadores prometedores. Así, sería ridículo pedirles que llegasen a campeones mundiales, pero quizás podría exigírseles que lograsen un rating determinado en un tiempo razonable. Yo entiendo que la competencia en ajedrez cada día es más difícil, pero evidentemente si se trazan metas, si se planea, si se trabaja con inteligencia, se pueden tener resultados.

De hecho, León e Ibarra son la muestra de que la idea original de la Escuela de Alto Rendimiento de Yucatán fue una medida que promovió el ajedrez en la península y de Yucatán tenemos una buena cantidad de jugadores que de alguna manera fueron incitados a participar en el ajedrez gracias al Torneo Carlos Torre y a otras competencias locales en esa zona del país. Llevó tiempo, pero es claro que dos de nuestras mejores cartas en el ajedrez internacional son yucatecas y no creo que sea coincidencia.

Así pues, no se trata de que a los jugadores prometedores se le den recursos y después que "le hagan como puedan o quieran". No funcionan así las cosas. Se necesita repito, planeación, trabajo y organización. Eso no se ve en la federación mexicana.

Ahora bien, el hecho de que decidan dedicar sus esfuerzos ahora a la escuela, en lugar del ajedrez, no es algo que deba ni reprochárseles o aplaudírseles. En mi opinión el ajedrez merece todo el tiempo y dedicación del mundo. Como Botvinnik decía, "tenemos muchos violinistas profesionales y el ajedrez no es menos importante que la música" (palabras más, palabras menos). El problema con el juego ciencia es la percepción que se tiene de él. Mucha gente cree que quienes juegan ajedrez son unos vagos y por ello no se le da el valor que realmente merece nuestro juego.

Lo mismo puede decirse de quienes escriben o pintan. ¿A poco necesitamos escritores que escriban novelas? Finalmente en una novela se tratan temas que salen muchas veces de la imaginación de los escritores. ¿Los necesitamos? O los pintores, ¿de verdad lo que plasman en sus obras pictóricas es necesario en nuestras sociedades? En ambos casos yo creo que sí. Los novelistas, los pintores, los ajedrecistas, los artistas todos son importantes en las sociedades.

El ajedrez es algo más que un juego, una recreación. Es una actividad lúdica sin duda, pero para poderla ejercitar en su máximo nivel se tienen que dedicar muchos años e incluso, nacer con un talento especial que es lo que hace destacar a algunos pocos de la mayoría, además de trabajar y estudiar mucho, muchísimo tiempo. Quizás por su gran complejidad el ajedrez es sin duda una actividad que puede obsesionar. Y en ese sentido, qué mejor que obsesionarse por un arte tan fantástico en lugar de caer en las trivialidades del mundo moderno, en la superficialidad en la que estamos -valga la curiosa expresión- sumergidos.

Como alguna vez escribió Stefan Zweig en el "Jugador de Ajedrez":

"Es un pensamiento que no conduce a ninguna parte, una matemática que no establece nada, un arte que no deja tras sí obra alguna, una arquitecura sin materia; y a pesar de ello el ajedrez ha demostrado ser más duradero, a su manera, que los libros o cualquier otra clase de monumento. Este juego único pertenece a todos los pueblos y a todas las épocas y nadie puede saber de él, qué divinidad la regaló a la tierra para matar el tedio, aguzar el espíritu y estimular el alma."