Wednesday, December 30, 2020

Mi nuevo libro: Ajedrez por computadora, de Turing a las redes neuronales


Hace aproximadamente un año, decidí iniciar un nuevo libro sobre ajedrez por computadora. Este es un tema en el que he trabajado por muchos años y del cual tengo mucha, pero mucha información. Así entonces, puse manos a la obra y después de algunos meses terminé una primera versión del libro, el cual es un viaje por el fascinante mundo de quienes imaginaron tener una máquina que pudiese jugar al ajedrez y desde luego, aquellos que fueron pioneros en este campo.

El libro analiza los primeros programas de ajedrez, aquellos que jugaban en máquinas que costaban millones de dólares y que eran básicamente un experimento científico. Finalmente con la irrupción de la computadora casera, nacieron un número importante de programas que empezaban a hacer sus pininos en el mundo del ajedrez computarizado. Desde luego, la revisión de los programas en arquitecturas no sólo de 8 bits, sino de 16, 32 y 64 bits, se analiza con cierto detalle. Finalmente se llega a AlphaZero, el programa de ajedrez de DeepMind, que funciona como una red neuronal y que ha revolucionado la manera de pensar sobre el propio ajedrez, después de ver algunas partidas por demás increíbles de este nuevo ingenio computarizado.

Aparte de ello, se hace un análisis de los trabajos más importantes en el mundo del ajedrez por computadora, iniciando con el artículo de Alan Turing y de Claude Shannon, este último es probablemente el que dio la pauta de cómo debería escribirse un programa que jugase al ajedrez y que, de hecho, la mayoría de los programadores han seguido este camino, al menos inicialmente.

Dentro del libro el lector encontrará también mis propios hallazgos, por ejemplo, mi trabajo académico que ha sido base para finalizar el doctorado en ciencias de la computación. Estoy convencido que el ajedrez es un lenguaje y que nos hacen falta herramientas para usarlo como tal. Pongo pues, a tela de juicio, mis conclusiones sobre este tema en este mismo libro.

Finalmente, quiero agradecer al GM Miguel Illescas, que aceptó apoyar la publicación virtual de este libro. El mismo puede conseguirse gratuitamente si el lector interesado se suscribe a un año de la versión digital de la revista que dirige el propio Miguel, "Peón de Rey". Ojalá y este trabajo llegue a muchos lectores.

Este el el índice de la obra:




Saturday, December 26, 2020

El triunfalismo absurdo de la 4T


Este gobierno, encabezado por López Obrador, está caracterizado por ocurrencias y dislates. Un par de ejemplos: "la fuerza moral del presidente" (de acuerdo a López Gatell), más poderosa que el covid-19; o la rifa del avión que no se rifó y que fue a pérdidas; o la falta de medicamentos para los niños con cáncer; o el manejo de la pandemia, el cual nos tiene en el cuarto lugar de fallecidos por covid-19.

Y el gobierno puede hacer todas las maromas que sea pero claramente su triunfalismo sobre el aplanar la curva, el domar la pandemia, el ya vamos de salida, se ha venido abajo porque ni se domó nada, ni se aplanó ninguna curva y ni lejanamente vamos de salida. El discurso oficial del inepto de López Obrador ha ido cambiando porque la realidad le da en la cara una y otra vez.

A pesar de un manejo absurdo de la pandemia, que López Gatell le echa la culpa a las co-morbilidades de la población mexicana, la llegada de la vacuna hace creer a este gobierno que ya vamos a superar la problematica. Y la realidad es otra: estamos lejos de superar nada. Primero, hay que vacunar a una población de 127 millones de habitantes, aunque reduzcámosla a 100 millones porque unos 27 millones son niños. 

Y este es el absurdo triunfalismo de la 4T: aunque se tengan contratos con las farmaceúticas que crean las vacunas, todavía falta vacunar precisamente a la población. Y vacunar a 100 millones no es un asunto fácil. Vamos, si se llega a vacunar 1 millón de personas por día, habría que hacerlo sin descansoi por 100 días, más de tres meses, y eso suponiendo el estado ideal de que se tienen los insumos, el personal para vacunar, etc. Vamos, que los registros indican que es un éxito para este país vacunar a unos 3 millones a la semana. Si es así, le llevaría al gobierno más deld oble de tiempo, aproximadamente 8 meses, lo cual son muchos meses. ¿Entonces? ¿Por qué hablan como si ya las cosas fuesen a cambiar de la noche a la mañana?

