Sunday, September 24, 2017

32 años después y seguimos sin aprender nada



México es un país en donde la simulación es cotidiana. Nos hablan de que hay leyes para todo, pero en el fondo todo termina en la corrupción en todos los órdenes de la vida. Y así como hay corruptelas para otorgar proyectos millonarios, también las vivimos cuando el policía nos detiene por una falta de tránsito, sea real o ficticia, que se arregla normalmente con una mordida. A eso mi hermano le dice "simplificación administrativa", en una de sus ironía.

Pero con el sismo del pasado 19 de septiembre regresamos a lo que ocurrió hace 32 años. Hubo un simulacro de sismo a las 11 am en todo el país, pero eso y nada es lo mismo, porque no hay compromiso, porque nadie se lo toma en serio, porque en dicho simulacro no se da nada parecido a lo que pasa en un sismo. Me explico: yo estaba en la sala de cómputo de la biblioteca de la Facultad de Ciencias, y me informaron que diez minutos antes de las 11 cerrarían la misma "para que todos fuesen al simulacro y nadie se quedara trabajando". Entonces, 10 minutos antes salimos todos de la sala de cómputo, con nuestras pertenencias.

Pero dos horas y 15 minutos después ocurrió el movimiento telúrico y ahí vi salir a gente corriendo, cosa que en principio debería de evitarse. Ahora el laboratorio donde daba clases se quedó vació en menos de un par de minutos y muchos alumnos no sacaron sus pertenencias. Simplemente dejaron todo en el salón (y así hice yo).

Y entonces comenzó una errática organización al respecto. Los ingenieros, coordinadores, y demás personajes académicos de la Facultad de Ingeniería, comenzaron a organizarse y lograron en menos de una hora tomar decisiones importantes. Cerraron la Facultad y hallé que toda Ciudad Universitaria sería desalojada.

Como no había transporte público, caminé desde la Universidad a casa de mi madre y no parecía haber daños en los edificios por el trayecto en el que estaba. Ya comenté que llegué a casa de mi madre y no había luz, la cual llegó a las  5 de la tarde y entonces enfrentamos las mismas escenas que se vivieron hace 32 años, y el mismo caos, y los mismos voluntarios espontáneos y la supuesta coordinación del gobierno en el desastre.

Con el paso de las horas y los días, ahora con Internet y las redes sociales, hemos leído sinfín de peticiones de ayuda, de material, de comida, de materiales como picos y palas. Y entonces se apela a la sociedad civil a que lleve generadores de electricidad, materiales como los mencionados, comida, agua, etcétera. Y no es que eso por definición esté mal, pero yo me pregunto: ¿Y el fondo para los desastres nacionales que tiene unos 9 mil millones de pesos, dónde está? No he visto que se haya comprado una sola pala, un solo pico, con dicho fondo. Y además de eso, tenemos empresas como Google y Facebook, en donde cada una ha donado un millón de dólares para ayudar en la tragedia. Salma Hayek donó 300 mil dólares y el Vaticano sólo 150 mil dólares, que me parece casi una grosería siendo el propio Vaticano, pero en fin. El asunto es que ¿a qué cuenta depositaron? ¿Cómo se puede acceder a ese dinero? ¿Por qué en este sentido nada se transparenta? ¿Cómo podemos saber los mexicanos que ese dinero se ha usado para lo que fue donado y no para embolsárselo?

La realidad es que de nuevo, estamos actuando como hace 32 años, pero con el agravante de que no aprendimos nada. Nuestra cultura de la prevención es otro mito del gobierno y además, a la hora de apoyar, el gobierno se hace "pato", como se dice coloquialmente, es decir, no se ve que realmente el gobierno federal haga su tarea. De nuevo, en su mayoría las cosas se están haciendo gracias al esfuerzo ciudadano.

