Tuesday, December 29, 2015

La comprensión en ajedrez (II)


En el artículo pasado vimos a Tal jugando blancas contra el agresivo Tolush. Tal demostró una amplísima capacidad de cálculo y manejó la partida de manera tal que armó un fuerte ataque que no pudo se contenido. Ahora veremos a Tal enfrentar con negras la variante que jugara con Tolush. Es aquí donde podemos observar el nivel de este tipo de jugadores de clase mundial.

Bobotsov, Milko G - Tal, Mihail
Campeonato Mundial por equipos menores 26 años, ronda 2
Varna 1958 

1. d4 Nf6 2. c4 g6 3. Nc3 Bg7 4. e4 d6 5. f3 O-O En el artículo anterior vimos a Tal enfrentar a Tolush (con negras) en esta variante. Obsérvese cómo Tal parece entender mejor cómo jugar esta línea. 6. Nge2 c5 7. Be3 Nbd7 8. Qd2 a6 9. O-O-O?! Si recordamos la partida Tal - Tolush, del artículo pasado, el genio de Riga espera un poco antes de enrocar. Los planes están ya dados: las blancas atacarán el flanco rey y las negras el flanco dama. En la partida contra Tolush, el ataque del negro sobre el flanco dama parece ser muy lento y además, el rey blanco se enroca para conectar las torres. Da la impresión que enrocarse en este momento resulta innecesariamente apresurado. Mejor 9. g4 como Tal jugó contra Tolush. 9. ...  Qa5 10. Kb1 b5 es increíble como el negro ha empezado el contrajuego en el flanco dama mientras que Bobostov aún no empieza su agresión en el flanco rey. 11. Nd5 Este es el primer momento interesante de la partida. ?Qué cree que debe jugar el negro? Cambiar damas hace que las negras pierdan un peón sin compensación y Dd8 de las negras parece ser muy triste jugada, concediendo que no fue una buena idea.}


11. ... Nxd5!! Increíble. Aquí se ve que Tal sí entiende de qué se trata este juego. 12. Qxa5 Nxe3 13. Rc1 (13. Rd3 Nxc4 14. Qe1 Rb8 15. h3 cxd4 16. Nxd4 y Komodo indica que la posición es de igualdad. Pero claramente los motores de ajedrez no tienen prejuicios, no le temen a nadie, no saben siquiera que juegan al ajedrez.) 13... Nxc4 14. Rxc4 bxc4 15. Nc1 Rb8 16. Bxc4 Nb6 17. Bb3? (17. Bxa6 Bxd4 18. Nb3 Be5 19. Rd1 Ra8 20. Qxb6 Rxa6 y las negras están ligeramente mejor.) 17... Bxd4 18. Qd2 Bg7 quiere jugar c4 19. Ne2 c4 20. Bc2 c3! El ataque final que monta Tal es muy instructivo. 21. Qd3 cxb2 22. Nd4 Bd7 23. Rd1 Rfc8 24. Bb3 Na4 25. Bxa4 Bxa4 26. Nb3 Rc3 27. Qxa6 Bxb3 28. axb3 Rbc8 29. Qa3 Rc1+ 30. Rxc1 Rxc1+ 0-1

Parece quedar claro que el ajedrez finalmente es un problema de comprensión, no de jugadas aisladas. Por ejemplo, Bobostov no tuvo ninguna chance contra su genial adversario.

Monday, December 28, 2015

La comprensión en ajedrez


Siempre me he preguntado por qué los mejores jugadores ganan más veces. ¿Es que acaso sus rivales, muchas veces grandes maestros, calculan peor las variantes? ¿Cómo es que en el ajedrez en la mayoría de los casos los favoritos se imponen? La explicación parece estar en la comprensión ajedrecista, en el entendimiento de las posiciones más que en simplemente calcular jugadas.

En la siguiente partida veamos al genio de Riga, Mijaíl Tal, en una de sus producciones del año 1957, en la última ronda de la 24 edición del Campeonato Soviético, que coronó a Tal como campeón:

Tal, Mihail - Tolush, Alexander V
24 Campeonato Soviético 1957 (21)