Pero más patético que este reto de vacunación universal, es el hecho de ver Claudia Sheinbaum, gobernadora de la CDMX, a Ebrard, Secretario de Relaciones Exteriores, al ridículo Secretario de Salud que más bien es un triste florero, al Secretario de Hacienda, Arturo Herrera y al propio López Gatell, yendo a recibir el primer cargamento con apenas 3 mil vacunas. Sólo faltaron los mariachis y los ¡Viva México!, todos coordinados en la mañanera por el Peje. Ah, qué México más príista, más anquilosado, más lamentable, el cual no ha aprendido nada de su historia pasada. Es decir, tenemos que estar en el escenario para cuando se tome la foto y no nos vayamos a mover, porque no salimos, como bien apuntaba Fidel Velázquez en los tiempos del poderoso PRI.

Por cierto, otros detalles de los cuales no se ha hablado: dijo el Secretario de Hacienda que se gastaron unos 33 mil millones de pesos en las vacunas, unos 1600 millones de dólares. Si se compran 127 millones de vacunas, el numerito habrá costado más de 12 dólares por vacuna, lo que contradice los cálculos del Peje, que hablaba de 4 dólares por cada una de las vacunas. Pero eso no importa. Si esos recursos se gastan para la salud del país, pues adelante. Nomás apunto que para variar, no dicen la verdad.

Este es el México triunfalista de la 4T, que no supo manejar la pandemia y espera que con la vacuna se resuelva todo lo que hicieron mal. Triste desempeño, mucha ineptitud y un gobierno dizque que buscaba el cambio, pero que es más torpe que cualquier gobierno anterior con el que se compare.

Tuesday, December 22, 2020

Cuando el destino nos alcanzó


La pandemia del covid-19 se ha convertido en una pesadilla que ha durado más meses de los que hubiésemos querido que durara. Las estimaciones del subsecretariuo de salud López Gatell, se demostraron siempre insuficientes y/o erróneas. Habló de picos de la pandemia que nunca llegaron (y no lo digo yo, lo dijo la Organización Mundial de la Salud), o bien, de que la epidemia terminaría en noviembre, aproximadamente. Vamos, que todas sus curvas, todas sus estadísticas resultaron equivocadas. Sus pronósticos de escenario catastrófico de 60 mil muertos no sólo se cumplió, sino que estamos por llegar al doble de esa cifra. Pero en todo esto, López Gatell no ha cambiado un ápice la estrategia contra la pandemia y los resultados ahí están, en donde hoy 22 de diciembre del 2020 estamos peor que el 20 de marzo de este mismo año, donde nos pidieron que nos confináramos. Vamos, que el destino nos alcanzó.

Y es que el manejo de la pandemia ha sido desastroso. Somos el cuarto país con más fallecimientos y con más muertos también en el grupo de la salud, ese que está en el primer frente contra el covid-19. ¿La razón de tal mal manejo? No se ha invertido dinero para luchar contra el Sars-cov2. Y entonces no se da seguimiento a los contagiados, no se cortan las cadenas de contagio y entonces el panorama se agrava. Para colmo, apostaron no a limitar la epidemia, sino a tener camas de hospitales y respiradores y aún así fueron rebasados. En este rebrote, según López Gatell, simplemente los servicios de camas de hospital están saturados (al menos en la capital de la República). La reconversión a hospitales covid fue insuficiente también. Como dijo el payaso tenebroso, Brozo, la pandemia les quedó grande y para hacerla más grave, insisten en una estrategia disfuncional que no ha limitado el medio millar de muertos por día.

Y voy a ser benévolo con López Gatell: no es totalmente culpa suya, porque simplemente no le han dado los recursos para hacer frente a la pandemia. Pero tampoco él ha mostrado reclamar la necesidad de más recursos para este fin. No, en lugar de eso le aplaude al ignorante de López Obrador todas sus tonterías. A mí me parece lamentable que López Gatell tenga un doctorado en epidemiología, en una universidad estadounidense y ahora que tiene la oportunidad de aplicar todo lo que aprendió, no pueda manejar la problemática que conoce en teoría perfectamente bien. 