Y me pregunto ¿por qué no hemos hecho nada en serio en estos 32 años? Tenemos a las fuerzas armadas que no entran ninguna guerra des de hace muchos más años y que cuesta al Estado mucho dinero. ¿Por qué no se organiza de verdad algo entre los militares y la ciudadanía para que en el momento de que ocurra el sismo estemos ya con un plan de trabajo? Sí, no podemos saber qué edificio se caerá y dónde habrá que acudir, pero si de verdad hubiese organización, bien podríamos tener de inmediato los fondos listos para ser usados en el desastre. Y si he pensado en las fuerzas armadas es porque ahí están, porque supuestamente tienen ya disciplina castrense y bien que mal, podrían organizar efectivamente las operaciones de rescate con un liderazgo claro, como por ejemplo, en lo que se refiere a suministros de agua, comida, materiales, motosierras, elementos de higiene, vendas, medicinas, etcétera.  Quizás, para evitar que con el tiempo esta organización se maleara o se corrompiera, debería haber un contrapeso ciudadano. Y tener un seguimiento constante porque creo que tampoco hemos aprendido que vivimos en una zona sísmica.

Yo no quiero pensar que de pronto un país nos invadiera porque si así fuera, no habría la mínima organización para repeler cualquier amenaza a la nación. En la Segunda Guerra Mundial, los Aliados trabajaron con disciplina y todo el desarrollo fue para apoyar el esfuerzo de la guerra. Hoy, que no estamos en guerra con nadie, no podemos lidiar con estas catástrofes naturales porque nunca nos hemos organizado de verdad, porque nos han vendido la mentira de la protección civil y de la cultura de la prevención. Nada de eso sirve.

Vamos, que lo más lamentable es que no veo ninguna iniciativa al respecto y con el tiempo olvidaremos todo esto que está pasando y nos acordaremos de nuevo cuando nos llegue el siguiente sismo. Parece que al mexicano le gusta improvisar y nunca se piensa preparar de verdad. Triste realidad que vivimos.

Tuesday, September 19, 2017

Se repite la historia 32 años después



Hoy hubo un simulacro de sismo en todo el país. Yo estaba en la Facultad de Ciencias y me dijeron que cerrarían laboratorios de cómputo para que nadie se quedara en ellos y participara en el simulacro. A las 11 sonó la alarma y la gente se arremolinó en los lugares destinados para un evento de estos. Pasaron quizás 10 minutos y todo terminó.

Regresamos todos a nuestras actividades. A la 1 pm fui a Ingeniería a dar mi clase y cuando explicaba las bondades de Linux de pronto vi que todos los alumnos se paraban... Y entonces noté que estaba temblando. Salimos todos con prisa y en la salida del edificio vimos cómo parecían romperse algunos cristales. Es una situación pavorosa. Yo ni siquiera me fijé en mis cosas, simplemente salí al sitio oficial de reunión para estos desastres naturales. Un par de segundos dentro de las instalaciones podrían ser claves para salvarse.

Cuando salimos todavía vi un poste de luz que se mecía. Pienso que fue un sismo muy corto, no lo sé, pero tengo la impresión que si acaso duró 40 segundos, los cuales finalmente son suficientes para hacer mucho daño. Estuvimos en el punto de reunión una hora más, hasta que se nos permitió entrar a los laboratorios. Mis alumnos pasaron ordenadamente, recogieron sus cosas. Yo hice lo propio y salí. Desde luego la UNAM cerraría para ver los posibles daños.

Como todos salimos prácticamente a la misma hora, los PUMAbuses no eran suficientes. Me fui caminando a la estación Ciudad Universitaria del MetroBús. Vi enormes filas que se arremolinaban y además, no pasaban los autobuses. Decidí entonces regresar a pie.

Habré caminado 20 o 25 minutos y llegué a Periférico con la esperanza de tomar algún transporte. El tránsito desquiciado. Decidí irme caminando a casa de mi madre. Había mucha gente caminando como yo. No vi ningún edificio colapsado y pensé que nada más había sido el susto. No había acceso a Internet en el teléfono y no podía saber el estado de las cosas.

Llegué a casa de mi madre, que estaba bien, aunque también se había asustado y comimos. No había luz, la cual llegó a eso de las 5 pm. Y entonces las escenas del sismo del 85 regresaron. Gente apoyando en los edificios colapsados, peticiones de ayuda, peticiones para hallar personas desaparecidas. Los primeros reportes de personas fallecidas. El caos en pleno y los medios tratando de hacer su tarea, a excepción de López-Dóriga, que se tenía que colar en la transmisión de Televisa porque su vanidad lo puede todo. Y decía frases que me hacían hasta doler del coraje, como la de que era un "nuevo alumbramiento", cuando se veía en las escenas que sacaban a una persona de los escombros. vaya pseudo-periodista que quiere hacer una gran crónica en estos momentos donde no se tiene más que informar y ayudar. Pero así es este México. Siempre habrá cretinos.