1. c4 Nf6 2. Nc3 g6 3. e4 d6 4. d4 Bg7 5. f3 e5 Un poco apresurado. Tal vez primero enrocar y luego decidir si jugar e5 o c5. 6. Nge2 Nbd7 7. Bg5 c6 8. Qd2 O-O Llegamos a un momento interesante de la partida. Aquí las negras han enrocado y Tal ya ha decidido que atacará el flanco rey, lanzando sus peones de dicho flanco. Tolush, en cambio, buscará el contrajuego en el flanco dama. Una norma general para poder atacar es tener control en el centro, por lo que Tal decide fijarlo. 9. d5 c5 Criticada por muchos, pero no se podía permitir que el peón de d quedar tan mal defendido si se hubiese decidido mantener la tensión central. Una vez con el centro fijo, el plan de Tal parece simple de seguir. 10. g4! (10. h4 quizás no es tan buena idea por 10. ... h5 directamente.) 10... a6 Tolush, que era un fiero competidor, se lanza a lo que sabe tiene que hacer, buscar el contrajuego en el flanco dama. Tal hará lo mismo en el flanco rey. ?Quién llegará primero? 11. Ng3 Re8 12. h4 Qa5 13. Bh6 Nf8 14. h5! el ataque blanco llega muy rápidamente. 14. ... Qc7 En mi opinión esto es una fea concesión. Regresar con la dama es aceptar que las blancas están llegando muy rápido sobre el rey enemigo. 15. Bd3 b5 16. O-O-O! conecta las torres. Tal ignora supinamente el contrajuego negro. 16. ... bxc4 17. Bb1!! Tal decide entregar un peón para mantener el alfil en la diagonal que-parece ser- ha vislumbrado que se abrirá en algún momento. 17. ...  Bh8 18. Rdg1 La posición blanca se ve aplastante. 18. ...  Rb8 19. Nf5! `



19. ... N6d7 Desde luego que el caballo no puede tomarse. Tolush busca en algún momento jugar f6, tratando de darle más espacio al rey. 20. Bg5! amenaza 21.Ce7+ y 22.h6# Tolush tendría que entregar la calidad, lo que equivaldría a la derrota. 20. ... Bg7 Una jugada que al mismo Tolush le debe haber desagradado hacer, pero sus opciones ya están muy limitadas. 21. Nxg7 Kxg7 22. Bh6+ Kg8 ¿Y ahora, cómo seguir? 23. f4! exf4 24. Qxf4 y el caballo negro no puede ir a e5 por Df6 y mate a la siguiente. 24. ... Qd8 25. hxg6 Nxg6 26. Qh2! Cada jugada de Tal es una amenaza nueva. 26. ... Nde5 27. Bf4? Nf8? (el alfil podría haber sido capturado sin problemas. Por ejemplo: 27... Nxf4 28. Qxh7+ Kf8 29. Qh6+ Ke7 30. Qxf4 Kd7 y el rey negro escapa al flanco dama. Komodo da igualdad.) 28. Qh6 Neg6 


29. Bg5?! (Los engines, como Komodo da ventaja ganadora después de 29. e5! Rxe5 30. Bxg6 fxg6 31. Bxe5 dxe5 32. Rf1 Rb7 33. Ne4 ganando) 29... f6 30. e5! Rxe5 31. Bxg6 Rb7 32. Ne4 fxg5 33. Rf1 Rxe4 34. Bxe4 Rg7 35. Rf6 Bxg4 


36. Rhf1 (Komodo encuentra mate en 8. Los motores de ajedrez son increíbles:  36. Bxh7+ Nxh7 (36... Kh8 37. Rxf8+ Qxf8 38. Bg6+ Kg8 39. Qh8#) 37. Rg6 Qd7 38. Qxh7+ Kf8 39. Qh8+ Ke7 40. Rxg7+ Kf6 41. Re7+ Kxe7 (41... Kf5 42. Qf8+ Kg6 43. Rh6#) 42. Rh7#) 36... Nd7 37. Rxd6 Qe7 38. Rxa6!ahora hay que parar el jaque en la octava. 38. ... Kh8 39. Bxh7 Nb8 40. Bf5+ Kg8 41. Be6+ Bxe6 42. Rxe6 1-0

Thursday, December 24, 2015

Los absurdos costos de lo que hace el gobierno


El 19 de diciembre pasado, unas escaleras de la estación del Metro Nativitas, se vencieron y se desplomaron, causando que tres personas quedaran lesionadas. Aparentemente la realidad está alcanzando a uno de los servicios más importantes en la ciudad de México, el Metro, que a pesar de que el gobierno local subió la cuota un 66 por ciento, muestra deficiencias una vez sí y otra también. El año pasado tuvieron que detener prácticamente la línea dorada, la línea 12, porque las vías estaban desajustadas, porque el trabajo ingenieril se había hecho con las patas, etcétera, lo de siempre pues: corrupción, ganas de figurar por parte del gobernador Marcelo Ebrard en ese tiempo, que ¿cómo se iba a ir del puesto sin inaugurar tan magnífica obra?

La cuestión es que ante el desplome de las escaleras, El director del Sistema de Transporte Colectivo Metro, Jorge Gaviño, informó que la reparación de 42 escaleras fijas de la Línea 2 costará alrededor de 5 millones de pesos, lo cual incluye la que se desplomó el sábado pasado en la estación Nativitas, de acuerdo a este sitio.

Hagamos un cálculo: 5 millones de pesos entre 42 escaleras... Mhhh, más o menos 120 mil pesos por cada una de ellas. Pero Gaviño indica: "“Aproximadamente vamos a gastar cinco millones de pesos en las escaleras, más o menos son 350 mil pesos en la escalera nueva y en la reestructuración de cada una de ellas, unos 150 mil pesos, más o menos 5 millones de pesos”."... Achis, ¿y esos 30 mil pesos más por escalera? ¿De dónde salieron? Porque 150,000 pesos por 42 escaleras no da 5 millones de pesos, sino 6,300,000 pesos. Es decir, un 26% más (los 1.3 millones de pesos), que quien sabe de dónde los sacó el funcionario.

Yo podría entender que las escaleras se venzan. Podría entender que los materiales envejecen y que ante la falta de mantenimiento, que es la evidente realidad de lo que pasó en Nativitas, pues las escaleras no soporten el peso de los usuarios del Metro y que ocurran entonces este tipo de accidentes, pero la realidad es que para las cuentas que hace el responsable del Metro, pues como que no se puede equivocar por ese margen. Vamos, si me dijera que cada escalera saldrá poco menos de 120 mil pesos, en números cerrados, ya sería suficiente y además, estaría de acuerdo con la más simples matemáticas del caso, pero no, hay ahí un sobrante del 26% que ya me puso a pensar, ¿quién se lo va a llevar?

Pero hay más: ¿Una escalera del Metro cuesta 150 mil pesos? ¿Es en serio? ¿Nadie ha pensado en pedir otro presupuesto? Porque miren, cuando a principios de noviembre del 2014 incendiaron una estación del metrobús cerca de la UNAM, el gobierno salió con que el costo de lo que es un largo pasillo para esperar el autobús en cuestión, costaría 13 millones de pesos... Pues ni una casa de relativo lujo cuesta eso. Todas estas cuentas son muy sospechosas y como vivimos en este mundo del sospechosismo de Creel (el idiota panista que inventó el término), entonces pues no podemos pensar que las cosas se hagan bien y con transparencia.

A mí me gustaría ver al infame funcionario del Metro a que saliera a aclarar esas cifras que a mí no me checan. Hay algo podrido en Dinamarca, digo, en la ciudad de México.

La FIDE invalida el título de un Gran Maestro por tramposo



El 14 de abril de este año que está por terminar, escribí en este mismo blog de un gran maestro que había sido sorprendido haciendo trampa en un torneo. El GM georgiano, Nigalidze, se estaba ayudando de un programa en su teléfono celular para derrotar a otro gran maestro, un homónimo de quien fuese campeón mundial, Tigran Petrosian. Nigalidze fue suspendido del torneo y su caso pasó a la Comisión de ética de la Federación Internacional, FIDE, la cual ha dado un veredicto sin precedentes.

La comisión ha anunciado la sanción contra el GM Gaioz Nigalidze, de Georgia, por hacer trampa en el torneo abierto de Dubai, que se llevó a cabo este año, en el mes de abril. Se encontró a Nigalidze culpable de violar la claúsula 2.2.5 del código de ética de la FIDE y fue sancionado a no poder participar en ningún torneo oficial de la Federación Internacional por tres años y además, se le revocó su título de gran maestro.

La investigación empezó después del incidente ya comentado de la sexta ronda del torneo abierto de Dubai. En ese momento el GM tramposo fue expulsado del torneo. Nigalidze más adelante aceptó su culpa y voluntariamente se retiró de todos los torneos desde abril de ese año.

La comisión de ética consideró que el hacer trampa es una ofensa muy seria. Las guías anti-trampas adoptadas por recomendación de la FIDE eran 3 años de no poder participar en ningún torneo y hasta 15 años por una segunda ofensa, aunque estas recomendaciones estarán sujetas a revisión próximamente.

Dado que la ofensa fue cometida por un ajedrecista profesional, actual campeón nacional y en un torneo de alto perfil con premios en metálico sustanciales, la Comisión de Ética le impuso la pena de un veto de 3 años de participacuón como jugador en cuaqluier evento rankeado por la FIDE. El veto terminará el 5 de septiembre del 2018.

Además, a Nigalidze -como ya comentamos- se le revocó el título de Gran Maestro sobre la base de poca dignidad de un jugador con el máximo título que la FIDE otorga. Sin embargo, el título de Maestro Internacional (que consiguió en el 2009), no se le revoca por su arrepentimiento y conducta cooperativa en la investigación.

Seguramente la medida hará que aquel que crea que puede hacer trampa pues ya se  ha creado un importante antecedente. Creo que la FIDE se había tardado. Perder el título de GM, que cuesta tanto trabajo, debe ser terrible. No sé si Nigalidze pueda volver a realizar las normas correspondientes para re-obtener el título. Pienso que su acción es lamentable y que la FIDE debió haberlo expulsado del ajedrez de por vida. Nigalidze no es un chiquillo. Su castigo es, en mi opinión, muy bien merecido.

Los mitos modernos


Hoy sabemos que no es cierto que Steve Wozniak y Steve Jobs iniciaron la empresa Apple en un garage, y sin embargo esta idea se popularizó hace muchos años. Igualmente pasa con la carrera trunca de Bill Gates y de Mark Zuckerberg, en donde se habla de que estos dos magnates han hecho todo el dinero del mundo sin haber terminado su carrera universitaria.

Y entonces surgen estas historias maravillosas, donde lo que importa es quizás que uno sea "aventado", que le guste correr riesgos y así quizás, pueda saborear el mundo de los millonarios, el de la no escasez en nada. Se dice, por ejemplo, que Gates apuesta a la contratación basada en las habilidades más que en los títulos. De nuevo, esto probablemente sea un nuevo mito que le quieren encajar al creador de Microsoft porque si viene de alguien que ha hecho la fortuna que ha hecho sin necesidad de un título universitario, seguramente está en lo correcto.

Pero la realidad es que una carrera universitaria no es un obstáculo para llegar a tener éxito, vamos, probablemente sea una buena idea para buscar una vida mejor sin tener que pasar demasiados inconvenientes. Evidentemente hay profesiones que dejan mucho dinero, por ejemplo, la de médico, que si bien hacen una carrera de muchos más años que el promedio, logran en ocasiones convertirse en eminencias en sus especialidades y además, tener un nivel de vida envidiable. Obviamente en la medicina no hay gente que pueda hacer dinero sin haber estudiado la carrera porque en muchos casos hay algo más que un trabajo, y es la vida de quienes están enfermos y acuden con algún galeno. Ahí no hay médico que no haya -por lo menos- acabado su carrera.

Existen sí, "oficios" o "chambas" que no requieren de estudiar nada y en donde se puede hacer dinero, como por ejemplo, los ahora tan populares "youtubers". Estos con sus videos supuestamente graciosos, que son vistos miles y miles de veces, se han convertido en un modus vivendi de estos personajes, pero claramente sus contenidos distan de ser los más inteligentes, ingeniosos o valiosos con los que se puedan contar. Yo no sé cuanto gana un youtuber pero alguien me dijo que YouTube pagaba un centavo de dólar por vista. Así, si el youtuber tiene a la semana un millón de visitas, se embolsa unos mil dólares semanales.

Creo que vivimos en una época en donde el poco esfuerzo, la superficialidad, la vida light, nos hace creer que es fácil vivir y ganar mucho dinero. Hace poco me comentaban que los integrantes de la casa de Big Brother, que parece ser, fue un fracaso comercial, recibían por contrato unos 10 mil pesos por día, sí, por día. Así, encerrarse 180 días sin realmente saber hacer nada pues resulta para muchos redituable y entiendo por qué esos jóvenes no quieren salir del "juego" del gran hermano. Desafortunadamente la vida real dista de ser lo que la televisión nos pone con esos personajes cuya fama dura menos de 15 minutos. La vida es dura, y hay que trabajar si se quiere ser alguien. Y muchas veces habrá muchos descalabros. Y habrá que estudiar mucho y trabajar más.

Pero regresando al tema de los mitos, la vida light, la vida fácil, es uno de ellos. Sí, repito, puede haber gente como Gates, Jobs o Zuckerberg que -sin carrera universitaria- pudieron lograr el éxito que mucha gente quisiese tener, pero es claro que tuvieron que trabajar mucho. Bill Gates no logró la macro-empresa Microsoft de la noche a la mañana y puedo apostar que eso de que el hombre apostaba a las habilidades y no a los títulos es una mentira, un mito moderno más. Microsoft está llena de gente titulada, con maestrías y doctorados. Lo malo de estas notas es que hacen creer que cualquiera puede aspirar a triunfar aunque sea un inútil. Gates no terminó la escuela, cierto, pero vivía de entrada una peculiar situación económica muy favorable y además, estuvo en un momento y un lugar justo para hacer historia, y lo aprovechó. Pero el mundo está lleno de estas historias de éxito que se propagan por todos los medios, pero por cada una de ellas hay miles de personas (y de historias) que dejaron la escuela y no lo lograron, que fracasaron, pues. Pero claro, nadie escribe de los perdedores.

Sunday, December 13, 2015

¿Cómo llegar a ser un jugador de elite?


Por muchos años me he topado con gente que dice jugar bien al ajedrez. Pronto me retan a una partida y se demuestran como principiantes. No se dan cuenta incluso de lo mal que juegan realmente y piensan -ingenuamente- que bastaría con dedicarse un poco más a estudiar el juego para así tener el desempeño de un gran maestro.

La realidad es, desde luego, diferente. Un gran maestro ha dedicado infinidad de horas frente al tablero. Su trabajo ajedrecístico es constante y se compara probablemente con el trabajo que hace un músico en el día a día. Por ejemplo, mi padre era guitarrista clásico. Estudiaba por decir lo menos, unas seis horas en la mañana. Después iba a dar clases de guitarra y muchas veces volvía a estudiar a su regreso, después de cenar. Si iba a dar un recital incrementaba su trabajo de estudio mucho más. Desde que tuve uso de razón y hasta incluso antes de que enfermara gravemente, mi papá estudió todos los días como un poseso. La música lo tenía atrapado.

Platicando con el Maestro Internacional Kenneth Frey, él decía que el nivel de elite era demasiado duro. Esa gente trabaja muchas horas por día. Yo añadía que Fischer estudiaba entre 10 a 14 horas por día y así, ¿cómo no iba a jugar bien? Y aquí Frey replicó algo interesante: "Cierto, pero Fischer nunca parecía aburrirse del ajedrez". Esto parece ser clave para avanzar en el juego. Se vuelve tan obsesivo que nunca uno se aburre de tomar los trebejos.

Judit Polgar, en una entrevista para el Diario Telegraph, indica: "Si se quiere ser verdaderamente grande en este deporte, entonces todo lo demás debe pasar a un segundo plano". Y en la parte final de la entrevista da este tip: "Ama lo que haces. Los grandes jugadores pueden entrenar 10 horas por día sin distracciones. Y aunque ser apasionado no garantiza el éxito, es sin duda el gran motivador".

Pero la mayor pasión por el ajedrez debe sopesarse con las obligaciones cotidianas. Hacer un modo de vida el dar jaques en el tablero es una decisión complicada. Vishy Anand, ex-campeón del mundo y a decir de sus propios colegas "una leyenda del tablero", da los siguientes consejos: "No se apuren [en hacer del ajedrez una profesión] demasiado pronto. Quiero decir, Es muy lindo soñar en ser un profesional pero no hay necesidad de apurar la decisión. Juegue para divertirse y trate de mejorar. Intente de obtener solamente metas por la mera diversión de hacerlo. Hay una profunda satisfacción en ponerse una meta y lograrla. No deje la escuela o tome decisiones demasiado pronto. Ya llegará el momento en que estas decisiones podrán tomarse más relajadamente". Y concluye, "Los títulos y la fama pueden ser muy glamorosos pero el luchar por ellos no lo es. Algo que se hace por diversión bien podría ser diferente a hacerlo por obligación".

Sunday, December 06, 2015

Cuando las redes sociales permean



Yo por mucho tiempo he pensado que las redes sociales es una de esas tecnologías que les hemos dado muy mal uso. Facebook, por ejemplo, está lleno de gente que copia noticias de los muros de otros sin siquiera revisar la veracidad de la información. Sale un sitio web de dudosa calidad, anunciando la tercera guerra mundial, lo cual lo hace además con un cartel de una serie de misiles que están cayendo en alguna ciudad importante, y entonces muchos facebukeros copian la información, comparten el muro, ponen comentarios como “¡qué desgracia!”, y hacen en ocasiones virales noticias que son francamente simples notas para alarmar, para que la gente entre y las vea, para ganar así tráfico en la red.

Hay otros que por ejemplo, comparten el video presumiblemente tomado con una cámara de seguridad en alguna calle de un país oriental. En el video se ve un camión que aparentemente choca con una motocicleta, pero en el instante de la colisión, hay un brillo en el momento del contacto y de pronto aparece la motocicleta a un lado de la carretera con un nuevo acompañante, el cual parece que evitó de alguna manera dicha colisión. Y entonces los encabezados son como estos “Un ángel salvador”, “Que alguien me explique este video”, etcétera. Me llama la atención que estando en Internet, con Google en la punta de los dedos, no sean capaces de hacer alguna búsqueda sobre el video mencionado. Todo se resuelve cuando llega alguien y les dice que ese video es un anuncio de un programa de televisión de ese país en donde ocurre.

Y situaciones lamentables reciben todo el eco en las redes sociales, como el caso de los refugiados sirios o bien, de la masacre de franceses por unos islamitas locos. En este último caso, hasta Facebook le permitía a sus usuarios que pusiesen sobre su foto de perfil la bandera francesa, a manera de solidaridad. Y sí, es una manera de sentir que la gente hace algo cuando la verdad, no podemos hacer nada. De ahí que estos atentados lleven una buena carga de impotencia y frustración, porque nadie puede evitarlos de manera fácil. Pero la realidad es que esta acción de los colores de la bandera en cuestión en las fotos de los perfiles es como el “me gusta”, que no sirve para nada, que nomás nos hace creer que somos mejores personas cuando en realidad no hacemos más que seguir moviéndonos en lo que ponen en la red social.

Por ello me llama la atención que en los últimos años, pareciera que estos revolucionarios de sillón, esos que no quieren se molestados de su comodidad de su casa, han terminado por permear en el ánimo de algunos eventos que ocurren anualmente en el país, como el Teletón. Nadie puede dudar que la idea de ayudar a niños con discapacidades sea buena y que ahora, además, quieren ayudar a los niños con cáncer y los que tienen autismo. Y todo eso está muy bien, pero hay puntos que no checan de todo, por decirlo de manera coloquial.

Hay que recordar que el Estado está obligado, y su obligación es irrenunciable, a dar los servicios de salud a sus ciudadanos. De hecho, es el artículo 4 constitucional quien garantiza el acceso a la salud de todos los mexicanos. Pero como esto es una ley inútil, que nadie respeta, que se la pasan todos por el arco del triunfo, entonces sale la sociedad civil a organizarse y propone el Teletón. Televisa genera una fundación que se encargará de todo esto y año con año, en una transmisión de más de 24 horas, vemos pasar niños discapacitados, locutores enardecidos exigiendo al respetable que “se moche”, lloriqueos, etcétera. Un espectáculo poco agradable pero necesario, porque para que la gente done hay que tocar sus fibras sensibles y ¿qué más triste que un niño con problemas físicos?

Pero desafortunadamente hay más. Se supone que los donativos son deducibles de impuestos, pero a la gente la hacen donar hasta por teléfono. Por años, en las redes sociales, se habló que Televisa era quien se encargaba de deducir los 400 y pico millones de pesos que más o menos se recaudaban cada año. Ante las quejas de esa nueva población virtual, mucho más crítica, el Teletón ya menciona cómo hacer deducible los donativos, tratando de transparentar el asunto, pero ya es tarde.

Y las redes sociales, y sus críticas al Teletón parecen haber permeado definitivamente, y tan es así, que el año pasado Carlos Loret de Mola echaba ya casi al cerrar las transmisiones del triste espectáculo, un rollo intragable sobre que los niños no tenían la culpa de nada y que ellos serían los más perjudicados (porque no parecía que llegarían a la meta de recaudación). Pero claro, ¿cómo no van a permear las críticas cuando se tienen “casas blancas” y no sólo de Angélica Rivera, sino de algunos de sus ilustres personajes de este gabinete que nos gobierna? Antes de echarle la culpa a la gente que ha criticado al Teletón por su falta de transparencia -que era tan evidente que la han querido solapar con espectaculares de “Caénos, visita un CRIT”- deberían haber pensado en hacer las cosas de otra manera.

Al final de cuentas, parece ser que por primera vez debo reconocer que las redes sociales han hecho una interesante tarea crítica que de alguna manera ha logrado entonces que la gente no crea todo lo que le dicen en la televisión y que rechacé entonces -como en el caso del Teletón- donar para esa causa que repito, por sí misma no está mal, vamos, es loable, pero no como lo han hecho los actores políticos y mediáticos que gobiernan este país.

Thursday, December 03, 2015

Ya viene el Teletón... Una vez más



Por enésima vez (este me parece que es el año 18 de esta colecta), Televisa transmitirá en algo más de 24 horas, el Teletón que quién sabe ya en qué edición va, pero en donde año con año, sin falta, piden a la población que ayuden a crear un centro para los discapacitados. Originalmente, la idea era hacerse de centros para gente con discapacidades físicas pero me parece que han ampliado su cobertura a niños con cáncer y autistas. El caso es que quiero creer que hay buena fe en la idea de estos centros de salud, pero la manera de hacer las cosas parece cada vez peor.

Por una parte, está el problema de que el Gobierno de este país está obligado, y su obligación es irrenunciable, a dotar de los servicios de salud para la población. Vamos, incluso constitucionalmente todos los mexicanos deberíamos tener acceso a la salud (artículo 4), pero el Estado parece ser incapaz de cumplir con su obligación. En consecuencia la sociedad civil tiene que organizarse para que existan este tipo de centros de atención para las enfermedades y dolencias mencionadas. Vamos, es todo tan absurdo en el caso del Teletón, que hasta el Presidente de la República hace su "donativo" al principio del evento televisivo.

Pero hay más: por mucho tiempo se ha dicho que los recursos que percibe el Teletón se convierten en una manera de que Televisa deduzca impuestos. En las últimas ediciones sorpresivamente, ya salió en la página del Teletón el procedimiento para pedir el recibo del donativo hecho por las personas. Curioso que de pronto ya nos indican que hay manera de pedir este recibo. Más curioso es que los estados financieros de teletón no se hacían públicos. Hace quizás unos diez años, pedí a Teletón sus estados financieros indicándoles que debían ser transparentes. Me contestaron pidiéndome las razones por las cuales pedía esta información. Después de un intercambio de correos electrónicos, no me contestaron más. Pero ahora, debido a la fuerte presencia de las redes sociales, que se han opuesto sistemáticamente al Teletón, ya decidieron poner estos estados financieros. Curioso de nuevo.

El año pasado, el Teletón no estaba llegando a su meta (1 peso más que el total de donativos del año anterior), y Loret de Mola salió con un discurso de pena ajena, indicando que los niños no tenían culpa alguna de las posiciones de los internautas, los cuales de alguna manera, habían logrado incidir en que la gente no apoyara como en años pasados. Y como no, si estaba fresquito el caso de la Casa Blanca de la Gaviota, para empezar. Y es siempre gracioso, casi de risa involuntaria, cuando Televisa sale con sus locutores y actores/actrices, a tratar de verse transparentes, a tratar de decir las verdades que jamás dicen. Y ya nadie les cree. Suena a una actuación lamentable.

La organización Teletón evidentemente se dio cuenta de lo que estaba pasando y emprendió una campaña de anuncios espectaculares donde se invita a la gente a ir a los Centros Teletón para que vean cómo se trabaja ahí. Ponen en los espectaculares frases como la de la señora Coral Rojas, ama de casa, que dice algo como "me quedé sin palabras al ver lo bien que trabajan en los centros teletón", etcétera. Desde luego que esa campaña de espectaculares no le costó al Teletón nada. Seguro a los que tienen esos espectaculares les dijeron que podían donar de esta manera. Pero bueno, eso es lo de menos. Lo que importa es que de pronto el Teletón está viendo que ya esto no da más. Siguen queriendo hacer centros y centros y sí, entiendo que los problemas de salud son de todos los días, pero evidentemente no se pueden inundar a un país de centros teletón de aquí a la eternidad. La fórmula del teletón se está agotando y suponen que hay que seguir explotando al ciudadano hasta que no pueda más.

Cabe decir que la Fundación Alas, hace unos 7 años recibió de Telmex (Slim), solamente de ellos, unos 110 millones de dólares, que al tipo de cambio actual es unos 1870 millones de pesos, algo así como 4 veces más que lo que recauda el Teletón en un año. En esa oportunidad, la Fundación Alas logró llegar a unos 200 millones de dólares en donativos. Y aquí le sigue pidiendo Televisa a la gente que done. Ajá.

Pero más allá de todo esto, a mí me enferma ese tonito de los conductores del Teletón, como el de Ferriz de Con, en donde ya casi exige que la gente done como: "¡Móchense!", como si la gente tuviese que donar a la fuerza. Me gustaría saber cuánto dinero dona Ferriz, o Loret de Mola, o López-Dóriga, porque para exigir que otros lo hagan son muy buenos.

Así que ya veremos. A diferencia de otros años, me parece que este año ha habido menos publicidad sobre el evento, pero como veo menos televisión, probablemente no sepa si realmente esto está ocurriendo. A mí me parece que de pronto la llegada de Internet, el acceso masivo a las redes sociales y el descontento de una mayoría (al menos la que participa en las redes mencionadas), ya han permeado en el ánimo de mucha gente. Estamos literalmente hartos de los abusos gubernamentales, de los excesos de los gobernantes, de las casas blancas de presidentes y gabinete en general, de que nos mientan una y otra vez. Estas son unas de tantas razones por las cuales ya no se puede seguir en esta tendencia en donde el ciudadano será explotado hasta secarlo. Creo que las cosas han cambiado muy lentamente, pero de pronto las redes sociales, con sus revolucionarios de sillón, han empezado a permear con sus modos y maneras de pensar de forma que ya están incidiendo en esto del teletón. Así que ya sabremos en unos días si llegaron a la meta, si hubo o no discursos lacrimógenos de los lamebotas de televisa, etcétera.

Wednesday, December 02, 2015

De los libros de aperturas

Uno de los pecados capitales de los ajedrecistas es estudiar aperturas. Esto es algo que vemos natural porque nadie quiere perder en la primera etapa de una partida de ajedrez. Por lo tanto, el ajedrecista se embarca con libros variados, de las defensas y aperturas más populares, o las de su elección (hay ua enorme cantidad de libros dedicados a las aperturas, desde las más conocidas hasta las que pueden sorprender a un rival no muy preparado), y padece lo que todos: no entiende cuando el autor del libro dice: "y las blancas están mejor" o "las negras tienen ligera ventaja", o quizás "las blancas siguen con la iniciativa", entre muchos diagnósticos finales sobre las posiciones a las que se llega. Y es natural. Los libros están mucha veces escritos por grandes maestros que inconscientemente piensan que sus lectores tienen su mismo nivel y por ende, es más que suficiente con este tipo de comentarios, que a más de un aficionado les seguirá pareciendo crípticos.
El estudio de las aperturas, pienso, debería empezarse a considerar cuando uno es un jugador de primera fuerza y que además, toma más allá que un pasatiempo al ajedrez. Es para el ajedrecista ambicioso, el que quiere ser mejor, el que quizás quiera ser un gran maestro, etcétera. Si usted entra dentro de esta categoría, entonces eventualmente tendrá que estudiar aperturas. Pero antes de que llegue ese momento, quizás la reflexión de Capablanca sea la más sensata: ¡Estudie finales!

Hoy en día hay -aparte de los libros de aperturas- mucha información digital de ajedrez. Chessbase y ChessOK, por ejemplo, venden discos compactos de monografías de aperturas, de las diferentes variantes en boga, en donde se saca provecho de la tecnología de las computadoras y entonces podemos tener colecciones de una variante en particular, en donde se observe a los mejores jugadores del mundo en acción. Si a esto le añadimos los comentarios de jugadores expertos, si podemos hacer un reporte de aperturas en donde se nos indiquen los planes más comunes en estas posiciones, que se nos enseñe, además, las diversas estructuras de peones, las cuales finalmente nos dicen qué es lo que hay que hacer en el tablero, entonces el estudio podrá ser fructífero. Cabe sin embargo decir que no se espere entender una apertura o una defensa de la noche a la mañana.

Una buena idea es jugar torneos (en el club local), de apertura obligada. Si su club no ha intentado este tipo de torneos, propóngalo. Jugar, por ejemplo, una defensa como la Siciliana, o la Francesa, con una variante en particular, termina siendo muy beneficioso para el ajedrecista, porque es en la partida viva, donde tiene que pensar, que decidir qué hacer. De hecho, este tipo de torneos en ocasiones nos permite ir armando los diferentes reportorios de aperturas y defensas.

Hay sin embargo, una idea que ya es casi lo tradicional en el ajedrecista de alto rendimiento. Veamos esto en las palabras del GM John Nunn cuando le preguntaron si escribiría otro libro nuevo de aperturas. Nunn contestó: "el mundo ha cambiado. La mayoría de los jugadores tienen bases de datos en las computadoras y frecuentemente, muy frecuentemente, prefieren usarlas a a leer un libro de aperturas. Y también, usted sabe, los programas de computadora son muy fuertes ahora. Pienso que es difícil escribir un buen libro de aperturas ahora. Pienso que uno está frecuentemente duplicando el material que se encuentra ya en las bases de partidas".

Así pues, es claro que la tecnología ya nos ha invadido y que las bases de partidas nos pueden ayudar tanto o más que los libros de aperturas tradicionales. Pero sea como sea la forma en que encare el estudio de las mismas, que quede clara la necesidad de trabajar en ajedrez. No se puede mejorar sin estudiar. Eso es un hecho indiscutible.

Monday, November 30, 2015

Entrevista con Matt Richardson, evangelista de Raspberry Pi


Matt Richardson es un evangelista de la Raspberry Pi. De hecho, tiene un libro publicado (junto con Shawn Wallace) llamado “Getting Started with Raspberry Pi”. Matt vino a México hace algunos días precisamente en un afán de que se conozca más de los productos que tiene la Fundación Pi y de la meta de la misma, que es básicamente que todo el mundo tenga acceso al cómputo.

Esto es parte de la conversación que tuvimos (ML – Manuel López), (MR – Matt Richardson):

ML: ¿Cuál es la verdadera historia atrás de la Raspberry Pi?
MR: Básicamente la Pi nace de la necesidad de que los estudiantes tengan más acceso al cómputo. Ciertamente muchos de ellos ya saben HTML, Javascript, pero no están interiorizados con el funcionamiento de las propias computadoras, de lenguajes de bajo nivel como ensamblador, por ejemplo. La tecnología ha convertido a muchos chicos en consumidores de tecnología, por ejemplo, usando el xbox o el PlayStation mucho más que sentándose frente a una microcomputadora como la BBC-micro (muy popular en algún tiempo en el Reino Unido). La Pi nace entonces de la idea de que los chicos estén más familiarizados con cómo trabajan las computadoras para así crear personas que entiendan desde sus bases cómo funcionan las cosas. Piensa por ejemplo que los niños actualmente pueden usar un iPad pero no saben nada de cómo ni por qué funcionan estos equipos. Con un proyecto como el de la Pi, los niños bien pueden entender qué hay detrás de la tecnología, cómo funciona. Pueden además jugar juegos y generar sus propias creaciones.

ML: ¿Cuántas Raspberry Pi se han vendido hasta hoy día? ¿Unas dos millones?
MR: Siete millones. Sí, hemos crecido muy rápido. Después de la primera Pi sacamos el modelo B y poco después ya teníamos un modelo Pi B+, con un procesador de cuatro núcleos, con 1 GB de memoria, (que sigue costando 35 dólares). Lo interesante fue como la comunidad tomó nuestro producto porque de verdad apreció el trabajo hecho y al final del día lo que buscábamos (y seguimos buscando), es que todo el mundo tenga acceso a la tecnología. Una manera de hacer esto es dar tecnología a precios que puedan pagarse, por lo que cuando bajamos el producto del modelo A a 20 dólares, pensamos que muchos chicos tendrían la posibilidad de tener su propia computadora y experimentar con ella.

ML: Una de las ideas -en mi opinión- más interesantes, es que la Pi pueda correr Linux.
MR: Es absolutamente una gran idea. La comunidad fue increíble, muy feliz corriendo Linux. Y si lo piensas, Linus Torvalds, creó originalmente su sistema a manera de experimentación. Con la Pi podríamos pensar: ¿dónde está el siguiente Linus Torvalds? Quizás de esta iniciativa salga el siguiente contribuyente al kérnel de Linux, por ejemplo, o bien, haciendo programas de código abierto, compartiendo el código, etcétera. Nuestros ingenieros, nuestra gente que hace software trabaja con Linux por muchas razones, pero además, porque es gratuito (y libre). Linux corre en muchas plataformas de hardware y además, en muchas plataformas de hardware poco costoso y esto es crítico para el éxito de este esfuerzo. Piensa por ejemplo en Mac OS X, necesitas en principio un hardware adecuado como el que provee Apple, o en el caso de Windows, que finalmente -en ambos casos- tienen ambiciones comerciales.

ML: Cuéntanos un poco de la experiencia de la Pi en el ambiente de las escuelas del Reino Unido.
MR: Enpezamos entrenando a unos 300 profesores a través del programa académico de la Pi, el cual es gratuito y dura dos días. Además, tenemos ahora una amplia comunidad de educadores certificados en la Raspberry Pi. Usan las Pi en sus clases y no solamente para que los alumnos escriban código, sino para que la Pi se use en ambientes humanísticos, en el arte, buscando introducir el cómputo a través de la Pi de forma interdisciplinaria. Por ejemplo, si el estudiante está interesado en la música, puede usar el software Sonic Pi, que le permite escribir código para hacer música, para incluso generar música al azar (mediante el uso de una función random, un loop, etcétera).

ML: ¿Cuántos educadores en el Reino Unido usan la Pi en sus clases?
MR: No tenemos números exactos pero aproximadamente una tercera parte de la comunidad de educadores en el Reino Unido utilizan la Raspberry Pi en sus clases, y no necesariamente para solamente enseñar a programar código.

ML: Cuéntanos acerca del uso de la Raspberry Pi en sistemas embebidos.
MR: esto es una parte importante de la Pi. Es genial que muchos de los que crean proyectos con una Pi lo compartan con nosotros. Frecuentemente no es solamente hacer algo y listo, sino que comparten el código, la experiencia, lo que funcionó, lo que no, etcétera. Esto hace que crezca el cuerpo de conocimiento y no solo eso, cualquiera puede hacer búsquedas en los proyectos para encontrar soluciones a sus propios proyectos pero además, se convierten en una fuente de inspiración. Y más importante aún es que los proyectos todos funcionan sobre el mismo sistema. No es otro tipo de hardware diferente. Y esto es de gran ayuda. La Raspberry Pi no es un juguete, es una computadora completa. Queremos que los niños vayan más allá de lo elemental, de por ejemplo, usar Scratch (un lenguaje de programación basado en bloques). Nos encanta ver toda esa gente que hace cosas con la Raspberry Pi. Esto es de una inspiración increíble.

ML: Hace relativamente poco sacaron una pantalla táctil…
MR: ¡Aquí la tengo! [Matt la conecta fácilmente y como no tiene un conector a la mano, usa una batería portátil]. Es una pantalla de diez puntos táctiles. Hay bibliotecas para programar la pantalla táctil (por ejemplo en Python). Es realmente un añadido increíble. Pero más allá de esto, lo que buscamos es que quien tenga una Pi pueda programar en un número de lenguajes, incluso Mathematica. La idea es dar un ambiente en donde hay mucho por investigar y en donde cada persona que use una Pi se sienta en la libertad de ver qué herramientas hay o qué herramientas se pueden incorporar. Tenemos Sonic Pi (basado en Ruby), Scratch, Python. Digamos que tenemos de todo y el profesor puede entonces sentirse a gusto con algunas aplicaciones que más le atraigan para sus alumnos. Hoy, por ejemplo, ya tenemos Processing, el cual es un interesante añadido a la Pi.



ML: ¿Cómo puede la gente a aprender sobre la Pi? ¿Qué recursos están disponibles?
MR: En el sitio web tenemos un apartado (llamado “resources”) en donde hay tres opciones, “teach/make/learn”. En cada sección tenemos material para enseñar sobre la Pi, o bien sobre aprender a cómo usarla y finalmente a hacer cosas con ella. Muchos de los documentos muestran desde lo más básico (cómo hacer que un LED se prenda y se apague – algo así como el Hello World! de la electrónica digital), o bien, cómo hacer para que un sensor reaccione a cierto evento. Nos aseguramos pues que lo más básico esté disponible pero claramente hay un sector que quiere saber más y para ellos tenemos materiales intermedios. Una vez que se ha aprendido lo básico, podemos incluso investigar cómo la gente ha usado la Pi en diferentes entornos.

ML: ¿Cuál piensas será el futuro de la Raspberry Pi?
MR: Todo lo que hacemos en la Fundación Pi tiene que ver con los límites de los precios que podemos poner a nuestros productos.

ML: ¿Qué hay con la competencia, por ejemplo, con tarjetas como la BeagleBone?
MR: Hay muchas tarjetas en el mercado, sin duda, unas con más características que otras. La Pi tiene como mayor virtud su precio porque tenemos el balance correcto entre poder computacional con respecto al precio. La cantidad de Pi en el mercado indica que hemos hecho las cosas bien. Tú puedes poner un procesador con más capacidad, más memoria, más sensores, conectores varios, etcétera, por algo así como unos 100 dólares, pero ése no es nuestro mercado.

ML: Raspberry Pi tiene una fundación, ¿verdad?
MR: De hecho, Raspberry Pi ES una fundación. Hacemos caridad. Nuestra misión es el avance de la educación en cómputo. Para ello construimos la Rapberry Pi. Somos en una gran medida una empresa sin fines de lucro. Nuestra misión es que la gente aprenda a programar, a que comprendas cómo funcionan las computadoras y además, queremos hacer cosas interesantes con las computadoras.

ML: ¿Crees que la Pi es un éxito porque funciona a través de una fundación que en gran medida no busca fines de lucro? ¿Crees que eso ha sido una manera de “caerle bien” a la gente y de ahí su éxito?
MR: En mi opinión lo más importante es el precio. Sin embargo, pienso que logramos atraer a mucha gente que nos acoge con cariño y que es francamente increíble, en donde además, tenemos voluntarios. Y es que aman el producto. Y esto ayuda a la misión que nos hemos encomendado. Pienso incluso que no tendríamos todo el apoyo que tenemos si no fuésemos una fundación.

ML: ¿Algo que quieras agregar?
MR: Tenemos este nuevo módulo de cómputo (la Pi Zero), el cual tiene lo básico que contiene una Raspberry Pi y que puede ser útil para muchísimos proyectos en computación. Es un sistema más para el aficionado a la electrónica pero pudiese ser usado por cualquiera interesado en el tema.

ML: Gracias, Matt.
MR: Gracias por la oportunidad de hablar de la Pi.

Sunday, November 29, 2015

La gran idea del algoritmo genético (y un libro gratis)



John Henry Holland fue un científico norteamericano, profesor de psicología, ingeniería eléctrica y de computación. Fue el pionero de lo que a la postre se llamaría "algoritmos genéticos". Holland, desde pequeño, se preguntó cómo es que los organismos se hacían cada vez mejores. Muchos años después, ya teniendo un doctorado, salió con la idea de algo que eventualmente se llamó el "algoritmo genético", partiendo de la base de que todo ocurre por las interacciones locales entre individuos, y entre estos lo que les rodea. Probablemente un libro que tuvo una gran influencia en el científico fue "La teoría genética de la selección natural", del evolucionista R.A. Fischer. Ahí Holland aprendió que la evolución es una forma de adaptación mucho más poderosa que el aprendizaje simple y a partir de ahí, desarrolló programas para demostrar su idea.

Holland se planteó dos objetivos:


  • Imitar de alguna manera los procesos de adaptación de los sistemas naturales
  • Diseñar programas, sistemas que podríamos llamara artificiales, que tengan los mecanismos de los sistemas naturales estudiados

El algoritmo genético busca hacer evolucionar una población de individuos, sometiéndola a acciones azarosas, parecidas a las que actúan en la evolución biológica (mutaciones y recombinaciones genéticas), así como también a una selección de acuerdo con algún criterio -probablemente la parte más difícil- en función del cual se decide qué individuos son los mejor adaptados, que sobreviven, y cuáles los menos aptos, que son descartados.

De acuerdo a la Wikipedia:

Un algoritmo genético puede presentar diversas variaciones, dependiendo de cómo se aplican los operadores genéticos (cruzamiento, mutación), de cómo se realiza la selección y de cómo se decide el reemplazo de los individuos para formar la nueva población. En general, el pseudocódigo consiste de los siguientes pasos:


  • Inicialización: Se genera aleatoriamente la población inicial, que está constituida por un conjunto de cromosomas los cuales representan las posibles soluciones del problema. En caso de no hacerlo aleatoriamente, es importante garantizar que dentro de la población inicial, se tenga la diversidad estructural de estas soluciones para tener una representación de la mayor parte de la población posible o al menos evitar la convergencia prematura.
  • Evaluación: A cada uno de los cromosomas de esta población se aplicará la función de aptitud para saber cómo de "buena" es la solución que se está codificando.
  • Condición de término: El AG se deberá detener cuando se alcance la solución óptima, pero ésta generalmente se desconoce, por lo que se deben utilizar otros criterios de detención. Normalmente se usan dos criterios: correr el AG un número máximo de iteraciones (generaciones) o detenerlo cuando no haya cambios en la población. Mientras no se cumpla la condición de término se hace lo siguiente:



  • Selección Después de saber la aptitud de cada cromosoma se procede a elegir los cromosomas que serán cruzados en la siguiente generación. Los cromosomas con mejor aptitud tienen mayor probabilidad de ser seleccionados.
  • Recombinación o Cruzamiento La recombinación es el principal operador genético, representa la reproducción sexual, opera sobre dos cromosomas a la vez para generar dos descendientes donde se combinan las características de ambos cromosomas padres.
  • Mutación modifica al azar parte del cromosoma de los individuos, y permite alcanzar zonas del espacio de búsqueda que no estaban cubiertas por los individuos de la población actual.
  • Reemplazo una vez aplicados los operadores genéticos, se seleccionan los mejores individuos para conformar la población de la generación siguiente



John Hollander

Pero ¿cómo aplicar esto en el mundo real de un programa? El siguiente ejemplo, aunque trivial, nos puede ayudar a entender esto.

Dados los dígitos del 0 al 9, y los operadores +,-,* y /, hallar una secuencia que represente un número objetivo. >Los operadores se aplicarán de izquierda a derecha como se van leyendo.

Por ejemplo, dado el número objetivo 23, la secuencia 6+5*4/2+1 sería una posible solución. Si se busca el 75.5, entonces 5/2+9*7-5 sería una posible solución. Nótese que los operadores se aplican de izquierda a derecha y no usando precedencia de operadores.

Teniendo el problema definido, pasamos a codificarlo. Como queremos hacerlo a partir de un algoritmo genético, nuestros cromosomas serán una cadena de bits. Podemos representar los números y sus operadores así:

0: 0000
1: 0001
2: 0010
3: 0011
4: 0100
5: 0101
6: 0110
7: 0111
8: 1000
9: 1001
+: 1010
-: 1011
*: 1100
/: 1101

Los genes 1110 y 1111 no se usan y serán ignorados si son detectados en el algoritmo.

Para la solución '6+5*4/2+1' podemos representar esto como:

0110 1010 0101 1100 0100 1101 0010 1010 0001
6 + 5 * 4 / 2 + 1

Estos son los genes que forman el cromosoma 011010100101110001001101001010100001, que es la solución.

Cabe decir que si hallamos la cadena:

0010 0010 1010 1110 1011 0111 0010
2 2 + ?? - 7 2

estaríamos realmente representando la operación 2 + 7.

Llegamos pues a la parte más difícil, la de hallar una función de aptitud (fitness), la cual se acerque lo más posible al resultado que queremos (el número objetivo). En este proyecto usaremos una puntuación de aptitud que es inversamente proporcional a la diferencia entre la solución y el valor decodificado que representa el cromosoma hallado. Si por ejemplo, el número objetivo es 42, el cromosoma 011010100101110001001101001010100001 tiene una puntuación de aptitud de 1/(42-23) o 1/19. Si la solución se adhiere al valor objetivo, podrías encontrar algo como 1/(42-42), lo cual nos daría una división entre cero. Podemos desde luego considerar este caso para no caer en un error y que el sistema se detenga.

Otro punto importante es el de tener que usar todos los genes en el cromosoma que dé el resultado. Así, si el número objetivo es 42, + 6 * 7 / 2 no da el resultado correcto aunque contenga la subcadena 6 * 7.

Para entender las ideas, no hay mejor idea que intentarlas, siguiendo la máxima adjudicada a Benjamín Franklin: Si me lo dices lo olvido, si me lo enseñas lo recuerdo, si me involucras aprendo. Sin embargo, si se desea experimentar, se puede descargar el código en C, Java o Delphi y ver cómo fue programado (ver referencias).

Como un bono a quien haya llegado hasta este punto, hace tiempo escribí un libro sobre Vida Artificial, recursión y temas afines. En algún momento se explora el algoritmo genético. El libro se puede comprar en formato Kindle por menos de 6 dólares y si lo hacen, se los agradecería. Sin embargo, lo pongo a disposición gratuita por siete días a los primeros 100 lectores que quieran descargarlo, lo que ocurra primero. Este es el enlace.

Referencias:

AI-Junkie 
Wikipedia 
Código en Delphi 
Código en Java 
Código en C

Wednesday, November 25, 2015

Las reacciones de los mexicanos


Vivimos en un país que tiene -ya lo he dicho antes- las mejores leyes del planeta. El problema es que todas las leyes en este país no sirven ante la corrupción y la impunidad que hemos vivido desde hace muchísimos años en México. Por ello, cuando sale alguna iniciativa sobre alguna nueva ley, lo único que pensamos los mexicanos es que ahora habrá un nuevo mecanismo para sacarnos dinero si por alguna razón "violamos" la ley propuesta. Y si nos remitimos a la cotidianidad, es evidente la transa cotidiana. Simplemente por donde vivo encuentro más de un puesto de películas piratas en donde por 10 pesos se puede conseguir la película de estreno. Y estos puestos están a la vista de la autoridad. Usos y costumbres de los mexicanos.

Y si hablo de esto es que vi el siguiente video, en donde una señora tira su basura por la zona de Sotelo. Pero en un operativo de la zona de Lomás de Sotelo en conjunto con la delegación,la empiezan a grabar y se le enfrentan. Le pide quien graba que recoja su basura, pero la mujer no sólo no piensa hacer eso, sino que se pone agresiva, ¿y cómo no ponerse agresiva cuando en este país nadie va a venir a decirle que cumpla con la ley? El de la cámara le pide reiteradas veces que recoja su basura, pero la señora no colabora. Finalmente la remiten al juez cívico y entonces la señora prepotente cambia su actitud y le suplica al de la cámara "que no sea gacho". Pero ya no hubo marcha atrás y la señora fue remitida al juez cívico, en donde pagará una multa y perderá parte del día.



A mí me da gusto que el personaje que enfrentó a esa señora no haya cedido. Se ganó con creces lo que le pasó y estoy seguro que no repetirá semejante actuación. Si le vuelve a ocurrir algo por el estilo, seguramente recogerá muy rápidamente su basura y olvidará que existió esa prepotencia mexicana, tan característica y tan mala idea para la convivencia de una ciudad. El video completo muestra un ejemplo de cómo somos. Y mientras seamos como esa señora, este país simplemente no es víable.

Sunday, November 22, 2015

Un problema táctico con una solución inesperada



Muchas veces en ajedrez se llega a posiciones donde uno de los bandos ha acumulado todas las fuerzas posibles por ejemplo, contra el rey enemigo. Y esto parece ser lo que ocurre en la siguiente posición (ver diagrama), en donde las blancas están amenazando dar mate en dos jugada, empezando por 1. Dxh6 y 2. Cg4#. Aparentemente todas las piezas blancas están coordinadas. Pero ¿qué podemos decir del negro? Pareciera que no hay salida y que deben rendirse. Para colmo, sus piezas no parecen estar coordinada ni tener un ataque ganador. ¿Pero es así? En la posición del diagrama juegan las negras. ¿Cómo jugaría usted?

La solución es:

1... Te1+! 2. Txe1 Dxc2+! 3. Rxc2 Cd4+ 4. Rb1 (4. RKd1 Cxb2#) 4... Cc3+ 5. bxc3 (5. Ra1 Cc2#) 5... Tb8+ 6. Ab7 Txb7+ 7. Ra1 Cc2#. Simplemente impresionante. Nótese como el alfil de h6, aunque está clavado, tiene influencia en la posición.

Cabe señalar que 1... Dxc2+? no sirve, pues después de 2. Rxc2 Cd4+ 3. Rd1 Cxb2+ 4. Rc1 Te1+ 5. Rxb2 Tb8+ 6. Rc3 Cb5+ 7. Rc4 d5+ 8. Axd5 Txh1 9. Axh1 Ca3+ 10. Rd4 Tb4+ 11. Rc3 Txh4 12. Axh4, las negras están absolutamente perdidas.

Es interesante señalar que Komodo 9.02 encuentra la solución de inmediato. Avisa mate en 7 jugadas, por parte del negro. Esto es el poder de la tecnología aplicada al ajedrez.

Monday, November 16, 2015

Para quien quiera programar en Prolog


Prolog (PROgramming in LOGic) es un lenguaje funcional, declarativo, que a diferencia de los lenguajes de programación imperativos, en este caso lo que hace es describir el problema y Prolog, a través de su mecanismo de inferencia (implementado por Robinson en 1968), da los resultados a la problemática definida. Parece magia en algún sentido porque ¿cómo puede ser que un programa mecánico llegue a una conclusión en base a inferencias? Pues no lo es tanto. Prolog usa hechgos y reglas para llegar a conclusiones. Por ejemplo, podemos definir los siguientes hechos:

padre(juan,manuel).
padre(pedro,manuel).

En este caso leemos "manuel es el padre de juan" y "manuel es el padre de pedro".

¿Cómo podríamos hacer la inferencia evidente de que son hermanos? Muy fácil, creando la siguiente regla:

hermanos(X,Y) :- padre(X,Z), padre(Y,Z), X=\=Y.

Lo cual se lee: X y Y son hermanos SI el padre de X es Z, el padre de Y es también Z y X no es Y. 

Tenemos que aclarar esto último (X no es Y), pues sino, el programa reportaría que juan es hermano de sí mismo o que pedro es hermano de sí mismo, lo cual lógicamente no tiene sentido.

Y quizás estamos abreviando demasiado lo que puede hacer Prolog, pero la idea es ésa: poder hacer inferencias y llegar a resultados. Es interesante aclarar que en un lenguaje como estos, muchas veces caemos en el no determinismo, es decir, no podemos saber qué clase de respuestas entregará el programa y si éste entregará acaso alguna respuesta. Un ejemplo de esto puede verse en el problema que Bertrand Russell expresara: "en un pueblo existe un barbero, el cual rasura a todos aquellos que no se rasuran a sí mismos". Y la pregunta que hace Russell: "¿Quién es el que rasura al barbero?

Este tipo de problemas se puede expresar en Prolog, a pesar de que lógicamente no parece haber un resultado. Russell -de hecho- se inventa una teoría llamada "de tipos", en donde los conjuntos están perfectamente definidos. En esta teoría, el filósofo y matemático nos dice: "la pregunta no tiene sentido, es inválida".

Pues bien, el problema de Russell se puede expresar de la siguiente manera en Prolog:

rasura(X,Y) :- not(rasura(Y,Y)).

Esto se lee así: X rasura a Y SI Y no se rasura a sí mismo.

Como puede verse, es una regla recursiva, que se llama a sí misma. Si se ejecuta este programa en algún intérprete o compilador de Prolog, el resultado será simple: error por memoria insuficiente, overeflow, etcétera.

Quien tenga interés en desarrollar programas de esta naturaleza, o de entender mejor el paradigma funcional y declarativo, bien puede usar intérpretes y compiladores que son de código abierto y/o libres. Un ejemplo de ellos es SWI Prolog, el cual es una implementación muy cercana al Prolog estándar. que si mal no recuerdo, tiene ya más de 15 años de haberse propuesto.

SWI Prolog está documentado, hay ejemplos, tutoriales, comunidad de usuarios e incluso, se puede correr en el navegador. Todo esto la hace una herramienta estupenda por muchos motivos, aparte de gratuita, está muy bien cuidada. Échenle un ojo, de verdad me ha convencido.


Thursday, November 12, 2015

Mate en seis jugadas


Hace unos días, exactamente el 9 de este mes de noviembre, jugué una partida rápida (de 1 minuto por jugador), contra alguien cuyo apodo es Zambianizer, que conducía las piezas negras La partida no es ninguna maravilla, pero llegué a la siguiente posición con 7 segundos en el reloj. Aquí, no hallé la manera de ganar y con tan poco tiempo, terminé perdiendo por tiempo. ¿Puede usted lector/lectora, la secuencia ganadora. Komodo, Fritz, StockFish, etcétera, encuentran mate en seis jugadas.



morsa - zambianizer
ICC 9/11/2015
Juegan las blancas y dan mate en seis jugadas


La solución es:

27. Th8+! Rxh8 28. Dxe8+ Dg8 29. Th1+ Rg7 30. Th7+! Dxh7 31. Df7+ Rh8 32. Dxh7#

Rutinaria, diría el Maestro Internacional Guil Russek, pues todas ls jugadas son obligadas. Lo que me llama la atención es cómo el sacrificio de la torre blanca en h8 es una jugada literalmente de un patrón de ataque. Cabe destacar que las máquinas ven el mate en 6 jugadas de forma instantánea.

___
(*) Foto cortesía de Mike Thomas

Thursday, November 05, 2015

¿Legalización de la marihuana?



Ayer muchos medios informativos hablaban de una decisión de la Suprema Corte de Justicia de este país, en donde se legalizaba el consumo de la marihuana para fines recreativos. Vi muchos tuits aplaudiendo la medida. Fotos de gente fumando su porro, etcétera. Pero curiosamente, la efervescencia de la nota decayó cuando se supo que esto sólo se aplicaba a cuatro ciudadanos que habían interpuesto un amparo. Es decir, estos cuatro personajes pueden ya consumir marihuana de forma lúdica. La ley ya no se los prohíbe a ellos.

Desde luego que esto abre el camino para que la discusión se generalice y considerando esta decisión, la Corte Suprema de este país podría eventualmente quitarle la ilegalidad al consumo de la marihuana con motivos recreacionales. Pero ¿Es buena idea?

Yo opino que no. La drogadicción no es un asunto recreacional. No existe seguramente ninguna droga recreacional segura. Los que apelan por la despenalización de la marihuana dicen que no hay una sola víctima por el uso de la misma. Pues lo mismo se podría decir del tabaco o del alcohol, porque en todo caso estas sustancias no matan en un cortísimo plazo como quizás la cocaína o heroína, que además de ser muy peligrosas, son muy adictivas.

Para favorecer la despenalización, se habla de que la marihuana tiene usos médicos. Muy bien, muchas drogas basadas en el opio existen y se usan cuando el dolor de los pacientes suele ser insoportable. Si la marihuana tiene esos efectos, pues muy bien, prodúzcase en pastillas o jarabes pues el componente activo se conoce. Vamos, no se tiene que fumar para que funcione.

La realidad es que hay muchos estudios, ninguno definitivo por cierto, en donde se habla de los pros y contras de esta sustancia. Se dice que puede provocar una adicción menor al tabaco, por ejemplo, pero que puede provocar trastornos mentales que a la larga lleven a condiciones extremas y a la muerte. A mí me queda claro que drogarse por recreación, no parece ser una buena idea. Sería mejor quizás promover actividades lúdicas como el deporte, que genera endorfinas en los que lo practican y es mucho más saludable que fumar marihuana.

Hay quien aduce que ya somos una sociedad adulta y el gobierno debe dejarnos tomar nuestras propias decisiones. Bueno, sí y no. Imaginemos que el gobierno decide quitar los semáforos porque como somos adultos, sabremos pasar y dejar pasar. Pues sería una medida imposible de realizar porque la condición humana del egoísmo impediría que funcionara la medida. Así, si para algo tan simplón como quitar o no un semáforo no somos lo suficientemente maduros para pasar y dejar pasar con criterio, menos en el caso de la marihuana. Lo primero que veríamos son los excesos y en todo exceso caemos en otras situaciones que pueden desembocar en algo más peligroso.

Imaginen que se permite que la gente fuem marihuana y alguien decide irse a su casa manejando. Dicen que la marihuana relaja. Bueno, pues en ese relajamiento ese personaje drogado probablemente no podrá tener los reflejos cuando ocurra un incidente de tráfico. Podría chocar contra otro auto y además, causar un accidente mortal. ¿Y todo porque viene drogado, pero permitido por esta sociedad que se siente adulta?

Por mí, que se droguen, que se pongan pachequísimos, que fumen hasta que no tengan un alveolo sano, que beban alcohol hasta que se mueran de cirrosis. Que lo hagan sí, pero que no metan a terceros en este asunto. Los casos de gente alcoholizada manejando y causando terribles accidentes no es novedad. Los casos de cáncer de pulmón están asociados al consumo del tabaco y además, se ha hablado en los últimos años gente que nunca ha fumado pero que tiene cáncer de pulmón, asociado al humo de los fumadores y de la convivencia con estos. Hay curiosamente gente que fuma 70 años de su vida y se muere de vejez a los 90 años. Hay otros que tienen 50 años y traen un cáncer insalvable o enfermedades como EPOC, que les dan una vida miserable, viviendo todo el tiempo con falta de aire. Los problemas del tabaquismo, como del alcoholismo, son problemas de salud pública. Y ahora ¿queremos meterle más ruido al sistema de salud con los casos de enfermedades provocadas por la marihuana?

Y si vamos a otras drogas más peligrosas, ¿por qué no legalizarlas? ¿Ya qué más da? ¿No somos adultos y sabremos hacer uso de nuestras libertades nuevas? Lo más probable es que legalizar la cocaína y heroína sea aún peor idea. Pero ya subidos en este barco, todo podría pasar.

Yo puedo entender que la gente quiere tener libertad de hacer muchas cosas, pero pensemos en las consecuencias sociales. A todos los que apoyan la medida ¿Les gustaría ver a sus hijos pachecos por fumar marihuana? ¿No buscarían impedirlo o evitarlo de alguna manera?

Monday, November 02, 2015

¿Sirve para algo orar? (segunda parte)


Hace unos días se generó una alarma por la llegada del huracán "Patricia" el cual, se decía, era el huracán más fuerte de toda la historia de la humanidad. Patricia iba a pasar por el territorio mexicano y el gobierno estaba haciendo todo lo posible por tomar las previsiones necesarias. Se reunió el gabinete para discutir las medidas. Se usaron las redes sociales para informar a la población. Los noticieros no hablaban de otra cosa y como fondo tenía unas imágenes de un huracán gigantesco y devastador. En Facebook se publicaban imágenes de la Estación Espacial Internacional que parecían impactantes. Bueno, la cosa parecía gravísima.

Pero nada pasó. Patricia tocó tierra y por arte de magia se degrado a tormenta tropical. Las peores previsiones fueron aparentemente infundadas. Esto, desafortunadamente, dio pie a dudar de la promoción mediática con la que "inundó" el gobierno sus acciones. Hubo el "sospechosismo" ya habitual en el mexicano y se empezó a pensar que ni era tan grave el problema y que tampoco era Patricia el huracán más mortífero de la historia.

Enrique Peña Nieto destacó la fe del pueblo de México en sí mismo y su unidad, que se unió con cadenas de oraciones e incluso solidaridad, con creación espontánea de centros de acopio para afrontar la llegada del huracán Patricia, que en buena medida permitieron superar esta crisis.

Y de inmediato surgieron las críticas, totalmente justificadas, pues asignarle a la divinidad el habernos salvado, previas cadenas de oraciones, es regresar al oscurantismo. Para empezar, si existiese tal divinidad, ¿por qué nos mandó un huracán? Pero más allá de eso, habría que tomar una actitud más científica. ¿Pueden las cadenas de oraciones hacer un cambio? ¿Qué hay de quienes rezan para ayudar a quien está enfermo, o a quien tienen que intervenir quirúrgicamente? ¿Será posible que las oraciones produzcan una diferencia?

Si nos remitimos a la mecánica cuántica, sabemos que el observar un experimento afecta los resultados de éste. Y si esto pasa en partículas subatómicas, ¿no pasará en los eventos cotidianos? ¿Cómo podríamos probar que esto ocurre o bien que es un simple mito que se ha eternizado de generación en generación?

No soy el primero que ha pensado en esto. Hay muchos estudios que demuestran que no hay efecto en el rezar o al menos, siquiera un pequeño efecto. Por ejemplo, en 14 estudios del 2006 se concluyó que no hubo un efecto discernible. Sin embargo, en el 2007, en 7 de 17 estudios tuvieron un efecto pequeño pero significativo en esto de orar por alguien. No obstante esto, se hizo notar que los estudios más rigurosos no mostraron nada significativo en sus resultados.

Hay estudios que datan de 1872, donde el científico victoriano Francis Galton hizo el primer análisis estadístico. No halló que rezar sirviese para algo. Más de 100 años después, Byrd -en 1988- usó a 393 pacientes de la unidad del área de coronarias del Hospital General de San Francisco. Los hallazgos de Byrd pueden resumirse en que parece haber un efecto y que éste es benéfico para los enfermos. La reacción de la comunidad científica fue mixta. Algunos dudaron de su rigor para el trabajo realizado. Otros concluyeron que esto no tenía ningún pero.

Harris, en 1999, decidió replicar los hallazgos de Byrd pero en condiciones experimentales más estrictas, donde notó que los resultados del este investigador no fueron totalmente ciegos y concluyó, después de un trabajo muy cuidadoso, que no era posible repetir los resultados de Byrd y que además, los resultados favorables podían explicarse por probabilidad.

Hay otros estudios, pero el consenso general indica que no parece servir de nada orar. Sin embargo, considerando esto, decidí realizar mi propio experimento. Escribí un programa simple que busca hallar si el concentrarse en un número pudiese cambiar el resultado de la elección azarosa del 0 al 9 en la computadora. El mecanismo funciona así:


  • Se le pide un número al usuario (del 0 al 9)
  • Se le da un tiempo determinado para que se concentre (rece), pidiendo que ese número es el que eligirá la computadora al azar
  • Al terminarse el tiempo, el sistema arroja el número elegido al azar y lo despliega (en rojo si la elección del usuario no fue la de la máquina y en verde si el usuario acertó al número elegido al azar)
  • El sistema lleva una bitácora de experimentos realizados para estudiarse posteriormente.


Si existe una correlación entre el número que pide el usuario que salga contra el que salió, podríamos pensar que hay un elemento más allá de la simple estadística. En términos de probabilidad, un usuario podría acertar 1 de cada 10 intentos. Quizás acertar 2 de 10 sea relativamente significativo pero 6 o 7 de 10 veces sería ya para pensarse.

¿Podría ser este un experimento para probar si sirve orar? No estoy muy seguro. Claramente el algoritmo pseudo-azaroso de la máquina podría ser el primer pero. No obstante esto, podemos empezar a probar si de alguna manera algún usuario se concentra lo suficiente y logra vencer a la probabilidad del evento.

A quien le interese el programa, puede pedírmelo a morsa@la-morsa.com y se lo mandaré por correo electrónico.


Referencias:

Wikipedia 

Friday, October 30, 2015

¿Tienen alguna utilidad las cadenas de oración?



Hace tiempo escribí sobre si sirve el rezar y la conclusión a la que llegué es que no, no sirve, es inútil. Sin embargo, con el evento del huracán Patricia, que supuestamente iba a devastar la región correspondiente pegada al océano Pacífico -y que no pasó nada, surgieron en las redes sociales imágenes para hacer "cadenas de oración" por quienes iban a sufrir el meteoro. Se habló tanto de que éste era el huracán más peligroso de toda la historia de la humanidad, que se esperaba lo peor, pero nada pasó. Entonces los que creen en las cadenas de oración atribuyeron que "Patricia" se degradara a tormenta tropical fue un asunto de la oración que los mexicanos practicaron.

Pero si esto hubiese sido poco, salió Enrique Peña Nieto a decir que gracias a las oraciones de los mexicanos, en parte, no había pasado nada. Vamos, que esto está fuera de lugar El mandatario no tiene porqué atribuir que no pasó nada cuando probablemente la ciencia pueda dar argumentaciones más racionales y lógicas.

Pero la pregunta sigue ahí: ¿Sirve orar? ¿Sirven las cadenas de oración? Comentaba con Pilar y ella me dijo que pensaba que podían servir. De hecho, me dio un argumento que no pude rebatir: "si en la física un experimento lo modifica porque lo observamos, ¿Por qué una cadena de oración, en donde mucha gente pida lo mismo, no podría modificar la trayectoria de -por ejemplo- un huracán".

En la física se sabe que la observación de un experimento modifica a éste. Así, la naturaleza onda/partícula puede verse reflejada cuando hacemos un experimento y lo observamos -o no. Ya escribí al respecto aquí. ¿Por qué pasa esto? no se sabe. La realidad es que el hecho de observar (con un aparato, no tiene que ser un ser consciente), modifica el experimento. Pensemos que una gran cadena de oración podría cambiar un evento como el del huracán. ¿Podría ser? No lo sé aunque claramente poder probar que algo en el comportamiento del huracán ocurre porque se reza no veo cómo probarlo.

Sin embargo, me di a la tarea de pensar una manera de ver si las oraciones en particular sobre un tema, podrían alterar el comportamiento de algo externo. Se me ha ocurrido entonces hacer un programa de computadora que por ejemplo, seleccione un número del 1 al 10 y entonces -antes de seleccionarlo- el usuario tenga por ejemplo 25 segundos para pensar fuertemente con un número en particular, intentando mentalmente que la máquina -con su algoritmo pseudo-aleatorio- producirá después de que pase ese tiempo de fuerte concentración del individuo que usa el software. Con la máquina podemos hacer un registro de los intentos y si el programa "cedió" al rezo o a la petición mental del usuario y entonces el sistema azaroso puso el número que el usuario pensó.

Para asegurarse que no se haga trampa, el usuario deberá tener lápiz y papel en donde anotará el número que quiere que la máquina produzca. El sistema a los 25 segundos (se puede cambiar el tiempo para concentrarse en el número que se piensa), producirá un número del uno al diez y preguntará al usuario si acertó. Se puede entonces hacer una estadística trivial. Si los resultados son azarosos, el usuario tendrá 1/10 de probabilidades de que aparezca el número que pensó. Si un usuario puede modificar al programa, tendría que ser estadísticamente significativo.

Cabe decir que ya alguna vez escribí un programa para saber si se tenía percepción extrasensorial. Aquí la cuestión va por otro derrotero. Se trata de influir en la decisión del software para poner un número de diez posibles después de concentrarse en un número en particular por 25 segundos. De hecho, no se pone un botón para que la máquina dé su resultado para no "interferir" con la concentración del usuario.

Cuando le comenté a Pilar de mi idea de hacer un programa de esta naturaleza, me dijo que los usuarios deben creer que el creer en algo, en que el orar, puede ser significativo y que puede hacer un cambio.

Pues bien, en mi siguiente artículo hablaré de este programa y lo pondré a disposición de todos los que se interesen en el mismo.

Monday, October 19, 2015

¿Pueden tener las computadoras intuición en el ajedrez?



El tema de la intuición siempre nos lleva por caminos misteriosos porque de alguna manera, quien por intuición, sin tener toda la información sobre un problema, halla la solución, nos asombra y no podemos explicar cómo es que lo hizo. Hay jugadores de ajedrez que desde muy pequeños saben dónde deben ir las piezas. Capablanca era uno de ellos. Kaspárov también desde chico mostró habilidades notables al respecto. Muchos otros jugadores de altísimo nivel nos han enseñado que desde pequeños tuvieron esa capacidad impresionante para jugar bien.

Uno podría preguntarse si la intuición se puede aprender. Yo estoy convencido que sí y además, explico qué hay que hacer en mi librito publicado por Chessy "Desarrolla la Intuición en Ajedrez". Pero más allá de eso, ¿Puede aprenderse la intuición de forma que pueda ser programada en un motor de ajedrez? ¿Cómo se podría hacer esto? Pues bien, hallé un estupendo librito "Chess and Machine Intuition" (1998), de George W. Atkinson. En él hace un desarrollo bastante completo del "estado del arte" en el tema del ajedrez, las computadoras y la intuición. Fragmentos del libro pueden hallarse en Google y dan una buena idea del contenido si no se quiere comprar el libro físico, que cuesta unos 30 dólares.  Atkinson hace un interesante viaje por los primeros programas de computadora, los errores, los fracasos y al final de cuentas, los avances que se empezaron a ver después de que los científicos estudiaron el problema por alrededor de unos 50 años, llegando a la postre a derrotar al Campeón Mundial Garry Kaspárov, en un encuentro a seis partidas.


Y aunque el libro se lee casi de una sentada, para decirlo de manera coloquial, el capítulo 10 y 11 (los dos últimos), son extraordinarios. En el capítulo 10 Atkinson se pregunta cómo es que aprendemos y de hecho, pone ejemplos de sistemas que buscan aprender. Habla de perceptrones, de su boom inicial para después ser destrozado por la crítica científica. Y ese capítulo en particular es del que quiero hablar aquí. Atkinson se pregunta cómo es que los seres humanos llegamos a sintetizar información, a clasificarla. Y además, pone ejemplos de cómo las máquinas y sus programadores han intentado emular esta cuestión. Realmente el asunto lo lleva incluso a hablar de Hollander y de su sistema de "algoritmo genético", fundamental en el desarrollo de la "Vida Artificial" (como en el librito que escribí de ese tema y que está publicado como libro electrónico en Kindle/Amazon bajo el título "Jugando a ser Dios").

Entonces Atkinson y sus argumentos me dejaron pensando. ¿Podría haber manera no de clasificar patrones o configuraciones ganadoras en ajedrez, a partir de los conocimientos humanos sino que, al contrario, la propia máquina tuviese alguna manera de hallar los elementos que hacen de una combinación ganadora? Es una pregunta que simplemente por el momento no puedo contestar. Me gustaría decir que sí, que se puede, pero francamente no se me ocurre ninguna idea para empezar a trabajar sobre ello. ¿Habrá que crear quizás una serie de primitivas (algo así como si fuesen axiomas), para pasar a este posible nivel de abstracción donde la computadora reconoce posiciones favorables? ¿Cómo hacer eso? Misterio.

Por lo pronto aquí dejo las cosas. En la medida que se me vayan ocurriendo ideas, las plasmaré en este blog.

Tuesday, October 13, 2015

Compresión de imágenes: Codificación/decodificación RLE (Parte II)


En el artículo pasado hablamos de una manera sencilla de comprimir imágenes en tonos de gris. Desde luego que esta idea es limitada y finalmente no funciona de forma muy adecuada para las imágenes en color. Pero antes de discutir el caso de las imágenes en color, debemos considerar otras alternativas que pueden usarse para comprimir imágenes en tonos de gris. Uno de los algoritmos más usados es el llamado RLE (Rule Length Encoding). La idea funciona así: sabemos que una imagen en tonos de gris contiene una serie de números que se repiten, en particular tripletas de pixeles (en sus componentes R, G y B), los cuales son el mismo color. Si tenemos regiones en donde se repiten estos valores R, G y B, bien podríamos pensar en sustituirlos por el byte que hemos leído y un contador que nos indique cuantas veces se repite el mismo. Esto es básicamente el RLE.
Supongamos que tenemos una imagen de puntos al azar, de todos los posibles tonos de gris. Si son al azar, probablemente no tengamos secuencias largas de un solo tono de gris, por lo que por ejemplo, si la imagen original contiene los siguientes bytes (en hexadecimal):

de de de de de de de de 98 98 98 98 98 98 ff ff 01

podríamos crear un nuevo archivo que tuviese los siguiente valores:

de 08 98 06 ff 02 01 01

Lo cual nos diría que tendríamos 08 bytes con el valor de, 06 bytes con el valor 98, 2 bytes con el valor ff y finalmente un byte con el valor 01.

Cabe señalar que el esquema RLE bien podría usarse para comprimir no solamente imágenes, sino cualquier archivo, aunque muchos no son muy susceptibles de sacar ventaja de la repetición de símbolos. Por ejemplo, sería mala idea usar RLE para comprimir textos, pues estos no tienen repeticiones de letras contíguas. Por ende, no es el mejor de los esquemas para archivos de esa naturaleza.

Los algoritmos básicos de codificación y decodificación son los siguientes

CODIFICACIÓN RLE:



DECODIFICACIÓN:



Nótese que este par de rutinas funcionan con todo el archivo que se desea procesar, lo cual no necesariamente es la mejor idea. Lo más sensato es usar el "canvas" (en donde reside la imagen en un eventual software de procesamiento de imágenes) y aplicar RLE a los pixeles. De hecho, si se procesa, como en este caso, un archivo completo, estamos intentando también comprimir el encabezado que muchos formatos gráficos tienen, incluso los archivos BMP. De nuevo, se advierte que esto es simplemente una idea y el artículo muestra una primera implementación general para ilustrar lo que hay que hacer.

En pruebas hechas con estos algoritmos se halló que una imagen en tonos de grises (que contenía simplemente un bloque en un solo tono de gris), que ocupaba originalmente 212 Kbytes, se redujo a 3Kbytes. Para saber el factor de compresión, dividimos (3K / 212K) * 100, lo cual entrega 1.415, es decir, el archivo comprimido ocupa menos del 2% del archivo original. Desde luego, las imágenes cotidianas no son tan buenas para la compresión. Sin embargo, en casos como en el del ejemplo, es espectacular la compresión de las imágenes.

Si por ejemplo, usásemos este algoritmo para procesar una imagen en tonos de gris que están al azar en una imagen, pudiese no tener ni remotamente los resultados mencionados. Utilizando la siguiente imagen



hallamos que la compresión llego a 141 KBytes, cuando la imagen original fue de 212 KB. Es decir, 66.50 % de compresión sobre la imagen original.

Sunday, October 11, 2015

Introducción a los algoritmos de compresión de imágenes


En el curso que doy de Proceso Digital de Imágenes (PDI), es siempre importante hablar de un tema que muchas veces es difícil de abordar. Se trata del de la compresión de archivos, en particular, del de la compresión de imágenes, el cual en alguna medida permite que las mismas ocupen menos espacio en los medios de almacenamiento y mejor aún, que la transmisión de las imágenes y fotos sea más rápido. Por ejemplo, si puede reducir una imagen al 10% de su tamaño en bytes, pues puedo, en principio, enviar diez imágenes por el precio de una, para decirlo de manera coloquial. Así, la compresión ayuda muchas veces a ser más eficientes en lo que se refiere al uso del ancho de banda por Internet. Por otra parte, la compresión permite usar menos espacio de almacenamiento.

Hay básicamente dos esquemas usados en este tema:

  • Compresión sin pérdida de información (losseless)
  • Compresión con pérdida de información (lossy)


En la primera, la compresión y descompresión del archivo (para convertir la imagen comprimida y podamos verla), no pierde información del archivo original. Vamos, al descomprimir la imagen es estrictamente igual a la original. La segunda compresión, en cambio, pierde información y el efecto de comprimir quizás no lo note el ojo humano al descomprimir y mostrar la imagen, pero si vemos a detalle veremos que habremos perdido información de la imagen original.

Cabe decir que a cambio de ahorrar bytes en el archivo original de almacenamiento, la versión comprimida debe descomprimirse y eso finalmente lleva tiempo. En cómputo no existe ningún procedimiento ganar-ganar. Si ganamos en espacio perdemos en tiempo y viceversa. Esto es un buen ejemplo de ello.

Los esquemas de compresión de imágenes son variados y los más usados son JPG o TIFF. Hace unos años, más de 20, el formato PCX, del cual hablaré en otro artículo próximamente, era uno de los más usados y simples, pero cayó en desuso ante sofisticados esquemas de compresión como los que plantean TIFF o JPG.

Pensando en cómo ejemplificar la compresión de imágenes, como una primera aproximación al problema, se me ocurrió que podía reducir a una tercera parte cualquier imagen que estuviese en tonos de grises. La razón de ello es simple: en 24 bits de color tenemos 8 bits para el rojo, 8 para el verde y otros 8 para el azul. Así, tenemos más de 16 millones de posibles colores con combinación de bytes R,G,B, que es el modelo conocido precisamente como RGB. Pero en tonos de gris tenemos solamente 256 tonos posibles. Cada tripleta R,G,B contiene R=G=B, es decir, las componentes de color en RGB son idénticas entre sí. Por ello, tenemos el tono de gris más oscuro (el negro), como (0,0,0), un poco menos negro será (1,1,1), menos negro aún será (2,2,2) y así sucesivamente. El blanco será (255,255,255).

Si esto es así, una imagen en tonos de gris puede reducirse a la tercera parte de su tamaño original leyendo una sola componente (el R, el G o el B de cada pixel de la imagen) y escribiendo en un archivo de bytes esa componente de cada pixel en la imagen. La idea es muy simple de programar y el algoritmo es éste:


(dar click en la imagen para verla más grande)

Cabe decir que cuando tengo la imagen que voy a procesar, primero la paso a tonos de gris tomando las componentes R, G y B, sumándolas y dividiendo de manera entera entre 3, es decir:

Gris := (R + G + B) div 3;

Así me aseguro que la imagen es de tonos de gris. De hecho, al convertir de color a tonos de gris ya perdemos información de color de la imagen, pero en este caso no es el asunto que discutimos.

Ahora bien, ¿cómo podríamos mostrar la compresión lossy, que es donde sí se pierde información al recuperar la imagen comprimida? Una idea sencilla resultó ésta: Tomemos una imagen en color y entonces revisemos las componentes de color (R,G,B). Tomemos el Rojo, la R y listo, digamos que ése es el tono de gris. Por lo tanto la imagen final en cada pixel tendrá el componente (R,R,R) en donde había antes un (R,G,B). ¿Qué tanto podría cambiar la imagen original en blanco y negro usando solamente la componente R de cada pixel?

He aqui dos imágenes. La de la derecha es la imagen en tonos de gris original. La de la izquierda es utilizando solamente la componente R(ed) para formar el tono de gris.



Tonos de gris vs Lossy (usando la coordenada R)

La diferencia visual quizás no es muy notable, pero de alguna manera, si nos fijamos con cuidado, veremos que la imagen "lossy" es un poco más oscura. Si en lugar de usar la componente R usáramos la B, encontraríamos un resultado "lossy" más obvio:


Tonos de gris vs Lossy (usando la coordenada B)

De hecho, se me ha ocurrido hacer un experimento más: Tomemos la imagen original en tonos de gris y saquemos los tres componentes de color, R, G y B, tomando uno de ellos al azar para formar el pixel correspondiente como (R,R,R), (G,G,G) o (B,B,B). Tal vez así, al elegir consistentemente el R, el G o el B de forma que se distribuyan esos tonos de gris formados con una sola componente, el resultado final podría ser mejor. Hice la prueba, pero me llevé una sorpresa inesperada:



Tonos de gris vs Lossy al azar (entre coordenadas R,G y B)

En resumen, usar una sola componente parece que no es tan descabellado si es que usamos la componente R o la G. Con la componente B la descompresión si muestra que se ha perdido mucha información de la imagen original. Probablemente la coordenada R sea la mejor opción en este caso.

El esquema mostrado reduce las imágenes a un 33% del tamaño original, lo cual quizás no puede considerarse malo, peor por ejemplo, esta misma imagen en JPG se reduce dos veces lo que podemos lograr con esta idea.

Aún así, no hay ninguna mejora con respecto al tamaño de la imagen comprimida. Digamos que es independiente de la componente elegida aunque para fines ilustrativos, usar el tono de gris calculado antes de procesar la imagen nos da una imagen resultante en donde no se pierde información de la imagen original.

Quien quiera mi programa de demostración, pídamelo a morsa@la-morsa.com y a vuelta de correo lo recibirá de manera gratuita.