21 oct 2017

Desmitificando Enigma


Hace dos semanas, escribí sobre cómo funcionaba la archiconocida Enigma I e hice una breve reseña de su historia. No entré a narrar la hazaña de descifrarla llevada a cabo por polacos e ingleses, pero una serie de comentarios en la página de mi entrada en Menéame me hicieron plantearme escribir sobre el impacto de Marian Rejewski y factores ajenos al criptoanálisis en el éxito de Turing; el grave error de pensar en la Enigma como una única máquina; su inmerecida fama de mejor máquina de cifrado de la 2ª Guerra Mundial y otros aspectos frecuentemente olvidados que pueden ayudar a desmitificarla y entenderla mejor.


La Enigma es una y trina

A pesar de que se suela hablar de la Enigma, hubo casi tantas versiones como letras del abecedario: Enigma A, B, C, D, H, I, K, M4,...

Árbol genealógico de las Enigma, hecho por Paul Reuvers y Frode Weierud y sacado del gran Cryptomuseum.com


Si mencionan la Enigma sin apellidos, probablemente se refieran a la Enigma I, la más famosa de todas por ser muy utilizada por el ejército de tierra y las fuerzas aéreas nazis. Tampoco podemos olvidarnos de la Enigma M4, adoptada en plena guerra únicamente por los submarinos nazis (U-Boots). Contaba con un rotor adicional y fue un hueso durísimo de roer para los criptoanalistas, que la llamaban Shark y no lograron ningún avance hasta que se hicieron con un libro de códigos rescatado de un U-Boot enemigo.

U-Boot usado en la 2ª Guerra Mundial, cortesía del Bundesarchiv alemán



Enigma, ¿conocida o extraña?

Muchos piensan que la máquina Enigma era una total desconocida para los criptoanalistas aliados. Ésto es parcialmente falso, ya que la Enigma llevaba rondando desde los años veinte y había sido exhibida y publicitada por su creador, por lo que su manera de funcionar era conocida por la mayoria de servicios secretos. Sin embargo, es fundamental recordar que cada Enigma es un mundo, y las particularidades de los rotores de la empleada por los nazis (desde mucho antes de la guerra) eran totalmente desconocidas, hasta que los matemáticos polacos Marian Rejewski, Jerzy Różycki y Henryk Zygalski caracterizaron el cableado interno de cada rotor en 1932, tras siete años de investigación e innovación (se considera que Rejewski fue pionero en aplicar métodos de matemática pura, principalmente teoría de grupos, para resolver un cifrado).


Apología de un polaco

Los polacos recuerdan a los soviéticos en esta historia: mientras el fundamental esfuerzo de guerra de los últimos suele ser minimizado por la historiografía mainstream, lo mismo ocurre con el mérito criptográfico de los primeros. Tanto en Descifrando Enigma como en Bletchley Park (la mansión donde trabajaban los criptoanalistas británicos, reconvertida a museo) vemos escasísimas referencias a Marian Rejewski y su equipo, que les allanaron enormemente el camino proporcionándoles una descripción exacta de la Enigma I, el método combinatorio básico para descifrarla e incluso prototipos de los famosos dispositivos que tanto ayudaron en Bletchley Park, conocidos como bombes (el propio nombre es de origen polaco, bomba kryptologiczna).

Alan Turing con la bombe y un eslogan que le muestra como amo absoluto del descifrado de Enigma. Su papel en la construcción de la bombe fue tan importante como el del ingeniero Harold Keen y el matemático Marian Rejewski.


Aunque voy a dejarlo aquí, estos no son todos los clichés falsos que tenemos sobre la Enigma. Nos quedaría mencionar que los estadounidenses no se quedaron de brazos cruzados y construyeron una bombe más rápida que la británica, que una Enigma sin reflector hubiera sido prácticamente indescifrable (el hecho de que una letra nunca se encripte como sí misma es la base de todos los métodos que se emplearon), que la Enigma no era la mejor cifradora de la Segunda Guerra Mundial (la máquina Lorenz era más compleja y la historia de su descifrado, mucho más mítica) y que los alemanes se equivocaron al hacer 10 cambios en el plugboard (si no sabes qué es, léete esto) y no 11, lo cual habría maximizado la potencia de la máquina.

Bombe estadounidense

Todo lo mencionado no quiere decir que Enigma no merezca su fama, es una máquina apasionante histórica y criptográficamente. Tanto que aún en este siglo seguimos descifrándola, con proyectos colaborativos como este, en el que numerosos voluntarios internacionales pusieron sus ordenadores a crackear algunos códigos pendientes de la potente Enigma M4.

Máquina Lorenz, expuesta en el National Museum of Computing en Bletchley Park. Algún día tengo ganas de hablar sobre ella.




Fuentes y lectura recomendada

The Code Book, Simon Singh

http://www.telegraph.co.uk/history/world-war-two/11231608/Breaking-the-Enigma-code-was-the-easiest-part-of-the-Nazi-puzzle.html

http://www.microsiervos.com/archivo/seguridad/m4-project.html

https://www.meneame.net/m/cultura/haz-tu-propia-maquina-enigma 

https://commons.wikimedia.org/wiki/File:Bundesarchiv_DVM_10_Bild-23-63-65,_U-Boot_U_36.jpg

https://es.wikipedia.org/wiki/Teor%C3%ADa_de_grupos

