Thursday, April 26, 2007

Sudoku en Delphi...


José Luis Calderón es un alumno de la asignatura de Proyectos II, en la Universidad Iberoamericana. Debido a que es muy dedicado y aplicado, le dejé de proyecto final que escribiera un programa para crear Sudoku. Cabe señalar que desde que puse un mensaje al respecto, aquí en este mismo blog (véase aquí), tuvimos en clase, con algunos alumnos avanzados, una larga discusión sobre la manera de crear este tipo de acertijos. En primera instancia, me parecía que era muy simple, bastaba con generar permutaciones de nueve objetos. Sin embargo, encontré que si genero una primera fila de 9 números diferentes, ya la segunda fila no es una mera permutación más, sino que además, debe cumplir con que no se repitan los números en la fila de abajo.

Por ejemplo, si la primera fila es
1 2 3 4 5 6 7 8 9

entonces la segunda fila no puede ser esta permutación:

1 2 3 4 5 6 7 9 8

pues la primera columna (para empezar) se repite el 1.

De esta manera, la conclusión es que no es un simple problema de permutaciones.

Calderón entonces empezó su proyecto buscando información sobre Sudokus en Delphi. Después de mucho batallar encontró un código de un alemán que decidió "destripar" hasta entenderlo. Entonces re-escribió las partes fundamentales de nuevo y en unas 15 horas de trabajo llegó a un modelito que trabaja muy bien.

El programa de Calderón permite no sólo crear Sudokus, incluso con diferente grado de dificultad, sino que además puede solucionarlos. Una interesante opción extra es que puede resolver los Sudokus que se publican en los diferentes medios. Ahora habré de estudiar un poco el código para ver cómo diablos se generan estos acertijos.

Wednesday, April 25, 2007

La tecnología no se puede detener...

Leo en el Reforma la siguiente nota:

Permite Prodigy llamadas por IP

Verónica Gascón

Telmex eliminó de su contrato de Prodigy Infinitum la prohibición de utilizar el servicio para cursar voz, a través de la tecnología de Protocolo de Internet (IP), con lo que sus clientes podrán contratar a otra compañía para tener el servicio de telefonía.

"El usuario puede contratar el servicio de banda ancha a Telmex y a través de este acceso, otra compañía telefónica le puede vender el servicio de voz, utilizando la tecnología de internet", explicó Eduardo Ruiz Vega, comisionado de la Comisión Federal de Telecomunicaciones (Cofetel).

Añadió que este esquema genera más competencia y mayores ofertas comerciales para los clientes.

El servicio de telefonía puede contratarse con empresas como Axtel, Alestra o Maxcom.

Telmex modificó la cláusula 18 del contrato de Prodigy Infinitum, que prohibía cursar llamadas a través de voz sobre IP, y si lo hacían, la compañía podía cancelarles el servicio.

El nuevo contrato especifica que el cliente puede utilizar el servicio como un medio de transmisión de voz sobre IP, siempre y cuando la empresa que le ofrezca dicho servicio cuente con la autorización, permiso o concesión para prestar servicios básicos de telecomunicaciones en el País.

Ruiz Vega resaltó que la Cofetel promueve que el usuario tenga derecho de contratar el servicio que quiera sin tener restricciones en su acceso a internet y que esta idea la habían manifestado a Telmex en diversas reuniones, por lo que la empresa eliminó la prohibición en su contrato.

"De lo que se trata es de empoderar al usuario, que quien contrate un acceso de banda ancha, que además no es nada barato en el País, pueda acceder a cualquier servicio, aplicación o contenido que se encuentre disponible", agregó.

Otros servicios que se pueden tener a través del acceso a internet de banda ancha son videos bajo demanda, canciones, suscripciones electrónicas y todo tipo de contenidos.

Telmex en algún momento hizo lo imposible por evitar que la gente usara su computadora para llamadas por IP. Pero igual que mp3, por ejemplo, la tecnología va más rápido que cualquier legislación y es claro que esto no hay quien lo detenga. Este ejemplo debería tomarse como una seria muestra de que no se va a ningún lado impidiendo lo que el uso común hace. Las disqueras, por no entender esto, se han decidido a demandar a todos los piratas, pero de nuevo, puede más el gran volumen de música en mp3, pirata, legal, etc., que tampoco puede ya evitarse. Es más, yo alguna vez ya he dicho en algún foro que no se sorprendan de ver en algún futuro no muy lejano, discos de música (comerciales) ya en formato mp3 en las tiendas especializadas.

Tuesday, April 24, 2007

Un mundo desconocido y bizarro

Leo en el periódico Reforma, que detuvieron a un narcotraficante hace un par de días. Le decomisaron armamento de todo género. Como acostumbra aquí la Procuraduría, para hacer ver al "respetable" de lo bien que trabajan, y de las enormes cantidades de armamento, de balas, de "cartuchos útiles" (como le suelen decir) que decomisan, presentan todo lo encontrado (o al menos eso es lo que nos quieren hacer creer), en una mesa, para que los medios saquen sus fotos. Es frecuente ver decenas de teléfonos celulares, fajos de billetes, radios, chalecos antibalas, granadas, armas de grueso calibre, etc. Pero en el caso que nos ocupa, la foto de lo decomisado muestra tres armas (parecen metralletas, pero no me hablen de esto, que no sé nada), chapeadas en oro, sí, en oro. ¿será posible?

