Sunday, November 18, 2018

Sobre el periodismo



Siempre he pensado que la profesión (¿u oficio?) de periodista supone estar detrás de la noticia y además, tener que ser objetivo cuando manda la nota al medio para que el que trabaja. Y sí, ese tipo de periodismo es muy complicado porque en ocasiones, a pesar de todas las facilidades que puede dar la tecnología actualmente, quizás no es fácil enviar el reporte al periódico o bien, el evento que se está reportando aún no ha concluido y hay que esperar hasta que esto ocurra. El problema finalmente con este tipo de periodismo es que es "para ayer". Y esto obliga a entregar muchas veces una nota mal redactada, mal fundamentada, sin la suficiente prolijidad. Aquí quizás -como me dijo Guil Russek una vez- "el periodismo es un género menor".

Hay, desde luego, otro tipo de periodismo, que es el de investigación, en donde el periodista decide ir a buscar las fuentes de algún conflicto para hacer su nota. Entrevista a los involucrados y eventualmente hace un artículo en donde se plantean una serie de situaciones, además de las posibles conclusiones. Quien trabaja en este tipo de notas tiene tiempo de redactar y de corregir lo que se necesario para que el resultado final sea mejor.

Pero hoy en día el periodismo que impera es el de la nota exagerada, el de la nota que se hace para vender. Así, si por ejemplo, las ventas de autos bajan, se reporta así: "se desploma el mercado automotriz". ¿Se desploma? ¿En serio? Los periodistas que están en este tres de acción son expertos en adjetivos calificativos con los que llenan sus notas, pero que llevan en el fondo un afán de vender a como dé lugar la noticia. Regresando al ejemplo, quizás sí, bajaron las ventas de autos pero ¿se desplomó el mercado? ¿Por qué la exageración? Y en ese mismo tenor, si el peso se devalúa 20 centavos no faltará el periodista que pone: "el peso en caída libre", etcétera.

Hace unos días, para no ir más lejos, apareció la siguiente nota: "Un misterioso huracán de materia oscura se acerca al sistema solar". ¿Debería preocuparme? Obviamente no, porque por más huracán universal que sea, está a millones de años luz... Pero claro, hay que vender la nota. Y si no me creen lean solamente el primer párrafo: "Diez mil millones de masas solares de materia oscura se están moviendo a lo largo de los restos de una pequeña galaxia enana, devorada por la Vía Láctea hace millones de años, y vienen directamente hacia nuestro sistema solar, ha descubierto una investigación liderada por Ciaran A.J. O’Hare, de la Universidad de Zaragoza (España), y publicada en la revista Physical Review D.". Cabe decir que no se sabe aún qué es la materia oscura, nadie la ha visto y en el mejor de los casos es una especulación que no ha sido probada. Pero ya la "Redacción" de ese pasquín electrónico (porque no se atreven a poner los nombres de quienes redactan semejante nota, ya habla de la materia oscura como una realidad).

Va otro ejemplo: dice la BBC "Adiós al kilo, larga vida al kilogramo: cómo funciona el nuevo sistema que redefine el peso tal y como lo conocíamos". Y aunque la nota es más mesurada, lean las primeras líneas:

 "El Gran Kilo, el prototipo utilizado durante 129 años para calcular el peso, pasó este viernes a la historia. 

Los científicos alertaron hace algunos años de que el kilogramo original, el gran referente para todas las mediciones de masa, había cambiado y pesaba menos de un kilo.

Por qué en 2019 un kilo ya no pesará un kilo

Concretamente, unos 50 microgramos menos, el equivalente a un pequeño grano de arena, imperceptible para la vida cotidiana pero problemático para el mundo de la ciencia.

El Comité Internacional de Pesos y Medidas decidió este viernes que el estándar del peso ya no será un objeto físico sino que se redefinirá mediante una constante matemática altamente precisa".

¿Y que pese 50 microgramos menos es noticia? ¿Sabe alguno de mis cuatro lectores cuánto es esta cantidad? Para no errarle, consulté la Wikipedia, la cual dice: "El microgramo es una unidad de masa del Sistema Internacional de Unidades que equivale a la milmillonésima parte de un kilogramo (10-9 kg) o a la millonésima parte de un gramo (10-6 g); su símbolo es µg.". Voy a ponerlo en negritas: un microgramo es una milmillonésima parte de un kilogramo o la millonésima parte de un  gramo. ¿Cambia algo esto? ¿No es querer vender una noticia que en términos cotidianos no tiene relevancia? A todo esto, que la medida del kilogramo sea ahora medida no a través de un objeto que se guarda celosamente en una oficina de pesas y medidas, creo en París, hay una serie de medidas que ya son la longitud de onda de no sé qué material incandescente a una cantidad de grados, etcétera. Es decir, no es la primera vez que la ciencia busca mediciones más certeras, pero hacer una nota de esto como si nos afectara a los seres humanos, raya en la estupidez.