https://en.wikipedia.org/wiki/Marian_Rejewski#Solving_the_wiring

www.cryptomuseum.com/crypto/enigma/tree.htm

http://www.cryptomuseum.com/crypto/enigma/index.htm

http://www.cryptomuseum.com/crypto/enigma/i/index.htm

8 oct 2017

Haz tu propia máquina Enigma

La máquina Enigma es un hito criptográfico. Su llamativo diseño y la inevitable asociación con la Alemania nazi la dota de un halo legendario, que podría hacernos creer que su funcionamiento es hermético e incomprensible. Nada más lejos de la realidad: está basada en tres simples dispositivos (rotor, plugboard y reflector). Conociéndolos bien, podremos entenderla perfectamente e incluso construir nuestra propia Enigma.


La máquina Enigma, como Hitler, empezó a popularizarse dos décadas antes de su apoteosis en la 2ª Guerra Mundial. En 1918, el ingeniero eléctrico alemán Arthur Scherbius patentaba su invento para cifrar texto por medio de rotores al que decidió llamar αἴνιγμα (Enigma en griego). El mismo año, un soldado volvía a Munich tras firmarse el armisticio que sellaba la derrota de su país en la Gran Guerra. Sólo un lustro más tarde, nuestros dos protagonistas cobraban fama: la Enigma era presentada al público y la prensa en congresos internacionales, y el soldado se ganaba la simpatía de parte del pueblo alemán tras ser juzgado y encarcelado por liderar un intento de golpe de estado. La continuación de esta historia es bien conocida, así que nos centraremos en la del invento de Scherbius.

1937: la Enigma ya cifra las comunicaciones de otros ejércitos además del alemán, como el italiano y el bando franquista en la Guerra Civil española. Los británicos, aún sin Turing en plantilla, logran descifrar las comunicaciones de los dos últimos porque sus Enigmas no incorporan plugboard (la mayor fuente de complejidad de la máquina, que describiremos más tarde), pero no tienen la cortesía de compartir sus hallazgos con el bando republicano, que perdió sin conseguir resolver el enigma.


Pero ya vale de historia, es hora de explicar en qué consistía el artilugio. Tenía pinta de máquina de escribir moderna a la que se le ha intercambiado el soporte para papel por un conjunto de letras que parece un segundo teclado, sólo que no se pueden pulsar y se iluminan (mostrando la letra cifrada) cuando escribimos en el teclado verdadero. También se le han añadido un montón de agujeros en la parte delantera (éste es el famoso plugboard) y detrás del falso teclado, tres grandes ruedas dentadas con letras o números escritos en el borde (conocidas como rotores). Oculto, está el tercer elemento necesario para comprenderla: el reflector. No formaba parte del diseño original de Enigma, y fue incorporado posteriormente para simplificar enormemente su uso, ya que permitía cifrar y descifrar textos con la misma máquina, sin realizar ningún ajuste. Su función, como sugiere el nombre, era "reflejar" la corriente procedente del rotor izquierdo y hacerla retroceder como vemos en este fabuloso esquema hecho por MesserWoland:

La Enigma funciona por medio de simples circuitos eléctricos, así que sólo tienes que seguirle la corriente. Pulsas la A y la señal pasa por el rotor derecho, cuyo cableado interno la hace cambiar de dirección. En el ejemplo de arriba, vemos cómo el rotor derecho la desvía de la posición 1 (asociada a la letra A) a la 2 (asociada a la B). La corriente sufre otros dos desvíos en el rotor central y el izquierdo, y llega al reflector, que no es más que un "cuarto rotor" con dos peculiaridades: no rota (ahora explicaremos cómo lo hacen los otros) y su entrada y salida de corriente están conectados al mismo rotor, actuando como un espejo. La señal recorre el circuito de vuelta y se ilumina la G. Ésta es la letra A cifrada, y al introducir G en una Enigma con las claves adecuadas, la volveremos a descrifrar obteniendo la A original. A cambio de aportar versatilidad a la Enigma, el reflector es el culpable del gran talón de Aquiles de la máquina: es imposible que una letra se cifre como sí misma. Esta característica fue fundamental para que Turing y su equipo "descifraran" Enigma.

Esta disposición puede parecer suficientemente compleja, pero no lo es. Si la mantenemos constante, nuestro código será fácilmente descifrado mediante análisis de frecuencias. Pero afortunadamente, un vaso es un vaso y los rotores rotan. A un ritmo bastante regular, además: el derecho gira cada vez que pulsamos una tecla; el de enmedio cada 26 vueltas del derecho; y el izquierdo, cada 26 del de enmedio (26 no es un número mágico, es la cantidad de letras del alfabeto internacional y no, no puedes cifrar la ñ con una Enigma). La rotación hace que cambie el recorrido de cada letra que ciframos, como puedes observar en la parte inferior del esquema que acabamos de comentar.
Ya sólo nos queda hablar del plugboard. Se trata sencillamente de un conjunto de agujeros asociados a cada letra que se encuentran al final del circuito. Si conectas mediante un cable los agujeros A y B, cuando el resultado del cifrado sea una A, se iluminará la B y viceversa.

Observa cómo giran los rotores y se iluminan las letras delanteras en este gif de origen desconocido. Fíjate en que, a pesar de pulsar siempre la misma tecla, se van iluminando distintas letras.