Desde luego que alguien como yo, totalmente alejado de este tipo de violencia (y esperando que nunca sea víctima de la misma), me parece inconcebible que alguien primero, porte un arma de alto poder para usarla contra otro ser humano y más aún, que a dicho instrumento se le dé un baño en oro como si fuese una joya o algo para tenerlo como preciado. Sin duda este mundo me es desconocido y bizarro en todos los sentidos.

El dinosaurio...



El dinosaurio
Augusto Monterroso

Cuando despertó, el dinosaurio todavía estaba allí



El dinosaurio
Pablo Urbanyi

Cuando despertó, suspiró aliviado:el dinosaurio ya no estaba allí.



Indigna continuación de un cuento de Monterroso
Marcelo Báez

Y cuando despertó, el dinosaurio seguí allí. Rondaba tras la ventana tal y como sucedía en el sueño. Ya había arrasado con toda la ciudad, menos con la casa del hombre que recién despertaba entre maravillado y asustado. ¿Cómo podía esa enorme bestia destruir el hogar de su creador, de la persona que le había dado una existencia concreta? La criatura no estaba conforme con la realidad en la que estaba, prefería su hábitat natural: las películas, las láminas de las enciclopedias, los museos... Prefería ese reino donde los demás contemplaban y él se dejaba estar, ser, soñar. Y cuando el dinosaurio despertó, el hombre ya no seguía allí.


La culta dama
José de la Colina

Le pregunté a la culta dama si conocía el cuento de Augusto Monterroso titulado “El dinosaurio”.
—Ah, es una delicia —me respondió—, ya estoy leyéndolo.



Monterroso, Urbanyi, Báez et al., Relatos vertiginosos. Antología de cuentos mínimos. Selección y prólogo de Lauro Zavala, México, Alfaguara, 2000, pp. 153-156.

El limbo desaparece... o cómo la religión sigue perdiendo guerras

Leo la siguiente noticia en La Jornada...

Decide el Vaticano abolir el limbo

Desde el siglo XIII formó parte de la tradición católica; al paraíso, niños no bautizados

Washington/Vaticano, 20 de abril. El Vaticano ha decidido abolir el concepto del limbo, el lugar en el que según la tradición cristiana quedaban en eterna espera de la comunión con Dios los niños que mueren sin bautismo, por reflejar una "visión excesivamente restrictiva de la salvación".

La Comisión Teológica Internacional, dependiente de la Congregación para la Doctrina de la Fe, publicó hoy con autorización del Papa Benedicto XVI un documento con las conclusiones de tres años de estudio sobre la cuestión del limbo, según informó la agencia noticiosa católica estadunidense Catholic News Service (CNS).

La Iglesia mantiene la doctrina de que debido al pecado original es el bautismo la vía normal para la salvación. Pero el conocimiento teológico actual permite afirmar que Dios en su misericordia "quiere la salvación de todos los seres humanos", señala la Comisión Teológica.

La gracia está sobre el pecado, asegura, y la exclusión del cielo de bebés inocentes no refleja el amor de Cristo por los más pequeños. "Nuestra conclusión es que la gran cantidad de factores que hemos considerado nos otorgan serios fundamentos teológicos y litúrgicos para tener la esperanza de que los niños no bautizados que mueren serán salvados y disfrutarán de la visión divina", destaca el documento de 41 páginas titulado La esperanza de salvación para niños que mueren sin haber sido bautizados.

La comisión subrayó que consideraba el tema una cuestión pastoral urgente por la gran cantidad de niños nacidos de padres católicos no practicantes y porque muchos otros son víctimas del aborto antes de nacer, reportó CNS. El limbo nunca fue definido como parte del dogma de la Iglesia, pero desde el siglo XIII formó parte de la tradición, cuando los teólogos afirmaron que los niños muertos sin haber sido bautizados no accedían a la visión de Dios, pero tampoco sufrían porque no tenían conciencia de lo que habían sido privados, refutando así la enseñanza de San Agustín, de que se veían irremediablemente condenados al infierno.

En 1970 se había instaurado en la Iglesia católica un rito fúnebre para niños muertos sin bautizar que los padres habían intentado llevar al bautismo. La Comisión Teológica Internacional, de 30 miembros, actúa como asesora del Vaticano y en particular de la Congregación para la Doctrina de la Fe.

Sus pronunciamientos no son considerados estrictamente parte de la enseñanza de la Iglesia, pero a veces son tomados en cuenta por el Vaticano. El actual presidente de la Comisión es el cardenal estadunidense William J. Levada, quien analizó las conclusiones sobre el limbo con el Papa en enero pasado. Cuando la comisión inició la investigación sobre el limbo, era presidida por el entonces cardenal Joseph Ratzinger.

