Thursday, May 19, 2011

Bosquejo de un lector de archivos PGN


PGN son las siglas de Portable Game Notation, un sistema para anotar partidas de ajedrez, usando el esquema de la notación algebraica, que es el único sistema de escritura oficial de la Federación Internacional de Ajedrez (FIDE). Gracias a este mecanismo, cualquiera puede leer una partida de ajedrez sin prácticamente importar en qué parte del mundo se encuentre. La notación de una partida de ajedrez contempla los siguientes rubros: Evento (en qué torneo se jugó el torneo), lugar del evento, fecha completa, ronda, nombre del conductor de las blancas, nombre del conductor de las negras, resultado, ECO (código de la apertura de acuerdo a la Encyclopedia of Chess Openings - ECO), el rating de las blancas, el rating de las negras, entre otros apartados (estos son los más generalizados). Inmediatamente después de esto, viene la partida, codificada de la siguiente manera: número de jugada, jugada del blanco,  jugada del negro, número de jugada, etc. hasta llegar va 1-0, 0-1 o 1/2 (ganan blancas, ganan negras, empate).

Por ejemplo, esta es la partida entre Leko e Ivanchuk, del torneo alemán de Dortmund, del 2008:


[Event "Sparkassen"]
[Site "Dortmund GER"]
[Date "2008.06.29"]
[Round "2"]
[White "Leko, P."]
[Black "Ivanchuk, V."]
[Result "1-0"]
[ECO "B46"]
[WhiteElo "2741"]
[BlackElo "2740"]

1. e4 c5 2. Nf3 e6 3. d4 cxd4 4. Nxd4 Nc6 5. Nc3 a6 6. Nxc6 bxc6 7. Bd3 d5 8. O-O Nf6 9. Qf3 Be7 10. Qg3 Nh5 11. Qf3 Nf6 12. e5 Nd7 13. Qg3 g6 14. Bh6 c5 15. Na4 c4 16. Be2 Bb7 17. b3 Bc6 18. Nb2 Rb8 19. Nd1 Nc5 20. Ne3 Ne4 21. Qh3 Ng5 22. Qg4 c3 23. a3 Bb5 24. Bxb5+ axb5 25. f3 Qb6 26. Rae1 d4 27. Nd1 d3+ 28. Kh1 dxc2 29. Nf2 Bc5 30. Nd3 Be3 31. Bxg5 Bd2 32. Re2 O-O 33. Nc1 b4 34. Bxd2 cxd2 35. Rxd2 bxa3 36. Rxc2 Rfc8 37. Qe4 Rxc2 38. Qxc2 Qd4 39. Na2 Qxe5 40. b4 Rd8 41. h3 h5 42. Rb1 Qe3 43. Rd1 Rd5 44. Qb1 Qe2 45. Re1 Qd2 46. Rc1 Rd8 47. b5 Rb8 48. Rc3 h4 49. b6 Qd6 50. Rb3 Rb7 51. Nc3 Qc6 52. Rxa3 Qxb6 53. Qxb6 Rxb6 54. Ra4 g5 55. f4 Rb3 56. Ne2 Re3 57. Ng1 1-0


Aquí las piezas se denominan por sus siglas en inglés: K-king (rey), Q-queen (dama), B-bishop (alfil), N-knight (caballo), R-rook (torre). No se pone la "P" de peón porque como hay dieciseís, se tomó la decisión que sería redundante. Si no hay pieza que se mueve, se asume que es un peón. Cabe hacer notar además, que aquí hemos puesto la partida en notación larga, es decir, indicando de qué casilla se mueve la pieza o peón y a qué casilla llega. En general se usa la notación corta, que es simplemente la pieza que se mueve y hacia qué casilla se mueve. Si dos piezas iguales pueden acceder a la casilla a la que se mueve la pieza, hay entonces que indicar cuál es la que se mueve, poniendo las coordenadas de donde nace la jugada. Por ejemplo, una partida en notación larga se ve así:

[Event ""]
[Site "Breslau"]
[Date "1912"]
[Round ""]
[White "Levitzky"]
[Black "Marshall"]
[Result "0-1"]

1.e2-e4 e7-e6 2.d2-d4 d7-d5 3.Nb1-c3 c7-c5 4.Ng1-f3 Nb8-c6 5.e4xd5 e6xd5 6.Bf1-e2 Ng8-f6 7.O-O Bf8-e7 8.Bc1-g5 O-O 9.d4xc5 Bc8-e6 10.Nf3-d4 Be7xc5 11.Nd4xe6 f7xe6 12.Be2-g4 Qd8-d6 13.Bg4-h3 Ra8-e8 14.Qd1-d2 Bc5-b4 15.Bg5xf6 Rf8xf6 16.Ra1-d1 Qd6-c5 17.Qd2-e2 Bb4xc3 18.b2xc3 Qc5xc3 19.Rd1xd5 Nc6-d4 20.Qe2-h5 Re8-f8 21.Rd5-e5 Rf6-h6 22.Qh5-g5 Rh6xh3 23.Re5-c5 Qc3-g3 0-1

Todo esto viene a cuento porque la cuestión es que se me había ocurrido hacer en prolog, sí, en prolog, un programa que leyera archivos de esta naturaleza y desplegara la partida en formato PGN en un tablerito electrónico. Para simplificar las cosas, decidí primero usar la notación larga, porque así resulta más fácil ya que la propia notación me dice qué movimiento hay que hacer, considerando la casilla inicial y la casilla de llegada de la pieza que hace la jugada.

Un problema inicial que observé es que en prolog no hay arreglos como en muchos lenguajes como Pascal o C. No incluyo Basic porque esto es de la "Tierra Primitiva". Pero en prolog lo equivalente son las listas. Así, puedo definir una lista con ocho casilleros: [tb,cb,ab,db,ab,cb,tb], lo cual representaría la primera fila del tablero. Quizás haya que ser más precisos y poner: fila(1,[tb,cb,ab,db,ab,cb,tb]).

Si quisiéramos usar esta representación para el tablero completo, podríamos poner:

fila(8,[tn,cn,an,dn,an,cn,tn]).
fila(7,[pn,pn,pn,pn,pn,pn,pn,pn]).
fila(6,[b,b,b,b,b,b,b,b]).
fila(5,[b,b,b,b,b,b,b,b]).
fila(4,[b,b,b,b,b,b,b,b]).
fila(3,[b,b,b,b,b,b,b,b]).
fila(2,[pb,pb,pb,pb,pb,pb,pb]).
fila(1,[tb,cb,ab,db,ab,cb,tb]).

donde tb, cb, ab, db, pb y rb son torre blanca, caballo blanco, alfil blanco, dama blanca, peon blanco y rey blanco, respectivamente (y con sus equivalentes para torre negra, caballo negro,alfil negro, etc.) La "b" representa una casilla vacía.

Muy bien, aquí ya tenemos parte del asunto zanjado. ya podemos representar en claúsulas de prolog el tablero de ajedrez. Ahora sólo resta poder manipular las jugadas y hacer que éstas se representen en el tablero.

En prolog, podemos encontrar el enésimo elemento de una lista de manera muy fácil:

% Hallar el enésimo elemento de una lista.
% El primer elemento de la lista es el 1.

element_at(X,[X|_],1).
element_at(X,[_|L],K) :- K > 1, K1 is K - 1, 
                         element_at(X,L,K1).

Esto significa que hallar, digamos, el quinto elemento de una lista es equivalente a hallar el cuarto elemento de una lista menos su primer elemento, o el tercer elemento de una lista sin considerar los dos primeros elementos, etc. Así se hace fácilmente en prolog.

Ahora basta ver la partida y describir cada jugada como una acción en prolog. Por ejemplo, si tengo la jugada "e2-e4", basta con poner lo que hay en la casilla 52 y pasarlo a la casilla 54. Para ello, ponemos una "b" (de blanco) en la casilla 52 (e2) y lo que había en esa casilla, lo escribimos en la casilla 54. (ver el tablero en la siguiente imagen - correspondence-chess.jpg).