Mi conclusión es que finalmente el periodismo lo hacen los periodistas y claramente estas manifestaciones de notas que tienen como objetivo alarmar innecesariamente, escandalizar colocando adjetivos calificativos aquí y allá, les hace un pobre favor a todos los que se dedican a este oficio (¿o profesión?). ¿Así quieren credibilidad? ¿Así se supone que registran el paso de la historia? Ahí lo dejo a la reflexión.

Saturday, November 17, 2018

Dithering: su fundamento


Hoy en día contamos con tarjetas gráficas que pueden mostrar luminosos colores en la pantalla de la computadora. Vamos, hasta los teléfonos ya tienen resoluciones de alta definición en muchos casos y pueden desplegar millones de diferentes colores. Considerando esto, resulta quizás para algún lector un poco absurdo que alguien quiera pasar una imagen en tonos de grises a blanco y negro, pero esto es un proceso que se hace continuamente cuando, por ejemplo, queremos imprimir una fotografía (en color o tonos de grises), teniendo solamente un dispositivo que imprime con tinta negra.

Es decir, tenemos dos posibles colores: puntos negros (tinta) y puntos blancos (sin tinta). Con ello debemos poder representar la imagen de la mejor manera, intentando no perder información o al menos, perder lo menos posible. Ya aquí hemos hablado de algunos procesos interesantes para hacer esto. Uno de ellos es el “dithering al azar” (o random), o bien, el usar la técnica de los semitonos. Los resultados con ambos procedimientos pueden ser mejores o peores, de acuerdo muchas veces a la imagen a procesar.

Sin embargo, el tema no se ha agotado. El dithering finalmente se basa en algo fundamental, que es la difusión del error de un punto al siguiente. Por ejemplo, consideremos que en una imagen en tonos de gris (donde cada punto tiene el mismo valor en rojo, verde y azul), en RGB, y veamos una de las coordenadas, por ejemplo el ROJO. Supongamos que en una línea de pixeles tenemos los valores 0, 96, 96, …, etcétera. Veamos cómo podemos hacer dithering usando esta difusión de error de punto a punto.

Si vemos el primer pixel, hallaremos que el primer valor es cero, que es negro, por lo que mandaremos a la impresora para que pinte en el papel un punto negro. Pasamos al siguiente y vemos que es un 96. ¿Este valor está más cerca o más lejos del negro? La respuesta es simple: si tenemos valores del 0 (negro) al 255 (blanco), entonces el 96 está más cerca del negro que del blanco. ¿Cuál es el error en este caso? 96 pasos, es decir, el tono de gris 96 está precisamente a 96 pasos del cero y esto es el error. Ahora tomemos el valor del siguiente ROJO. Hallamos que de nuevo es un tono de gris 96. Entonces vamos a hacer la difusión de error que acarreamos (96) al nuevo valor, que es 96. la suma de ambos da 192. Ahora nos preguntamos: ¿Este valor está más cerca o menos cerca del blanco? 192 está a 63 pasos del blanco. este es el error. Como es hacia el blanco, vamos a decir que está a -63 pasos. Pintaremos un punto blanco y el error se sumará al siguiente pixel.

Este elemental algoritmo, escrito en Delphi, se ve así:



Vayamos a las pruebas. Tomemos la foto de Ilse y pasémosla a tonos de gris:



Y procesémosla con este algoritmo. El resultado es éste:



Puede verse que el resultado no queda mal pero se ven algunos “artefactos”, es decir, ruido en la imagen o puntos indeseables. Tomemos ahora la imagen de Abraham Lincoln y observemos los resultados:



y el resultado:



Aquí las cosas mejoraron. La razón es que este método de difusión simple tiene dificultades cuando tiene que ir de blanco a negro y viceversa. Sin embargo, el asunto es que al hacer esta difusión del error, estamos aplicando le principio básico de todos estos mecanismos para hacer dithering.

En próximos artículo hablaremos de dithering más sofisticado, como el creado por Floyd-Steinberg.

Friday, November 09, 2018

¿Especulación correcta?



