11 chilenos

accounting analytics balance black and white
Photo by Pixabay on Pexels.com

Advertencia: Este artículo es alto en ñoñez.

Cuando lleno un formulario en línea y llega la parte de poner el RUN, mi espíritu ñoño se alegra cuando el formulario es lo más inteligente que puede ser, y a cada número que agrego, confirma si es correcto.

Esto se puede hacer a tiempo real y sin comprobaciones adicionales, porque el número verificador (el raya-7 o raya-8 o lo que sea) se obtiene a partir de los otros dígitos, siguiendo unas reglas matemáticas bastante sencillas. (Para los mega ñoños, el algoritmo completo está en Wikipedia.)

Entonces, en una de estas tardes oscuras de pandemia, se me ocurrió buscar a potencialmente 12 personas, del total de más de 27 millones de inscritos desde que existe el RUN. Son ellos los que, a medida que agregan su número, en ningún momento digitan uno inválido.

Mejor con un ejemplo: el menor de ellos, 27.200.001-8, que debe tener un año de vida o algo así, si nació en Chile, cuando escriba su RUN el software va a verificar primero 2-7 (válido), luego 27-2 (válido), luego 272-0 (válido), y así sucesivamente; todos los números RUN que escriba van a ser válidos.

Sin más preámbulos, la lista completa.

27.200.001-8
19.100.006-4
2.720.000-1
1.910.000-6
3.530.000-7
4.340.000-2
5.150.000-8
7.870.000-9
8.680.000-4
9.490.000-K

Son 11. Hay varios más, obviamente, con números menores de 1 millón. Son los que se generan con truncar los de la lista de derecha a izquierda. Pero todos ellos están muertos probablemente. Con 6 millones no hay ninguno, porque inmediatamente después de escribir un 6, se requiere una K. Gajes del oficio.

Aclaro que no sé nada de ellos. Espero que si alguno de ellos está vivo, y busca su RUN en Google, le aparezca esta página y bueno, si es que no lo sabe aún, aprenda algo del número que escribe varias veces a la semana.

Nada más. Eso era todo lo que buscaba con este artículo.

Post-data (solo para ultra-mega ñoños): la función en python que usé para generar los números verificadores.

def get_veri(s):
    verifinal = 11 - sum([ int(a)*int(b)  for a,b in zip(s.zfill(8), '32765432')])%11
    return {10: 'K', 11: '0'}.get(verifinal, str(verifinal))

Ofiuras en el conjunto de Mandelbrot

A casi todos los toca alguna vez sentarse a escuchar e intentar aprender algo acerca de los números complejos. De segunda categoría, imaginarios, destinados a despertar poco más que bostezos. ¿De qué puede servir un número imaginario? La lógica capitalista y nuestras más o menos frustradas infancias nos indican que el camino para el progreso es aplastar la imaginación y la fantasía. Se reemplazan por la creatividad y la visión emprendedora. Bienvenido el know-how y el marketing; para mi start-up no necesito bullshit. Reduciendo todo a su potencial aplicación práctica, sabemos de inmediato que no necesitamos cosa tal como números imaginarios, que no representan cantidad alguna de dólares ni de acciones en la bolsa.

Sirven para la física, para la aeronáutica, dice el profesor. Los más entusiastas dicen que en el misterioso mundo cuántico las cosas solo se pueden describir usando números imaginarios. Los más escépticos dicen que es un truco, un salto para poder resolver ecuaciones, y nada más. Un pasatiempo más para matemáticos enfermos del mate, ociosos.  Pero pocos nos muestran que son la llave para abrir un tipo insospechado de belleza. Que como el arte no tienen un propósito intrínseco; solo están ahí, y que si seguimos las reglas, las nuestras, y con la pequeña gran ayuda de un computador para hacer el trabajo pesado, el resultado jamás dejará de sorprendernos.

El conjunto de Mandelbrot es, como su nombre lo indica, un conjunto, una colección de números, descubierta por un matemático polaco-francés de apellido Mandelbrot. Obviamente no son números cualquiera, elegidos al azar, sino que cumplen con una propiedad, aparentemente sencilla.