Para hacer la traducción de las coordenadas de cada columna a, b, c, d, e, f, g, h, podemos hacer el siguiente predicado de equivalencias:

equivalencia(a,1).
equivalencia(b,2).
equivalencia(c,3).
equivalencia(d,4).
equivalencia(e,5).
equivalencia(f,6).
equivalencia(g,7).
equivalencia(h,8).

Así, basta ir de jugada en jugada y hacer una rutina que lea las coordenadas, inicial y final, así como la pieza que debe ir ahí y listo, el tablero cambiará su posición. Si la jugada la tenemos como una lista, por ejemplo: [e,2,e,4], el pseudocódigo podría ser algo así:

haz_jugada([X1,Y1,X2,Y2], Pieza) :- 
    /*saca las coordenadas de la posición inicial y final de la pieza que se mueve*/
    /*revisa qué pieza hay en la lista (fila) correspondiente a la posición de la coordenada inicial*/
    /*sustituye el valor que haya ahí por un blanco*/
    /*ve a la posición final y pon la pieza en la coordenada de la fila correspondiente*/

Es claro que este algoritmo no valida si las jugadas son legales o no, pero la idea es que las partidas dadas en formato PGN son correctas y no contienen errores. En caso de contenerlos caemos en "garbage in -> garbage out" (si le das basura al programa regresará basura).

Con esto en mente, podemos hacer un programa que lea el archivo PGN y pase jugada por jugada una partida. Sin embargo, esto sólo puede hacerse de ida, es decir, en una dirección, porque cuando se captura una pieza, por ejemplo, la pieza capturada desaparece y no llevamos registro de esto. Así, si queremos ir, por decir algo, una jugada hacia atrás, pues no podemos hacerlo porque no tenemos información de qué pieza fue eliminada del tablero.



La solución a esto es en realidad crear tantos tableros de ajedrez completos en donde cada jugada esté en uno de ellos. Así, si quiero ir a la jugada 27, entonces pinto inmediatamente el tablero 27. No me tengo que acordar si ahí hubo captura o no de alguna pieza. Si hago así las cosas, entonces mi definición del tablero de ajedrez debo modificarlo para que contemple en qué jugada está el programa en ese momento desplegando el tablero:

             
/*ejemplo de la estructura del tablero para el primer movimiento*/
fila(8,[tn,cn,an,dn,an,cn,tn],1).
fila(7,[pn,pn,pn,pn,pn,pn,pn,pn],1).
fila(6,[b,b,b,b,b,b,b,b],1).
fila(5,[b,b,b,b,b,b,b,b],1).
fila(4,[b,b,b,b,b,b,b,b]1,).
fila(3,[b,b,b,b,b,b,b,b],1).
fila(2,[pb,pb,pb,pb,pb,pb,pb],1).
fila(1,[tb,cb,ab,db,ab,cb,tb],1).
                    

Una partida promedio, digamos de 40 jugadas tendría entences 80 tableros (8 claúsulas por tablero), que se generarían en tiempo de ejecución como claúsulas de prolog. esto significa 640 claúsulas para guardar en memoria, cosa que actualmente cualquier computadora puede hacer sin mayores dificultades.

De hecho, los programas comerciales como Chessbase hacen precisamente esto, aunque como no lo hacen en prolog, usan otras técnicas. No sé en qué lenguaje está escrito Chessbase, pero pienso que es C. Si este es el caso, y si se sigue lo que aquí hemos comentado, entonces un programa que lea una partida PGN creará en tiempo de ejecución un diagrama por cada movimiento. Como en C se pueden crear arreglos bidimensionales, probablemente el tablero esté definido de esta manera y entonces, cuando se hace una jugada, se crea un tablero nuevo, en una estructura dinámica, que solamente pide la memoria necesaria cuando el sistema lo necesita.

Cuando se termina de ver esa partida, se libera toda esa memoria (es mandar los apuntadores a nil, por ejemplo), y entonces tenemos un sistema por demás eficiente.

El sistema de lectura de partidas PGN en Prolog no es el más eficiente, pero es un problema que puede ser atacado por Prolog de manera razonable y además, sin necesidad de pensar en estructuras dinámicas como en otros lenguajes, cosa que en general se aprende hasta un segundo curso de programación.

16 peones: Décima novena entrega

Hoy hablaremos de ajedrez y literatura...



Wednesday, May 18, 2011

La cultura en Internet


Internet es sin duda una mina de oro en lo que se refiere a información. Si se pone uno a pensar lo que tenemos hoy día a lo que había digamos hace diez años, los avances en búsquedas, en cantidad de información, en la calidad de la misma, se ha multiplicado considerablemente. Y esto es gracias a un esfuerzo comunitario en muchos frentes: personas que colaboran con Wikipedia, o aquellos que ponen blogs de información sobre temas particulares, o páginas diseñadas sobre tópicos específicos. En fin, hoy día la información es quizás uno de los bienes no materiales más importantes con los que cuenta la humanidad.

Por supuesto que en todo esto tienen que ver los avances en el hardware. Hoy disponemos de unidades USB de 16 gigabytes que no ocupan ni 5 cms cuadrados. Tenemos discos duros que ahora se acercan a los 3 terabytes y es común hallarlos con un terabyte de información, es decir, 1000 gigabytes, una cantidad que es francamente asombrosa. Así entonces, nos hallamos con un poder de almacenamiento impresionante, y por ello, podemos tener en la computadora todo género de información: libros en pdf o djvu, videos, fotografías, documentos en diferentes formatos, programas de enseñanza, de entrenamiento, de lo que se nos antoje.

Con todo esto, sin embargo, hallamos además herramientas que usamos cotidianamente y que hoy en día nos parecen imprescindibles. Me refiero a los navegadores de la red y en especial al correo electrónico, con el cual la comunicación entre los seres humanos se ha convertido en prácticamente instantánea. No obstante, sigue siendo el principal colaborador de todo género de anuncios no solicitados o de archivos de powerpoint que, por alguna extraña razón, a la gente no le gusta, le encanta compartir.

Y así se genera una especie de extraña cultura en la red. hay powerpoints que nos dan indicaciones de qué hacer si sentimos que estamos teniendo un ataque cardiaco, o aquellos que nos piden no usemos antitranspirantes porque provocan al menos cáncer, pues al impedir que las glándulas sudoriparas no puedan generar el sudor, las infectamos con nuestros propios fluidos y a la postre pueden causar nuestra muerte. O bien nos hablan del doctor Hamilton Naki, autodidacta, de raza negra, que colaboró con Barnard en el primer trasplante de corazón humano pero que no se le dio ningún crédito por su color de piel (la historia, si les llegó, es falsa, basta buscar en la Wikipedia), etc.

La cantidad de historias convertidas en diapositivas de powerpoint en donde se dan todo género de mensajes, ya sea de iluminados, de ángeles, de medicina preventiva, de qué comer, de qué no comer, etc., son pasados de "correo en correo" (ya no de "mano en mano"), entre millones de usuarios de la red y la mayoría de la gente no tiene ganas ni interés en verificar las historias que se cuentan. Simplemente las creen y en alguna plática informal, en alguna fiesta, en alguna reunión, las cuentan como reales, porque "están en Internet", o "porque me llegó a mi correo personal". Ah, y me olvidaba, para colmo, todos estos archivos piden al final que los re-envíes, ya sea con amenazas de mala suerte por N años o bien apelando a tu sentido de solidaridad. No importa qué argumento den, el chiste es que los re-envíes para que todos lean estos fantásticos mensajes.

Así pues, la red es formidable pero debemos educarnos para ser más críticos. Creer cualquier cosa que se nos dice en estos tiempos de manipulación de información (imágenes alteradas con photoshop, por ejemplo), o historias increíbles que por prejuicios humanos han quedado en el tintero, es una mala idea. Entendamos que siempre habrá gente que no tiene nada mejor que hacer que armar estos lindos archivos de powerpoint para mandarlos a quien se deje, pero esto no significa que haya un ápice de verdad en muchos de ellos.

Para escribir cheques (II)