En un artículo pasado, dije que hay una diferencia entre el concepto ideal de probabilidad contra lo que se ve en la realidad. Por ejemplo, si tenemos que echar una moneda al aire, se supone que si tiramos dicha moneda millones y millones de veces, ésta saldrá la mitad de las veces de un lado y la otra mitad del otro. Pero estamos hablando de una moneda "ideal". Las monedas reales pueden tener "defectos" en la aleación, en que pudiese pesar unas centésimas de gramo más en una parte que en otra, que el hecho de que tuviese alguna rayadura o una pequeña marca, el resultado del 50% se distorsionara. Y es que la moneda que se tira al aire en un "volado" sigue las leyes de la física en un entorno que de hecho no es ideal, pues no hay muchas veces control de la temperatura, de la humedad, etcétera.

Obviamente y para colmo, cuando tiramos una moneda, no estamos haciendo millones de apuestas antes al respecto y de hecho, incluso así, en teoría se tienen 50% de probabilidades que salga un lado o el otro. Pero en principio, se supone que en las leyes de los grandes números, es decir, tirando muchos millones de veces estos volados, las cifras se irán acercando al 50% para el resultado de salir un lado o el otro de la moneda.

Considerando lo anterior, dije que en el Melate habría que analizar cuántas veces han salido los números y ver cuáles han salido con más frecuencia. Como el total de concursos del Melate no llega a más de 4000, no podemos hablar de ninguna ley de grandes números porque francamente son pocos concursos (tendría que haber millones). Y por ello, el análisis que podamos hacer tiene muchas dificultades para poder ser exacto. Sin embargo, asumí que si las pelotitas que tienen los números del Melate, que se ponen en una tómbola y se sacan de acuerdo a un procedimiento que siempre es el mismo para cada pelota que salga premiada, podría pasar que las pelotitas que han salido más veces, los números ganadores, sigan saliendo. Sugerí que las pelotitas no son perfectas e ideales, sino que son imperfectas, pesando quizás décimas de gramo (o centésimas de gramos), unas más que otras. Pero sin saber la razón por las cuales estas pelotitas reales salen más veces, pues deberían seguir tendiendo a este comportamiento. Nótese que las pelotitas siempre se sacan usando el mismo mecanismo.

Pues bien, si tomamos la lista de veces que han salido los más frecuentes (hallados con mi software), encontraremos que estos son los números más frecuentes:

507 veces - 32
505 veces - 12
503 veces - 37
497 veces - 13
495 veces - 20
492 veces - 5
488 veces - 36
487 veces - 16,33
485 veces - 2,7
484 veces - 15,28
483 veces - 11,19,25
482 veces - 30
481 veces - 1,18
475 veces - 14,29
473 veces - 9
471 veces - 8
470 veces - 6
469 veces - 17
466 veces - 3,27
464 veces - 4,39
463 veces - 21,38
462 veces - 22,24
458 veces - 26
456 veces - 31,34
451 veces - 10
444 veces - 35
432 veces - 23
406 veces - 40

Héctor Ugalde ("the infamous" Uch), me escribió y me dijo: "¿Ya viste que en el resultado del Melate de ayer (el mismo día de tu publicación) los 6 números están dentro de los que más frecuentemente han salido? 1, 7, 13, 14, 19 y 20".

Y revisando lo que me indicó Uch, hallé:

Resultados el concurso:

01           07           13           14           19           20           49

Frecuencia de estos números

49- 192 veces (adicional)
20 - 495 veces (natural)
19 - 483 veces (natural)
14 - 475 veces (natural)
13 - 497 veces (natural)
7 - 485 veces (natural)
1 - 481 veces (natural)

Nótese que fuera del adicional, los números naturales -todos- salieron al menos 475 veces. Esto me hace pensar que estamos ante un curioso asunto: podemos bajar la cantidad de números a los cuales apostar, considerando los que más veces han salido: 

32 12 37 13 20 5 36 16 33 2 7 15 28 11 19 25 30 1 18 14 29 9 8 6 17 3 27 4 39 21 38 22 24 26 31 34 10 35 23 40

Son 40 números contra 56 que se tienen originalmente, es decir, redujimos un 29% la cantidad de números a considerar. Cabe decir que esto no quiere decir que las apuestas sean más seguras. En el concurso al que se hace referencia hallamos que el adicional, el 49, salió menos de doscientas veces.

¿La conclusión? El tema de hablar de probabilidad en el mundo real bien puede tomar un enfoque diferente al que se tomaría en general cuando se habla de este tema y de nuevo, no hay garantías, pero tengo la impresión que la especulación del artículo anterior al respecto, no es tan errada.

Wednesday, November 07, 2018

Especulaciones privadas sobre la física