Me queda claro que la Iglesia palidece como institución. Vaya, decidir por decreto que el limbo no existe es sin duda un recurso para evitar la poca credibilidad que le queda en muchos sentidos a la religión católica. Los miles de años de poder que la Iglesia ha tenido, enfrentan problemas graves: más posibilidades y acceso de la gente al conocimiento. Una disminución de la fe porque los misterios no son como antes. Se sabe más, hay más ciencia, hay más explicaciones, es más difícil convencer a la gente que crea algunos absurdos que la Iglesia ha dado como axiomas y que bien que mal, son puestos en tela de juicio cada vez más fácilmente. Por ejemplo, la sábana santa por siglos se mantuvo como un elemento real. En esa sábana se cubrió el cuerpo de Jesús ¿verdad? Pues ahora sabemos que no es así, es falsa. Las pruebas para determinar su antigüedad fallaron. Entonces ¿qué hacer? Muy fácil: vuélvase acto de fe.

Pasa lo mismo con la santificación. Vaya, México tiene un santo: Juan Diego, personaje del cual aún se duda de su existencia real. ¿Por qué tanto interés de la Iglesia en promover al ahora San Juan Diego a la santidad? Porque están perdiendo fuerza, poder. Entonces el Vaticano ve con buenos ojos a su nuevo nicho: latinoamérica.Hagámosle un santo, mqantengámoslos felices con estas cosas... ¿O acaso Juan Pablo II venía a América con tanta frecuencia porque somos muy buenas personas? La realidad es que la cantidad de dinero que se genera en México para la Iglesia católica es enorme. No es de a gratis. Es muy simple: Viene el Papa porque no quiere dejar a uno de sus clientes consentidos. Juan Pablo II dijo dos grandes frases: "México... ¡Siempre fiel!" y "yo soy también mexicano" (esta última no la conozco literal, pero ésta es la idea).

Ya para terminar, me pregunto: ¿cómo se inicia una investigación sobre el limbo? ¿a quién se recurre? El método científico no sirve, pues como bien me dijo una vez un sacerdote del Opus Dei: "Dios no está sujeto a las investigaciones de la ciencia". Me acuerdo que mientras me lo decía hacía un mohín como de "mira a este pobre imbécil que no entiende que Dios no se puede estudiar con su ridículo método científico", aunque claro, esta observación sobre los gestos de dicho prelado son subjetivas. Así, para hacer una "investigación sobre el limbo", habrá que ver en documentos pasados, en lo que se dijo antes. Y finalmente, todo lo que se diga al respecto es mera especulación, pues ¿alguien ha estado en el limbo? (conozco a algunos, pero no hablamos de ese limbo, así que esos no cuentan).

Por eso creo que la Iglesia seguirá perdiendo las diferentes guerras ideológicas. Porque no se puede mantener una estructura de poder, como la han mantenido, si no empiezan a buscar algunos cambios, a acercarse a las necesidades que las sociedades modernas tienen. Pueden estar en contra del control natal, de los condones, del aborto, de lo que se les antoje. Las sociedades modernas no tienen los frenos de los siglos pasados y en cierta medida, las actitudes que ahora vivimos nos demuestran que las sociedades están vivas, cambiantes, dinámicas, algo así como lo que pasa con los lenguajes, que cambian, que se acomodan a nuevas situaciones. La Iglesia católica no demuestra ninguna posibilidad al cambio y por ello pierde fuerza contínuamente.

Saturday, April 21, 2007

Absurdas protestas

Hoy veo en el periódico Reforma que un entusiasta del software libre, identificado como Yang Wang, irrumpió en una entrega de premios en la Universidad de Pekín, blandiendo una pancarta pidiendo, supongo, que Windows, sea código abierto. Al fondo de la imagen se ve a Bill Gates y a los premiados, que observan hasta con simpatía la puntada del personaje mencionado.

En mi opinión, la protesta es poco menos que absurda. Microsoft tiene todo el derecho de hacer lo que quiera con su software. Si hay gente que promueve el código libre (en el cual creo en general), pues adelante.

Pero aparte de absurda, desde mi personal opinión, es claro que esto no colabora a que el software libre tenga más adeptos. Así no se hacen las cosas. Vaya, ¿qué tal hacer un clon de Windows? pero de código abierto, escrito desde cero ent todo caso. Si parece una tarea ingrata, entonces hagamos que Linux sea un sistema operativo tan poderoso y amigable para las masas. Hagamos que el usuario vea un "desktop" parecido si no es que igual, al que plantea Microsoft. ¿Por qué no hacer que la experiencia en Linux deje de ser solamente para un "hacker"? Vaya, ¿cómo hacer para incorporar el potencial increíble de Linux en la computadora personal y en el usuario final. La protesta del Sr. Yang Wang le hace un pobre favor al movimiento del software libre, de Linux, y de todas las fantásticas herramientas con que ya cuenta.

¿Se puede hablar con las piedras?

Hoy compré una tarjeta telefónica de telcel (plan "amigo"), de 300 pesotes. Llego a mi casa y descubro el código secreto (usando una moneda y raspando sobre la zona oscura). El número que aparece no se ve bien. Intento alimentarlo a mi teléfono, pero me marca error. Intento de nuevo, mismo error. Lo hago unas cuantas veces más hasta que de pronto el sistema me indica: "este servicio no está disponible". Marco de nuevo al teléfono para ingresar saldo, pero ya no puedo, no me deja. Hablo al teléfono de aclaraciones y le explico a un "asesor de telmex" mis cuitas al respecto. Le explico que no me deja ingresar códigos para darle tiempo aire a mi teléfono. Me dice que hasta las 12 de la noche se desbloquea. Le indico que me parece lamentable que hagan eso, porque el error es que no se ve le código en la tarjeta y entonces me dice: "con qué rayó el código secreto?". Le indico que con una moneda, que no soy idiota y que no es la primera vez que hago este procedimiento. Me indica entonces que el sistema se desbloqueará a las 12 de la noche. El diálogo sigue así:

Yo: "¿no lo puede desbloquear en esto momento?"
Asesor: "No, le repito que el código se desbloqueará a las 12 de la noche por su seguridad ¿Alguna duda?".
Yo: "Pero ¿por qué? qué culpa tengo yo de que no se ve el código correctamente?"
Asesor: "le repito que el código se desbloqueará a las 12 de la noche por su seguridad ¿Alguna duda?".
Yo: "¿No me entiende? Su respuesta no es satisfactoria, no fue error mío, ¿comprende?"
Asesor: "le repito que el código se desbloqueará a las 12 de la noche por su seguridad ¿Alguna duda?".

Pienso entonces: "esto es como hablar con una piedra...". Pido entonces que me pase a su supervisor... ya imaginarán las respuesta: "le repito que el código se desbloqueará a las 12 de la noche por su seguridad ¿Alguna duda?". Nniguna duda, le digo, pero esto no se quedará así.

Cuelgo y me desplazo al supermercado para que me cambien la tarjeta. Me dice el empleado: "Eso no lo podemos hacer...", "¿Cómo?" le digo, "el de telmex me dijo que fuera a donde compré la tarjeta para que me la cambiaran". El empleado de superama insiste en que tengo que arreglar el asunto con Telmex directamente, en algún centro de atención a clientes. Pido por el gerente. Una vez más le explico al nuevo funcionario el problema. Hablamos a telmex, ahora me dicen que la única opción es que vaya a un centro telmex. Rechazo la idea. Le advierto al de WalMart que ellos tienen que hacerse responsables y que yo no me muevo de aquí hasta que me cambien la tarjeta telefónica o que me regresen mi dinero. La nueva asesora de telmex me pasa con la supervisora. Me pregunta de nuevo en qué puede ayudarme. Entonces empiezo mi diatriba así: "es la quinta vez que voy a explicarles mi problema, espero que sea la última", y de nuevo, narro el inconveniente. Después de todo esto, me dice que Superama debe cambiarme la tarjeta. Entonces le indico a la asesora en cuestión: "deje que le paso al de Superama y le explica por favor". Entonces el empleado de Superama habla por 20 minutos con la de telmex. Finalmente dicho empleado me dice: "Telmex me confirma que la tarjeta no ha sido usada". Muy bien, entonces déme mi dinero u otra tarjeta. Finalmente el gerente de WalMart da visto bueno. Se disculpa conmigo y le explico: "no es nada personal, que le quede claro, pero ya estuvo suave de ser unos dejados". Asiente con una risa forzada. Salgo con mi nueva tarjeta, pero hasta las 12 de la noche no podré intentar hacerme de saldo.

Thursday, April 19, 2007

Instalando Delphi 7 en Windows Vista...

Cuando puse Vista en mi máquina de doble núcleo AMD, pensé que todo funcionaría igual pero más rápido. Lo malo fue que de entrada, Vista me dijo que había incompatibilidades conocidas con este programa. El fabricante, Borland, me sugiere que instale Delphi 2006 (y ya viene el 2007, que aún no me ha llegado pero que espero poder probar próximamente). Sin embargo, encontré en este sitio que el "Dr. Bob" analiza los problemas para instalar Delphi 7 en Vista y además, indica cómo resolverlos.

Aparentemente todo reside en un problema con los permisos que da Vista a los directorios que delphi necesita. Debido, probablemente, a cuestiones de seguridad, Vista deshabilita lo que en Windows XP era común, y por ello, Delphi 7 en Vista simplemente se niega a correr.

La realidad es que hay que pensar en usar Delphi 2006 o 2007, porque el editor que han incorporado contiene significativas ventajas sobre el anterior, aunque es claro que para mucha gente, la versión 7 de Delphi fue una de las más estables.

Un problema que habrá que contemplar es cómo hacer para que los componentes que tradicionalmente funcionaban muy bien en Delphi 7, funciones igualmente en las versiones 2006 o 2007, porque dudo que vayan a trabajar correctamente a la primera. En fin, seguiré las indicaciones del Dr. Bob e instalaré el Delphi 7. Ya informaré de los resultados obtenidos.

Wednesday, April 18, 2007

Regalo de cumpleaños anticipado

Mi amiga Celina, que vive en Veracruz, me mandó por mensajería mi regalo. Se trata de un libro y de una camiseta. El libro es de un académico, que se dedica a estas artes de la inteligencia artificial. La camiseta tiene una imagen que es la caricatura que me hiciera un buen amigo (Javier Rivera), que vive, si mal no recuerdo, en Miami. Agradezco a Celina desde aquí su regalo, a reserva de hacerlo personalmente. Ha sido un muy buen detalle.

La foto, como puede verse, fue tomada frente a un espejo, así, dicha imagen debería verse al reves, es decir, especular con respecto a la original. Sin embargo, le di la vuelta para que el logo se viese correctamente.