Hace un par de días (aquí) escribí sobre un programa que transforma una cifra en números a letras.La idea es que ponía una cifra: 2347, por ejemplo, y el programa debía darme como resultado "dos mil trescientos cuarenta y siete pesos". Puse en el artículo mencionado mi primera solución en Prolog, pero he aquí que un avezado lector, buen  programador, mejor amigo y técnicamente infalible, Ernesto Blum, me dijo que no estaba considerando algunos casos.

Hoy que fui a dar mi clase, expuse el código fuente y al irlo escribiendo en el pizarrón hallé que algo andaba mal. Así pues, decidí que al llegar a casa re-escribiría el problema para darle una solución definitiva. En un rato hallé las dificultades y según yo, ya las resolví. He aquí mi código fuente:

/********************************************/
/* Programa que traduce de números a letras */
/*             Versión 1.1                  */
/*            18 mayo 2011                  */
/*          Programó: La Morsa              */
/********************************************/ 
 
predicates

   equiv(integer,symbol)
   pasa_num_a_letras(integer)
   
   
clauses
   equiv(1,un).
   equiv(2,dos).
   equiv(3,tres).
   equiv(4,cuatro).
   equiv(5,cinco).
   equiv(6,seis).
   equiv(7,siete).
   equiv(8,ocho).
   equiv(9,nueve).
   equiv(10,diez).
   equiv(11,once).
   equiv(12,doce).
   equiv(13,trece).
   equiv(14,catorce).
   equiv(15,quince).
   equiv(16,dieciseis).
   equiv(17,diecisiete).
   equiv(18,dieciocho).
   equiv(19,diecinueve).
   equiv(20,veinte).
   equiv(21,veintiuno).
   equiv(22,veintidos).
   equiv(23,veintitres).
   equiv(24,veinticuatro).
   equiv(25,veinticinco).
   equiv(26,veintiseis).
   equiv(27,veintisiete).
   equiv(28,veintiocho).
   equiv(29,veintinueve).
   equiv(30,treinta).
   equiv(40,cuarenta).
   equiv(50,cincuenta).
   equiv(60,sesenta).
   equiv(70,setenta).
   equiv(80,ochenta).
   equiv(90,noventa).
   equiv(100,ciento).
   equiv(200,doscientos).
   equiv(300,trescientos).
   equiv(400,cuatrocientos).
   equiv(500,quinientos).
   equiv(600,seiscientos).
   equiv(700,setecientos).
   equiv(800,ochocientos).
   equiv(900,novecientos).
   equiv(1000,mil).
   
   pasa_num_a_letras(X) :- /* condicion terminales */
      X < 30,
      equiv(X,Resultado),
      write(Resultado).


   /* predicados recursivos */
   
   pasa_num_a_letras(Cifra) :-
      Cifra div 1000 <> 0,          /* la cifra tiene diez miles */
      DMiles = Cifra div 1000,
      DMiles > 30,
      pasa_num_a_letras(DMiles), /*doble recursion */
      write(" mil "),
      Miles = Cifra - (DMiles * 1000),
      pasa_num_a_letras(Miles).      
      
   pasa_num_a_letras(Cifra) :-
      Cifra div 1000 <> 0,           /* la cifra tiene miles */
      Miles = Cifra div 1000,
      equiv(Miles,Resultado),
      write(Resultado, " mil "),
      Cientos = Cifra - (Miles * 1000),
      pasa_num_a_letras(Cientos).      
         
   pasa_num_a_letras(Cifra) :-
      Cifra div 100 <> 0,           /* la cifra tiene cientos */
      Cien = Cifra div 100,
      Cien1 = Cien * 100,
      equiv(Cien1,Resultado),
      write(Resultado," "),
      Decenas = Cifra - (Cien * 100),
      pasa_num_a_letras(Decenas).    
      
   pasa_num_a_letras(Cifra) :-
      Cifra div 10 <> 0,           /* la cifra tiene decenas */
      Dec = Cifra div 10,
      Dec1 = Dec * 10,
      equiv(Dec1,Resultado),
      write(Resultado," y "),
      Unidades = Cifra - (Dec * 10),
      pasa_num_a_letras(Unidades).    
      


      


Cabe señalar que el programa está escrito en Turbo Prolog 2.0 y que se está usando el tamaño de variable entera para el procesamiento de la cifra, por ende, solamente puede resolver el problema para números enteros mayores a cero y menores a 32768, que es el límite de un entero. Entre otras cosas, este código ya me dejó más contento porque solamente contiene una salida de la función recursiva y eso me parece más "elegante", valga la expresión.

Igualmente, expresiones como: 
 
Cientos = Cifra - (Miles * 1000),
 
 
Podrían ponerse como

Cientos = Cifra mod 1000

Hice algunas pruebas y parece que ahora sí todo funciona bien.

A todo esto, el mismo Ernesto Blum me mandó la solución de este programa en el lenguaje de programación Ruby:


#!/usr/bin/ruby



def cen_out(numero)
 uni = numero % 10 / 1
 dec = numero % 100 / 10
 cen = numero % 1000 / 100
 case cen 
 when 0; return ""
 when 1; if uni == 0 && dec == 0
   return "cien"
  else
   return "ciento "
  end
 when 2; return "doscientos "
 when 3; return "trescientos "
 when 4; return "cuatrocientos "
 when 5; return "quinientos "
 when 6; return "seiscientos "
 when 7; return "setecientos "
 when 8; return "ochocientos "
 when 9; return "novecientos "
 end
end



def dec_out(numero)
 uni = numero % 10 / 1
 dec = numero % 100 / 10
 if dec == 1
  case uni
  when 0; return "diez"
  when 1; return "once"
  when 2; return "doce"
  when 3; return "trece"
  when 4; return "catorce"
  when 5; return "quince"
  when 6; return "dieciseis"
  when 7; return "diecisiete"
  when 8; return "dieciocho"
  when 9; return "diecinueve"
  end
 elsif uni == 0
  case dec
  when 0;  return ""
  when 1;  return ""
  when 2;  return "veinte"
  when 3;  return "treinta"
  when 4;  return "cuarenta"
  when 5;  return "cincuenta"
  when 6;  return "sesenta"
  when 7;  return "setenta"
  when 8;  return "ochenta"
  when 9;  return "noventa"
  end
 else
  case dec
  when 0;  return ""
  when 1;  return ""
  when 2;  return "veinti"
  when 3;  return "treinta y "
  when 4;  return "cuarenta y "
  when 5;  return "cincuenta y "
  when 6;  return "sesenta y "
  when 7;  return "setenta y "
  when 8;  return "ochenta y "
  when 9;  return "noventa y "
  end
 end
end




def uni_out(numero)
 uni = numero % 10 / 1
 dec = numero % 100 / 10
 if dec == 1
  return ""
 else
 case uni
  when 0; return ""
  when 1; return "un"
  when 2; return "dos"
  when 3; return "tres"
  when 4; return "cuatro"
  when 5; return "cinco"
  when 6; return "seis"
  when 7; return "siete"
  when 8; return "ocho"
  when 9; return "nueve"
  end
 end
end



def letra(numero)
 return  cen_out(numero), dec_out(numero), uni_out(numero), "\n"
end

for n in 1..1000
 print letra(n)
end 
 

Por el momento así las cosas. Cualquier cambio o problema con el código mío, lo pondré en el blog en su oportunidad.

16 peones: Décimo octava cápsula

Hoy hablaremos de un gran maestro que era analfabeta...



Tuesday, May 17, 2011

¿Quién tiene la culpa?



En este clima de inseguridad que vive el país, que en el norte -por ejemplo- se acerca cada vez más a un Estado fallido, los medios, la gente en general, le achaca mucha parte de la culpa a Felipe Calderón, el presidente de la República. Muchos periodistas incluso hablan de que él tiene la culpa de que vayan más de 37,000 muertes violentas, la mayoría en enfrentamientos con los grupos de narcotraficantes que tienen un poder de fuego nunca antes observado en México. Vaya, hay zonas del país en donde los narcotraficantes se desplazan en camionetas poderosas de lujo, con incluso insignias pintadas en los cristales, como una "Z", que indica que son del grupo de los "zetas", aparentemente los nuevos dueños de algunas zonas de este país.