Hoy la Ciudad de México está en semáforo rojo, en confinamiento, hasta el 10 de enero. La peor temporada para confinar a las personas por ser las vacaciones navideñas y en donde hay más gasto de dinero por parte de la ciudadanía, se viene abajo porque hay un estado de emergencia y de saturación de servicios de salud. Y todo esto sólo habla de la cantidad de mentiras que López Gatell nos dijo en todos estos meses. Nos mostraba imágenes de gráficas donde la curva de la epidemia estaba "aplanada", y la comparaba con otros países. Hoy resulta que todo esto ya no lo dice, ya cambió el discurso oficial. Ya estamos en emergencia epidemiológica y no parece haber servido todo el esfuerzo de la ciudadanía en los meses anteriores.

López Gatell no tiene la mínima credibilidad frente a una ciudadanía a la que le mintieron todos los días. El mismo presidente dijo una veintena de veces que la curva se había aplanado. Comento el doble de veces que la pandemia estaba controlada. Hoy no dice ya eso porque evidentemente la realidad supera la imaginación de un pejepaís inexistente, en donde hay abrazos y no balazos, donde tenemos segun él un sistema de salud como el de los países nórdicos, aunque sigan faltando medicamentos contra el cáncer para los niños. 

Y voy a eso: ya no importa que el presidente diga "me canso ganso", "la prensa fifí", "nuestros opositores", etcétera. Puede descalificar a quien quiera, puede mentir cuanto pueda o quiera. La realidad le alcanzará y cuando esta le llegue, saldrá con alguna otra ocurrencia. Pero como se exhibe todos los días en su mañanera, en donde demuestra la ineptitud completa en temas como economía y administración de un país como México, él mismo se pinta solo sobre cómo es y cómo lo vemos. No hace falta burlarse de él porque el señor es una burla de sí mismo.

Y lo triste es que todos pagaremos por tanta estupidez gubernamental. Vamos a ver cuando lleguen las vacunas. Vamos a ver qué tan mal lo hacen, porque de verdad, dudo que lo hagan medianamente bien. La ineptitud sigue y seguirá todo el sexenio. López Obrador vive en su mundito fantástico y como la película Soylent Green (), renombrada aquí como "Cuando el destino nos alcance", mostrará la verdad de tener a un personaje tan miserable como presidente.

Sunday, December 13, 2020

Contenidos digitales e Internet


Hoy la red de redes, Internet, es cotidiana. Cada año las empresas que dan este servicio suelen subir la velocidad de acceso y ya podemos ver, por ejemplo, películas que nos mandan en "streaming" sin padecer cortes o lentitud en la transmisión. Esto hace unos pocos años no era posible pero hoy podemos enviar megas de información en relativamente poco tiempo.

Con la velocidad de transmisión/recepción de bytes a través de Internet, que aumenta sistemáticamente cada año, nos encontramos que los contenidos se están volviendo digitales y que no son otra cosa que ceros y unos, los cuales, al convertirse en archivos en la computadora, nos permite ver fotografías, películas, escuchar música, ver videos o bien leer libros completos. Y la realidad es que la mayoría de la información que los seres humanos consumimos se puede convertir en un formato digital, que puede ser reconocido y leído por nuestra computadoras caseras.

Aparte de ello, el acceso a la www, la web, nos da la oportunidad de descargar de esos portales toda clase de contenidos digitales. Y si alguien cree que solamente hay archivos legales pues se equivoca. Hoy la red está inundada de contenidos que violan los derechos de los autores en todo el mundo. Obviamente, debido a la facilidad de transmisión y recepción, incluyendo las altas velocidades en la red, prácticamente no hay contenido que no se haya digitalizado y puesto en algún portal dentro de la red, la mayoría de las veces de forma ilegal.

Pensemos en la música: originalmente la gente compra discos compactos, pero con la llegada de mp3 y los programas de "rippeo", muchos de ellos gratuitos, que transformaban las notas musicales en archivos mp3, el compartir música les pegó directamente en el bolsillo de las disqueras, que a pesar de sus esfuerzos anti-piratería, tienen la batalla perdida.