A estas alturas de la entrada puedo confesar que el título era un pelín clickbait, pero no del todo. He "construido" (programado en Python) un modelo históricamente preciso de la más mítica de las Enigmas, la Enigma I, arquetipo de la máquina por ser la más utilizada por los nazis en la guerra y el objetivo principal del equipo de Alan Turing. La inmensa mayoría de simulaciones de la máquina que encontrarás por internet son de la Enigma I. Tenía la peculiaridad de poderse elegir tres de entre cinco rotores disponibles, multiplicando la potencia de la máquina (número de estados posibles) por diez. Este número sale de calcular las posibles combinaciones de sólo tres rotores (3!=6) y compararlas con las posibles combinaciones de tres rotores escogidos entre cinco (5!/2=60). El plugboard permitía hacer diez cambios, lo que multiplicada la complejidad de la máquina (debido a un cálculo combinatorio en el que no voy a entrar) por 26!/((26-20)!·2¹⁰·10!)=150 738 274 937 250
P

Por último, los estados posibles de los tres rotores son 26³=17 576. Multiplicando estos tres números, obtenemos la cantidad de estados posibles de la Enigma I.

Genial modelo gráfico para entender el funcionamiento interno de Enigma. Me ayudó mucho a entenderla. Pruébalo online aquí.

Antes de abandonaros a vuestra suerte con mi código (aunque no es justo decir esto, porque lo he llenado de comentarios para que sea más legible), quiero animaros a proseguir en el impulso que os trajo aquí: construir una Enigma vosotros mismos. Aunque puede ser frustrante a ratos, acaba siendo súper satisfactorio y, lo más importante, permite comprenderla muchísimo mejor que cualquier descripción que leáis, por muy divulgativa que sea. Si queréis orientaros, hay documentación de Enigmas programadas en Ruby, Java, Matlab,... e incluso tutoriales para reconstruir una Enigma física, de las de verdad.

Aquí tenéis mi modelo, que se basa en convertir los rotores, el plugboard y el reflector en listas, y las letras en números que tendrán un doble papel según la fase del cifrado: antes de pasar por el reflector, la letra n será cifrada por cada rotor como el n-ésimo elemento de la lista asociada a dicho rotor. Tras pasar por el reflector, operaremos al revés, cifrando la letra n como la posición del elemento con valor n en esa lista. Todo este trabalenguas se entiende mucho mejor en el propio código.
El giro de los rotores está implementado como sumar uno a la letra y hacer módulo 26 (tras un giro completo, hemos de volver al mismo sitio). La función toma como variables lo mismo que necesitaríamos para operar con una Enigma: las claves (rotores utilizados y posición inicial de los mismos, junto con los cambios del plugboard) y el texto a cifrar. La función devuelve el texto cifrado. He añadido como ejemplo un fragmento de una canción de Labordeta encriptado con otro modelo de la Enigma I. Se llama Banderas rotas y trata sobre derrotas. Evoca sentimientos agridulces: el descifrado de Enigma fue clave para romper banderas con esvásticas y habría sido de gran ayuda para derrotar a sus aliados españoles.

Nunca sabremos si, de habernos dado los británicos la clave de la Enigma franquista, estaríamos hoy cifrando esta canción.


Si no tienes Python, puedes ejecutar y jugar con esta función online en repl.it, eliminando la primera línea de código (sí, la codificación de caracteres sigue dándonos la lata en pleno 2017).





16 sept 2017

Los hombres que contaban demasiado

Bill James se aburría como vigilante nocturno en una fábrica de judías enlatadas. Mataba el tiempo elaborando las que serían las estadísticas de béisbol más útiles de la historia, convirtiéndose en una de las 100 personas más influyentes según Time. Pero no fue pionero en someter la actividad humana al frío análisis de la estadística, Francis Galton le ganó por goleada. Midió todo lo que pudo: rasgos psicológicos, huellas dactilares e incluso colores del iris. Llegó a conclusiones polémicas, siendo fundador de la bioestadística y la eugenesia.

Galton debía ser experto en marketing, pues consiguió que las masas (más de nueve mil personas) se sometieran a sus mediciones psicológicas, anatómicas y oftalmológicas ¡y además pagaran por ello, a cambio de una copia de las medidas! Hay que reconocer que su chiringuito tenía una buena localización: la Exposición Internacional de la Salud de Londres, 1884.  Me lo imagino repleto de variopintos instrumentos diseñados por él mismo, como su set de iris y este curioso aparato para evaluar... ¿la agudeza visual? ¿el campo ocular?


Expuestas en el Science Museum londinense

Sacado de http://galton.org/anthropologist.htm (ni ellos saben para qué sirve el aparato)

Estaría retratando erróneamente a Sir Francis Galton si no mencionara que apuntaló conceptos estadísticos fundamentales como la regresión a la media y la correlación, aportando además un gran invento divulgativo: la máquina que lleva su nombre.

La popular máquina de Galton, que ilustra el teorema central del límite (se acaba formando una gaussiana).
Está presente en muchos museos. Este GIF sale de aquí.

Fue pionero en medir facultades mentales (lo que hoy llamamos psicometría) y contribuyó a la meteorología, introduciendo la noción de anticiclón. Francis Galton era un verdadero genio y fan de la estadística que la aplicó, como leemos en Scientia, en investigaciones tan variopintas como el efecto de las oraciones religiosas en la esperanza de vida (nula), la distribución geográfica de la belleza, el índice de aburrimiento en actos públicos y... la longitud de una soga para que rompa el cuello de un ahorcado sin decapitarlo (lo publicó en Nature, olé).