La pregunta es ¿cómo es que estos grupos tengan tanto poder? Sin duda el narcotráfico se nutre de muchos ingresos: extorsión a comerciantes, venta de estupefacientes, fabricación y distribución de cientos de miles de toneladas de cocaína, entre muchas otras drogas, etc. Pero es claro que esto no ha llegado de la noche a la mañana, sino que es parte de un largo proceso que no se detuvo a tiempo y que además, sobrevive a cualquier esfuerzo por contenerlo gracias a la corrupción que hay en todos los poderes de gobierno. Porque es claro que tantas miles de armas de alto poder, de granadas, de bazukas, entre tanto equipamiento mortífero, sólo es consecuencia de la falta de control de las aduanas, que se hacen de la vista gorda y de alguna manera dejan entrar al país toneladas de armamento. Obviamente la corrupción en las aduanas es una gran parte del problema, porque si el meter armas al país fuese realmente difícil, los narcotraficantes actuales no tendrían tal poder de fuego, que ahora exhiben en cuanto crimen cometen.



¿Es Calderón el culpable de esto? No creo que sea el culpable de todo lo que pasa en el país. Creo que finalmente es un problema que venimos arrastrando en este país de corruptelas e impunidad, que durante los últimos 70 años (desde que el PRI empezó a gobernar), ha impuesto como modelo político. Aquí en México es fácil salir de cualquier problema si se tiene dinero. Si hay recursos para repartir, seguramente alguien con posibles cargos penales por sus acciones, logrará que no se le aplique ninguna sanción. De esta manera, vemos a los pillos de cuello blanco, que defraudan, huyen del país y cuando los encuentran, regresan y curiosamente, logran un amparo con el cual jamás llegan a pisar la cárcel. Uno de estos personajes, Angel Isidoro Rodríguez, alias "el divino", quien fue acusado en México de fraude y extraditado desde España, en 1998, quedó exonerado de todos los cargos en su contra, en el 2004. El magistrado del Cuarto Tribunal Unitario Penal, José Luis Villa Jiménez, archivó el pasado día 12 la última acusación que pesaba en contra de Rodríguez, alias "El Divino", por un presunto fraude de 440 millones de pesos (38.93 millones de dólares) en perjuicio de Banpaís. Cabe señalar que una vez incluso, el divino se tiró al mar para poder huír de la policía, que lo halló en Ibiza. Así que si fuese tan inocente, ¿qué necesidad tenía de huír?



Pero regresando al tema, el punto es que Calderón puede estar haciendo mal las cosas. Se le ha criticado su estrategia contra el narco, mandando a los militares a la zona de conflicto. Quienes se quejan de esta medida y que piden que se replanteé la estrategia contra el narco no dicen qué es lo que hay que hacer. Yo simplemente pienso que si el ejército mexicano no puede contener al narcotráfico, ¿quién podrá hacerlo? Evidentemente hay corrupción también en el ejército, si santos no son, pero repito, si las fuerzas armadas no pueden, ¿qué estrategia es la adecuada? ¿qué hay que hacer? -y a corto plazo, nada de salir con argumentos de "educar a la población", etc.-  porque se necesitan acciones ahora. Sino, este país se lo va a cargar el payaso.



En resumen, los problemas de inseguridad en el país son en parte responsabilidad de Calderón, pero no se le puede achacar los 37,000 muertos a él, porque esto tiene cola. Tuvimos a un cretino de presidente, Vicente Fox, que cuando salía alguna dificultad en donde era claro que tenía que actuar decía: "¿y yo por qué?". Así, el país arrastra desde hace muchísimos, pero muchísimos años, un problema de corrupción que ni ha sido erradicado y que cada vez es peor. Todos los días hay noticias de policías corruptos, de judiciales que hacen su agosto extorsionando a los ciudadanos que -desde luego- ante esta problemática prefieren salir por la "simplificación administrativa" antes que decidir pelear por sus derechos porque bien saben que el sistema está armado para que lleven todas las de perder.



Así pues, el punto es que la culpa es en alguna medida de todos, los que toleramos la mordida, el cochupo, la extorsión de autoridades. El problema es que vivimos en un país en donde una pléyade de políticos ganan cualquier cantidad de dinero por mes y los servidores públicos, los policías, los ministerios públicos, ganan cantidades pequeñas y por ende, buscan resarcirse porque este país no da los sueldos que debería dar, aunque eso sí, se enriquecen los políticos cada sexenio.



Y lo sabemos todos y nos hacemos de la vista gorda todos. Pienso en estos momentos en Fujimori, expresidente peruano que fue encarcelado por actos penales, que le fincaron las propias instituciones de su país. Perú, con todo respeto, es mucho más pobre y tercermundista que México y sin embargo, tomaron acciones. Aquí, la presidencia es impune en todos sentidos. Los presidentes están ya protegidos de por vida, aunque sus acciones hayan sido lamentables. En nuestro México, que somos menos tercermundistas (en general) que en Perú, no somos capaces de fincarle responsabilidad a los funcionarios de alto calibre. Aquí sabemos todos de los chanchullos que hizo López Portillo, de los millones que gastó en su mansión en lo que se le llamó la "colina del perro".... Y nos reímos, y nos burlamos e incluso hay anécdotas de personas que le ladraban cuando López Portillo iba a un restaurante público a comer (pues éste hab;ia dicho que defendería al peso como un perro y finalmente se devaluó la moneda). Pero no pasamos de ahí. Y nos alegramos y disfrutamos de la supuesta humillación que concedemos a estos personajes, que no bajamos de ladrones, de corruptos, de asesinos, de lo que gusten y manden, pero en el fondo somos parte de la misma corrupción de la que nos quejamos.



Pero eso sí, hacemos marchas multitudinarias, aunque éstas no sirvan para nada. Porque son aves de paso. Llegan y se van y los políticos se mueren de la risa, de esa misma risa con la que nos reímos al llamarle a Calderón "usurpador" o a Andrés Manuel López Obrador "presidente legítimo". Somos felices diciendo en reuniones caseras que sabemos de buena fuente lo borracho que es Calderón, pero nadie es capaz de hacer nada. Y no lo bajamos de "pinche borracho", y nos solazamos en esto aunque en el fondo no tengamos siquiera la voluntad de hacer algo más.



Entonces, ¿de quién es la culpa de lo que pasa en México? Ahí se los dejo a la reflexión.



_________



(*) En la imagen que ilustra este artículo: mientras más rojo, más corrupto...

Sexta temporada de la "Oveja Eléctrica"


Hoy martes 17 de mayo, a las 20:30 horas, empezará la nueva temporada del programa de divulgación científica de Canal 22: "La Oveja Eléctrica". Repetición los viernes, también por Canal 22, a las 17 horas. Conduce Pepe Gordon y Kelly Aro.

En esta primera emisión, de la nueva temporada de La oveja eléctrica; Pepe Gordon conversa con el Doctor Gerardo Herrera, investigador del Departamento de Física del CINESTAV, pionero de la colaboración mexicana en el CERN y uno de los principales especialistas en Física de partículas en nuestro país.

La conversación se da en torno al demonio de la antimateria, al que hoy desenmascararemos mediante una de las maravillas de la tecnología y de la civilización humana: el acelerador de partículas del CERN. El Centro Europeo de Investigación Nuclear en donde se hacen chocar partículas a velocidades cercanas a la luz para revelar lo que está en el interior de los átomos, lo que supuestamente era indivisible.

¿Aparecerá la llamada partícula de Dios?

No te pierdas además las secciones Supersabios con Silvina Espinosa de los Monteros; Performance de la ciencia con Kelly Aro; Aguas con la Morsa con Manuel López Michelone y Veo Veo con Myriam Moscona.

Los esperamos... ¡Somos la opción!

Urnas electrónicas para votar