El software sufrió el mismo problema y las empresas que hacían programas pensaron en esquemas de anti-copiado, que funcionaron a medias. Hoy el software se maneja a través de licencias, que se validan en servidores y si el usuario no logra validar sus productos, cae en la piratería que en ocasiones puede detenerse. El uso de contraseñas para poder usar los productos no funciona en general y probablemente la solución sea el esquema actual, de renta de software en donde los usuarios que pagan reciben versiones que corren en sus computadorasa mientras paguen, como hace por ejemplo Adobe, en donde tiene un esquema de renta mensual por el uso de sus sólidos programas. Una solución alternativa es bajar radicalmente los costos del software. En las apps de los teléfonos inteligentes se ve claramente que este modelo funciona.

Las películas, los DVDs con los filmes más actuales, se han puesto de forma ilegal en muchos sitios en la red y si uno tiene la paciencia de buscar con cuidado, puede ver cualquier contenido, por más protegido o cuidado que esté de los amantes de lo ajeno. Incluso hay lugares donde se tienen las pistas de audio en diferentes idiomas, para poder ver los contenidos en el idioma que nos plazca. Y no vayamos demasiado lejos: podemos encontrar en tianguis e incluso en el piso de algunas calles, personas que venden a 20 pesos (1 dólar o menos), la última película de moda. Y desde luego, hay mercado para ello y hay negocio ¿o no?.

Y llegamos a los libros, que hoy en día manejan varios formatos, epub, djvu, pdf, mobi, etcétera. Amazon desde hace tiempo sacó su lector de librois electrónicos, Kindle, el cual incluso tiene un dispositivo físico sólo para leer libros, el cual usa tecnología de tinta electrónica y por ende, parece que estamos leyendo en hojas de papel blanco con letras negras. Aquí Amazon, entre otros, han hecho lo indecible por proteger los libros en formato digital. Su esquema de protección parte de dos ideas: la primera es que el libro esté asociado a una cuenta y la segunda, que la copia de estos archivos sea difícil o imposible para la gran  mayoría de lectores. Y aclaremos una cosa: no es que las personas quieran compartir sus libros digitales porque quieren destruir el capitalismo desbordado de Amazon. No. Lo que pasa es que el compartir está en la naturaleza humana y el comercio lo que siempre ha hecho es inhibir este comportamiento.

Como sea, hoy prácticamente la mayoría de los libros ya tienen una versión digital y además, si de nuevo, buscamos con cuidado, hallaremos copias digitales gratuitas. En un caso interesante estánb los libros de ajedrez, tema que tiene un nicho de mercado pequeño y muy focalizado. Los ajedrecistas compraban antes libros de ajedrez. Hoy consiguen bases de partidas, que suman millones, monografías electrónicas de aperturas y toda clase de libros de ajedrez en PDF, desde los clásicos como Mi Sistema, de Aaron Nimzowitsch, hasta los más modernos, escritos por Nunn, Ward, Gallagher, entre otros muchos autores.

Y es que hay portales dedicados a la piratería de libros, bases de partidas y software de ajedrez. Abiertamente se ponen los enlaces a los contenidos digitales sin pensar si los autores de los mismos dejan de percibir regalías o bien, si las casas editoriales logran  siquiera recuperar el dinero de una edición. A nadie le importa de lo que vivan los ajedrecistas/escritores e incluso en Facebook hay usuarios que comparten los contenidos digitales abiertamente y otros que piden dichos contenidos con el mayor de los desparpajos. Como la ley no va a perseguir a cada uno que baje un contenido digital aunque sea ilegalmente conseguido, el "crimen" se acepta y nadie hace un escándalo por ello. 

Y hablamos de libros de ajedrez porque es el tema que nos ocupa pero hoy día todos los contenidos digitales tienen autores y compañías que invierten y que no reciben nada a cambio del pirateo de estos contenidos. ¿Y qué hacer entonces? ¿Es acaso un problema insoluble? La realidad es que el anterior esquema de comercialización ya no funciona en el mundo de Internet. La única oportunidad que tienen los creadores de contenidos es bajar sus precios y tratar de llegar a audiencias más grandes. Nótese, por ejemplo, que Amazon vende libros en papel y electrónico, pero la versión de ceros y unos no es mucho más barata que la versión en papel. Si un libro cuesta 500 pesos en papel, la versión electrónica puede costar unos 450 pesos. La diferencia de precios no es significativa para que la gente compre la versión electrónica. Pero si el libro electrónico costara el 15% del libro en papel, es probable que mucha gente pensaría en adquirirlo y además, si el costo es bajo, tal vez ni siquiera lo pensaría en compartir. Pero esta solución tiene un problema: le estamos quitando las potenciales ganancias enormes a estas empresas de libros y pues no van a dar su brazo a torcer fácilmente.