Curiosamente hoy fue el simulacro y un par de horas después el sismo. Esto pasó hace 32 años, también un 19 de septiembre y lo que se vivió en ese momento no puede olvidarse, como tampoco puede olvidarse lo que ahora vivimos. Quizás en términos estadísticos este sismo fue menos, mucho menos grave que el de 1985, pero es claro que la ciudad y el país mismo está convulsionado y tratando de rehacerse en esta situación tan fuerte.

Hoy, como hace 32 años, viví como muchos otros mexicanos, una espantosa tragedia provocada por causas naturales. No se puede hacer nada ante la fuerza de un sismo (que en algún otro mensaje de este blog buscaré calcular). Sólo resta tomar las precauciones del caso y esperar que la suerte esté de nuestro lado.

Sólo queda, por hoy, reinventarse.

____
Foto que ilustra el artículo, cortesía de Fernando Romo.

Wednesday, September 13, 2017

Reto lúdico: Números palindrómicos, el problema del número 196


Un nuevo reto de la programación lúdica: Sabemos que el número 196 no se ha podido demostrar que es palindrómico. Hállese la mayor cantidad de iteraciones y el mayor número al que se pueda llegar sin que el programa falle. Ése es el reto.

Aún en esta era de la computación masiva, no se ha hallado que la conjetura sobre los números capicúas, que fue el reto de programación lúdica pasado, funcione para el número 196, la cual sigue siendo un problema matemático sin resolver. Se sabe que los números, entre el 100 a 999, 13 no llevan a ningún palíndromo. Estos son: 196, 295, 394, 493, 592, 689, 691, 788, 790, 879, 887, 978, 986. El 196 es el primero de ellos y evidentemente su retrógrado el 691 tampoco llega a ser capicúa.

Podemos entonces considerar dos grupos, el primero, conteniendo 196, 295, 394, 493, 592, 689, 691, 788, 790, 887 y el 986, y un segundo grupo compuesto por el 879 y el 978. A los números 196 y 879 se les llama “números generadores” o “semillas”. La razón de esto es que el 691 es el retrógrado del 196 por lo que son parte del mismo grupo: 196 + 691 = 691 + 196 = 887. El número 295 y el 592 llevan al mismo número, 887, después de una primera iteración, por lo que se consideran parte del mismo grupo.

En abril de 1984 apareció en la columna de Scientific American “Computer Recreations”, un artículo sobre estos patrones matemáticos   y los esfuerzos para probar la conjetura han sido extraordinarios. Por ejemplo, John Walker indica que el 12 de agosto de 1987 puso su estación de trabajo Sun 3/260 para tratar de resolver si el 196 era un número palindrómico. El programa tenía algunos controles, que se guardaban en un archivo cada dos horas y en caso necesario el sistema reiniciaba la tarea desde los últimos datos hallados en dicho archivo. Así, si algo fallaba (por ejemplo, se cortaba la energía eléctrica), podía reanudarse el proceso sin problemas. Entonces el programa corría día y noche sin intervención humana.

Dice Walker que finalmente, casi cuando se cumplían tres años de ejecución ininterrumpida del software, cinco minutos antes de la media noche, el programa mandó el siguiente mensaje:

Stop point reached on pass 2415836.
Number contains 1000000 digits.

(El número contiene 1000000 de dígitos)
(Punto de detención en la iteración 2415836)

Así entonces, el número 196 había crecido hasta un millón de cifras sin que fuese palindrómico.

Esto podría quizás considerarse el final de la historia, pero sorpresivamente en 1995, Tim Irvin retomó el trabajo de Walker usando una supercomputadora, empezando en el número de un millón de cifras y cuando el sistema llegó a un número con dos millones de cifras, encontró también que no había sido localizado ningún número palindrómico.

Irvin inició su búsqueda el 5 de julio de 1995 y después de una semana de pruebas y corrección de errores, el programa trabajó casi ininterrumpidamente, a excepción de las horas de respaldo diario del sistema. En la mañana del 22 de agosto de ese mismo año, el programa se detuvo en los dos millones de cifras, de nuevo, sin encontrar el ansiado número capicúa.