A partir del número que queremos comprobar si pertenecen o no al conjunto, se crea una serie de la siguiente manera: el número anterior de la serie se eleva al cuadrado, y se le suma (recordemos, el número original). Si la serie tiende al infinito, c no pertenece al conjunto de Mandelbrot. Si, por el otro lado, la serie queda «acotada» en cierto rango, c pertenece al conjunto de Mandebrot. Podemos intentarlo con dos números, -1 y 1.

Con -1 la «serie» sigue del siguiente modo:

0,\  0^2+-1=-1,\ -1^2+-1=0,\ 0^2+-1=-1,\dots

La serie solo sigue «rebotando» entre 0 y -1, por lo que nunca tiende al infinito, y –1 pertenece al conjunto de Mandelbrot. En el caso de 1:

0,\  0^2+1=1,\ 1^2+1=2,\ 2^2+1=5,\ 5^2+1=26,\ \dots

Esta vez la serie tiene rápidamente a números cada vez más grandes, por lo que 1 no pertenece al conjunto. 

El conjunto de Mandelbrot (en negro) en el plano complejo.

El conjunto de Mandelbrot (en negro) en el plano complejo.

Un computador calcula esta serie por cada uno de los miles o millones de puntos que queremos comprobar, y genera una imagen como la que vemos arriba. Si usáramos solo números «reales», el conjunto de Mandelbrot sería una sonsa línea que va desde -2 a +1/4, pero aparece mucho más que eso cuando incorporamos los números «imaginarios». Aparece un corazón gigante coronado por infinitos globitos, algunos grandes y otros pequeños, y en la punta de cada globito una antena infinitamente compleja.

Notemos que tiene una estructura que llamamos «fractal». Básicamente y en resumen la palabra «fractal» tiene mucho que ver con el concepto de «autosimilitud»: un objeto que es similar a sí mismo visto desde diferentes escalas, como un brócoli. Entonces cada uno de los pequeños globitos tiene una estructura muy similar al globo mayor. De hecho existen cercanos a la «superficie», en las antenas, pequeñas estructuras muy similares al conjunto completo.

Cada una de las ramitas del brócoli es parecida a un brócoli completo

Pero lo interesante ocurre en el límite, en el borde más externo del conjunto. Ahí es realmente muy difícil, aun para un computador, estimar si un número pertenece o no al conjunto. Necesitará entonces repetir («iterar») cientas, miles o millones de veces la operación (elevar al cuadrado y sumar) para determinar si la serie está acotada o no. Entonces los genios de la computación, los verdaderos artistas del bit, decidieron que sería una excelente idea asignar un color (cualquiera) a cada punto si se determina que no pertenece, según qué tan «rápido» se haga esa determinación. Entonces la imagen se vuelve mucho más interesante

Después de aplicar esa regla la imagen cambia radicalmente

En este caso los colores azules fueron descartados rápidamente, los rojos y amarillos no tanto, y los celestes (más cercanos al límite), solo descartados después de miles de iteraciones. ¡Los colores son lo menos importante! Estamos a un paso de entrar a apreciar el universo infinitamente complejo de su perímetro infinitamente plegado. Hay zonas con elefantes, martillos, agujas y espinas. Hay una zona, entre los dos círculos más grandes, en que se generan pequeñas ofiuras hechas de ofiuras más pequeñas.

Cada uno de los tentáculos contiene, al final, cuando se convierte en el cuerpo superior, un huevo que en su núcleo más interno alberga una copia muy similar al conjunto completo, rodeado de miles de capas de cabellos finísimos. Cada cabello se conecta a su vez con la capa superior, en un espiral de tentáculos y pelos hasta que de pronto, muy al fondo, aparece otro conjunto pequeño, en el interior de un huevo alimentado por 8 medusas.

Un huevo al final de un pelo en el interior de un huevo ubicado al final de un tentáculo de una ofiura, alimentado por 8 medusas.

Los ojos de las medusas son medusas, algunas deformadas, grandes y pequeñas, que alimentan más huevos que tienen en su interior al conjunto completo. En otras ofiuras las medusas son reemplazadas por choritos. ¿o serán copépodos, o chanchitos de tierra? Los pelos quizás son corales, o hidras. ¿Quién sabe, realmente?

No son medusas, sino choritos

Las fechas dentro de pi