Quien crea, al llegar a este momento de la lectura, que el autor de este artículo lo está viendo todo desde una tribuna, pues se equivoca. Soy víctima de la piratería de mis libritos de ajedrez. Uno de ellos tiene más de 1000 descargas. Y yo no soy un gran maestro con un fantástico curriculum ajedrecístico. Autores de mucho más prestigio padecen de esta problemática probablemente multiplicada. La solución es cambiar el modelo de negocios. El anterior está agotado. Ahí está la solución. Nada más hay que olvidarse de las ganancias del pasado. Ahora sólo queda llegar a más personas y vender más barato.


Friday, December 11, 2020

El cambio de discurso de la pandemia



Hoy 11 de diciembre del 2020 seguimos en la pandemia de covid 19, la cual -nos dijo López Gatell- estaría terminando para fines de este año. Desafortunadamente esta fue una mentira más del subsecretario de Salud, el cual cada vez queda peor parado ante las cifras -incluso las oficiales- sobre lo que verdaderamente pasa con la pandemia.

Hoy la Gobernadora de la Ciudad de México, Claudia Sheinbaum, apela a la solidaridad del capitalino para que no salga de casa porque las hospitalizaciones han subido alarmantemente en nuestra ciudad y la realidad es que no hay camas, ni respiradores suficientes, para los enfermos que llegan a los nosocomios de la capital. 


Desde luego que la pandemia ni se ha controlado, ni se ha domado, ni se ha aplanado la curva. Vivimos el problema como el 23 de marzo del 2020, cuando el gobierno decidió suspender un sinfín de actividades, obligándonos al confinamiento. Vamos, que el esfuerzo de quedarnos en casa, el cerrar la economíqa, no sirvió literalmente para nada y las conferencias vespertinas con el cretino subsecretario López Gatell, cada vez se muestran más inútiles y mentirosas. 

Vamos, ya el inepto de López Obrador ya cambió el discurso. Ya no habla de que domamos la pandemia, ya no menciona que no fuimos rebasados y ya no dice siquiera que hay enfermos que no tienen una cama disponible, incluso en los servicios médicos privados. Realmente la situación se está volviendo muy preocupante y se está demostrando lo que dijimos en este mismo blog hace tiempo: que la pandemia se ha manejado de manera irresponsable, pésimamente, y por ende, la situación real es hoy crítica.

Véase el video de López Gatell sobre lo que ahora dice es intrascente, el color del semáforo epidemiológico: https://twitter.com/i/status/1337579361625468928

El problema además se agudiza si pensamos que vienen las posadas (que deberían evitarse a toda costa), la fiesta navideña, los regalos,  los abrazos, etcétera. Vamos, todas estas muestras de cariño hay que dejarlas para cuando la pandemia vaya bajando realmente porque si se ignora la situación, la cantidad de muertos se va a incrementar notablemente y ni López Gatell podrá hacer sus matemáticas truculentas para mostrarnos que no somos tan malos en la pandemia si calculamos los muertos por millón.

Hoy Sheinbaum habla en sus anuncios casi de forma desesperada. López Gatell pierd3e los estribos indicando que el color del semáforo epidemiológico, herramienta que ellos se inventaron, es irrelevante. Y todo esto porque su pésima estrategia, su pinche estrategia contra la pandemia fracasó y que conste, ni siquiera tomando en cuenta que hay más muertos por covid-19 de lo que sus lindas curvas con excel indican.

Así las cosas. La 4T, el gobierno actual, demuestra una vez más tamaña ineptitud. Ahí están los datos. 

Wednesday, December 09, 2020

Programación funcional y búsqueda de patrones en ajedrez