Quienes leen mi blog saben que soy físico por la UNAM, aunque en realidad me dedico a cómputo. Sin embargo, a pesar de que en realidad estoy alejado de la física per se, en ocasiones se me ocurren problemas que no sé si tengan solución. He aquí dos ideas que por años me han dado la vuelta en la cabeza:


  1. Considérese una pelota de radio r tal que por dentro es un espejo perfecto. Supongamos que en esta esfera, del material que sea, introduzco por una abertura (en la pelota) un rayo de luz e inmediatamente cierro la abertura de manera que se recupera el espejo perfecto internamente. La pregunta es: ¿Podría este rayo de luz rebotar internamente en la esfera por los siglos de los siglos? ¿Podría acaso ser una manera de transportar un rayo de luz?
  2. Piénsese en el tiempo y en la "flecha del tiempo", la cual parece tener una dirección determinada (escribí un libro sobre la naturaleza del tiempo. Escríbanme a quien le interese a morsa@la-morsa.com). Esta dirección, que es de ir del pasado al futuro, parece tener que ver con la entropía, que nunca disminuye y con eventos que no son reversibles, por ejemplo, la imposibilidad de re-pegar los fragmentos de una botella que se cayó al piso y se rompió, o el hecho de que el calor va de lo caliente a lo frío y no en sentido opuesto, por mencionar dos situaciones típicas. Vamos, que el tiempo y su dirección parece que tienen mucho que ver con la termodinámica. Pues bien, considérese ahora el concepto de campo: "En física, un campo representa la distribución espacio-temporal de una magnitud física; es decir, es una propiedad que puede medirse en el entorno de cada punto de una región del espacio para cada instante del tiempo", de acuerdo a la Wikipedia) y añade: Se dice que existe un campo asociado a una magnitud física, en una región del espacio, si se puede asignar un valor a dicha magnitud para todos los puntos de dicha región en cada instante".  Ahora bien, un campo gravitacional lo sienten los cuerpos punto a punto. Todos los objetos en la Tierra, por ejemplo, están bajo el campo gravitacional y es por eso que no vemos que cuando abrimos la regadera el agua se vaya hacia arriba. El agua "cae" debido precisamente a que la gravedad interactúa con cada objeto dentro del campo. Aquí una pregunta que se me ocurre es ¿cuál es la resolución del campo? Es decir, ¿cuál es la distancia de separación de los puntos del mismo? La respuesta parece ser esta: "La longitud de Planck (ℓP) u hodón (término acuñado en 1926 por Robert Lévi) es la distancia o escala de longitud por debajo de la cual se espera que el espacio deje de tener una geometría clásica. Una medida inferior previsiblemente no puede ser tratada adecuadamente en los modelos de física actuales debido a la aparición de efectos de gravedad cuántica" (también de la Wikipedia).  Pero lo que me inquieta y curiosamente, no sé si alguien ya lo ha trabajado (un físico y ajedrecista, argentino, Dante Paz, alguna vez me comentó que ya había pensado en esta idea), es el proponer que el tiempo se maneje como un campo. Todo lo que está dentro del "campo" del tiempo, interactúa con el mismo y hace que las cosas envejezcan. Si esto es así, podría especularse además en una partícula asociada al campo Tiempo, que podríamos bautizar como la "maldita partícula de Dios 2", "cronos" (parodiando al desaparecido hace poco León Lederman, quien bautizó así al bosón de Higgs). Cabe decir que no me siento capacitado en las matemáticas necesarias para desarrollar esta idea.

¿Comentarios? ¿Ideas? ¿Críticas? ¿Sugerencias?

¿Qué números jugar en el Melate para ganar?



Los concursos de azar en general -si efectivamente no hay influencia externa- son un ejemplo perfecto de lo que es la probabilidad. El ser humano se ha preguntado muchas veces sobre qué tan probable es que ocurra un evento en particular, por ejemplo, el tirar una moneda al aire y ver si cae de un lado o el otro. Y se supone que en el mundo de los grandes números, cuando se hacen millones y millones de intentos, la probabilidad de que caiga una moneda de un lado o del otro es del 50%.

Pero esto es el mundo ideal. Hoy, hablando con un par de estudiantes de mi curso de Proceso Digital de Imágenes, discutíamos una idea para hacer más eficiente el algoritmo de búsqueda de la mejor imagen para colocarla en el fotomosaico que tienen que crear. Un alumno de China, Yuguo (yo le digo "Hugo"), junto con Diego, en donde este último halló una idea interesante usando árboles k-dimensionales (), hablábamos de qué enfoque había que usar para la tarea mencionada. A Yuguo se le ocurrió usar un método en donde no encuentra necesariamente la mejor imagen en el fotomosaico, sino un aproximado. Su comentario fue: si hay en un salón tres alumnos de más de 1.80 m. ¿por qué tengo que revisar a cada uno de ellos en su estatura? Digamos que eso -como piensa mi estudiante- es perder el tiempo. Entonces nos indicó a Diego y a mí que busca "el más probable", lo que significa -de acuerdo al algoritmo que parece seguir- tiene alguna manera de buscar en una zona del espacio de búsqueda, ignorando lo demás. Así, encuentra una imagen aceptablemente buena aunque como el mismo Yuguo dijo, "no es la imagen óptima". Le pedí pues que documentara su algoritmo para estudiarlo.