Pocas maneras hay menos productivas de pasar una mañana de jueves, que hacer lo que hice hoy. Este es un artículo sobre fechas. Específicamente fechas escondidas en el número pi (π). O es más bien un ejercicio y una invitación a reflexionar sobre ciertos temas, como el origen del orden a partir del caos y la aleatoriedad absoluta. Como advertencia inicial, quiero decir que no creo que haya ningún componente místico ni trascendental en estas fechas, por varias razones.

Primero, el calendario actual de occidente, gregoriano, con sus meses arbitrarios de 28, 29, 30 o 31 días, es una convención que no tiene nada que ver con lo que pueda pasar en el mundo, ni tiene nada que ver con los calendarios chino,  hebreo, hindú, o musulmán, en el que vive la mitad de la población del planeta, por lo que para ellos bien puede valer poquísimo todo el texto que sigue a continuación.

Segundo, π es la relación de la circunferencia de un círculo con su diámetro. Aparece más de lo que debería en muchas otras partes de la matemática, pero no es un Dios ni una guía para la vida humana. Además, la representación «decimal» de π, con sus 10 dígitos, es solo una de las literalmente infinitas maneras de representarlo. Solo la escogemos de entre todas ellas porque como especie Homo sapiens (al igual que la mayoría de los animales) tenemos 5 dedos en cada mano: 5 + 5 = 10, y porque decidimos ocupar los dedos para contar. La mayor parte de las aves tiene 4 dedos en cada pata, así que quizás los cuervos representen pi en su base «octal» (y seguramente lo hacen así). Los caballos tienen un dedo en cada pata, por lo que quizás ellos en el futuro distante en que desarrollen el cálculo, no usen como referencia sus dedos para contar, sino que otra parte de su cuerpo, porque el sistema binario está super bien para los computadores, pero es muy tedioso para escribirlo y  pensar en él.

Pero, mejor directo al grano.

¿Qué hice?

Primero, me inspiré en la página My Pi Day, que encuentra la fecha que quieras entre los dígitos de pi. La página tenía un problema: casi todas las fechas están en los primeros 1.000.000 dígitos, o creo incluso que todas. Y qué duda cabe que el origen de este problema es que las fechas están en formato DD-MM-AA, es decir con el año ¡solo con dos dígitos! Seguramente lo hicieron para que todos tuvieran su «Pi Day», sin importar cuan poco importante sea la fecha de su nacimiento. Pero es muy ambiguo, ya que la fecha 23-02-33 puede significar tanto 23 de febrero de 1933, como de 1433. ¡Antes del descubrimiento de América! (Para qué decir que incluso puede significar del mismísimo año 33, en el que ni siquiera se usaba este calendario, por estar recién en proceso de morirse el Cristo, sino el juliano).

Segundo, cree un pequeño programita en Python (un lenguaje de programación) que pueden descargar acá. Este programita toma como entrada un archivo llamado pi, que normalmente debería contiene digitos de pi, 100.000 en este caso, y busca y entrega cualquier cosa que se parezca a una fecha. Solo busca fechas en los siglos 20 y 21, por decisión editorial: hasta antes de 1582 las fechas corresponden al calendario juliano, por lo que «cualquier fecha» no era una opción. Y creo que podemos estar muy convencidos de que estos dos siglos son los más entretenidos de la historia de la humanidad. No comprueba (por el momento, aunque no sería tan difícil de hacer) si la fecha es «válida», por lo que algunas tipo «31 de mayo» o «30 de febrero» podrían aparecer. Lo corrí, y este es el resultado:

[(’29-02-1960′, 713), (’16-03-1990′, 5246), (’25-12-1925′, 5717), (’14-10-2067′, 9805), (’26-11-2009′, 11590), (’26-11-1912′, 12609), (’24-08-1972′, 12783), (’30-03-2042′, 14583), (’26-10-1995′, 15480), (’09-02-2097′, 15712), (’07-04-1937′, 16927), (’23-08-2081′, 17022), (’16-05-1965′, 17093), (’23-11-2015′, 19034), (’20-04-1975′, 20112), (’15-10-1986′, 20428), (’27-08-2082′, 21585), (’16-08-1923′, 23093), (’08-12-1984′, 27588), (’07-06-1918′, 29351), (’03-09-2018′, 31749), (’04-04-2033′, 33600), (’31-12-1961′, 38338), (’19-02-1945′, 39395), (’06-11-1901′, 41936), (’17-05-2044′, 43822), (’22-07-2030′, 44218), (’13-06-2055′, 44857), (’09-06-1980′, 45683), (’23-04-1947′, 45701), (’24-09-2070′, 46459), (’13-11-1907′, 46553), (’16-09-2079′, 46936), (’26-10-1903′, 48095), (’19-02-1991′, 49315), (’30-07-2006′, 50242), (’28-03-1913′, 50987), (’03-08-1910′, 51942), (’12-04-1951′, 52405), (’12-11-2019′, 53191), (’25-01-1970′, 54167), (’04-09-2017′, 55103), (’21-11-1973′, 55715), (’12-06-2026′, 56974), (’28-05-2066′, 57321), (’20-11-2046′, 57981), (’02-08-2044′, 59658), (’29-05-2011′, 60802), (’23-01-2039′, 60869), (’03-10-1916′, 61512), (’11-03-2065′, 62602), (’19-05-2031′, 63927), (’28-01-2009′, 65246), (’14-08-2069′, 66088), (’23-07-2082′, 69468), (’30-07-2031′, 70859), (’15-08-2052′, 71578), (’12-02-2007′, 77164), (’14-02-2045′, 77365), (’22-12-2067′, 77692), (’12-06-1969′, 77829), (’20-07-2054′, 79818), (’24-11-2083′, 81588), (’14-08-2049′, 82014), (’02-11-1969′, 85849), (’12-01-2035′, 87600), (’31-04-2090′, 88453), (’09-07-1951′, 88849), (’11-09-1943′, 92412), (’08-10-1983′, 95022), (’08-10-1912′, 96626), (’27-01-2069′, 98149)]

Las fechas están seguidas de un número, que representa el «lugar» dentro de π donde la fecha se encuentra, cuántos decimales hacia la derecha tiene uno que avanzar para encontrarla. Vamos a desmenuzar los hallazgos.

Hallazgos

Dentro de los 100.000 digitos de pi:

  • La primera fecha que encuentra, sorprendentemente, es el 29 de febrero de 1960, recién en el decimal 713. Solo había un 25% de probabilidades de que fuera una fecha real, pero resulta que el año 1960 es bisiesto, como todo buen año divisible por 4.
  • La segunda, casi 5000 decimales más adentro, es el 16 de marzo de 1990, y se le menciona solo como premio de consuelo por llegar segunda.
  • La tercera es el día de Navidad de 1925
  • La primera fecha futura es el 30 de marzo de 2042, seguida del 9 de febrero de 2097, la que será la última del siglo 21
  • Nos perdimos por estar paveando el 4 de septiembre de 2017, pero la siguiente en aparecer en esta lista es el 3 de septiembre de 2018,
  • La primera fecha pi del siglo 20 fue el 6 de noviembre de 1901.
  • La única fecha «inválida» que generó fue el 31 de abril de 2090. Esto no es un dato acerca de pi, sino más bien de mi programa.

¿Habrá pasado algo interesante en alguna de estas fechas?, y, lo más importante, ¿pasará algo interesante en estas fechas futuras?

Anexo: La venganza de las fechas perdidas

Olvidando las restricciones, quise hacer un anexo que incluyese información considerando todas las fechas de la «Era Cristiana», con las siguientes restricciones: El formato del año tiene que ser de 4 dígitos, por lo que el año 456 debe llamarse «0456», y, además, solo consideraré hasta el año 2999. El cuarto milenio esperará. Para este anexo ocupé los primeros 1.000.000 de dígitos de pi.

  • Hay 11004 fechas válidas: ~1,00% del total de fechas posibles. Si descontamos las repeticiones, da un 0,99%
  • El siglo con más fechas «válidas» es el siglo III, con 412. El con menos es el VI, con 332. Nuestro siglo 21 ha tenido y tendrá 376 fechas.
  • Las fechas 22 de abril de 1292 y 14 de abril del 165 aparecen tres veces. Otras 55 fechas aparecen 2 veces
  • Lo más interesante: Este año solo habrá 2 fechas dentro del primer millón de dígitos… el 3 de septiembre, y el 28 de enero. Es un año relativamente pobre en comparación con los demás.
  • Lo menos interesante: Mi cumpleaños será una fecha pi el año 2039