Irvin terminó su búsqueda y aunque ha jugado con la idea de seguirla, considerando que el sistema de súper cómputo se ha renovado, parece decidido a no continuar por diversas razones. Por una parte, el tiempo de súper cómputo no es barato y por otra parte, hay muchos problemas más importantes que atacar que el resolver la conjetura. No obstante esto, Irvin pone a la disposición el programa y los controles para que el sistema se detenga cuando se llegue a 3 millones de cifras.

Pero Jason Doucette, en 1999 decidió retomar el trabajo de Irvin y usando una computadora casera, entró a esta gran búsqueda. En este caso, el programador desarrolló software en ensamblador (buscando optimizar los recursos), y en 1999, el 9 de agosto, se inicio la ejecución del software, en una máquina Pentium II, a 266 Mhz. El sistema alcanzó la marca de un millón de cifras en 1 día y 18 horas, lo cual es notable si consideramos que Walker tardó 3 años casi en llegar a esa cantidad de cifras.  5 días y 10 horas después, Doucette llegó a la marca de los 2 millones de cifras. Se compararon los resultados y no se hallaron divergencias, por lo que se asume que el software no tiene errores.

La marca de los tres millones de cifras se alcanzó 8 días y 7 horas después. Desde luego, mientras mayor es el número más sumas tendrá que hacer. 13 días y 8 horas después se alcanzó la cifra de 5 millones de dígitos. Al llegar a este resultado, Doucette cambio de hardware y el programa reinició su búsqueda en una máquina Celeron, con un procesador de 400 Mhz (lejos, muy lejos, del estándar actual).

Eventualmente Doucette llegó a más de 13 millones de cifras y ahí decidió detenerse aparentemente  . Sin embargo, Ian Peter logró la cifra de 10 millones de dígitos en poco más de cinco horas. Esto lo hizo en una máquina de 500 Mhz Athlon.

El trabajo de Ian Peter es además interesante porque encontró algunos números palindrómicos que tardan más que las 24 iteraciones que la mayoría de los números necesita. En la siguiente tabla se observan estos números palindrómicos, con sus respectivas iteraciones y el palíndroma generado:

Finalmente Wade van Landingham entró a la búsqueda y a partir de casi 14 millones de cifras de Doucette, llegó a un número de 300 millones de dígitos, lo cual son casi 725 millones de iteraciones y de nuevo, parece no encontrarse el capicúa que se inicia con 196. Sin embargo, hay que hacer énfasis en que hasta el momento lo único que podemos concluir es que no se sabe si el 196 es número palindrómico. Esto sigue siendo indecidible  .
El hecho de que no todos los números sean capicúas podría hacernos pensar que existe una asimetría en la conjetura, aunque en términos reales, no es el único número que no cumple con ello. Los matemáticos se preguntan, sin embargo, ¿Qué tiene de especial el número 196?

Todo lo anterior es simplemente el preludio del nuevo reto de programación lúdica. Se trata de procesar el número 196 para ver si es palindrómico (lo cual no sabemos a pesar de que se han hecho millones de iteraciones) y entregar el número más grande al que el programa del concursante pueda llegar. Por ejemplo, si pusiésemos a trabajar el 89 y llegásemos a la iteración 24 que da 8813200023188, éste sería el valor más grande que podríamos encontrar del número con el que partimos. Pero en el caso del 196 no parece haber un límite de iteraciones y de lo que se trata es que el concursante entregue el mayor número con la mayor cantidad de iteraciones.

Cabe señalar que si hay más de un programa que llega al máximo valor, ganará quien lo haya enviado primero. El resultado es inapelable.


Al ganador (si es de la Ciudad de México), le daré una taza con el logotipo de la Morsa. Si es de otro país o de provincia, le mandaré un USB de al menos 8 GB. La razón de esto es que mandar una taza por mensajería es estúpidamente caro.

Las soluciones me las pueden mandar a morsa@la-morsa.com.

Cabe señalar que este concurso busca simplemente alentar el trabajo de la programación y mostrar que puede ser lúdica. Es un concurso de buena fe. Si hay, por ejemplo, dos o más respuestas que den el mismo tiempo al procesar la lista de 10 mil números, ganará quien la haya mandado primero. El ganador cede su código fuente a la comunidad. Es decir, se promueve el código abierto.