Pues bien, todo lo anterior fue el preámbulo para cuando Yuguo me comentó: "yo creo que la probabilidad está en la cabeza nada más". Y en parte tiene razón. La realidad es que la probabilidad de que caiga una moneda en un intento es exactamente igual a la que tendrá aunque se hayan tirado antes mil millones de veces la moneda. Vamos, no importa que haya salido el mismo lado de la moneda en mil millones de tiros (poco probable, muy poco), el siguiente intento tiene la misma probabilidad de salir "sol" o "águila" (cara o cruz, pues).

Y entonces hablamos de los concursos donde el azar existe. Comentamos el problema del Melate y les comenté que la cantidad de concursos llega a apenas a menos de 4000. Estos no son los grandes números en donde, si es un concurso totalmente azaroso, el porcentaje de que salga un número es 1/56. Así de simple. Pero resulta que hay muchos números que han salido con frecuencias diversas. Este es el resultado que me entrega el software:

Frecuencias/Números (de mayor a menor) con 7 números.

507 veces - 32
505 veces - 12
503 veces - 37
497 veces - 13
495 veces - 20
492 veces - 5
488 veces - 36
487 veces - 16,33
485 veces - 2,7
484 veces - 15,28
483 veces - 11,19,25
482 veces - 30
481 veces - 1,18
475 veces - 14,29
473 veces - 9
471 veces - 8
470 veces - 6
469 veces - 17
466 veces - 3,27
464 veces - 4,39
463 veces - 21,38
462 veces - 22,24
458 veces - 26
456 veces - 31,34
451 veces - 10
444 veces - 35
432 veces - 23
406 veces - 40
385 veces - 43
380 veces - 44
373 veces - 42
350 veces - 41
229 veces - 45
228 veces - 47
212 veces - 46
192 veces - 49
189 veces - 48
175 veces - 51
173 veces - 50
161 veces - 56
154 veces - 52
151 veces - 55
150 veces - 54
135 veces - 53

Si consideramos esta tabla, veremos que números como el 32, el 12, el 37, el 13, el 20 y el 5 han salido con mucho más frecuencia que el 53, 54, 55, 52, 51, 48, 10 entre otros.

¿Por qué ocurre esto? Hay dos posibles razones: la primera es que la ley de la probabilidad, en este caso 1/56, se aplica a los grandes números, a hacer estos sorteos millones y millones de veces y aún así, no sé qué signifique exactamente "los grandes números", es decir, en qué momento llego a esa cifra... La segunda es que efectivamente, como Yuguo me decía, la probabilidad es un constructo humano y es una observación que queremos suponer que en general es cierta, aunque esto ocurre en el mundo ideal y no en el mundo real, en el que vivimos y en donde la diferencia de pesos (aunque sean décimas de gramo) de las bolitas que se ponen en el sorteo, puede hacer la diferencia que muestre las razones por qué el 10 sale una tercera parte de lo que sale el 12, por ejemplo.

Entonces, si hay que establecer un criterio, si pensamos que en estos "grandes números", las probabilidades eventualmente se igualarán, podemos pensar que menos de 4000 concursos (desde 1984), no caen ni remotamente en esta ley de los grandes números y por ende, pensar que los números que no han salido ahora sí saldrán con más frecuencia, es simplemente creer que estamos en el mundo ideal de la probabilidad.


Así pues, ¿quiere ganar el Melate? Desde luego que tendrá que tener un golpe de suerte porque como indicamos al principio del artículo, si es al azar realmente cada número debería tener 1/56 de posibilidades de salir (aunque pensándolo bien, el primer número tiene 1/56 chances de salir, el segundo 1/55, el tercero 1/54, etcétera). Pero en términos generales, los concursos ocurren en el mundo real y aunque sí, los números por salir son "igualmente probables" (en el mundo ideal), en el real se notan preferencias debido a la "imperfección de la realidad". Consecuentemente, la mejor apuesta debe ser a los números más frecuentes.

Desde luego -y antes de que alguien venga a reclamarle que no ganó el Melate- esto es meramente una especulación que busca ser educada, es decir, basándose en hechos. Y vuelvo a elaborar: las pelotitas del concurso real pueden no tener estrictamente el mismo peso y una diferencia de décimas de gramo entre una y otra pudiese hacer que una esfera saliese más veces que las otras, aunque evidentemente, no puedo afirmar que esto ocurra por esta razón.