Monday, April 16, 2007

¿Es el ajedrez una formidable pérdida de tiempo?

Sí y no. Sí, porque para dominarlo relativamente bien se requiere una vida de estudio y entrega, iniciación temprana y talento natural. Aun así, ¿valdría la pena reducir la existencia a 64 escaques (32 negros, 32, blancos) y ningún clavel? Como atestigua Nabokov en La defensa, la locura del ajedrecista convierte el piso cuadriculado de un hospital en un tablero por donde deambulan sin lógica peones y enfermeras que comen al paso y hace del movimiento de un mesero el desplazamiento incoherente de un caballo en el flanco de dama. Soñar alfiles y vivir dentro de una torre, no de marfil, prisionero de tu propio enroque largo: eso puede ser una vida dedicada al ajedrez. La mente, propensa a las adicciones, trabaja para imaginar jugadas en un tablero inexistente y todo alrededor se desvanece: los amigos, la familia, la pareja. Vaya en descargo de este juego milenario que también existen los contadores públicos (seis por ocho igual a cuarenta y ocho años tirados a la basura, detrás de un escritorio de paño, haciendo filigranas para evadir los impuestos de clientes mal agradecidos), y los inspectores fiscales (ocho por seis igual a cuarenta y ocho años absurdos en escritorio de lino en busca de las triquiñuelas de los evasores).


Sin embargo, existe un elemento básico en el ajedrez que lo justifica y lo ennoblece (y lo separa del dominó, la rayuela y las canicas). El ajedrez es el único juego que comparte con el arte la capacidad de crear belleza. La estética lo salva del hastío y la monotonía, porque donde hay belleza hay perdón y el mundo está a salvo. Jugar ajedrez puede ser, como tocar el violín o esculpir en barro, una forma artística.

El problema es que la belleza del ajedrez es inteligible sólo para los practicantes. Ningún jefe entiende el retraso en la oficina por culpa de un molesto caballo en e5 al que había que expulsar después de un largo rodeo. Ninguna novia comparte la sádica aventura de dejar en zugzwang a un contrario, obligándole a mover sus peones hasta la asfixia, como un autómata, posición que sin duda envidiaría el autor de La filosofía del tocador. Los jugadores del ajedrez son una secta, como los cátaros de Provenza o los lectores de Proust, capaces estos últimos de reconocerse en una reunión y discutir hasta el amanecer las razones de Swan para soportar los engaños de Odette, o la paulatina degradación moral del barón de Charlus. Conozco jugadores de ajedrez, impresentables desde luego, dispuestos a terminar con la fiesta más amena, la conversación más interesante, la asamblea más diligente. El método es sencillo: alguien saca un tablero subrepticiamente e invita al resto a practicar en una esquina este juego de príncipes, que sublima la guerra hasta convertirla en un arte, como pedía Maquiavelo.

Cuando al final de una larga y pareja partida, el inmóvil rey, postrero lo llamó Borges, sale a discutir su magisterio con los peones enemigos; cuando uno es capaz de imaginar una combinación ganadora; cuando una celada fríamente calculada cumple su objetivo y el contrario entrega la dama, sólo entonces uno descubre que el título de esta entrada de blog es retórico. La respuesta es no.

- Ricardo Cayuela Gally

Nota hallada aquí.

Saturday, April 14, 2007

Una antigua entrevista a La_Morsa

Hallé -tirando montones de papeles viejos- una entrevista que me hicieron en el Diario Milenio en Julio del 2003. La plática, realizada el sábado anterior a la publicación de la misma, versó sobre la Inteligencia Artificial (IA), sus alcances y sus limitaciones. De hecho, ahora que la releo, me doy cuenta que no ha cambiado significativamente la opinión que tengo de lo que dije en esa ocasión. Mientras más pasa el tiempo, más me queda claro que -al menos en este caso particular- mis opiniones no pueden estar muy lejanas de la realidad de esta ciencia (la IA, me refiero). No transcribiré la entrevista, pero pongo la misma como imagen para quien quiera leerla.


Friday, April 13, 2007

Un temblor de tierra y el comportamiento de la Pupa

Ayer día 13 de abril, a las 0:42 hrs. tembló en la ciudad de México, a eso de las 0:40 hrs. Fue un sismo de 6.3 grados de intensidad, localizado a 13 kms del Sur de Atoyac de Álvarez, Guerrero, pegadito a Acapulco. Lo que me es claro es la cantidad de energía que un evento de estos produce. Vaya, mover la ciudad de México por un minuto como si una extraordinaria fuerza nos moviera "el tapete", resulta por demás extraordinario. La energía desplegada en un evento de esta magnitud es increíble y algunos la comparan con no sé cuantas bombas atómicas, aunque es obvio que las comparaciones en este sentido son más por un placer periodístico.

Ayer, la Pupa, la perrita de la casa, después del sismo, cambio su comportamiento. De hecho, no me dejó dormir en toda la noche. Esta situación ya la he vivido en particular cuando la Pupa se enferma. Lo que hace es sentarse y "ver hacia el infinito". Además, no puede estar quieta en ningún lugar. Ayer se comportó así y sin duda la pobre pasó una noche de perros estrictamente.