En este caso no hay restricción en qué lenguaje usar. El concursante tiene que mandar su código fuente, el ejecutable (si aplica) y los resultados obtenidos. El concurso tendrá una vigencia de unas tres semanas, aproximadamente. Así que manos a la obra, digo, dedos al teclado…

Ps. El concurso anterior (sobre la conjetura palindrómica) se ha cerrado y en unos días pondré quién fue el ganador. Estén atentos.

Sunday, September 03, 2017

Cómo usar las nuevas tecnologías para mejorar en ajedrez



En el 2013 estuve trabajando con Carlitos Sandoval en su ajedrez. Carlos es un joven talentoso y muy estudioso. En el tiempo que compartimos analizamos el Gambito de Rey y el Gambito Benko, aperturas que son muy dinámicas y que en algunos casos generan posiciones muy agudas. Estudiamos la teoría y llegamos a definir las posiciones claves desde donde entonces, empezábamos a jugar.

Pero esto fue sólo una parte del trabajo. Una segunda idea fue usar algún programa de computadora para jugar estas posiciones en contra del mismo y ver qué jugadas hallaba. Un problema con este enfoque es que los módulos de ajedrez hoy en día, en cualquier computadora casera, resultan demasiado fuertes para la gran mayoría de los jugadores y tan es así, que simplemente los encuentros hombres-máquina se han dejado de hacer desde hace muchos años.

Sin embargo, hay una solución, usar -como hicimos con Carlitos- una vieja Palm Tungsten, la cual tiene menos memoria, un procesador más limitado en velocidad y en pocas palabras, "recursos limitados", comparados con los que ofrece cualquier computadora de escritorio. En este sentido, hay más chances de competir contra estos ingenios y hacerles una partida decorosa al menos.

Con Carlos probamos esta idea un par de veces, una de ellas puede verse aquí. En esta particular partida del Benko, Carlitos jugó bastante bien y poco a poco llegó a una posición ganadora. La experiencia de jugar contra la Palm sin duda mereció ser repetido.

Pero hay quien me ha dicho que ya las Palm son obsoletas. Es cierto, aunque aún pueden encontrarse algunas usadas a relativamente bajos precios en Mercado Libre, por ejemplo. Pero desde luego, tenemos hoy en día programas que pueden jugar en los teléfonos inteligentes, los cuales pueden dar mucha batalla a los ajedrecistas.

Cabe decir que el programa de ajedrez en el teléfono es hoy casi un gran maestro de bolsillo, listo para jugar a la hora que sea, desde la posición que se defina y con los tiempos de reflexión que uno quiera. Por ello, es la herramienta más formidable la cual -tengo la impresión- no se ha valorado en su justa proporción.

Hay en las plataformas iOS y Android muchos programas de ajedrez, aunque claramente hay los grandes nombres como Hiarcs, StockFish, Komodo, etcétera. No obstante esto, hay mucho software gratuito que puede hacer la vida difícil a los mejores jugadores y entonces, el plan es sacar ventaja de esto para mejorar en ajedrez.

La idea es pues trabajar en una apertura, en un sistema. Ver las partidas más significativas. Decidir cuáles son las posiciones más emblemáticas, es decir, aquellas que más veces se producen y empezar a jugar a partir de ellas. Esto normalmente ocurre como en la jugada 10 o 12, aproximadamente (a veces antes, a veces después). Una vez que se tiene la posición de interés, hay que colocarla en un tablero de ajedrez y simular las condiciones de torneo. Apuntar las jugadas en la papeleta, seguir las reglas de torneo, es decir, "pieza tocada, pieza jugada", por ejemplo. Vale la pena ponerse el ritmo de juego más común, por ejemplo, 1:30 hrs con 30 segundos de incremento por movimiento (desde la 1a jugada).