Monday, November 05, 2018

Una realidad sobre los internautas en México




Todos sabemos que Internet tiene muchas cosas gratis. Los programadores, por ejemplo, sabemos que en muchos casos hay una buena cantidad de código abierto casi para cualquier tarea que uno quiera realizar, lo que permite que podamos implementar nuestros algoritmos mas rápidamente y además, que aprendamos algo en el camino. Cabe sin embargo decir que hay casos en el que el código fuente (es decir cómo está escrito un programa), o incuso el código objeto (o ejecutable), tiene un costo. Hay la modalidad de Shareware, en donde a quien le interese usar un programa en particular, tenga que pagar por éste. La cuota es en general simbólica, pero el programador, o quienes escribieron el software, buscan cierta retribución de parte de quien lo usa.

En los teléfonos y dispositivos móviles, muchas apps son gratuitas, pero incluyen publicidad para así solventar los gastos. Hay apps notables, como Waze, que no cuesta, y que permite al usuario guiarse en el laberinto que son las ciudades, incluso la CDMX, que es gigantesca y en donde la app hace una gran tarea guiándonos por toda clase de calles para llegar a nuestro destino.

Y si reflexiono sobre esto es porque hace unos años escribí un programa para analizar los datos del Melate, con la idea de tratar de ver qué números salieron más en los concursos pasados, cuáles menos y así de pronto, tener más datos para tomar una decisión informada sobre qué números son los más idóneos a apostar. Hice un video el 3 de julio del 2013 (ver más abajo), explicando lo que hacía mi software, el cual regalaba y sigo regalando. Los datos de los sorteos los saqué de la página de Pronósticos Deportivos y con ellos probé mi app. Hay que decir que en algún momento quise ver si los sorteos del Melate cumplían con el azar y mi conclusión es que sí, estos concursos son totalmente azarosos. De hecho, que unos números salgan más que otros puede deberse a que las pelotitas que se usan (que parecen de Ping Pong), tienen en promedio todas el mismo peso, pero diferencias en un par de gramos quizás hace que unas salgan más que otras. No lo sé, nada más especulo al respecto.



Pues bien, la comunidad de UnoCero acogió con agrado mi software y me lo pidieron. Mucha gente lo recibió de forma gratuita en sus correos. En el video correspondiente decía que si alguien -usando mi software- se ganaba un premio, estaba obligado moralmente a hacerme un donativo sino, podría pudrirse en el infierno. A la fecha nadie se ha sacado nada o nadie de los que se han sacado algo me ha dicho que ha tenido éxito. La cuestión es que aún no hay ningún generoso donativo a la causa.

En las instrucciones que pongo en el software explico cómo modificar el histórico de pronósticos deportivos. Indico que no tengo ni tiempo ni ganas para dedicarme a andar actualizando la base de datos. Sin embargo, por temporadas recibo peticiones de mi software lo que me indica, sin lugar a dudas, que la bolsa del Melate es muy jugosa. Entonces mando el programa a todos los que me lo piden con la base de datos histórica hasta el 2013.

Considerando que más de mil personas me lo han pedido (calculo que la cuenta va en unos 5000 personas), me di a la tarea de actualizar la base de datos a octubre del 2018, es decir, 5 años más que el archivo de datos que usé originalmente. Pero en este caso pedí a quienes me han pedido el software (a los que les he mandado un correo), en donde este es el texto que les mando:

"Hola,

He visto que tienes interés en el software que escribí para analizar los datos del Melate. Yo saqué los datos del sitio de pronósticos deportivos para realizar mi análisis de los números, cuáles se repiten, cuáles no, etcétera. Desde luego -y lo he aclarado muchas veces- el software que escribí no hace magia, ni lee el futuro, por lo que no es posible que le diga al usuario del software cuáles son los números ganadores. Mi software es simplemente una herramienta de análisis.

Ahora bien, los datos están desde el concurso 1 hasta el 2658, que data del 26/05/2013. Han pasado pues unos 5 años que no he actualizado la tabla de datos. Como mucha gente me ha pedido el software gratuito y hablo de más de mil personas, he decidido trabajar sobre la tabla actual del histórico completo de Melate hasta fines de octubre del 2018 (31/10/2018). Si quieres este archivo, he decidido cobrar 25 pesos por el mismo (depositando esa cantidad en mi cuenta de paypal (morsa@la-morsa.com)). Quizás te parezca injusto, quizás te parezca mal y hasta despreciable que pida semejante cantidad por el archivo de datos actualizado. Si no quieres pagarlo, lo entiendo y además, en el correo original donde te mandé el software están las instrucciones para que tú mismo hagas ese cambio para que el software que escribí pueda leerlo.