Se sabe que algunos animales se comportan de maneras por demás extrañas en el caso de sismos o tsunamis. Sin embargo, no existe suficiente evidencia de que así pase siempre o que haya manera de asociar el comportamiento poco habitual de algunos animales con la presencia de futuros eventos de la naturaleza como los que estamos hablando. Por lo pronto, simplemente registro el comportamiento poco habitual de la Pupa.

Friday, April 06, 2007

Insospechados secretos del Sudoku

Hace tiempo, mi amiga ucraniana, Marianna, me mostró un libro con cientos de problemas de Sudoku. Le dije que ya había visto ese tipo de "acertijos" pero que no le entendía realmente por qué se estaban poniendo tan de moda. Así, ella tomó el libro, lo abrió en alguna de las páginas y me enseñó cómo se resolvían dichos problemas. Fue claro que se trataba de un juego de lógica, en donde hay que asumir que en algunas casillas hay ciertos números, el cual en ocasiones no resulta cierto, y entonces hay que asumir entonces otros. Un error en una casilla puede llevar a tener que cambiar todo lo que hemos asumido y que parecía correcto. Aunque en ese momento me pareció interesante el acertijo, no me terminó por convencer. Quizás ya tengo suficiente con el ajedrez como para ahora pretender intentar esto, que sin duda, lleva su tiempo.

El objetivo del Sudoku es rellenar una cuadrícula de 9×9 celdas (81 casillas) dividida en subcuadrículas de 3×3 (también llamadas "cajas" o "regiones") con las cifras del 1 al 9 partiendo de algunos números ya dispuestos en algunas de las celdas. Aunque se podrían usar colores, letras, figuras... Lo que importa es que sean nueve elementos diferenciados. El motivo de usar números es que se memorizan mejor. No se debe repetir ninguna cifra en una misma fila, columna o subcuadrícula. Un Sudoku está bien planteado si la solución es única.

Este rompecabezas numérico puede haberse originado en Nueva York en 1979. Entonces, la empresa Dell Magazines publicó este juego, ideado por Howard Garns, bajo el nombre de Number Place (el lugar de los números). Es muy probable que el Sudoku se crease a partir de los trabajos de Leonhard Euler, famoso matemático suizo del siglo XVIII. Dicho matemático no creó el juego en sí, sino que utilizó el sistema llamado del cuadrado latino para realizar cálculos de probabilidades.

Posteriormente, la editorial Nikoli lo exportó a Japón, publicándolo en el periódico Monthly Nikolist en abril de 1984 bajo el título "Sūji wa dokushin ni kagiru", que se puede traducir como "los números deben estar solos". Fue Kaji Maki, presidente de Nikoli, quien le puso el nombre. Posteriormente, el nombre se abrevió a Sūdoku (sū = número, doku = solo); ya que es práctica común en japonés tomar el primer kanji de palabras compuestas para abreviarlas.

En 1986, Nikoli introdujo dos innovaciones que garantizarían la popularidad del rompecabezas: el número de cifras que venían dadas estaría restringida a un máximo de 30 y sería "simétrico" (es decir, las celdas con cifras dadas estarían dispuestas de forma rotacionalmente simétrica). Esto no siempre se cumple en los sudokus actuales. En 1997 Wayne Gould preparó algunos sudokus para el diario The Times, que los publicó bastante más tarde, en diciembre de 2004. Tres días después, The Daily Mail publicó sus sudokus con el nombre codenumber. En 2005 muchos otros periódicos de todo el mundo empezaron a incluir sudokus a diario en sus páginas.

En el año 2005, la ICPC (International Collegiate Programming Contest) incluyó entre sus 9 problemas el Sudoku. En el año 2005 también ve a la luz el primer libro sobre Sudokus que publica un español, "Los mejores Sudokus", con 200 SuDokus agrupados en 4 niveles de dificultad, con una extensa descripción de la historia de este pasatiempo así como de sus reglas y un ejemplo paso a paso para su resolución. A este primero le siguieron 3 volúmenes más.

Una solución de un Sudoku correcta genera un cuadrado latino, el cual es una matriz de n×n elementos, en la que cada casilla está ocupada por uno de los n símbolos de tal modo que cada uno de ellos aparece exactamente una vez en cada columna y en cada fila. por ejemplo:

| a b c |
| b c a |
| c a b |

El nombre de Cuadrados Latinos se origina con Leonhard Euler quién utilizó caracteres Latinos como símbolos. Por cierto, en estos días se cumplen 300 años del nacimiento de Euler.

Un cuadrado latino se dice que esta reducido (o normalizado o de forma estandarizada) si la primera fila y la primera columna están en orden natural. Por ejemplo, el primer cuadrado esta reducido, porque la primera fila y la primera columna son a, b, c. Evidentemente, es posible hacer un cuadrado latino permutando (reordenando) las filas y las columnas.

Existen varios métodos de resolución de Sudokus. Si se desea hacerse por computadora, es claro que Prolog es el lenguaje ideal. ¿La razón? La posibilidad de backtracking (búsqueda de regreso cuando algo falla).