Una vez estas condiciones, se pone la posición en el módulo y se juega contra éste. Déle menos tiempo, quizás 1 hora para la máquina y un poco más de tiempo para usted.Cabe señalar que si usted comete un error y queda perdido no debe regresar la jugada y hacer otra. Eso no lo puede hacer en un torneo y aquí tampoco se vale. Si usted hace una mala jugada, apechugue y si pierde, pues tómelo en cuenta para que no le vuelva a ocurrir. Es importante decirle que nadie más tiene que saber de estas partidas. Digamos que son de entrenamiento "secreto" y la máquina no irá a decirle a nadie que usted perdió una o dos, o varias partidas por errores que la máquina no esperaba que hiciese. Vamos, repito, hablamos de entrenamiento y en éste uno puede equivocarse las veces que sea necesario y más.

Una sugerencia es ver los diferentes programas y jugar con ellos informalmente para ver qué tal juegan. Si usted encuentra algún software que parece jugar con cuidado y sin descuidos, quizás sea una buena idea para tomarlo de "sparring". Juegue una o dos partidas con este método con dicho programa y vea si le funciona o no. Si resulta lo suficientemente fuerte, pues tendrá a la mano un buen sparring. Si le gana con frecuencia es momento de cambiar a un programa más fuerte.

Por otra parte, hay que decir que muchos de los programas que se consiguen en las tiendas de apps tienen la posibilidad de graduar la fuerza y en ocasiones uno puede definir el nivel del rival. Pruebe con un nivel parecido al suyo y vea cómo le va en las partidas contra el módulo. De ahí podrá sacar las conclusiones correspondientes.

Por ejemplo, yo me compré un iPod Touch hace unos años y de nuevo, lo hice porque estos dispositivos tienen memoria y velocidad limitada, aunque eso no signifique que no haya programas que jueguen muy, pero muy bien. Por ejemplo, descargué ChessGenius, Hiarcs y Chess Tiger, siendo el segundo de estos el más fuerte. Digamos que estos programas juegan 2200, 2500 y 2100, respectivamente. En cualquiera de los casos se tiene un rival con un buen nivel como para entrenarse.

Por otra parte, es importante que este trabajo se haga con constancia y debe ser independientemente si uno gana o no partidas al módulo de ajedrez. Lo que importa es el entrenamiento, la experiencia de jugar contra un rival que en general juega con un nivel constante y que no se deja. Así, planeé de ser posible, un par de partidas por semana, lo que implica un par de horas al menos para que el ejercicio tenga sentido.

En resumen: hoy tenemos acceso a un gran maestro y éste se encuentra guardado en nuestro teléfono. ¡Qué habrían dado algunos ajedrecistas del pasado si hubiesen tenido los recursos con los que contamos ahora!

Monday, August 28, 2017

Nuevo reto de la programación lúdica: Números palindrómicos



Ya hemos hablado alguna vez de palíndromas, que son frases que se leen al derecho y al revés igual, por ejemplo, "Anita lava la tina", "Somos o no somos" (creación mía) o muchos otros como los estupendos palíndromas de Merlina Acevedo, del cual ponemos un solo ejemplo: "¿Anita lava lo ajeno como coneja o lava la tina?". De hecho, hay una manera de definir un palíndroma usando un palíndroma: "sé verlas al revés", lo cual sin duda es muy ingenioso.

Pero así como hay palíndromas en los idiomas humanos, también lo hay en las matemáticas. Existen los llamados palíndromas numéricos, también llamados "números capicúa". Hay una clásica conjetura de origen desconocido), que dice lo siguiente: "Se toma un número entero positivo cualquiera. El número se escribe entonces en orden inverso; los dos números se suman. El proceso se repite con el número suma, obteniéndose entonces una segunda suma, y se prosigue de igual forma hasta lograr un capicúa. La conjetura afirma que tras número finito de adiciones terminará por obtenerse un capicúa".

Por ejemplo, consideremos el número 68:

68 + 86 = 154
154 + 451 = 605
605 + 506 = 1111

Se sabe que si el número es de dos dígitos y la suma de sus cifras suman menos de 100, en el primer paso se obtendrá un palíndromo o capicúa. Por ejemplo:

34 + 43 = 77