Así pues, la cosa es simple: si quieres el archivo actualizado a octubre 2018, me tienes que pagar 25 pesos a mi cuenta de paypal, la cual es morsa@la-morsa.com. Si no tienes PayPal, te pudo dar mi cuenta para que deposites. Si te interesa pues, me depositas y te mando el archivo así como las instrucciones para cargarlo (que son muy simples). Vamos, que con eso puede ser que le dedique entonces más tiempo al software para hacerlo más poderoso, para que dé más herramientas de análisis, asunto que tengo que siempre dejar para otra oportunidad porque tengo que trabajar en otras cosas para vivir. Pienso de hecho corregir una dificultad con la rutina del melático, que parece que en ocasiones se congela el sistema, pro lo haré cuando llegue una cantidad mínima de pagos (100 mínimo).

Cabe advertir que mi software no te hará ganador del Melate ni asumo ninguna responsabilidad sobre esto. Si me pagas los 25 pesos es por los datos que te estoy mandando, pero esto no garantiza ningún éxito ni ningún triunfo en estos concursos de pronósticos deportivos. No hay reembolso tampoco por ello. Una vez pagado, te mando el archivo y listo, ya es cosa tuya si te funciona o no.

El punto es apoyar al desarrollo. Creo que la cuota es muy razonable. Gracias"

Ayer mandé este correo a las últimas 70 personas que me pidieron el software. De esas, unas cinco me respondieron indicando que con gusto me pagarían por el archivo. Uno de ellos, sin embargo, me dijo que la modificación era muy fácil de hacer y por ende, la conclusión fue que no me depositaría los 25 pesotes.

Y entonces esta es la conclusión: hay mucha gente que sí, dice estar dispuesta a donar una cantidad generosa si se saca el Melate, pero aparentemente no está dispuesta a depositarme 25 pesos  (que es el equivalente a 5 boletos del Metro o a casi 4 del Metrobus), ya no por el trabajo de actualizar la base de datos, sino de apoyar el desarrollo. Esto me recuerda el siguiente relato en donde el periodista comunista le pregunta a un granjero:

Periodista: Oiga, ¿Si tuviese otra granja, le daría una a su vecino?
Granjero: Desde luego, en caso de tener otra granja le daría sin problemas una al vecino
Periodista: Y si tuviese dos tractores, ¿le daría uno al vecino?
Granjero: Claro, si tuviese dos tractores, con gusto le daría uno al vecino
Periodista: Y si tuviese dos caballos, ¿le daría uno a su vecino?
Granjero: No.
El periodista sorprendido preguntó: ¿Por qué no?
Granjero: Porque tengo dos caballos.

El chiste se cuenta solo.


Post Scriptum

Estuve pensando en todo este asunto de las personas que dicen me darían un donativo si sacasen el Melate. Nunca realmente lo he tomado muy en serio pero su aceptación de darme un donativo parte del supuesto de que se sacaran una cifra mayor en dicho concurso. Por ejemplo, creo que si se sacaran diez millones de pesos, probablemente no me darían ni el 1%. A la hora de tener el dinero contante y sonante estoy seguro que cambiarían de opinión o bien, pensarían para sí mismos que el software que les mandé no les ayudó en nada, etcétera.

De hecho, a quien le interese ver la poca respuesta a iniciativas como la que planteé, revise aquí, que hablo de un experimento de poner a disposición pública un libro mío bajo la política de "paga lo que quieras (o puedas) y el resultado de este experimento, que puede leerse aquí.



Saturday, November 03, 2018

Nuevo reto lúdico: el juego de la vida de Conway



Hoy en día estamos acostumbrados a luminosos videojuegos que emociona, excitan a los jugadores y en ocasiones incluso pueden jugarse por muchas personas al mismo tiempo en servidores dedicados a ello. Muchos videojuegos hacen énfasis en las habilidades manuales del jugador y sus reflejos, los cuales bien pueden convertirse en juegos populares e incluso adictivos.

Pero también hay juegos que caen en categorías que resultan hasta curiosas. Este es el caso del juego de, la vida de Conway, un juego de cero-personas, inventado por el matemático John Conway, cuando éste trabajaba en la Universidad de Cambridge. El juego se conoció ampliamente a partir del artículo de Martin Gardner en Scientific American, de octubre de 1970 e inmediatamente se volvió un ejercicio adictivo en cómputo.


John Conway con la Morsa, en la plática que dio el primero en la Facultad de Ciencias