Feel like a Sir

Cortando la maleza

"Los periodistas deportivos no utilizan las estadísticas para entender el juego, sino para decorar sus artículos, para explicar lo que ellos consideran cierto, usando los números sesgada y parcialmente. Deberíamos usar la estadística como una espada para cortar la maleza hacia la verdad."
Bill James

Bill James, como veis, estaba harto de que los analistas deportivos no se tomaran la estadística en serio, de que cuantificaran el rendimiento con conceptos potencialmente engañosos como la proporción de errores (un buen jugador que intenta llegar a todas las bolas fallará más a menudo). En la Baseball Analyst, una revista de la Society for American Baseball Research (SABR), James y sus correligionarios publicaban sus hallazgos sabermétricos (término acuñado por él mismo en referencia a dicha asociación). No tenía nada que ver con las revistas deportivas que te imaginarás, llenas de polémicas amarillistas entre jugadores. Abundaban, en cambio, elementos inesperados como gráficas, tablas de datos, fórmulas e incluso instrucciones para escribir programas estadísticos.


Nota final de Bill James en el número de octubre del 82.
Es una interesante reflexión sobre por qué no cabe esperar distribuciones normales en una liga profesional.
El término "Mendoza line" deriva de un jugador que bateaba muy mal, usándose su índice como caso crítico (pobre Mendoza).



Extractos de otros números del Baseball Analyst.
¿No os enternece lo amateur que parece la revista?
Mola pensar en todos esos fans del béisbol exprimiendo estadísticas para poder comprender mejor ese aspecto del universo que tanto les apasiona...

El impacto de Bill James en la sociedad estadounidense es inapelable: aparece varias veces en Los Simpson y una de sus fórmulas para predecir el éxito de un equipo en función de sus runs (la esperanza pitagórica) ha sido analizada por importantes matemáticos como Hundal y Miller. El mundillo sabermétrico cobró aún más fama cuando Billy Beane, siguiendo la estela de James, contrató a estadísticos expertos para analizar qué jugadores estaban más infravalorados y ficharlos, consiguiendo un ascenso meteórico del equipo que dirigía y ser interpretado por Brad Pitt en la peli Moneyball, que narra esa estrategia de los Oakland Athletics. 


Un gran poder...


En una época de encuestas que no paran de fallar (Brexit, Trump,...) la pérdida de confianza en la estadística es comprensible, pero no justificada. El problema no es de la estadística, sino del método de obtención de datos (la gente miente porque se avergüenza de votar a partidos corruptos o xenófobos). Hoy día, hay formas muchísimo más eficaces de sacar información sociológica: exprimiendo nuestro uso de las nuevas tecnologías, en especial de las redes sociales. Lo cual es una buena noticia para la estadística y para Silicon Valley, pero un verdadero drama para nuestra privacidad, del que aún no somos muy conscientes.

La estadistica (combinada con conocimientos de programación y ecuaciones diferenciales) puede hacerte rico mucho más allá del baseball y las redes sociales. Los "quants" están arrasando en el mercado bursátil, un mundo de locos en el que el importe de una acción tiene cada vez menos que ver con el valor real de la empresa, donde lo que verdaderamente importa es anticipar el movimiento de los capitales y apostar tempranamente al caballo ganador. Este fenómeno lleva décadas perjudicando a la economía real (la que produce bienes no ficticios que nos hacen progresar como sociedad) pero con el avance tecnológico el peligro aumenta exponencialmente. Cada día que pasa, mayor es la automatización de las operaciones financieras. El destino de tus judías enlatadas preferidas y del próximo gran avance en quimioterapia son cada vez más dependientes de algoritmos que sólo entienden de estadística, probabilidad y teoría de juegos.

No quiero decir que no sean algoritmos interesantes, son piezas de código profundas que mezclan diversas ramas de las matemáticas con la computación. De hecho, hay hasta un concurso de trading algorítmico organizado por la Universidad Politécnica de Madrid: Robotrader. Pero, igual que la inteligencia artificial aplicada a procesos militares, es un gran peligro para nuestra civilización.




Si los hombres grises de Wall Street contaban demasiado el dinero y poco con las personas, los algoritmos grises sólo se preocupan de lo primero. Y cuentan mucho más rápido.







8 sept 2017

Historia de tres fractales: Sierpinski, Cantor y Koch

Hace unos meses, os presenté al triángulo de Sierpiński, uno de los fractales más famosos por su omnipresencia y simplicidad. De su mano, podemos seguir embarcándonos en el sorprendente universo fractal, ya que el triángulo nos conduce de manera natural a la alfombra de Sierpiński, el conjunto de Cantor y el copo de nieve de Koch.

¿Recordáis que uno de los métodos que utilizamos para obtener el triángulo de Sierpiński consistía en tomar una figura, triplicarla y colocar los tres clones triangularmente?


Cabe preguntarse qué pasaría si, en lugar de tres, hacemos ocho clones (ocho, porque queremos conseguir un cuadrado 3x3 con un hueco en el medio) y los disponemos cuadrangularmente. Como el producto es la figura más fea de la entrada, no me he molestado en animar su proceso de formación, así que aprovechadlo como un entrenamiento de la imaginación:

Respira hondo. Visualiza un cuadrado. Es tu cuadrado. El cuadrado puede ser del color que tú quieras. Contempla el cuadrado. 

Inspira. Ahora imagina ocho copias de tu cuadrado. Están colocadas formando un cuadrado más grande, con el triple de lado que tu cuadrado, y con un hueco en el medio (necesitarías nueve cuadrados pequeños para formar el grande, y sólo tienes ocho).

Espira. Concéntrate y visualiza ocho copias de ese cuadrado hueco. Disponlas formando otro cuadrado hueco mayor. Observa que cada vez hay más agujeros.

Inspira y repite estos dos últimos pasos hasta alcanzar la iluminación. 



El resultado final de nuestra meditación guiada: el cuadrado de Sierpiński, también conocido con el apasionante nombre de alfombra de Sierpiński.

 El lector preguntará (con razón, como siempre) por qué presento una figura que considero "fea" en la entrada: es una excusa genial para hablar de un fractal casi irrepresentable pero precioso, el conjunto de Cantor. Si tomamos un segmento que una los puntos medios de dos lados paralelos del cuadrado de Sierpiński, obtendremos un segmento fractal, idéntico al que conseguiríamos si quitáramos el tercio central de un segmento, luego el tercio central de los dos segmentitos resultantes,...

Dicho de palabra suena más chungo, este es el segmento que estamos seleccionando.
He aquí el proceso (iteración) de ir quitando el tercio central. También se ve más claro visualmente.
El contexto histórico en el que Cantor describió su fractal es muy interesante, pero hoy los fractales monopolizan la entrada. Contempladlo en todo su esplendor:

El fractal que emocionó a Benoît Mandelbrot.

No, no hace falta que subas el brillo.
Está formado por puntos disconexos, es normal que no veas nada porque, con cada iteración, el fractal desaparece más y más. Sin embargo, está compuesto por infinitos puntos y podemos expresarlos todos con una sencilla regla: si consideramos (por simplicidad, tal y como hizo originalmente Cantor) que está colocado en el intervalo [0,1] de la recta real (el extremo izquierdo sería el 0 y el derecho, el 1); pertenecen al conjunto todos lo puntos que tengan una representación en base 3 en la que no aparezca el número 1. Si lo piensas, ésto capta perfectamente su esencia: tiene sentido usar base 3 porque cada iteración divide a cada segmentito en tres partes; y tiene sentido que no aparezca el número 1 porque es el correspondiente al tercio central, que eliminamos.

Otra característica brutal del conjunto es que no es numerable: aunque tuvieras todo el tiempo del mundo, nunca acabarías una lista de sus miembros. La demostración (una de las más sencillas y elegantes que conozco) la tenéis en la completísima entrada de Wikipedia en inglés.

Y hasta aquí lo complicado.
Tengo el remordimiento de haber condensado demasiada información. Mis metas, ser escueto y a la vez profundo, son difíciles de conciliar. Como disculpa, voy a dejaros disfrutar con tranquilidad del último hermano del triángulo de Sierpiński: el copo de nieve de Koch. Hemos juntado cuadrados dejando un hueco en medio para conseguir un cuadrado sierpinskiano; ahora haremos lo mismo con hexágonos. Llegaremos (de una manera mucho menos conocida que ésta) a los maravillosos copos de nieve fractales. Y lo digo en plural, porque al representarlo de esta forma obtenemos infinitos copos a distintas escalas.




Fascinante, ¿verdad?

Sólo comentaré que con dos tamaños de estas maravillas podemos teselar el plano (serían unas baldosas muy guays), lo cual es consecuencia directa de la naturaleza hexagonal de la criatura.

Esta imagen no la he hecho yo, la he sacado de Wolfram MathWorld


21 may 2017

El Lego atómico de Ketterle

Nota: La entrada es un complemento (y no un sustituto) de la conferencia de Wolfgang Ketterle que encontrarás al final.

Wolfgang Ketterle es un físico alemán formado en Munich y profesor en el MIT que ganó el Nobel en 2001 “por conseguir la condensación de Bose-Einstein en gases diluidos de átomos alcalinos y por sus tempranos y fundamentales estudios de propiedades de los condensados”. Como era de esperar, la charla que impartió el 10 de mayo en el Aula Magna de la Facultad de Ciencias Físicas (UCM) giró en torno al comportamiento electromagnético (ya que, en órdenes de magnitud del tamaño atómico, el resto de fuerzas fundamentales son casi despreciables) de la materia a temperaturas cercanas al cero absoluto. Ketterle introdujo y esbozó numerosos conceptos sin profundizar demasiado en ninguno; por lo que, a mi juicio, la función principal de la charla fue presentar abundantes ideas para que el oyente interesado las investigue por otros medios. A mí me llamaron especialmente la atención dos de ellas: el efecto Hall cuántico (entero y fraccionario) y la mariposa de Hofstadter.