La conjetura parece un divertimento tan simpático como el de los números maravillosos.  En 1967, dice Martin Gardner, en su libro "Circo Matemático", Charles W. Trigg descubrió que entre los números menores a 10 mil había nada menos que 249 números que no generaban palíndromos después de ejecutar 100 veces el proceso. El menor número en esas condiciones es el 196. En 1975, Harry J. Saal, realizó 237,310 iteraciones a partir de este número sin presentarse nunca sumas palindrómicas.  Trigg opina de hecho que la conjetura es falsa, aunque nadie ha podido demostrarla. Se conoce también que todos los enteros menores de 10 mil, a excepción de 249 números, producen palíndromas en no más de 24 iteraciones. Tan sólo el 89 y 98 requieren las 24. De los capicúas encontrados, el mayor es 16,668,488,486,661, generado por el 6,999 (y su retrógrado), o por 7,998 (y su retrógrado) en 20 pasos.

Con esta información entonces, el reto consiste en escribir un programa, en el lenguaje que mejor conozca el lector/concursante, y haga los cálculos para precisamente los 10 mil primeros números, entregando en los resultados la cantidad de iteraciones que se hizo en cada uno de ellos. Si el número de iteraciones es mayor de 100 entonces debe considerarse como un número que no cumple con la conjetura, al menos en principio. Es decir, no hay que hacer más de 100 iteraciones con cada número.

El software que genere estos resultados en menor tiempo posible, "impreso" en un archivo de texto, será el vencedor.


Al ganador (si es de la Ciudad de México), le daré una taza con el logotipo de la Morsa. Si es de otro país o de provincia, le mandaré un USB de al menos 8 GB. La razón de esto es que mandar una taza por mensajería es estúpidamente caro.

Las soluciones me las pueden mandar a morsa@la-morsa.com.

Cabe señalar que este concurso busca simplemente alentar el trabajo de la programación y mostrar que puede ser lúdica. Es un concurso de buena fe. Si hay, por ejemplo, dos o más respuestas que den el mismo tiempo al procesar la lista de 10 mil números, ganará quien la haya mandado primero. El ganador cede su código fuente a la comunidad. Es decir, se promueve el código abierto.

En este caso no hay restricción en qué lenguaje usar. El concursante tiene que mandar su código fuente, el ejecutable (si aplica) y los resultados obtenidos. El concurso tendrá una vigencia de unas tres semanas, aproximadamente.


Sunday, August 27, 2017

Jugando ajedrez contra los que ven mis videos



Hace unas semanas empecé a re-realizar una serie de videos de ajedrez (ver mi canal Manuel Morsa en youtube), los cuales son grabados por José Antonio Pontón, de unocero.com, estupendo para este tipo de grabaciones pero mejor amigo. En uno de los videos quedamos en retar a quienes los ven a que se apersonaran en el Parque México, en la col. Condesa, el viernes 25 de agosto del 2017 a las 5 de la tarde, para jugar contra quien quisiese medir sus fuerzas con las mías.


Llegué casi las 6 pm porque llovía, porque el tránsito estaba a vuelta de rueda pero finalmente ahí estaban al pie del cañón los nuevos amigos que me tocaría conocer ese día. Hubo unos 35 competidores. De alguna manera se organizaron y empezamos con partidas de 5 minutos por jugador. Me tocaron jugadores principiantes y no tan principiantes, quienes eventualmente perdieron. El tiempo pasaba y entonces a Pontón se le ocurrió la idea de que jugase contra tres a la vez. Dispusimos dos tableros normales y uno pequeño más (sólo llevábamos una mesa). Y así, jugué algunas partidas contra jugadores de más o menor conocimiento. Hubo algunos de los ajedrecistas que me dieron más batalla pero era claro que no jugaban en torneos y que son aficionados ocasionales, pero esto podría ser un buen inicio para ellos para después, apuntarse en algún torneo y jugar ya formalmente el ajedrez competitivo.


Hubo un jovencito de unos 12 años, Emilio, se llamaba, que tiene idea aunque claro, necesita trabajar mucho más en su ajedrez, pero como sea, da gusto tener a jugadores jóvenes que se vayan introduciendo a este maravilloso juego.

Gané las 24 partidas que jugué y solamente en una partida quizás tuve algún riesgo de perder. He aquí la posición que recuerdo:


Aficionado - Manuel López
Juegan las blancas

Aquí yo llevaba negras y tengo probablemente una posición ganada, pero entonces me encontré con la dificultad de que si el blanco jugaba 1. Tb1!? podía quizás ponerme en problemas. Mi rival no jugó esto y eventualmente perdió, pues llevé mi rey a f8 y cuando jugase Tb1 podría responder con Re7 y no habría ninguna chance para las blancas.