Este país tiene una larga historia de fraudes electorales. Por muchos años el Partido Revolucionario Institucional (PRI), hizo todo género de maniobras. Se sabe que a los trabajadores de los sindicatos se les daba una papeleta, igual con la que se tenía que votar, pero ya marcada con el candidato priísta. El trabajador, para probar que había depositado ese voto en la urna, tenía que regresar la boleta que le habían dado en la casilla en donde emitiría el voto. También hubo otras trampas, más votos que votantes, conteos amañados, votos de personas que no acudieron a votar, pero que se les sufragó el voto por el partido eterno en el gobierno, etc. La cantidad de trampas y corruptelas es enorme.

Con el tiempo, supuestamente este país decidió "democratizarse" y se buscó tener un organismo, al ual llamaron Instituto Federal Electoral (IFE), para que llevara cuentas de los votos y así hacer elecciones por demás limpias. Sin embargo, a pesar de esos primeros esfuerzos, cuando Carlos Salinas de Gortari "ganó" la elección, en un momento de la misma, en los conteos que se hacían a ciertas horas, "se cayó el sistema". Se dice y mucha gente afirma que el Ing. Cárdenas ganó legalmente la presidencia, arrebatada por el PRI en uno de sus más descarados actos. Manuel Bartlett era el mero mero del IFE y en él recaerá por siempre eso de que "se les cayó el sistema". ¡Bendita computación que puede fallar ewn el momento más oportuno!

Pero en esta elección había un problema extra: estaban las boletas de la elección, que ¿por qué no? podrían volverse a contar. Si mal no recuerdo dormían el sueño de los justos en San Lázaro, en la sede de la Cámara de Diputados. Pero entonces pasó algo sorprendente: se quemó la sede, sí, hubo un incendio y por una muy afortunada coincidencia para Salinas de Gortari, las boletas se quemaron y entonces ya no se podían pedir recuentos ni nada. Tranquilidad para el nuevo presidente. Su elección ya no podría ser sujeta a ninguna inspección.

En el 2006 ganó Calderón la presidencia, aunque el margen oficialmente aceptado de la victoria fue de medio millón de votos, aproximadamente. Ahí están las boletas pero no parece haber manera en que se vuelvan a contar, a pesar de que López Obrador exigió ese "voto por voto y casilla por casilla". Yo no sé si ganó "el Peje", pero lo que sí me queda claro es que dejó una sombra de duda en el conteo de los votos. Así, a pesar de los años que han pasado, no parece poder cambiarse las cosas.

Supuestamente ahora el IFE, que recibe muchísimo dinero del gobierno, es autónomo. Supuestamente también, esto permitirá que ningún partido pueda "meter las manos" para manipular la elección que viene. Sin embargo, leo que ya el Instituto Electoral del Distrito Federal (IEDF) está licitando 1000 urnas electrónicas para ser usadas en las elecciones del 2012.

Según la nota (que puede leerse aquí), estas urnas garantizarán efectividad en el conteo y rapidez, de acuerdo a Fernando Díaz Naranjo, Presidente de la Comisión Permanente de Participación Ciudadana del IEDF. De acuerdo con este personaje ya se usaron estas urnas en el 2009, donde se votó por jefes delegacionales y diputados locales. En esa ocasión se usó una urna electrónica por distrito, y se registró una votación de 10 mil 500 ciudadanos.

A pesar de que esta iniciativa de urnas electrónicas se inició en el año 2000, hasta el 2008 los legisladores de la Asamblea del DF dieron el visto bueno para realizar votaciones con urnas electrónicas. De hecho, éstas funcionan como los cajeros automáticos, tienen su pantalla táctil y el software que la regula es francamente muy simple. De acuerdo a Díaz Naranjo, los resultados se emiten inmediatamente. Observen lo que dice: "Se demuestra que la urna electrónica avanza más rápido en el conteo, y además tiene mecanismos auditables tanto interno como en presencia de los partidos. Por ejemplo, se puede recurrir ante los tribunales para verificar alguna inconsistencia que pudiera presentar".  señaló.

La urna imprime un comprobante que le muestran al ciudadano que el voto se realizó; sin embargo, el comprobante no se lo puede llevar porque queda de constancia en el sistema, en caso de una impugnación.

De acuerdo a Díaz Naranjo también, gracias a que todo está en software, los mensajes del sistema se pueden traducir a los idiomas que se deseé y según él, la urna electrónica no tiene margen de error, es efectiva al 100 por ciento. El funcionario dijo que la vida útil de estas urnas es de 10 procesos electorales.

Pues bien, se le olvida a este funcionario tan aplicado con la tecnología, que ésta puede ser manipulable. Si antes, "a mano", se hacían todo género de trampas en las elecciones, con el software se pueden generar muchas más trampas y además, mucho más difíciles de detectar. Pero además, de eso, supongo que las urnas requerirán de energía eléctrica ¿o funcionarán con pilas? Y si se estropea algo y queda inservible en medio de una elección, en alguna casilla, ¿cómo piensan contar los votos? ¿se desecharán? ¿se eliminarán y ya? La verdad es que "papelito habla" y aún así en estos países tan dados a la corrupción, a mantener en el poder al partido fuerte por todos los siglos de los siglos, es claro que estas herramientas posmodernas son en el fondo un mecanismo más para que se haga trampa en las elecciones.

Pero aparte de todo esto, me salta el hecho de que puedan solamente ser usadas por 10 elecciones. A ver, si se usaron 40 urnas electrónicas y votaron 262.5 personas por urna, ¿me está diciendo este funcionario Díaz Naranjo que cada urna servirá para que puedan votar hasta 2625 personas en diez usos? ¿Es en serio? ¿Pues de qué están hechas? Ya ahí huele feo el asunto. Imaginen -solamente por comparar- cuántas personas usan cajeros automáticos en la ciudad de México. ¿A poco cada 2625 personas ponen un nuevo cajero automático? A mí me parece que hay algo podrido en Dinamarca, para variar.

Plagio descarado

Hoy revisando un librero hallé una obra llamada Amphitryon, de Ignacio Padilla. De hecho, me regalaron el libro pero no lo he leído nunca. Lo que me llamó la atención -desde que me dieron el libro- fue que la portada tiene un parecido muy evidente con el logotipo de la página que Garry Kasparov tuvo en el pasado (Kasparovchess.com), la cual ahora también es la página oficial del excampeón mundial, aunque no es la misma que tenía cuando salió a la luz pública en la web hace unos años (estamos hablando de antes del año 2000).



Siendo francos, quien diseñó la portada del libro mencionado se  plagió el logotipo que había en la página de Garry Kasparov. Pongo ambas imágenes para que ustedes mismos juzguen:





El autor de la portada del libro Amphitryon giró la imagen original del logotipo de KasparovChess, pero son claras las similitudes, las cuales he marcado en la siguiente imagen:



La verdad es que no me queda duda que el diseñador de la portada se plagió de la manera más burda el logotipo de Kasparov. Para colmo,  los colores son casi los mismos. Independientemente de que dicho diseñador estuviese violando los derechos de autor de la obra de quien hizo el diseño de KasparovChess, me queda claro que la creatividad del primero raya en la nulidad. De vergüenza.



Postscriptum 



Abrí el libro Amphitryon para ver si venían los créditos de quién o quiénes hubiesen hecho las portada. He aquí los datos:



Diseño de colección e ilustración de portada: Tasmanias

Realización de la portada: Angel Sanz Martín

Cabe decir, que al fondo de esa página aparece la siguiente leyenda:



Ninguna parte de esta publicación, incluido el diseño de la cubierta, puede ser reproducida, almacenada o transmitida en manera alguna ni por ningún medio, sin permiso previo del editor.



Se me está ocurriendo escribir a la editorial (Espasa Narrativa), para pedir permiso de usar la portada del libro, indicando que es para el sitio de Kasparov, a ver qué dicen.

La necesidad de destacar


Un país necesita héroes, gente destacada, popular, que brinque las fronteras y se conozcan sus logros y triunfos. Quien salta a la fama suele enorgullecer a un país, y esto no solamente se da en una esfera particular de lo que hacemos cotidianamente los hombres, sino en todas.