La conferencia fue preludiada por Fernando Sols, catedrático de Física de la materia condensada en la UCM, que resaltó que el nobel de Física cambió de área de investigación al principio de su carrera, lo cual habría sido burocráticamente impensable en España, debido a la ineficiente rigidez de nuestro sistema de becas. Ketterle empezó mencionando el motivo para enfriar casi al máximo los átomos: se minimizan las interacciones (en sus condiciones de trabajo, comentó que éstas tenían un comportamiento casi idéntico a la delta de Dirac), lo que facilita su manipulación, permitiéndonos simular materiales y estudiarlos en profundidad (como él comentó, “I have the coolest Lego pieces you can imagine”). Asimismo, es interesante estudiar el comportamiento atómico de sistemas de muchas partículas, en contraste con otras líneas de investigación como la del CERN, que experimenta con partículas aisladas.

Foto que saqué a una diapositiva de Ketterle (de ahí su resolución)

Una clave fundamental implícita en la charla (en la que, desgraciadamente, Ketterle no hizo hincapié) es el doble papel del láser: por un lado, nos permite estudiar la estructura interna de un cuerpo, observando la red de difracción proyectada al atravesarlo con un haz (se puede profundizar en el tema leyendo este divulgativo artículo sobre la determinación de la estructura interna de una pluma mediante difracción). Por otro, sirve para enfriar los átomos. Este fenómeno puede parecer sorprendente, ya que un láser suele aportar energía al sistema: en las obras de ciencia ficción, siempre se usa para calentar (¡y mucho!).


¡¿Cómo que el láser enfría?! [creo que se da por hecho, pero... Foto utilizada sin permiso de Lucasfilm™]


Vamos a ver cómo, mediante efecto Doppler, podemos reducir el momento lineal (producto de la masa por la velocidad: p=m v) de un conjunto de átomos (lo cual es el equivalente microscópico de enfriar). Primero, hemos de comprender el propio efecto Doppler: cuando un objeto se desplaza en sentido opuesto al de propagación de una onda, percibe que la frecuencia de la misma aumenta, ocurriendo lo contrario si se mueven en la misma dirección y sentido. Por eso, cuando se aleja una ambulancia, escuchas su sirena más grave que cuando se acerca.

Visualización del efecto Doppler 
[GIF de Charly Whisky 18:20, 27 enero 2007 - Own work, CC BY-SA 3.0]

Asimismo, hemos de tener en mente que un átomo sólo absorbe radiaciones de frecuencias muy concretas (las que hacen que su corteza entre en resonancia), motivo por el que, por cierto, vemos las cosas de distintos colores. Cuando un átomo absorbe luz, su momento lineal varía, puesto que se suma al del haz incidente. Piénsalo así: si atropellas a alguien y el cadáver se queda pegado al parachoques, tu velocidad disminuye porque el momento lineal (p) siempre se conserva y la persona, o lo que queda de ella, sólo contribuye a la ecuación p=m v añadiendo masa (y a p constante, si aumenta la masa, disminuye la velocidad).

Combinando estos dos conceptos, tenemos una técnica potentísima para refrigerar átomos, que se visualiza genial en esta imagen:

Imagen de Cmglee - Own work, CC BY-SA 3.0

Las condiciones experimentales son las siguientes: tenemos un conjunto de átomos moviéndose en direcciones arbitrarias que entran en resonancia con (es decir, absorben) la luz azul. Los iluminamos con luz verde que se mueve de derecha a izquierda. Este es el desarrollo esquematizado por la imagen:


  1. Si un átomo no se mueve significativamente en la dirección del haz, no se produce efecto Doppler y percibe el haz verde con su frecuencia original, por lo que no hay absorción y su momento no varía.
  2. Si un átomo se mueve en el sentido del haz, percibirá una frecuencia más baja y tampoco lo absorberá. Su momento tampoco varía.
  3. 1. Si un átomo se mueve lo suficientemente rápido en sentido contrario al del haz, percibirá una frecuencia alta (azul) y absorberá la radiación. Como el momento del haz tiene sentido opuesto al del átomo, su momento disminuirá (y con él, su velocidad). Las dos últimas imágenes ilustran la reemisión del fotón absorbido.

El equipo de Ketterle no utiliza este método concreto de enfriamiento por láser, pero es el más sencillo de captar.


Para concluir, cuando escribo sobre matemáticas o física fundamental, siempre insisto en que la investigación en ciencia básica no está orientada a resultados directos, aunque siempre acabe teniendo muchas aplicaciones. Los desarrollos de Cornell, Wieman y Ketterle (los tres galardonados), además de ser espectaculares desde el punto de vista teórico (permiten estudiar la superfluidez y crear láseres atómicos) abren la puerta a importantísimas aplicaciones prácticas como la simulación cuántica de materiales y la medición ultra precisa, gracias al minucioso control del momento y la posición de las partículas a una temperatura tan solo millonésimas de grado centígrado (o de Kelvin, para los cientófilos) superior al cero absoluto, la mínima temperatura posible.


Como advertía al principio de la entrada, ésta está inspirada en la siguiente charla, que os recomiendo escuchar:








7 may 2017

Contando infinitos

Matemáticamente, los números naturales están bien definidos por los axiomas de Peano. En nuestra cabeza, también tenemos claro su significado y el proceso de contar, pero resulta extremadamente interesante desarrollarlo desde el punto de vista de la teoría de conjuntos: lo que hacemos todos al contar es establecer una relación entre una lista que hemos memorizado de pequeños (1,2,3,...) y un grupo de cosas. Hay dos aspectos muy profundos de este hecho aparentemente trivial. Uno, el proceso de contar consiste en establecer una biyección (esto es, asociar los elementos uno a uno) entre un subconjunto de la lista de números naturales que nos sabemos y el conjunto de cosas que estamos contando. Dos, no hay ningún impedimento intelectual que nos imposibilite establecer una biyección entre la totalidad de nuestra lista memorizada y otro conjunto de cosas.