Sin embargo, pensemos qué habría que jugar después de 1. Tb1!? A esto hay que jugar 1. ... Rf8 2. Tb8+ Re7 3. Txa8 d1=D 4. Te8+ Rxe8 5. a8=D+ Rd7 y se llega a un final de Dama vs Dama y Alfil en donde las negras deben ganar.

Por lo demás, fue una simpática experiencia, en donde los ajedrecistas que hicieron acto de presencia lucharon en buena lid, en un estupendo ambiente amigable. Muchos me pidieron fotos, otros que les firmara sus tableros, etcétera. Fue una buena tarde que repetiremos pronto sin duda.


Agradezco a Pontón y a quienes se presentaron en el Parque México para jugar, aguantando la posible lluvia y mi llegada tarde a la cita. Fue sensacional conocer a muchos internautas que me siguen y a la banda del ajedrez que ve mis videos, que comenta, que finalmente son personas que pocas veces tiene uno la fortuna de conocer, pero que con esta experiencia llegamos finalmente a saber un poco más de todos nosotros. Gracias mil.

Wednesday, August 16, 2017

Calcular las pelotas que están en un Honda HRv



La Farmacia San Pablo inició una promoción, que terminó el 15 de agosto, en donde al comprar una cantidad de medicinas, por un valor mínimo de 700 pesos, se podíaapostar cuántas pelotas caben en una camioneta Honda HRv.  En la medida que el cliente gaste más,  se podían apostar hasta 5 boletos. La empresa que organiza ha tomado sus previsiones contra los caza premios, lo cual puede ser interesante para tener más posibilidades de sacarse un premio.

Hay tres camionetas en el concurso, una se dará a los que compren vía electrónica y las otras dos a los que acudan a las farmacias y llenen sus boletos. Vamos a ver cómo nos va.

De concursos anteriores ya sabemos algunas cosas: el poner pelotas aunque sea muy ordenadamente, dentro de un espacio como el de un coche, resta entre el 44% y 47% del espacio. Por ello, hay que tomar en cuenta este importante detalle.

Por otra parte, tenemos los valores de la cantidad de pelotas de concursos pasados, como el que hizo Cinemex, en donde hubo 7234 pelotas. En ese caso se trataba de una camioneta Grand Vitara. Hoy hablamos de una SUV Honda, que es un poco más chica. En el caso del concurso de Cinemex, me equivoqué por 16 pelotas (me pasé) y me acerqué a 58 pelotas del resultado. Nada mal pero aún así, no es suficiente para ganar.



De las especificaciones del coche Honda donde están las pelotas tenemos:

largo total 4294 mm
altura total 1605 mm
ancho total 1772 mm

El volumen total del coche (como si fuese una caja será):
429.4 cms x 160.5 cms x 177.2 cms = 12,212,393.64 cm3

Pero desde luego, este no es el volumen del espacio que ocupan las pelotas.

-----
Volumen de la esfera:

la fórmula del volumen de una esfera es V = (4/3)(pi)(radio^3)

¿cuánto mide una esfera dentro del coche?

radio de la esfera: 4 cms...

V = (4/3)(3.1415926535)(4^3)

V = (1.333)(3.1415926535)(64) V = 268.08 cms3 por esfera...

----

Espacio interior (volumen). Aunque no hay medidas exactas, considerando el cálculo hecho sobre una camioneta Grand Vitara, la Honda debe tener aproximadamente 120 pies3:

Interior volumen: 120 ft3, que es 3,398,022 cms3

----

Total de esferas = Volumen interior / Vol esfera = 3,398,022 / 268.08 = 12675 esferas.

Pero se desperdicia una buena parte en el espacio que hay entre las pelotas,
esto es algo así como del 44% al 47%, por lo que tomemos un valor de 47%
(el auto no se ve lleno en la parte superior realmente). Entonces tenemos:

3,398,022 * 0.53 = 1,800,951.66 espacio ocupado por las pelotas en cms3

Entonces 1,800,951.66 / 268.08 = 6717 pelotas.

Por este valor debe estar el resultado final.

En conclusión, hay que apostar a los siguientes valores: 6697 6707 6717 6727

Ya avisaré la precisión del cálculo. Crucen sus dedos.