Estoy en la etapa final del doctorado (o al menos eso quiero creer), y una de mis tareas es formular mis hallazgos en los patrones en ajedrez (y generalizarlos para los juegos de suma-cero e información perfecta), es la de generar un álgebra para formalizar los resultados. He encontrado que se puede usar un álgebra de conjuntos en donde el ajedrez puede ser perfectamente definido. Cabe decir que encontré un estupendo artículo de Max Euwe, matemático y ex-campeón del mundo ("Mathematics — Set-Theoretic Considerations on the Game of Chess"), en el que me he basado para definir un álgebra de conjuntos en patrones.

La idea es pues desarrollar esta álgebra y ver si por ejemplo, las funciones que definen los patrones pueden ser transitivas, distributivas, etcétera, así como observar si se cumple la composición de funciones, por mencionar una sola característica. Toda la idea es pues hallar si los patrones se aplican en las diferentes posiciones que pueden darse en las partidas analizadas.

Estamos hablando pues de un álgebra de funciones, que se extiende naturalmente de un álgebra de conjuntos. Lo interesante de todo esto es que esta álgebra de funciones puede establecerse dentro del paradigma de la programación funcional. Si lo pensamos con cuidado, la búsqueda de un patrón en una posición determinada es básicamente una función que toma dos parámetros (el patrón y la posición a analizar), y regresa un valor "true" (verdadero) o "false" (falso), que nos dice si el patrón existe en la posición o no.

Mucho del trabajo de la tesis ha sido buscar estos patrones y en un artículo pasado, mediante un programa que manipula las posiciones en formato FEN (Forsyth Edward Notation), logré subir la velocidad de búsqueda de 80 posiciones (una partida de ajedrez promedio) por segundo a 54 partidas completas por segundo (4320 posiciones). Para esto usé Regex (búsquedas regulares), implementadas en una biblioteca en Delphi.

Sin embargo, decidí hacer la prueba usando el paradigma de la programación funcional. Encontré que usando Prolog, un lenguaje declarativo que cumple con buena parte del paradigma funcional, podía ver qué tan rápido se podrían hacer las búsquedas de patrones. En la programación funcional se mapean objetos unos con otros y se observan las propiedades de las funciones en el dominio en el que se esté trabajando.

Pues bien, escribí el siguiente programa en Prolog:

equal([],[]).

equal([X|T],[X|T1]) :- equal(T,T1).

patron([[_,_,_,_,_,_,'k',_],[_,_,_,_,_,_,'p','p'],[_,_,_,_,_,_,'1',_],[_,_,_,_,'P','1',_,_],[_,_,_,_,'1',_,_,_],[_,_,_,'B',_,'N',_,_],[_,_,_,_,_,_,_,_],[_,_,_,'Q',_,_,_,_]]).


     search(Patron,Pos) :- fen(Pos),

                           patron(Patron),

                           equal(Patron,Pos),

                           write('Found in pattern '),

                           write(Pos),nl, 

                           fail.


fen([['r','n','b','q','k','b','n','r'],['p','p','p','p','p','p','p','p'],['1','1','1','1','1','1','1','1'],['1','1','1','1','1','1','1','1'],['1','1','1','1','1','1','1','1'],['1','1','1','1','1','1','1','1'],['P','P','P','P','P','P','P','P'],['R','N','B','Q','K','B','N','R']]).

fen([['r','n','b','q','k','b','n','r'],['p','p','p','p','p','p','p','p'],['1','1','1','1','1','1','1','1'],['1','1','1','1','1','1','1','1'],['1','1','1','1','P','1','1','1'],['1','1','1','1','1','1','1','1'],['P','P','P','P','1','P','P','P'],['R','N','B','Q','K','B','N','R']]).

fen([['r','n','b','q','k','b','n','r'],['p','p','p','p','1','p','p','p'],['1','1','1','1','p','1','1','1'],['1','1','1','1','1','1','1','1'],['1','1','1','1','P','1','1','1'],['1','1','1','1','1','1','1','1'],['P','P','P','P','1','P','P','P'],['R','N','B','Q','K','B','N','R']]).

fen([['r','n','b','q','k','b','n','r'],['p','p','p','p','1','p','p','p'],['1','1','1','1','p','1','1','1'],['1','1','1','1','1','1','1','1'],['1','1','1','1','P','P','1','1'],['1','1','1','1','1','1','1','1'],['P','P','P','P','1','1','P','P'],['R','N','B','Q','K','B','N','R']]).

    .