Por ejemplo, tenemos al "Toro" Valenzuela, que cuando fue contratado en el beisbol norteamericano profesional, recibió toda la cobertura de los medios nacionales. Se transmitían sus partidos, se llevaba puntual anotación de su actuación en cada juego. Lo mismo puede decirse del "pentapichichi" Hugo Sánchez o de ahora, del "Chicharito", que bueno, al decir de los medios nacionales, sin él, el Manchester United sería un equipo de poca monta, por decir lo menos.

Por ello también, nos congratulamos de tener a la actual Miss Universo, aunque en el fondo todos sepamos que es un concurso por demás amañado, que maneja intereses políticos y económicos. Porque reconozcámoslo: tener a la mujer más bella de toooodoooo el universo no puede ser poca cosa ¿verdad?

Así, ya no me sorprende demasiado ver que los medios, en ese afán de crear héroes en nuestro país, a toda costa, especulan incluso irresponsablemente con notas como la siguiente:

Carstens y Zedillo, candidatos al FMI

El Universal
Por Agencia el Universal | El Universal – mar, 17 may 2011José Manuel Arteaga

MÉXICO, D.F., mayo 17 (EL UNIVERSAL).- Los mexicanos Agustín Carstens y Ernesto Zedillo son mencionados en círculos internacionales como candidatos para ocupar la dirección del FMI, que eventualmente podría dejar Dominique Strauss-Kahn, quien enfrenta cargos de intento de violación y abuso sexual.

Especialistas advierten que el único impedimento es la regla no escrita de que un funcionario europeo debe quedar al frente del Fondo Monetario Internacional (FMI).

Para Philippe Agion, profesor de Economía de la Universidad de Harvard, consultado por “The Wall Street Journal”, el ex presidente Ernesto Zedillo es uno de los posibles candidatos, si los países emergentes presionan para liderar el FMI.

Strauss-Kahn permanecerá detenido sin derecho a fianza hasta el viernes, cuando se realice la siguiente audiencia judicial.

(la nota sacada de aquí)

Pero si esto fuera poco, he aquí una nota relacionada con el director del FMI, ahora preso, Dominique Strauss-Kahn:

Mexicana, entre víctimas de agresión sexual de Strauss-Kahn

Según el libro DSK, que cita el Corriere della Sera, el ex profesor de Economía agredió sexualmente a una empleada doméstica en México

Roma | Martes 17 de mayo de 2011 Notimex | El Universal00:28

El director gerente del Fondo Monetario Internacional (FMI) , Dominique Strauss-Kahn, tiene en su haber varias presuntas agresiones sexuales, incluida una empleada doméstica mexicana y una periodista francesa, recordó hoy el Corriere della Sera. 

El rotativo se apoyo en el libro 'DSK', escrito por una ex colaboradora de Strauss-Kahn quien usó el seudónimo de  "Cassandre" , para referirse a detalles de la vida personal del funcionario. 

Según el libro, el ex profesor de Economía agredió sexualmente a una empleada doméstica en México, cuando hizo una visita oficial de trabajo, sin dar más detalles. Al parecer este incidente no fue reportado ante las autoridades, y el ataque sexual habría quedado impune.

También se hizo referencia al acosó a la portavoz del Partido Socialista (PS) en la Asamblea Nacional francesa, Aurélie Filippetti. 

Mantuvo también una relación con una mujer identificada como "Carmen" , viuda de un intelectual italiano que reside en Roma. 

El rotativo agregó que en 2007 la periodista francesa Tristane Banon reveló que Strauss-Kahn intentó violarla cuando se presentó a una entrevista. 

Banon no presentó ninguna denuncia, pero podría hacerlo ahora, tras el arresto del director del FMI en Nueva York bajo la acusación de agredir a una camarera del lujoso hotel Sofitel. 

El cotidiano italiano citó al periodista francés Thierry Ardisson, quien aseguró que al menos otras 14 mujeres habrían sido agredidas sexualmente por Strauss-Kahn. 

En 2007 el periodista Jean Quatremer, del diario galo Liberation, escribió en su blog que el gusto de Strauss-Kahn por la sexualidad desenfrenada le habría causado problemas en Washington, a donde apenas había llegado como responsable del FMI. 

"El gusto de Strauss-Kahn por la sexualidad desenfrenada es conocido. Pero corre el riesgo de causarle problemas en Washington, en un país donde no se bromea con la moral en general y con las molestias sexuales en particular ", dijo entonces Quatremer.

La nota sacada de esta fuente.

Analicemos ambas notas: Primero, según varios analistas (y la misma nota lo dice), el director del FMI en Europa es por tradición europeo. Ya la Canciller alemana indicó que no es momento para que sea de otra manera, particularmente por la influencia del FMI en Europa en estos momentos. Así entonces, sugerir, especular, hacer una nota sobre que Carstens o Zedillo, gloriosos mexicanos, podrían ser la cabeza de ese organismo en Europa está simplemente fuera de lugar. El título de esta nota es falso, porque ni siquiera son candidatos al FMI. ¿De dónde sacó eso el periodista José Manuel Arteaga?

Con respecto a la segunda nota: si el Sr. Strauss-Kahn violó a una mexicana en su visita a México y no se supo nada, pues es porque en este país de la impunidad, ¿cómo se le iba a acusar a semejante funcionario de violar a una empleada doméstica? Pero ahora que se destapó la cloaca entonces tenemos que México también está en el ojo del huracán con una víctima -mexicana- de este supuesto depredador sexual. Cabe señalar que ya los medios lo dictaminan como culpable, porque en este país ya hay la costumbre de decidir por la justicia. Aquí los medios mandan, aunque mientan, aunque se equivoquen o especulen con respecto a una posible candidatura a la dirección del FMI que, evidentemente, no prosperará ni tiene siquiera la mínima posibilidad de que ocurra.

16 peones: Décimo séptima cápsula

Hoy hablaremos de los misterios de la mente... en el ajedrez, desde luego. 




Monday, May 16, 2011

Para escribir cheques


Prolog es uno de los lenguajes más fascinantes que hayan sido creados. Basado en el paradigma de la programación lógica, en donde el programador describe el problema y Prolog, a través de su algoritmo de resolución y unificación,  llamado algoritmo de Roberts, resuelve la dificultad planteada.

A diferencia de los lenguajes tradicionales de cuarta generación como Pascal o C, Prolog pide al programador definir las condiciones iniciales y de frontera, así como las rutinas que describen lo que queremos que el programa haga para hallar una solución. En términos generales, Prolog es una especie de "case" gigantesco, como el de los lenguajes más comunes, con la diferencia de que siempre actúa igual, siguiendo un orden determinado de acuerdo a la posición física de las cláusulas en el programa.

Además, Prolog hace énfasis en la recursión, lo cual hace que los programas sean por demás elegantes. Ya lo decía Niklaus Wirth (el inventor de Pascal): "iteratum humanum est, recursivitum divinum est", lo cual es algo así como "iterar es de humano, hacer recursión es de dioses".

Pues bien, hoy en mi clase de Programación Lógica y Funcional les dije a mis alumnos que resolveríamos un problema típico: el de pasar una cifra numérica a su equivalente en texto. Así, si el sistema recibe 2345 deberá dar como resultado "dos mil trescientos cuarenta y cinco". Este tipo de transformaciones hay que hacerlas comúnmente cuando escribimos, por ejemplo, un cheque.

Pues bien, me senté a escribir el programa en cuestión, que había bosquejado en la clase y en el que me comprometí a diseñar y mostrarles en la siguiente clase, que será el próximo miércoles. He aquí el código en turbo Prolog 2.0:



/********************************************/
/* Programa que traduce de números a letras */
/*                Versión 1.0               */
/*                16 mayo 2011              */
/*             Programó: La Morsa           */
/********************************************/

predicates

equiv(integer,symbol)
pasa_num_a_letras(integer)