El juego se desarrolla en una malla cuadriculada, en donde en los casilleros de la misma (llamadas celdas), se colocan células o bien se dejan vacíos. Las reglas son sencillas, cuando hay una configuración de celdas ocupadas y vacías, se tiene que:


  1. Cada célula con una o sin células vecinas se muere, por soledad.
  2. Cada célula con cuatro o más células vecinas mueren, por sobrepoblación.
  3. Cada células con dos o tres vecinas, sobrevive.


Así, el juego consiste en que el usuario genere una configuración de células y aplique las reglas mencionadas en paralelo para cada celda. Eso hará la siguiente generación, a la cual se le aplicará el mismo algoritmo. Un ejemplo del juego de la vida de Conway puede verse aquí, en donde el lector podrá generar las configuración que quiera y ver cómo evoluciona en el tiempo. En eso, de hecho, consiste el juego. No hay que interactuar de ninguna manera una vez que se ha generado una configuración de celdas.

Conway y mucha gente dedicó muchas horas al juego de la vida tratando de encontrar las propiedades de las diferentes configuraciones y se tienen conclusiones fantásticas, por ejemplo, que el juego de la vida es "Turing completo", es decir, se puede crear una máquina de Turing que pueda hacer cualquier cálculo. Tal vez por ello la importancia de este "juego". Cabe decir que además, Conway redujo la idea de los autómatas celulares que en un principio von Neumann había estudiado y en donde -según él- su diseño requería de 29 propiedades y reglas, a algo mucho más escueto pero igualmente poderoso.

Pues bien, el juego de la vida de Conway eventualmente fue programado infinidad de meses y se tienen reiteradas sospechas de que usó mucho "tiempo de máquina" en computadoras grandes, en aquellas máquinas que solamente las podían tener en esos tiempos las instituciones académicas y las instancias gubernamentales. Sin embargo, el juego -como ya dijimos- es mucho más que un simple juego, y quizás sea un interesante modelo teórico para desarrollar ideas en matemáticas e inclusive, en la biología.

Pues bien, considerando eso, el reto consiste en desarrollar un programa que juegue al juego de la vida de Conway. Se puede desarrollar en cualquier lenguaje y sería interesante (puntos extras), a quien lo desarrolle en algún lenguaje que no haya sido ya escrito en Rosetta Code. Es cierto que en este sitio pueden verse ya mucho código fuente que resuelve el problema pero aquí el reto es que usted lector/lectora, lo resuelva.

Para ser más claros, el juego de la vida se representa así:

Una célula C se representa por 1 cuando está viva y 0 cuando está muerta, en una matriz cuadrada de m x m casilleros o celdas. Calculamos N, la suma de las células vidas en las ocho celdas en la vecindad de cada célula C, y entonces tenemos a una célula que sobrevive o que muere en la siguiente generación basándose en lo siguiente:


  • Si una célula está en 1  y tiene 0 o 1 vecino (una célula en 1), entonces en la posición de la célula se pinta un 0 (muerte por soledad).
  • Si una célula está en 1 y hay una vecindad con 4, 5, 6, 7 y 8 celdas vecinas ocupadas, entonces se pinta un 0 en la siguiente generación (muerte por sobrepoblación)
  • Si la célula de interés tiene un 1 y la vecindad de la misma tiene 2 o 3 células en 1, entonces sobrevive con un 1 en la siguiente generación.
  • Si la célula tiene 0 en el punto de interés y hay 3 células alrededor, se pondrá un 1 en la siguiente generación (tres células dan el nacimiento de una nueva).
  • Si la célula es 0 y hay  0, 1, 2, 4, 5, 6, 7, 8  entonces en la siguiente generación se pondrá un 0.


El programa a escribir debe hacerse en cualquier lenguaje que se deseé. Puede ser compilado o interpretado y tiene puntos extras si el lenguaje usado no está en las implementaciones hechas ya en el sitio de Rosetta Code. Desde luego, se puede hacer en un algún lenguaje ya usado, por ejemplo C, C#, Haskell incluso, pero si alguien me va a mandar el código le suplico que no lo copie y que busque ser original. Si detecto copia lo descalifico.

La idea es pues aprender y este es un ejercicio simple pero interesante, además de que puede ser muy útil para probar una serie de teorías al respecto de los patrones, de ciertas configuraciones, de la estabilidad de algunas de estas células, etcétera. En Conway Life hay mucha información interesante.



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 satisfactorias, ganará quien la haya mandado primero o que cumpla con más características que le den mejores resultados. El ganador es inapelable y cede su código fuente a la comunidad. Es decir, se promueve el código abierto.