.

.

fen([['R','1','1','1','1','1','1','1'],['1','1','1','1','1','1','1','P'],['p','1','1','1','1','1','1','k'],['n','1','1','1','1','1','1','1'],['1','1','1','1','b','1','1','1'],['1','1','1','1','1','1','1','1'],['1','1','1','1','1','1','1','1'],['1','1','1','1','1','1','K','1']]).

fen([['R','1','1','1','1','1','1','1'],['1','1','1','1','1','1','1','k'],['p','1','1','1','1','1','1','1'],['n','1','1','1','1','1','1','1'],['1','1','1','1','b','1','1','1'],['1','1','1','1','1','1','1','1'],['1','1','1','1','1','1','1','1'],['1','1','1','1','1','1','K','1']]).

fen([['1','1','1','1','1','1','1','1'],['1','1','1','1','1','1','1','k'],['R','1','1','1','1','1','1','1'],['n','1','1','1','1','1','1','1'],['1','1','1','1','b','1','1','1'],['1','1','1','1','1','1','1','1'],['1','1','1','1','1','1','1','1'],['1','1','1','1','1','1','K','1']]).

fen([['1','1','1','1','1','1','1','1'],['1','1','1','1','1','1','1','k'],['R','1','n','1','1','1','1','1'],['1','1','1','1','1','1','1','1'],['1','1','1','1','b','1','1','1'],['1','1','1','1','1','1','1','1'],['1','1','1','1','1','1','1','1'],['1','1','1','1','1','1','K','1']]).

El predicado "fen" contiene una lista con 8 sublistas, cada una por cada fila del tablero de ajedrez y muestra una posición determinada en la partida de ajedrez. El predicado "patrón" define simplemente el "regalo griego". Tengo un predicado llamado "equal", que toma dos listas y ve si son iguales y finalmente defino la búsqueda del patrón en el predicado "search". Aquí busco en todas las posiciones que tengo definidas, poco más de 110,800. 

Los resultados obtenidos me parecen espectaculares: el programa (compilado) tardó unos 7 segundos en hallar los patrones en las más de 110 mil posiciones. Esto es unas 192 partidas por segundo, o 15,346 posiciones por segundo. Un incremento de casi 400%.




Cabe señalar que originalmente intenté usar Turbo Prolog 2.0, pero enfrenté problemas imposibles de superar porque dicho sistema se hizo para MsDOS. Pasé entonces a Visual Prolog, el sucesor de Turbo Prolog. Pero después de pelearme con el manual y haciendo multitud de pruebas, no pude ejecutar mi programa. Y aunque pienso que Visual Prolog es una estupenda herramienta de desarrollo, creo que no es para cualquiera. Por ende, busqué otra alternativa y hallé swi-prolog, una implementación muy buena, que compila también (y que indica el fabricante que la velocidad de proceso se incrementa dos o tres veces con respecto al código interpretado). Aquí además se mostró que las limitaciones del stack y del espacio para el programa ya no existían y el software corrió de manera expedita y en el tiempo mencionado. Y habría que decir que no he hecho las pruebas en mi máquina con Windows 7, la cual corre más rápido que la máquina con Windows 10. Esto debería subir a -al menos- a unas 25 mil posiciones por segundo, es decir, unasa 313 partidas por segundo.

Estos son los resultados preliminares de mis pruebas usando la programación funcional que pienso es, para el caso que nos ocupa, una de las mejores aproximaciones al problema. Seguiremos informando.

Tuesday, December 08, 2020

Sobre la interminable pandemia


Hoy ya no voy a hablar de la lamentable actuación del subsecretario de Salud, López Gatell, con respecto al manejo de la pandemia. Nos acercamos a 120 mil muertos (dos veces el escenario catastrófico según sus propias palabras), lo cual parece tenerle sin cuidado. A este gobierno no le importan los muertos sino la apariencia pública de que han hecho mucho contra la pandemia. La realidad, los miles de fallecidos hablan precisamente de lo contrario.