Dice Wikipedia: "Para los programadores es relativamente sencillo construir una búsqueda por el método de backtracking o "vuelta atrás". Ésta asignaría, típicamente, un valor (supongamos que 1, o el más cercano a 1 disponible) a la primera celda disponible (supongamos que la superior izquierda) y entonces continuar asignando el siguiente valor disponible (supongamos que 2) a la siguiente celda disponible. Esto continuaría hasta que se descubriera una duplicación, en cuyo caso, el siguiente valor alternativo se colocaría en el primer campo alterado. En el caso de que ningún valor cumpliera la restricción se retrocedería hasta la casilla anterior y se probarían los siguientes números". Y no le falta razón, pero habría que ver si se puede resolver en un tiempo finito mediante esta técnica.

Como sea, todo me hace sospechar que un programa que resuelva Sudokus es ideal para ser escrito en Prolog.

Thursday, April 05, 2007

¡ChessCards 1.0 en español!

Hoy cambié prácticamente todo el programa del tarjetero de ajedrez al español (ver la primera nota al respecto aquí). Igualmente, arreglé algunos pequeños problemas y cambié incluso el icono del software por algo más bonito y moderno. El funcionamiento del tarjetero ajedrecístico es idéntico en inglés y español. La base de datos funciona estrictamente igual. Así que al menos ésta es una versión estable sin lugar a dudas.

Sin embargo, una vez terminado este proyecto, se me han ocurrido un montón de mejoras. Por ejemplo, añadir una búsqueda más sofisticada, basada en SQL, el cual siempre pensé que era complejo, pero ha resultado bastante sencillo usarlo como lenguaje de búsquedas. De hecho, aunque el usuario de ChessCards no lo ve, todas las búsquedas en el programa se hacen armando(por programa) sentencias SQL, las cuales se ejecutan cuando el usuario lo necesita. Es más, el despliegue de la base de datos completa es en realidad la ejecución de una sentencia SQL que le pide al sistema mostrar todos los registros.

Aparte de esta obvia mejora, creo que en la nueva versión, pondré además alguna opción para que el usuario da cambiar el tipo de diagramas que se pueden generar, que en realidad son tipos de letra truetype en un campo de edición "enriquecido" llamado richedit en Delphi. En fin, hay mucho que elaborar aún y quizás si tengo tiempo, haga algunas modificaciones para la versión 2.0.

Cabe recordar que esta versión -aunque funcional- podría tener algunos problemillas. En el mientras, a quien se le antoje probar mi software, escríbame y se lo mandaré en forma gratuita (morsa@la-morsa.com).

Wednesday, April 04, 2007

Una antigua herramienta de estudio modernizada

Leo un artículo del MI Raúl Ocampo, sobre la informática aplicada al ajedrez, en donde dice lo siguiente: "Uno de los métodos de estudio más preconizados por la escuela soviética de ajedrez era el uso de 'tarjeteros'. La idea es poner en una tarjeta una porción de conocimiento, como puede ser una posición básica (de las míticas 300 posiciones), una posición fundamental de una variante o sistema de apertura, o de alguna posición con una idea especial. Teniéndolas en tarjetas, el jugador puede prepararse revisando una y otra vez las diferentes tarjetas del tarjetero, como una manera de aprenderlas al “dedillo” literalmente. De la misma manera que un tarjetero con temas de cualquier disciplina académica. Un método muy recomendado por pedagogos de cualquier área.

En los años anteriores a la informática, como fueron la gran mayoría de los de la existencia de la URSS, los entrenadores soviéticos laboriosamente elaboraban para sus pupilos estos tarjeteros. Utilizaban unos sellos para imprimir diagramas y piezas para poner una posición en una tarjeta y ya sea a mano como con máquina de escribir se hacían las anotaciones correspondientes. Ejemplos de esta manera de trabajar nos lo relata la GM Kira Zvorkyna al comentar el apoyo que como entrenador le dio en los años 1950s, el GM Piotr Arsenievich Romanovsky; uno de los mejores entrenadores soviéticos, en un artículo publicado por la revista rusa “64” en su número 7 de 2003. El más afamado entrenador ruso, el MI Mark Dvoretsky, en muchos artículos menciona su famoso tarjetero con su colección de posiciones interesantes. El uso de tarjeteros o cuadernos para recolectar posiciones y variantes era un estándar entre los entrenadores del siglo XX. Personalmente en los años 1980 a 1990 escribí varios artículos al respecto, recomendando el uso de las famosas “libretas de tres argollas” que es común utilizar en las escuelas. La idea es poder intercalar hojas cuando es necesario.

El GM Aaron Nimzovich en su libro de “Cómo llegue a ser Gran Maestro (*)” escrito en la década de 1920, refiere que mando a un encuadernador insertar una hoja en blanco entre cada hoja impresa de un libro sobre un torneo de maestros para poner sus propios comentarios a cada partida. Pero el caso del tarjetero es para facilitar el repasar una y otra vez las mismas posiciones, como revisando un paquete de naipes, incluso para alterar el orden a placer. Repetición una y otra vez era el lema de los entrenadores soviéticos, hasta aprender esas posiciones básicas y las ideas contenidas, perfectamente. Memorizarlas, o incluso más de ello, vivirlas, sentirlas. Para luego aplicar esas ideas y esquemas en posiciones similares pero nuevas. Pasar de la noción, caso aislado, a un concepto, agrupación de casos que están unidos por un patrón, para luego pasar de nuevo al caso concreto. De lo particular a lo general y luego de nuevo a lo particular. De la noción al razonamiento conceptual y luego a la aplicación a una situación específica y única" .

