6 abr 2018

Boole: La importancia del símbolo

El capítulo anterior acababa mal, con la casa de Boole (el hombre que convirtió las proposiciones lógicas en ecuaciones para permitir decidir a nuestras máquinas) en ruinas tras una inundación en 2009 (¿o era 2010? el año cambia según la fuente). Hoy vamos a reconciliarnos con el mundo, no hay que perder la esperanza...

Habrá quien piense que no hay que tomarse tan a pecho el decadente estado del edificio donde se sentaron los cimientos de la lógica algebraica. Al fin y al cabo, la casa de Boole es un mero símbolo. Pero los símbolos son importantes (como demuestran todos estos meses de bandereo bilateral): la mayor conquista de la humanidad fue el uso y registro del lenguaje, del símbolo. La segunda (al menos para mí) fue darse cuenta de que hay un tipo especial de símbolo, el número, que permite no sólo reflejar la realidad, sino computarla, interrelacionarla y exprimir la información que contiene. De esto último empezaron a darse cuenta Boole y sus coetáneos como Ada Lovelace (la primera “programadora”), que hablaba así del “primer ordenador” (el Analytical Engine) que diseñó junto a Babbage, pero nunca se consiguió construir:

[Su invención, y de manera más general la computación] puede actuar sobre otras cosas aparte de los números: objetos cuyas interrelaciones fundamentales puedan expresarse mediante aquellas de la ciencia abstracta de las operaciones [¿forma rara de decir matemáticas?], y que también deberían poder ser adaptadas al mecanismo de dicho computador… Suponiendo, por ejemplo, que las relaciones fundamentales de los tonos en la ciencia de la armonía [¿forma rara de decir música?] y la composición musical fueran susceptibles de ser expresados y adaptados de dicha forma, el computador podría componer piezas musicales elaboradas y científicas, de cualquier grado de complejidad y extensión.

La mayor parte (o la totalidad, según a quién le preguntes) de la realidad es computable, es decir, puede expresarse mediante números o conjuntos de números. Esto nos permite modelizar matemáticamente el mundo que nos rodea para sacar conclusiones sobre su funcionamiento, que no es ni más ni menos que el objetivo de la física.

Irlanda tiene otros símbolos de su rica historia algebraica descuidados, como el puente en el que William Rowan Hamilton escribió la relación fundamental de los cuaterniones (unos números que inventó y de los que espero hablar próximamente) mientras paseaba con su mujer.

Broom Bridge (puente que cruza el Royal Canal en el suburbio dublinés de Cabra), en el que Hamilton escribió las fórmula fundamental de la multiplicación de cuaterniones. Está inmortalizada en la placa que aparece ampliada en la siguiente foto. Aquí no se aprecian muy bien los grafitti y otros aspectos que me impactaron al ver el puente. (Foto de @fblascoxyz)

Por cierto, fue un debate (sobre cuantificación en lógica) entre Hamilton y De Morgan el que animó a Boole a debutar en el campo, tal y como menciona en su primer tratado The Mathematical Analysis of Logic, donde presenta brevemente los temas que desarrollaría en An Investigation of the Laws of Thought, vieja conocida nuestra.

A todos nos gustan los finales felices y estamos (más o menos) en época de resurrecciones, así que vamos a darnos el capricho de acabar la entrada en clave optimista.

William Rowan Hamilton no está, ni mucho menos, olvidado por los irlandeses actuales. Todos los años se celebra en octubre la Maths Week Ireland, un enorme evento de divulgación matemática en colegios e institutos de todo el país (¡e incluso calles y parques!), en la que también participan algunos divulgadores españoles. El acto central del evento (aunque no el más concurrido) es el Hamilton Walk: todos los 16 de octubre se repite el paseo que hizo el matemático cuando descubrió los cuaterniones.




Por su parte, la casa de Boole empieza a ver la luz. En 2014, el Irish Examiner informaba de que  la universidad de Cork (UCC), en colaboración con el ayuntamiento, iba a invertir 600 mil euros en restaurarla. Un titular más reciente (2017) del mismo medio nos indica que la inversión sube a 2.5 millones. Y Google Maps nos confirma que las buenas intenciones se concretan. Tras una temporada de andamios, vemos que (a finales de 2017) el Street View de la casa de Boole es esperanzador:



Aunque no concretan nada en las noticias que he leído, intuyo que van a hacer una especie de casa-museo para recordar y celebrar a Boole. En ese caso, no me quedará más remedio que volver a Cork para visitarlo (y ya de paso, cenar en Strasbourg Goose, que pilla cerca).

En el 200 cumpleños de Boole, Google se acordó de él y admitió que le debe su existencia (como curiosidad, es posible utilizar operadores booleanos al buscar en Google, como explican en Lifewire ), dedicándole este precioso doodle con el que doy por terminada la entrada:

"As one of the most important scientists to have ever worked in Ireland, Boole effectively laid the foundations of the entire Information Age while working from UCC. So it’s fair to say that without George Boole, there’d be no Google!" https://www.google.com/doodles/george-booles-200th-birthday

30 mar 2018

La casa de Boole

Si el lenguaje es la casa del ser, la lógica es el hogar del razonamiento y Boole es el telefonillo (el puesto de portero ya estaba ocupado por Aristóteles 😅). Como no podemos visitar al razonamiento (al menos en el mundo sensible), es más lógico pasarse por la casa de Boole.

 

Boole se mudó a Cork (Irlanda) en 1849, donde pasaría  seis intensos años en los que escribió An investigation of the Laws of Thought (su obra definitiva sobre lógica algebraica), conoció a su esposa y dio clase en la universidad. Su casa estaba pegada al río Lee y era céntrica, sólo tardaba quince minutos en llegar andando al trabajo. Además, Boole se entretenía mirando por la ventana mientras escribía, tal y como refleja en un pie de página: “enfrente de la ventana de la habitación en la que escribo hay un campo propenso a inundaciones por dos causas distintas pero que se pueden combinar: inundaciones procedentes de la cuenca alta del río Lee y mareas del océano”.
Una casa pegada a un terreno proclive a inundaciones, ¿qué podría salir mal?


Aquí es donde Boole lo menciona para ilustrar el enunciado de un problema de probabilidad (página 248 de An Investigation of the Laws of Thought, accesible universalmente desde este verano gracias a Proyecto Gutenberg).


“El fin del siguiente tratado es investigar las leyes fundamentales de las operaciones mentales a través de las que se razona;  expresarlas en el lenguaje simbólico del Cálculo y sobre esta base establecer la ciencia de la Lógica y construir su método; convertir dicho método en la base de otro más general para la aplicación de la doctrina matemática de la Probabilidad; y, finalmente, tomar de los varios elementos verdaderos expuestos en el transcurso de estas indagaciones algunos indicios probables acerca de la naturaleza y constitución de la mente humana.”
Así reza la primera frase del prólogo de la obra que nos ocupa. Hay muchas pinceladas curiosas en estas líneas, como el hecho de que el fin último de Boole sea indagar en los mecanismos de la mente humana mediante una investigación en matemática pura (hoy no esperamos que la lógica explique cómo razonamos, sino que nos ayude a hacerlo correctamente) y su intención de usar el “lenguaje simbólico del Cálculo”, siendo muy difícil hoy día entender a lo que se refiere, debido a la evolución de la notación. En  todo caso, se aprecia la voluntad de matematizar la lógica convirtiendo las proposiciones en ecuaciones, lo que nos permite diseñar circuitos electrónicos que tomen decisiones (llamados puertas lógicas), siendo el sistema de Boole la base de cualquier programa informático (este fenómeno también se debe al hecho de que las variables sólo puedan tomar dos valores, a los que podemos llamar 0/1, verdad/mentira o, como proponía el propio Boole, Nada/Universo).


Puertas lógicas basadas en el trabajo de George Boole. Aquí tenéis todos los axiomas y operaciones de su formalismo.

 Hace cinco años, paseando con mi padre por Cork, nos encontramos una casa derruida, sin tejado y con las típicas equis que se ponen en las ventanas por las que ya nadie se asoma. Todos pasaban de largo sin pararse a contemplarla excepto unas chicas con estética algo gótica que aprovechaban para sacarse unas fotos en ese fondo decadente.



 Si os fijáis, hay una plaquita al lado de la puerta. Os podréis imaginar lo que descubrimos al acercarnos:



Lo probable se convirtió en seguro y, tal como intuía su inquilino, en 2009 una gran inundación destruyó el edificio donde había vivido siglo y medio antes. Cuatro años después, cuando tomamos esa foto, nadie se había molestado en reconstruir la casa de Boole.

Imagen de ​Marcovanhogan
Continuará...

16 feb 2018

Del dedo al bit

Un bit es un interruptor, una cabeza girada o un dedo de tu mano. Si escogemos buenos ejemplos, descubriremos que el críptico bit es un concepto muy sencillo y potente, pero que no siempre tuvo el monopolio de la computación... ¿Has oído hablar del trit? ¿Existen ordenadores ternarios? Y, aunque parezca que no tiene nada que ver, ¿sabrías contar hasta 59000 con los dedos de las manos?


Para desembarrar el camino, es fundamental separar la fácil noción de bit (que es simplemente un dígito del sistema binario) de su implementación física (los representamos mediante sistemas que admitan dos estados: como los pozos y llanos de un CD o dos niveles de intensidad de corriente).

Los bits más intuitivos son los diez que tienes en las manos, que además de servir para saludar, señalar o escribir, valen para contar. De hecho, decir meramente que valen para contar es quedarse corto, porque fueron durante muchísimo tiempo las herramientas matemáticas más comunes, tal y como atestigua la palabra dígito (dedo en latín). Otro vestigio de los orígenes del cómputo es el término cálculo, que refleja el empleo de piedrecitas (base de instrumentos como el ábaco, que a pesar de sus 2000 años de edad seguía dando guerra a mediados del pasado siglo, cuando un japonés usando un ábaco logró hacer varias operaciones más rápido que un estadounidense con calculadora).

Pero hemos de operar de manera diferente a la habitual si queremos contar en binario, porque hay que tener en cuenta la posición: si alzamos dedos distintos, representaremos números distintos (cotidianamente, levantar cualquier dedo simboliza 1; aunque el corazón tiene implicaciones que escapan a lo aritmético). Para terminar de habilitarlos como bits, nos queda añadir la regla básica del binario: el dedo por el que empecemos a contar (vamos a elegir el meñique izquierdo) suma 1 (20) si está levantado; el siguiente (anular izquierdo), 2 (21); el corazón, 4 (22) y así hasta terminar en el meñique derecho que sumaría 512 (29). Así que si, por ejemplo, quisiéramos contar 7 deberíamos levantar los tres primeros dedos.

Esta regla hace que contar hasta 10 sea mucho más complicado que como lo solemos hacer, pero permite representar 210 números, lo que (como empezamos por el 0) significa que podemos contar hasta 210 - 1 = 1023.

Como curiosidad (y clickbait de rigor), sería posible utilizar nuestros dedos como trits y contar en ternario (un sistema de numeración con 3 dígitos o posiciones, que serían dedo completamente subido, sólo la falange proximal subida y dedo bajado). Si empleamos este sistema tan engorroso pero posible, podríamos contar hasta la increíble cifra de 310 - 1 = 59048 sólo con los dedos de las manos.

Para que no haya equívocos con el término falange. Como podéis observar, aún podríamos complicar más la cosa deshaciéndonos de los pulgares y empleando las 4 posiciones posibles del resto de dedos (bajado, falange proximal levantada, falange media (y proximal, claro) levantada y todo el dedo levantado). A pesar de perder dos dedos, este sistema de 8 "bits cuaternarios" (¿tetrits? ¿cuatrits?) nos permite llegar más lejos que el de 10 trits, porque 48 = 65 536).

Como ves, cualquier sistema capaz de permanecer en dos estados (hasta que lo modifiquemos) nos sirve para almacenar información en forma de bits. Y casi todo puede ser interpretado de manera binaria, incluso hechos tan peregrinos como si miras a cámara en una foto. A los Friedman, una genial pareja de criptógrafos, les encantaba la frase Knowledge is power; muy propia de su disciplina, que emplea múltiples habilidades matemáticas y lingüísticas para proteger (o conseguir, según tu bando) datos sensibles que sirven para ganar guerras, evitar atentados o modelizar el comportamiento de las masas y manipularlas eficientemente. Les gustaba tanto que, además de plasmarla en su tumba (escrita de forma que, a su vez, contenía otro mensaje, descubierto recientemente), la ocultaron en la foto de graduación de un curso de criptografía militar que impartieron en 1918:


Imagen tomada de una bella entrada sobre la tumba de Friedman. Parece la típica imagen conspiranoica de esas que encuentran triángulos iluminati en los nachos y a un reptiliano en el guacamole, pero no lo es.




La técnica que usaron los Friedman para este guiño fue más bien esteganográfica (esconder un mensaje en un sitio inesperado) que criptográfica (hacer que el mensaje sea incomprensible). Transmitieron información mediante bits que no suelen ser considerados como tales: si alguien mira a cámara, se le asocia la letra A. A quien no mira a cámara, la B. El resto está chupado, a cada grupo de 4 bits (A's y B's que bien podrían ser unos y ceros) le asociamos una letra, tal y como se le ocurrió a Francis Bacon (criptógrafo y esteganógrafo pionero, que según varios frikis escribió obras atribuidas a Shakespeare hace cuatro siglos y las firmó secretamente de formas que me parecerían demasiado cutres para un experto de su talla).


Mola la idea, ¿eh?
Cuando observamos la foto, nos damos cuenta de que hay gente que mira a la derecha de la cámara y otros a la izquierda, lo cual no debería ser casual en una foto tan planeada. ¿Será también interpretable como trits y esconderá otro mensaje aún sin descubrir?

¿Por qué dos?

Llegados a este punto, tendría sentido preguntarse por qué la totalidad del mundo digital está basada en el bit. No esperéis una respuesta rotunda, probablemente se deba a una combinación de factores teóricos y prácticos.

El más evidente es la simplicidad: el binario es la forma más sencilla de representar números (el unario, que sería equivalente a nuestra forma habitual de contar levantando cualquier dedo, es claramente muy ineficiente).

Además, viene como anillo al dedo al álgebra de Boole, la lengua en la que piensan los ordenadores, porque las variables booleanas sólo pueden tomar dos valores: verdadero y falso (o nada y universo, tal y como propuso inicialmente Boole). Esta estructura algebraica es idónea para realizar operaciones lógicas e ilustra la conexión entre software y hardware: los condicionales booleanos if, else y compañía son la base de todo código; mientras que su traducción física, las puertas lógicas (otras descendientes directas del trabajo de Boole), son los ladrillos con los que se construye cualquier procesador.

Desde el punto de vista pragmático, hay menos probabilidad de errores si sólo tenemos en cuenta los dos valores extremos del sistema que si consideramos las cantidades intermedias como un tercer estado (se reduce el rango de tolerancia de cada estado). Además, una vez que nos hemos decantado por el binario, ¿quién estaría dispuesto a construir una máquina a base de trits, abocada a la incompatibilidad total con el resto del universo electrónico?

El misterioso Setun, según Atomic Toasters

Pues un ruso soviético, cómo no.

Hace seis décadas, Sobolev y Brousentsov, unos valientes investigadores de la Universidad Estatal de Moscú se aventuraron a construir el Setun, el último ordenador ternario de la historia (basado, cómo no, en una lógica trivalente alejada de la dualidad booleana). La información sobre el mismo es escasa, siendo mi fuente más extensa un artículo del propio Brousentsov, en el que habla maravillas del mismo y culpa de su fracaso (sólo se produjeron 50) a la rigidez burocrática soviética.

Os dejo con su versión:

Such testing was passed in Apr. 1960 very successfully. The computer demonstrated unusual for that times reliability and stability of operation in wide range of ambient temperature and supply voltage. It was found that the computer is rather simple both in manufacturing and in service, suitable for wide range of applications. "Setun" was recommended for production.
Unfortunately the officials of the computer production in the USSR had negative position about non-planned and unusual "fruit of university fantasy". Instead of supporting the innovation and taking a possible profit they permanently attempted to annihilate "ugly duckling". There were many orders of "Setun", including ones for export, but only 10-15 computers were produced annually and none of them was exported aboard. The planned manufacture of "Setun" in Czechoslovakia was also broken. At 1965 the manufacturing of "Setun" was stopped in spite of unsatisfied requests. It was replaced by a binary computer of the same performance but more than 2.5 times more expensive.
Brousentsov N. P., Maslov S. P., Ramil Alvarez J., Zhogolev E.A.