Y es queen este país no se invirtió el dinero suficiente para manejar la pandemia. No se hicieron pruebas multitudinarias ni se dio seguimiento a los contagios. La razón es simple: prefieren gastar en un ridículo aeropuerto, el trenecito maya o la absurda refinería, antes de pensar en los ciudadanos de este país. Es claro que los países que controlaron la pandemia mucho mejor que nosotros hicieron multitud de pruebas y llevaron un registro de seguimiento mucho más férreo de lo que ni siquiera aquí se planteó. Y ¿saben? es un problema simple de resolver si se pone dinero, pero no puso un peso el gobierno y entonces, a base de paliativos, de verdades a medias, de supuesta eficiencia de hospitales covid, ser iban a resolver las dificultades. Así que repito: la 4T sólo busca vivir en el mundo de las especulaciones, porque cuando se contrasta con los hechos, "ellos tienen otros datos".

Pero les pondré un ejemplo: uno de mis hermanos tuvo covid, junto con su mujer, su hija y su suegra. Mi hermano -a los primeros síntomas- habló al teléfono del gobierno de la ciudad de México. Ahí simplemente le dijeron que no saliera y que se cuidara. Vamos, como no hay recursos pues salen con semejante respuesta. Afortunadamente mi hermano se puso las pilas y toda su familia inició una medicación en donde había los medicamentos básicos para sentirse mejor en esta "gripe" pero además, tomaron anti-inflamatorios pulmonares. En menos de 15 días todos se curaron. Pero más allá de este final feliz, el asunto es que ante la imposibilidad de acceder a recursos, se vive en un mundo de fantasía, en donde se muestran gráficas luminosas y coloridas en Excel, pero nada más. No hay acciones, no hay apoyo del gobierno y de ahí la cantidad de ersonas fallecidas.

Hoy salgo a la calle y veo que a pesar del rebrote, la ciudad parece que vive la antiga normalidad. Aunque mucha gente usa tapabocas, las aglomeraciones son evidentes en muchas partes de la ciudad, por ejemplo, las estaciones del Metro capitalino. Así ¿cómo esperan que no haya contagios? Es claro que esta es una pregunta retórica y que ya los ciudadanos no quieren seguir confinados. Y es que nos confinaron 3 meses para nada, porque el gobierno federal no hizo su parte. Y desde luego, de este comportamiento salió toda esa payasada de López Gatell sobre las co-morbilidades, como si otros países no las tuvieran. Y su gran éxito fue obligar a poner una serie de dibujitos anunciando que todos los productos que comemos son altos azúcares, grasas, etcétera, cuestión que francamente a nadie le importa.

¿Qué sigue entonces? Con la inminente llegada de las vacunas, en donde ahora el gobierno de la 4T quiere mostrar que han trabajado hasta la exhaución para que el país tenga las dosis suficientes para la población de 126 millones de mexicanos, en los siguientes meses se empezará a notar un notable descenso en contagiados y fallecidos. Si la vacuna tiene una efectividad del 50% ya vamos de gane y poco a poco regresaremos a la normalidad. Además, nuevos tratamientos empezarán a verse más efectivos y probablemente a finales del 2021 estaremos terminando con esta pesadilla del virus que genera el covid-19.

Pero de una vez se los digo: el gobierno ya es indolente a los muertos porque como López Gatell nos dijo: los que fallecieron pues ya fallecieron. Es decir, para hablar coloquialmente, "nos vale madres", es lo que nos quiso decir.

Mi punto aquí es que esta pandemia mostró la ineptitud de la 4T, del gobierno de un cretino que se siente moralmente superior, a pesar de que su hermano reciba cantidad enormes de dinero o su prima tenga contratos millonarios con Pemex. Aquí el presidente sólo tiene un interés: ser la persona de la que se hable en este país a diario. Para ello miente cotidianamente. No se entera de nada. No sabe la más elemental economía y probablemente veremos cómo nos cae el payaso en los siguientes años. No hay economía que aguante tanto gasto mal hecho. Lo vamos a pagar. Cuando lleguen las devaluaciones se van a acordar de este artículo. Ya veremos con qué estupidez sale el Peje cuando esto pase porque la economía en México está del nabo y no es cierto que tiende a mejorar. Ah, pero olvidaba, la 4T habla simplemente de fantasías. Se maneja en el imaginario de las palabras como si decir lo que dicen pudiese reflejarse en la realidad. En fin, este país cada sexenio tiene un presidente peor que el anterior... Y yo que creía que nadie podía superar a Peña Nieto...