clauses
equiv(1,uno).
equiv(2,dos).
equiv(3,tres).
equiv(4,cuatro).
equiv(5,cinco).
equiv(6,seis).
equiv(7,siete).
equiv(8,ocho).
equiv(9,nueve).
equiv(10,diez).
equiv(11,once).
equiv(12,doce).
equiv(13,trece).
equiv(14,catorce).
equiv(15,quince).
equiv(16,dieciseis).
equiv(17,diecisiete).
equiv(18,dieciocho).
equiv(19,diecinueve).
equiv(20,veinte).
equiv(30,treinta).
equiv(40,cuarenta).
equiv(50,cincuenta).
equiv(60,sesenta).
equiv(70,setenta).
equiv(80,ochenta).
equiv(90,noventa).
equiv(100,cien).
equiv(200,doscientos).
equiv(300,trescientos).
equiv(400,cuatrocientos).
equiv(500,quinientos).
equiv(600,seiscientos).
equiv(700,setecientos).
equiv(800,ochocientos).
equiv(900,novecientos).
equiv(1000,mil).

pasa_num_a_letras(X) :-   /* condiciones terminales */
   X < 10, 

   equiv(X,Resultado), 
   write(Resultado, " pesos. " ),nl. 

/* predicados recursivos */ 

pasa_num_a_letras(Cifra) :- 
   Cifra div 1000 <> 0, /* la cifra tiene miles */
   Miles = Cifra div 1000,
   equiv(Miles,Resultado),
   write(Resultado, " mil "),
   Cientos = Cifra - (Miles * 1000),
   pasa_num_a_letras(Cientos).

pasa_num_a_letras(Cifra) :-
   Cifra div 100 <> 0, /* la cifra tiene cientos */
   Cien = Cifra div 100,
   Cien1 = Cien * 100,
   equiv(Cien1,Resultado),
   write(Resultado," "),
   Decenas = Cifra - (Cien * 100),
   pasa_num_a_letras(Decenas).

pasa_num_a_letras(Cifra) :- /* unidades entre 11 y 20 */
    Cifra > 9,
    Cifra < 21, 

    equiv(Cifra,Resultado), 
    write(Resultado," pesos"). 

pasa_num_a_letras(Cifra) :- 
   Cifra div 10 <> 0, /* la cifra tiene decenas */
   Dec = Cifra div 10,
   Dec1 = Dec * 10,
   equiv(Dec1,Resultado),
   write(Resultado," y "),
   Unidades = Cifra - (Dec * 10),

   pasa_num_a_letras(Unidades).

El problema con el torneo de candidatos

En este mes de mayo se están jugando los encuentros de candidatos, de donde saldrá el retador al Campeón del Mundo, Viswanathan Anand. Los participantes están jugando en matches individuales a 4 partidas, con desempates a partidas semirrápidas y rápidas. Los ocho competidores son Levon Aronian, Alexander Grischuk, Vladimir Kramnik, Boris Gelfand, Gata Kamsky, Teimour Radjabov, Vesselin Topalov y Shak. Mamedyarov.

Después de esta primera ronda, continuaron su camino Alexander Grischuk, que sacó al favorito, Levon Aronian, de la justa. Vladimir Kramnik, que eliminó al azerbaiyano Radjabov, en un desempate cardiaco, en el cual, en la partida decisiva, Kramnik con necesidad de ganar en una posición de empate absoluto, ocurre que el reloj de ajedrez se reinicia faltando segundos para que termine. Los árbitros, después de media hora de discusiones y componendas, ponen un nuevo reloj pero parece que Radjabov es afectado por todo este circo externo y pierde no sólo esa importante partida rápida, sino la siguiente, y queda eliminado. Gata Kamsky elimina al excampeón mundial Topalov, aguerrido siempre, que pudo haber ganado la cuarta partida pero inexplicablemente cometió pifias extrañas, nada normales en él y terminó cediendo el empate y el ahora norteamericano Kamsky, pasó a la siguiente ronda. Mamedyarov, en cambio, perdió contra el israelí Boris Gelfand, al cual le quiso dar trato de aficionado lanzándole un ataque feroz que Gelfand pudo controlar y finalmente con ese triunfo quedó eliminado Mamedyarov.

La siguiente ronda, que acaba de terminar, enfrentó a Kramnik contra Grischuk y después de 4 largos empates, se fueron a las partidas rápidas, en donde Grischuk sorprendió de nuevo, derrotando a otro excampeón mundial. Kramnik quedó fuera. Ahora no hubo reloj descompuesto. Por su parte Kamsky y Gelfand empataron las partidas de tiempo reglamentario clásico y en el desempate rápido ambos ganaron un encuentro. Finalmente, Gelfand se impuso 2-0 a Kamsky y aseguró su sitio en la final, que se jugará a seis partidas.

Así pues, la final es Grischuk contra Gelfand, y se jugará a seis partidas con ritmo lento. El ganador enfrentará a Anand el siguiente año. Muchos esperan que Gelfand se haga con la victoria. De ser así, dos jugadores por encima de los 40 años, jugarían un match por el campeonato mundial, asunto que no es visto con frecuencia.

La realidad es que el ajedrez del encuentro de candidatos –aunque en general ha sido bueno– ha dejado mal sabor de boca por la cantidad excesiva de empates y porque se deciden los candidatos en partidas rápidas.  No me queda muy claro por qué la Federación Internacional de Ajedrez (FIDE), ha decidido este esquema de partidas rápidas y de que los candidatos se eliminen todos en el mes de mayo. En los años setentas se jugaban matches de candidatos a doce partidas, y después de terminar una ronda, pasaban meses hasta que se enfrentaban los ganadores de los octavos de final. Hay una extraña necesidad de hacerlo todo rápido y la consecuencia es que quizás alguno de los mejores no podrán verdaderamente ir por el título mundial. De hecho Magnus Carlsen, el segundo jugador del mundo, a dos puntos del rating del campeón mundial, decidió rechazar este esquema de torneos de candidatos porque era muy corto. Así, quizás el jugador que bien podría poner literalmente en jaque a Anand, decidió no participar y precisamente fue Grischuk el que lo sustituyó, el cual está a punto de jugar la final.

Ahora la pregunta es qué atractivo puede tener para patrocinadores y gente de dinero que jueguen Anand contra Girschuk o contra Gelfand. Se ve complicado. Ya alguna vez Shirov le ganó a Kramnik un match y obtuvo el derecho de retar a Kasparov, el cual le había vencido en varias ocasiones sin que el letón, ahora español, pudiese vencerlo nunca. Jamás se concretó ese encuentro por falta de dinero de patrocinadores. Si no hay interés mediático sobre un match, quizás no se lleve a cabo, aunque los jugadores que participaron hayan hecho lo que los reglamentos le indicaron en su momento.

El punto es que el ajedrez no termina por encontrar un mecanismo para dar oportunidad a jugadores nuevos, a las estrellas juveniles que ya destacan, así como a jugadores de gran experiencia, para que compitan en diversos torneos y que de ahí salga el verdadero retador a campeón del mundo. Con el esquema actual, Carlsen, por ejemplo, uno de los más víables candidatos a ser campeón mundial, no tendrá oportunidad quizás hasta dentro de dos o tres años. Y en ese tiempo pueden pasar muchas cosas.

Así pues, llegar a campeón del mundo es algo más que talento y trabajo duro y contínuo. Es también algo que tiene que ver con las condiciones del medio ambiente ajedrecístico que a los jugadores les toca vivir.

Una idea para Apple


Ayer le regalamos a mi madre un iPad 2 por el día de las madres. La idea es que pueda conectarse con mi hermana Marga, que vive en Vancouver, tratando de minimizar las dificultades tecnológicas. El iPad 2 es un juguete muy bonito, muy bien presentado y desde luego, de muy buena calidad. Su pantalla es estupenda y la versión 2 contiene dos cámaras, una de frente y otra en la parte trasera. Así, el usuario puede platicar vía una aplicación llamada FaceTime (creo), que permite interactuar en video, como lo habría soñado en su teléfono Dick Tracy.

Yo me hice, hace más de un año, del iPod Touch (aún no salía el primer iPad), y decidí que lo usaría para los programas de ajedrez. Reconozco que el Hiarcs y StockFish, entre otras apps del iPod Touch, son muy buenas y sorprende que en un dispositivo tan pequeño se pueda tener programas de ajedrez de este nivel, que sin duda son como grandes maestros de bolsillo.