Biyección entre conjuntos [dominio público]

Como hemos quedado en que contar es establecer biyecciones (entre conjuntos de cosas y nuestra lista), y la lista que nos sabemos es infinita (no los tenemos todos en la memoria, pero conocemos las técnicas para nombrar números todo lo grandes que queramos, pudiendo extender indefinidamente nuestra lista mental); la conclusión lógica es que, desde el punto de vista teórico e intelectual (evidentemente, no desde el biológico ni el termodinámico), podríamos contar el infinito.

Demos un paso más; digamos que contar algo es demostrar que existe una biyección entre un conjunto patrón (por ejemplo, la lista mental mencionada) y los elementos de ese algo. Éste es un paso de gigante, ya que nos permite contar algo "a lo vago": no hace falta que vaya enumerando de una en una las 10 naranjas que tengo en el cesto si demuestro que hay una biyección entre el conjunto {naranjas de mi cesto} y el conjunto {1,2,3,4,5,6,7,8,9,10} (que es un conjunto patrón que uso para contar, igual que una regla tiene una longitud pautada que uso para medir, mediante comparación).

Para números pequeños, probablemente sea más cómodo contar las naranjas a mano que idear una demostración que pruebe la biyección entre ambos conjuntos, pero definitivamente no es así para conjuntos de infinitos elementos. Si lo piensas, con esta definición de contar (tengo 10 naranjas porque he establecido una relación biunívoca entre ellas y los elementos de mi "conjunto patrón 10"), no tengo ningún problema para definir un conjunto patrón de infinitos elementos y llamar infinito a todo conjunto cuyos elementos podamos relacionar 1 a 1 con éste. Y así, podemos mirar a la cara al infinito, violando la advertencia gaussiana de tratar al infinito sólo como un límite, no como un objeto matemático en sí mismo:
"I protest against the use of infinite magnitude as something completed, which is never permissible in mathematics. Infinity is merely a way of speaking, the true meaning being a limit which certain ratios approach indefinitely close, while others are permitted to increase without restriction"
Carl Friedrich Gauss

Pero seríamos muy ingenuos si creyéramos haber sometido matemáticamente al infinito, ya que ¡hay conjuntos infinitos cuyos elementos no podemos relacionar 1 a 1 con los de éste! El conjunto infinito que hemos usado como patrón es sólo una especie de la familia de los infinitos, y por ello deberíamos cambiarle el nombre a algo como "infinito 1" o "infinito numerable", ya que lo hemos creado a partir de nuestra lista de números naturales, pero creo que el nombre que mejor capta la esencia de este conjunto es "infinito listable" (perdón, RAE), porque todos los conjuntos infinitos que podemos enumerar por completo en una única lista pueden ser relacionados mediante biyección con éste. Una de las demostraciones más bellas de las matemáticas por ser a la vez extremadamente sencilla y profunda es el argumento de la diagonal de Cantor, que prueba que no todos los infinitos son relacionables con nuestro infinito numerable (en concreto, prueba que es imposible enumerar o listar el conjunto de los números reales). Os recomiendo que leáis este artículo de Gaussianos para entender esta preciosa demostración.

El autor de la misma, Georg Cantor, miró a la cara al infinito y creó un nuevo tipo de números para cuantificarlo: los números transfinitos, que nos permiten "contar" distintas especies de infinitos, entenderlas y trabajar con ellas. Si os fijáis, la idea no es tan rara: era de esperar que habiendo un "infinito 1", haya también un "infinito 2". Sólo que él empezó en el cero (el eterno debate...) y los llamó ℵ0, ℵ1,...

Es toda una hazaña intelectual que nos demuestra lo filosóficas que son las matemáticas y que plasma como una idea simple (contar un conjunto es relacionarlo con otro conocido) puede llevarnos al asombroso descubrimiento de que unos infinitos son más grandes que otros y podemos clasificarlos, evaluar su magnitud y hasta establecer un sistema de numeración para trabajar con ellos.







"The fear of infinity is a form of myopia that destroys the possibility of seeing the actual infinite, even though it in its highest form has created and sustains us, and in its secondary transfinite forms occurs all around us and even inhabits our minds"
Georg Cantor








30 abr 2017

Sierpinski: ¿Cuántos triángulos ves en esta imagen?

Si no se presentan adecuadamente, los fractales pueden parecer objetos totalmente artificiales, que no emergen de manera natural al hacerse preguntas matemáticas intuitivas. El triángulo de Sierpiński es el antídoto perfecto contra esta conclusión, debido la simplicidad con la que se representa, sus profundas propiedades y su (cuasi)omnipresencia (en el sentido de que existen numerosos algoritmos de muy diversas ramas de las matemáticas que lo producen). Por ello, es la figura idónea si queremos introducirnos en el psicodélico mundo fractal. Además, sería la forma ideal para uno de esos anuncios que preguntan ¿cuántos triángulos ves en esta imagen?


Triángulo de Sierpinski obtenido con el código de Matlab que comparto más abajo.