A partir esta idea, llegué a la conclusión que no hay software en el mercado especializado que haga precisamente esto, es decir, que permita a los ajedrecistas hacer estos famosos tarjeteros. Más de uno podrá decir que realmente ya no es necesario, pues con Chessbase, por ejemplo, se pueden tener este tipo de "tarjetas" electrónicas. En alguna medida es cierto, aunque es claro que lo que hace el software alemán no es estrictamente esto. Así, ¿por qué no tener un software especializado para hacer este tipo de tarjetas ajedrecísticas?, como menciona Ocampo en su artículo.

Dada entonces esta motivación, me di a la tarea de escribir mi propia versión del tarjetero ajedrecístico. Me llevó todo el sistema unos cinco días, pues hubo que definir la base de datos, es decir, cuál es la información mínima que el sistema debe manejar. El programa debería no sólo poner texto, sino que además, incluir un diagrama en cada tarjeta. Igualmente, debería poder imprimir las tarjetas y desde luego, hacer búsquedas sobre los temas definidos en las mismas. De esta manera tendríamos esta vieja herramienta modernizada en las computadoras de hoy.

Poco a poco el software fue tomando forma y en el momento de escribir esto, ya tengo una versión beta, la cual denomine ChessCards. Y sí, ya sé, ¿por qué en inglés? pues porque probablemente entre como parte de un sitio de ajedrez que hay en el Reino Unido, y en el cual estoy colaborando. En estos días, haré la traducción de la versión beta al español y la pondré a disposición de los ajedrecistas. Seguiremos informando...

(*)
Hasta donde sé, no es un libro, sino un largo artículo de Nimzowitsch que aparece transcrito en el libro de Raymond Keene: "Aron Nimzowitsch, a repraissal".

Tuesday, April 03, 2007

Estudio muy difícil de resolver

Encuentro en el libro de Valeri Beim, Chess Recipes from the Grandmaster's Kitchen, este difícil estudio:

E. Zakon
Jerusalem Post, 1953
Juegan las blancas y ganan

La primera jugada del blanco resulta muy difícil de ver, porque asume un largo plan que lleva altriunfo por un detalle táctico curioso. He aquí la solución:

1. Ka1!! ¡Vaya jugada! Más adelante se verá el plan del blanco. Si 1. Kc1 Kh1 2. Qf3 Kh2 3. Qf2 Kh1 4. Kd2 g1=Q 5. Qxg1+ Kxg1 6. Ke3 Kg2 7. Kf4 (7. Kd4 Kxh3 8. Kc4 Kh4) 7... Kf2! (7... Kxh3? 8. Kg5 Kg3 9. h6! ganando) 8. Kg5 Ke2 9. Kh6 Kd2 10. Kxh7 Kc2 11. h6 Kxb2 y tablas. 1... Kh1 Si ahora 1... Kxh3 2. Qf2 Kh2 3. Qh4+ Kg1 4. Kb1 Kf1 5. Qf4+ Ke2 6. Qg3 Kf1 7. Qf3+ Kg1 8. Kc1 Kh2 9. Qf2 Kh1 10. Qh4+ ganando. 2. Qe4! Kh2 ahora empieza una maniobra del blanco tipo péndulo, que lleva al triunfo. 3. Qe5+ Kh1 4. Qd5 Kh2 5. Qd6+ Kh1 6. Qc6 Kh2 7. Qc7+ Kh1 8. Qxh7 g1=Q+ 9. Qb1! 1-0.

Pero ¿por qué es tan difícil resolver este ejercicio? Sabemos que los problemistas normalmente ponen jugadas que sorprenden, porque están lejos de la rutina, de lo que todo el mundo piensa que haría. La razón parece ser que la jugada 1. Ka1!! va en contra de lo establecido, de lo que nos dice nuestra concepción sobre las jugadas buenas y malas: mover el rey hacia el centro y no hasta la esquina (¿para qué?). Obviamente la jugada del blanco es para ceder la casilla b1 cuando la dama tenga que cubrir el jaque del negro cuando éste corone su peón.

Por cierto, el libro de Beim es muy interesante. Contierne conceptos que vale la pena poner en tela de juicio, como el de "pensamiento invertido en ajedrez", el cual, en mi opinión, es una manera de tratar de catalogar una manera de pensar que se da en algunas posiciones. Después del libro de Paata Gaprindashvili (Imagination in Chess), encontré que muchos de los conceptos que define sobre el tipo de combinaciones que pone en sus problemas, es meramente una etiqueta, que bien podría desdeñarse. Pero ya hablaremos de esto más adelante.

Monday, April 02, 2007

Frase ingeniosa

En mi colección de frases con ingenio, hallé ésta, que apareció en un anuncio de televisión, de Ópticas Devlin: "Ponte algo que te haga ver bien". Curiosamente, buscando en Internet, no hallé ningún sitio de dichas ópticas, pero lo que sí encontré fue que las ópticas Devlin tienen fama de dar muy mal servicio. En la red están documentadas algunas de las quejas de los consumidores contra esta empresa.

Pero independientemente de esto, la frase a la cual hago referencia, me parece muy buena, muy ingeniosa.