Sin embargo, ayer que jugaba con el iPad 2 de mi mamá, se me ocurrió que Apple podría hacernos un favor a quienes compramos un iPod Touch o un iPhone: el vendernos una pantalla de 9.5 pulgadas la cual pudiese conectarse al iPod Touch/iPhone y así, por un precio relativamente bajo, quienes tenemos alguno de estos juguetes podríamos disfrutar de la pantalla más grande que el iPad 2 ofrece.

No sé si sea una buena idea comercialmente, pero si pensamos que la PC de escritorio está por desaparecer y que la gente conectará su teléfono a una pantalla y a un teclado grande (como en el caso del teléfono Atrix), pues tal vez no sería tan mala idea el proveer a los usuarios de Apple con esta alternativa. Bueno, eso creo.

16 peones: Décimo sexta entrega

Hoy hablaremos de qué se necesita para mejorar en ajedrez...



Sunday, May 15, 2011

Saturday, May 14, 2011

16 peones: Décima cuarta entrega

Hoy hablaremos del gran Boris Spassky, excampeón del mundo y uno de los jugadores más carismáticos de todos los tiempos.


 


16 peones: Décima segunda entrada ( * )

Hoy toca hablar de Bobby Fischer...




______
(*) Debido al mantenimiento de Blogger, parece que se perdieron las entradas del día 12 de mayo. Supuestamente Blogger las recuperaría pero pasa el tiempo y no ocurre esto, por lo que pueden haberse perdido. Así entonces, repito la entrada de ese día aquí. Si Blogger recupera las entradas perdidas, borraré estos duplicados.

Friday, May 13, 2011

Respaldar el blog

Hoy me enteré que este blog estaba caído. Me lo informó vía Facebook Javier Rivera. De inmediato busqué las posibles razones de esto y hallé que pude entrar al blog pero las entradas después del 11 de mayo habían desaparecido. Quise entrar a editar entradas, a ver si éstas estaban en el listado correspondiente pero no pude. Un mensaje de "Blogger" me indicó que estaban en mantenimiento y que habían eliminado las entradas después del día 11 de mayo, pero que no había de qué preocuparse, porque serían restauradas en su momento.

Todo el día de hoy he esperado que las entradas perdidas reaparezcan porque no tengo respaldo de las mismas. Eso me hace pensar ahora en lo frágil que puede ser la información. Confié ciegamente en Blogger (que es de Google), y siempre pensé que mi información estaría segura... Y quizás la está, pero me causa cierta frustración no hallar artículos que ya escribí y que francamente no sé si pudiese re-escribir para no perderlos, al menos en su esencia.

Acabo de ver el blog Blogger Buzz, el cual da cuenta de lo que está pasando en el sistema. He aquí el mensaje último que publicaron los responsables de este sistema de blogs:

Blogger restablecido

Qué día frustrante. Lamentamos mucho que no hayan podido publicar entradas en Blogger durante las últimas 20.5 horas. Ya casi estamos volviendo a la normalidad - pueden publicar nuevamente y en las próximas horas los blogsposts y comentarios que fueron removidos temporalmente serán restablecidos. Queremos agradecer su paciencia mientras resolvemos esta situación. Nosotros mismos usamos Blogger para nuestros blogs así que comprendemos su frustración.

Esto fue lo que sucedió: durante el mantenimiento programado para el miércoles a la noche experimentamos una corrupción de datos que afectó el comportamiento de Blogger. Desde ese momento, los bloggers y lectores de blogs pudieron haber experimentado una variedad de anomalías, incluyendo disrupciones intermitentes del servicio, entradas que desaparecieron y blogs que redireccionaron a blogs no buscados o a páginas de error. Una pequeña porción de usuarios de Blogger (estimamos que el 0.16%) pudieron encontrar problemas adicionales específicos a sus cuentas. Ayer decidimos volver Blogger al estado previo al mantenimiento y nuestro servicio estuvo disponible a modo sólo de lectura mientras trabajábamos para reestablecer todo el contenido: éste fue el motivo por el que no pudieron publicar nuevas entradas. Volvimos a la versión de Blogger del miércoles 11 de mayo por lo que las entradas publicadas desde entonces fueron removidas temporalmente. Ahora, estamos trabajando para recuperar estas entradas.

De nuevo, queremos expresar que lamentamos mucho las consecuencias que esto tuvo para nuestros autores y lectores. Trabajamos mucho para asegurarnos que Blogger esté siempre disponible para compartir sus ideas y opiniones con el mundo y haremos lo mejor posible para prevenir que esto vuelva a suceder.


Publicado por Eddie Kessler, Tech Lead / Manager, Blogger


Por lo tanto, asumo que Blogger, en algún momento, reestablecerá las entradas perdidas y todo regresará a la normalidad. Sin embargo, me queda claro que debo hacer respaldos hasta de Blogger.

Más pan con lo mismo, más bla bla bla...

El otro día escribí una reflexión sobre lo que pasa en este país en general y sobre el hecho de que los medios le echan la culpa al presidente de los 37,000 muertos que lleva esta "guerra", perdón, lucha -como le gusta decirle a Calderón- contra el narcotráfico. (Espero que la nota reaparezca pronto en el blog, la cual desapareció con algunas otras escritas después del 11 de mayo, por mantenimiento de blogger).

Mucha gente ha dicho que no es nuestra guerra, que no hay estrategia, que no hay planeación, que hay que sacar al ejército de las calles, que se debe replantear lo que debe hacerse para combatir el narcotráfico, etc. pero nadie, nadie, da propuestas reales, que puedan ser llevadas a cabo hoy, no mañana, no dentro de 10 años, cuando el destino ya para ese entonces nos habrá alcanzado. Y nada más como ejemplo de que es fácil decir lo que supuestamente hay que hacer, aunque en el fondo no se diga nada, he aquí un fragmento de una entrevista que dio el pillo preferido de la sociedad mexicana, Carlos Salinas de Gortari, expresidente de México, el cual -lo sabemos- es quizás el menos indicado para ahora venir a darnos consejos y recomendaciones de lo que hay que hacer.

Solamente pondré el fragmento que me interesa, pero para evitar críticas por sacar de contexto lo que dice, pueden ver aquí:


MADRID.— El ex presidente de México, Carlos Salinas de Gortari, de visita en Madrid, se refirió a la movilización ciudadana iniciada por el poeta Javier Sicilia, y dijo que se trata de un reclamo “muy serio” el que lanzó la ciudadanía en México por el tema de la inseguridad a través de la Marcha por la Paz.

[...]

“Yo diría que se está haciendo un reclamo muy serio, muy firme a toda la estructura política del país. Precisamente hoy es la hora de los ciudadanos. Y esta movilización (de Javier Sicilia) tan importante como impresionante, alrededor de una tragedia personal pero frente a un problema nacional, obliga a una reconsideración en las respuestas”, expresó Salinas ante la prensa internacional.

Cuestionado sobre si la movilización civil debe condicionar la política federal, aseguró que “más que condicionar debe de ser una participación ciudadana que nos permita cumplir con esa gran definición de la democracia. Si la democracia es el gobierno del pueblo y para el pueblo, lo que se está hablando es que con la participación organizada de los ciudadanos el gobernar sea por los ciudadanos y para los ciudadanos”, aseguró el expresidente mexicano.

[...]

“Pero los ciudadanos están exigiendo que haya una solución a sus planteamientos y demandas, sobre todo en materia de empleo, de seguridad, de tener las condiciones para poder pasar de ser meros objetos de las soluciones a sujetos de su propia transformación”, declaró Salinas de Gortari.

¿Y cómo pararía usted la violencia en el país? se le cuestionó al político priísta. “Yo creo que una de las propuestas de la participación ciudadana es que sin importar el problema de la inseguridad en el territorio, se necesita también quitarle tierra al enemigo. Es decir, un trabajo social de base, que abra oportunidades a los jóvenes en materia de perspectivas de empleos, de educación y alternativas a las circunstancias tan difíciles que se están viviendo”, contestó.


Hasta aquí las palabras de semejante "iluminado". Como puede verse más bla bla bla, más pan con lo mismo, más palabras y ninguna acción concreta. Que conste.