La facilidad de representación del triángulo se basa en que la iteración (acción que ejecutamos repetidamente para conseguir algo) que hemos de realizar es muy simple:

  1.  Imagina un triángulo (equilátero, por simplicidad) de cartulina negra.
  2. Haz tres cortes que unan los puntos medios de los lados (sin cortar del todo en los extremos, para que no se separe ningún trozo de la cartulina), de manera que obtengas la forma 1 de la imagen de abajo.
  3. Repite el paso 2 con los tres triangulitos pequeños que has obtenido (quedará como la figura 2).
  4. Repite el paso 2 sucesivamente (en todos los triangulitos que vayas obteniendo)

Primeras iteraciones del algoritmo de obtención del triángulo de Sierpinski por sustracción de triángulos. Sacado [sin permiso, como siempre] de http://fractalfoundation.org/OFC/OFC-2-1.html


¿Qué forma te quedaría si repites el paso 4 indefinidamente? Sí, como sospechabas, el triángulo de Sierpinski. ¿Cómo podemos dibujarlo entonces, siendo necesarios infinitos pasos? La verdad es que no podemos, como tampoco podemos trazar una circunferencia perfecta. Éstas son ideas platónicas que solo existen en nuestra mente, pero es posible representarlas aproximadamente y trabajar con ellas como si fueran "las de verdad". Por eso, cuando vemos un fractal (en especial, uno con autosemejanza simple, como este triángulo), hemos de emplear nuestra imaginación para visualizar mejor su estructura y poder maravillarnos más allá de la dictadura de nuestras limitaciones técnicas y físicas.

Puede ser que no creas que una figura como ésta sea digna de una entrada, ¿qué interés tiene un triángulo infinitamente agujereado? Mucho, al menos para mí: además de ser estéticamente bello (podemos encontrarlo decorando varios suelos romanos), tiene propiedades muy interesantes. Una, común a todos los fractales, es su autosemejanza (si haces zoom continuamente en una zona del triángulo, se repetirá siempre el mismo patrón). Otra, es que tiene área nula, ya que en cada iteración sustraemos un cuarto del área restante (lo que es equivalente a decir que multiplicamos su área por 3/4). Por ello, tras infinitas iteraciones, su área es cero: $\lim_{n \to \infty} (\frac{3}{4})^n = 0$

Suelo fractal del Vaticano. [Tomado de https://es.pinterest.com/pin/411516484682135052/ ]

Sierpinski en Santa Maria in Trastevere (Roma), siglos XII y XIII [Foto de Francesco De Comité]

Además, nuestro triángulo contiene infinitos puntos, lo cual no es tan sorprendente, ya que pertenecen a él tres segmentos (sus lados) que de por sí ya contienen infinitos puntos. Esta propiedad sí que nos chocará mucho cuando hablemos de otro fractal: el conjunto de Cantor.

Pero aún no hemos tratado el aspecto más sorprendente del fractal: las numerosísimas maneras que hay de llegar a él.
A parte de eliminar área de un triángulo "macizo" como hicimos antes, podemos dibujar triángulos internos que dividan al original en 4 triangulitos iguales; o coger un triángulo, reducirlo a escala 1:4, hacer dos copias y colocarlos debajo formando un triángulo (y repetir esta acción infinitamente). Es un poco lioso, así que he hecho un GIF para que veáis claramente el proceso (aquí os dejo sólo la sucesión de imágenes porque Blogger no me deja subir gifs):


Míralo animado aquí: https://twitter.com/RadioRho/status/858665187385245697

Curiosamente, no hace falta que empecemos con un triángulo para obtener el fractal, ya que lo importante es la iteración que realicemos, no la figura de partida (piensa que, tras infinitas iteraciones, esta será simplemente un "punto" en nuestro fractal). He aquí un ejemplo:

Animación aquí: https://twitter.com/RadioRho/status/858665187385245697


Para los impasibles que todavía piensen que el triángulo no es para tanto, vamos con la traca final. Podemos obtener la figura a través de la curva arrowhead (punta de flecha), que va describiendo formas hexagonales:

Mira la animación aquí: https://twitter.com/RadioRho/status/858687881803694080
Enigma para el lector: ¿Por qué se va viendo cada vez más rojo el triángulo?
Puedes dar tu respuesta en los comentarios.
¿No es increible que una figura aparentemente bidimensional se obtenga a través de una sola curva fractal? Si tuvieras tiempo infinito, podrías dibujar el triángulo de Sierpinski sin levantar el lápiz del papel (esto sí que es un desafío y no lo de pintar una casa cutre de un solo trazo).

Otra forma computacionalmente sencilla de dibujarlo es mediante un código probabilístico (basado en el juego del caos): solo tenemos que elegir un punto P al azar de un triángulo equilátero y pintar el punto equidistante a P y uno de los tres vértices del triángulo (elegido aleatoriamente). Repitiendo este proceso (que, como ya sabes, llamamos iteración), vamos obteniendo aproximaciones cada vez mejores:
Échale un ojo a la animación: https://twitter.com/RadioRho/status/858704117425991680

Para acabar, este triángulo emerge de otro de los más famosos en matemáticas, el de Pascal, como ilustra este vídeo de Toby Langford:



Y por si aún no estás suficientemente desorientado, te dejo con este "sueño de Sierpinski" hecho por Mehrdad Garousi, en el que aparece el hermano tridimensional de nuestro querido tríangulo (la pirámide de Sierpinski) y su primo, la esponja de Menger.