27 nov 2016

¿Es un programa informático autor de su obra? Wolfram|Alpha sienta un peligroso precedente en el copyright

Un dilema filosófico profundo es el de determinar si puede surgir originalidad de un algoritmo. Esta reflexión no es un devaneo metafísico, ya que podría tener importantes implicaciones en terrenos como el copyright: un famoso programa (el "buscador científico" Wolfram|Alpha) tiene derechos de autor sobre cualquier contenido que aparezca en él, gozando su output del mismo estatus legal que un paper o una novela. Analizamos este hito y reflexionamos sobre cuál es la fuente de originalidad y consciencia en el campo de la inteligencia artificial.


©onocimiento™

Cuando entras a Wolfram|Alpha (en adelante, Wolfram) a pedirle que te resuelva una integral te encuentras dos sutilezas inusuales, que (afortunadamente) cada vez se ven menos: en su logo, aparece el símbolo de marca comercial y de marca registrada.


Una imagen vale más que mil palabras. ® indica que la marca está registrada, y ™ se adjunta a lo que el propietario considera una marca comercial. Manda huevos que Wolfram Alpha LLC considere que "computacional" sea una marca comercial propia.

Muchos de los logos que ves en internet están registrados (sin ir más lejos, el de Google, evidentemente) pero no te lo hacen saber cada vez que los ves porque resulta desagradable (muchos internautas le tenemos asco al enfoque actual del copyright). A Wolfram, esto parece no importarle mucho, porque se ha atrevido a ponerle copyright a cualquier output de su programa. Es aceptable que un programador quiera tener derechos de autor sobre un código de su autoría, pero no que desee tenerlos sobre lo que éste produce. Poniendo otra vez a Google como ejemplo (que conste que este gigante tampoco es un ejemplo de moralidad), es normal que la empresa se reserve los derechos del código que hace funcionar tan bien al buscador, pero sería impensable que también se atribuyera los de todos los resultados de búsqueda que, obviamente, no ha creado ella. Wolfram argumenta que ellos no son como Google, beben de una fuente de información objetiva y contrastada (no de la red en general) y procesan los datos de forma original, como cuando una persona escribe un libro inspirada por los muchos que ha leído en su vida.

Es una postura que podría ser razonable en ciertos aspectos, si bien se ve claramente que es una barbaridad generalizar así el copyright: ¿al buscar 1+1=2, debo citar a Wolfram en mi tesis si utilizo ese resultado?

Yo me opongo radicalmente a ella porque tengo pesadillas con corporaciones poniendo miles de programas básicos a registrar los postulados de Euclides, las relaciones trigonométricas o las leyes de la termodinámica. En esos sueños, una sociedad de autores cuyas siglas son una permutación de GAES (este año, la Frikipedia ha muerto definitivamente por culpa de la sociedad general que no debe ser nombrada, por eso me da miedo mencionar a quien tú ya sabes) registra mi nombre y tengo que pagar un canon cada vez que me presento.


¿Qué hace ©Wolfram|Alpha®?


Además de apropiarse de conocimiento colectivo, este motor es capaz de realizar hazañas tales como resolver integrales y ecuaciones diferenciales simbólicamente (muy útil para estudiar cálculo), decirte dónde está la Estación Espacial Internacional, dar respuesta a las preguntas científicas que se le hacen a Siri y a Bing y... ¡dibujar famosos! Si sabes cómo preguntarle, claro... Si no utilizas las palabras clave apropiadas para cada función, probablemente no entienda nada de lo que le estás diciendo y te muestre datos con poca relación a tu pregunta. Como dijo Douglas Lenat (experto en inteligencia artificial) al probar Wolfram: "hay una amplia gama de preguntas que no puede analizar y que no puede responder."





Plot de Fidel Castro [Wolfram Alpha LLC. 2009. Wolfram|Alpha. https://www.wolframalpha.com/input/?i=curve+fidel+castro (access November 27, 2016)], Zapatero [Wolfram Alpha LLC. 2009. Wolfram|Alpha. https://www.wolframalpha.com/input/?i=curve+zapatero (access November 27, 2016)], Bernie Sanders [Wolfram Alpha LLC. 2009. Wolfram|Alpha. https://www.wolframalpha.com/input/?i=curve+bernie+sanders (access November 27, 2016)] y una Angelina Jolie no demasiado jolie [Wolfram Alpha LLC. 2009. Wolfram|Alpha. https://www.wolframalpha.com/input/?i=curve+angelina+jolie (access November 27, 2016)]


¿Cuándo es creativo un programa?


Parafraseando a Arthur Samuel (pionero en AI y desarrollador de $\mathbf{T\!_{\displaystyle E} \! X}$, el programa gracias al cual podemos ver fórmulas matemáticas en el blog), un programa original es aquel que crea algo que no ha sido explícitamente incluido en el código. Como en todo dilema filosófico, la cuestión está en definir bien los términos. ¿A qué nos referimos con explícitamente? Obviamente, un programa que nos da la sucesión de Fibonacci mediante un bucle que va evaluando a,b=b,a+b no es creativo, porque le hemos dicho de forma explícita cómo crear.

Douglas Hofstadter (cuyo padre, además de darle su apellido a él, se lo dio a Leonard, de The Big Bang Theory), en su faraónico Gödel, Escher, Bach recoge la siguiente cita de Max Mathews, autor de un programa que mezclaba obras musicales dando lugar a una nueva creación:

¿Lo que está haciendo el ordenador es componer? Lo mejor sería que esta pregunta no apareciese, pero no puede ser completamente ignorada. Es difícil suministrar una respuesta. Los algoritmos son deterministas, simples y comprensibles. No hay envueltas computaciones complicadas o de ardua comprensión; no se ha utilizado ningún programa de "aprendizaje"; no ocurre ningún proceso fortuito; la máquina funciona de manera perfectamente mecánica y normal. Sin embargo, el resultado es una secuencia de sonidos que, en el orden de los detalles finos, no ha sido completa y precisamente especificada. Así, el compositor se ve a menudo sorprendido, y gratamente, por los detalles que dan concreción a sus ideas. Es solamente en esta medida que la computadora compone. Llamamos composición al proceso algorítmico, pero de inmediato volvemos a subrayar que los algoritmos son transparentemente simples.

Una de las ideas que nos da Hofstadter en Gödel, Escher, Bach (en sus más de 800 páginas hay espacio para muchas) es que el ingrediente principal para una máquina inteligente y consciente es la autorreferencialidad: cuando un algoritmo es capaz de observarse y cambiarse a sí mismo, hemos traspasado una frontera importante hacia la inteligencia artificial. Pero la autorreferencialidad trae problemas asociados... se pueden dar bucles extraños como el enunciado Esta frase es falsa.

Cuadro autorreferencial de MC Escher, tomado sin permiso


Al fin y al cabo, todo se reduce a un problema de caos. Cuando la respuesta de la máquina depende de multitud de parámetros y leyes que somos incapaces de modelizar, podemos considerar que la creación no es explícita en el código, y que la máquina es la autora de su obra.

¿Acaso no pasa lo mismo con los seres humanos? Si conociéramos la manera de pensar de una persona y todas sus circunstancias, ¿no podríamos determinar inequívocamente sus acciones?
La respuesta es compleja y controvertida, y tiene mucha relación con la cuestión de si nuestra mente es o no algorítimica (como un programa de ordenador).

Yo pienso, como Douglas Hofstadter, que nuestra inteligencia también es algorítmica y puede haber programas inteligentes, pero hay posturas como la de Roger Penrose que asocian efectos cuánticos a la mente y la consideran no-algorítmica (recomiendo encarecidamente echarles un ojo a los libros mencionados al final de la entrada).


¿Y qué pasa con el copyright?



Los defensores del copyright clásico alegan que restringir la distribución y readaptación de una obra estimula la creación artística, al dotar de relevancia y reconocimiento al creador y darle poder sobre la misma, pero se olvidan de mencionar que hay sistemas que consiguen hacerlo sin limitar su difusión y el acceso libre a la cultura. La concepción actual del copyright es un lastre enorme para el avance cultural y científico, ya que limita la libertad de expresión, niega la posibilidad de mejorar una obra ya existente, permite que el azar sea registrado como obra propia, que los derechos de autor se hereden... Es decir, propugna la propiedad privada del conocimiento,

Además, dicho sistema legal no tiene sentido en la red, donde hacer copias es rápido, cómodo y sencillo: casi todos copiamos música, películas, libros e imágenes y lo seguiremos haciendo.

Afortunadamente, existen licencias copyleft que otorgan al autor el reconocimiento que se merece sin limitar el necesario flujo cultural (que debe llegar a todos los estratos sociales). Un ejemplo son las licencias GPL y Creative Commons (como la de este blog), que permiten reservarte ciertos derechos (como el de atribución) liberando muchos otros (difusión, readaptación,...).

Creative Commons guiando a los contribuyentes

De Eugène_Delacroix_-_La_liberté_guidant_le_peuple.jpg: Eugène Delacroix derivative work: Ju gatsu mikka (^o^) appelez moi Ju (^o^) - Eugène_Delacroix_-_La_liberté_guidant_le_peuple.jpg, CC BY-SA 3.0, https://commons.wikimedia.org/w/index.php?curid=7982600

Trabajar empleando licencias libres (un esqueleto fundamental de la ética hacker) ha demostrado ser un éxito total: gran parte de los programas que utilizas son software libre, están desarrollados por programadores que creen en la libre difusión de su obra, y que se lo pasan muy bien haciéndolos. Si nos lees desde un dispositivo Android, te estás beneficiando del trabajo desinteresado de mucha gente.



Para acabar esta entrada bipolar IA-copyright, os dejo con un par de frases de Douglas Lenat sobre inteligencia artificial:
"La inteligencia son diez millones de reglas"
"Una vez que realmente tienes una gran cantidad de información integrada como conocimiento, entonces los sistemas humanos de software serán superhumanos, en el mismo sentido que la especie humana con la escritura es superhumana comparada con la especie humana antes de la escritura." 







19 nov 2016

Arte fractal: Coloreando el conjunto de Mandelbrot con Matlab

Los fractales pueden parecer entes incomprensibles, a los que sólo pueden acceder sabios matemáticos. Sin embargo, hay algunos bastante cotidianos: el romanesco, la lata de una famosa marca de levadura,... El más apasionante es el conjunto de Mandelbrot. Utilizando ciertas propiedades del mismo, podemos asociar un color a cada número que lo forma, obteniendo imágenes bellísimas que nos permiten ver el fractal desde otra perspectiva. Si no sabes Matlab, puedes saltarte los snippets de código y contemplar las imágenes que obtenemos con cada método.


No vamos a hacer hincapié en la definición rigurosa de fractales (nos basta con saber que un fractal es un objeto autosemejante a infinitas escalas) o en conceptos (¡interesantísimos!) asociados a ellos (como la dimensión fractal); hoy sólo vamos a usar los fractales pragmáticamente, para crear imágenes apasionantes.


Breve descripción del conjunto de Mandelbrot


El conjunto de Mandelbrot, pese a su infinita complejidad (nunca mejor dicho), es facilísimo de describir analíticamente. Cogemos un número complejo $z_0$, que equivale a un punto con coordenadas $(x,y)$ en el plano complejo (es decir, la coordenada $x$ es parte real de $z_0$ y la coordenada $y$ es la imaginaria) y sacamos un número que llamamos $z_1$ (en breve veréis para qué lo queremos) realizando con $z_0$ la siguiente operación:

$z_1=z_0^2+z_0$

Para sacar $z_2$ (¿para qué lo queremos? pronto lo verás), hacemos lo mismo pero cambiando $z_1$ por $z_2$ y $z_0^2$ por $z_1^2$:

$z_2=z_1^2+z_0$

Y ya os imagináis cómo sacar $z_3$...

$z_3=z_2^2+z_0$

Podemos generalizar esta fórmula para $z_n$ (siendo $n$ cualquier número natural):

$z_{n+1}=z_n^2+z_0$

Pues bien, si realizando esta operación (llamada iteración) infinitas veces no nos queda algo infinito (es decir, la serie no diverge), $z_0$ pertenece al conjunto de Mandelbrot y lo pintamos de de negro. En caso contrario, $z_0$ no pertenece al mismo y lo pintamos de blanco.


Nuestro primer plot. Los ejes indican el elemento de la matriz: un punto con coordenadas (x,y) es el elemento (y,x) de la matriz D.

Aquí tenemos el arte fractal más básico posible: la representación monocromática del conjunto, cuyo código es:




Este método no está mal, pero para colorear, nos viene mejor asociar a cada A(i,j) su número de iteraciones en vez de su pertenencia o no al conjunto (guardando c en D(i,j) en vez de un 1 o un 0). El programa que usaremos es el siguiente (y en el caso monocromático, el resultado es casi igual):

Repito que en esta entrada no voy a profundizar en filosofía fractal (que es abundante y muy interesante), pero sí que es importante aclarar un par de conceptos del programa para profanos del tema:
  1. Técnicamente, para saber si un punto está o no en el conjunto de Mandelbrot por fuerza bruta (que es como lo estamos haciendo nosotros), habría que hacer infinitas iteraciones. Como acostumbro a publicar una entrada semanal, me descuadraba un poco eso de tener que esperar infinitos segundos a que el programa dibuje cada punto, por lo que para el programa, infinito=100 (bastante razonable, aunque pintará de negro puntos que no estén realmente en el conjunto). Definimos "infinito" en la línea 3 del código de arriba.
  2. Por motivos que no explicaremos aquí, ningún número del conjunto de Mandelbrot tiene módulo mayor que 2, de ahí la condición del bucle de la línea 14.

La importancia de la escala

Como el conjunto de Mandelbrot se basa en la divergencia o no de la serie que hemos visto para cada punto, otra forma más directa de representarlo es haciendo las iteraciones un número determinado de veces para todos los puntos y representando directamente su valor. Pero tenemos que tener en cuenta que los módulos de los puntos que están fuera del conjunto se acercan más a infinito con cada iteración, por lo que su valor (y la diferencia entre ellos) será muy superior al del de los puntos internos (que diferirán mucho menos), siendo necesario escalar la matriz que en el programa de abajo llamamos Z para obtener un dibujo más equilibrado.

En física, esto se hace muy a menudo utilizando la función exponencial de -x, ($D=e^{-mod(Z)}$), ya que ésta suaviza las diferencias de manera proporcional a su valor: modera mucho los grandes contrastes y así realza los pequeños. Por eso, al pintar fractales usaremos mucho la escala exponencial.

Otra manera similar de hacer esto es tomar $D=\log(\mod(Z))$ (la escala de Richter de los terremotos es logarítmica, hace algo parecido a eso), que tiene el mismo efecto pero "suaviza" las diferencias más despacio que la exponencial de $-\mod(Z)$.

Todo se ve mucho más claro con esta gráfica:

La distancia entre las líneas continua y rayada rojas decrece más rápido que la que hay entre las azules. Obviamente, la distancia entre las rectas verdes con igual pendiente es constante,

¡Al grano! Vamos a ver cómo queda el conjunto pintándolo según una escala exponencial:


Ya hemos empezado a tunearlo, usando este código:



Esto no ha hecho más que empezar...


Como el lector intuirá, para avanzar en el arte fractal, debemos familiarizarnos con los mapas de colores, que nos permiten obtener fractales policromados. Así que voy a hacer una introducción a los colormaps de Matlab.

Un colormap es una matriz de n filas y 3 columnas, en la que cada fila indica un color que se puede usar para el plot; y la 1ª, 2ª y 3ª columna, respectivamente, la cantidad (de 0 a 1) de rojo, verde y azul que contiene ese color. Cuando usemos imagesc para pintar una matriz, la función asociará a los elementos de menor valor de la misma el primer color definido y a los de mayor valor el último (es decir, el color definido por la última fila del colormap). Es decir, cuanto mayor sea el valor relativo de un elemento de la matriz, mayor será el índice de la fila del colormap que define su color.

Un ejemplo muy sencillo que incluye todo lo fundamental para trabajar con colormaps:

Si queremos pintar tres franjas de colores fáciles como el rojo, el amarillo y el violeta, definimos un colormap y lo dibujamos así:






Un último tecnicismo: para poner el color que quieras, puedes elegir el color RGB aquí y añadir al colormap el vector [R,G,B]/255 (el valor máximo habitual en RGB es 255, mientras que en Matlab es 1).


Et voilà!

Ya tenemos todos los conocimientos necesarios para iniciarnos en el arte fractal, así que os dejo una muestra de lo que se puede obtener combinando hábilmente los métodos descritos en la entrada:







He hecho un script que genera mapas de colores aleatorios y he elegido los que me parecían más bonitos.










Como ocurre mucho en física, si nos centramos en lo microscópico en vez de en lo macroscópico (que en nuestro caso se basa en aumentar la s de nuestros scripts)  todo se vuelve más irregular. 

Propina: coloreando según el argumento

Inspirado en las imágenes de Georg-Johann Lay en el artículo de Wikipedia del conjunto de Mandelbrot en alemán, que es una pasada.


Si aún no estás con la boca abierta, prepárate.

Los números complejos se pueden caracterizar por su módulo (distancia al origen) y argumento (ángulo en radianes que forma con el eje real la recta que une el número en el plano complejo al origen). Como hay infinitas maneras de dar un ángulo (por ejemplo, $0=2\pi =4\pi =2k\pi $ [radianes]) solemos tomarlos de forma que sean mayores que $-\pi$ y menores o iguales a $\pi$, de manera que no haya multiplicidades. A esto lo llamamos la determinación principal del argumento y, si la dibujamos, vemos que tiene una discontinuidad en el semieje real negativo (ya que pasa de valer $\pi$ a valer $-\pi$):


En la imagen, $\pi$ es negro, $-\pi$ es blanco y $0$ es naranja. Se observa claramente la discontinuidad mencionada en la zona izquierda del eje x. La imagen anterior equivale a la primera iteración (itM=1) del script expo.m, que hemos modificado para la ocasión:




Si iteramos dos veces, obtenemos esta bella simetría central:



Seguimos iterando:
itM=3

itM=4

itM=5

itM=6

itM=7

itM=10

itM=100

itM=1000

Observamos que simplemente representando el argumento de cada número complejo tras las iteraciones ¡también aparece el conjunto de Mandelbrot!

No solo eso: el pseudocírculo (cardioide) principal conserva el patrón del argumento del plano complejo, el secundario también pero girado $\pi$ radianes, el terciario, girado otros $\pi$ radianes respecto del segundo (es decir, igual que el primero),...

Si os fijáis, se pueden observar muchísimas más regularidades. Es francamente sorprendente y desconcertante para mí, ya que siempre había visto el conjunto como un grupo de números cuyo módulo no divergía, pero nunca había pensado en que podría pasar algo así con el argumento. Cuando me informe y pregunte a gente que sepa de verdad de variable compleja, escribiré otra entrada en la que ate los cabos matemáticos que he ido dejando sueltos en esta.


12 nov 2016

¡Los subpíxeles de tu móvil se pueden ver con una gota de agua!

El año pasado, observé con microscopio los entresijos de una pantalla y fue muy sorprendente... ¡lo del RGB era verdad! Aumentando un poco, se distinguían unos cuadraditos (píxeles) pero, si te acercabas más, veías cómo ese cuadradito uniforme se dividía en zonas rojas, verdes y azules, cuya mezcla daba el color deseado. Pensé en probar en casa con una lupa o un microscopio USB de esos que venden en DealeXtreme, pero el otro día, llorando sobre el móvil al conocer la victoria de Trump (no habría sido muy distinto con Clinton), me di cuenta de que unas gotitas de agua bastaban para conocer al subpíxel en todo su esplendor.

Snif, snif... ¡Eureka!

Vamos al grano. Llora o echa una gotita de agua sobre la pantalla de tu móvil (con cuidado, a no ser que sea resistente al agua como el mío). Probablemente, la gota sea bastante grande y aumente levemente la imagen, tal que así:




Pero nosotros queremos mirar más allá de lo que vemos, así que, sabiendo que cuanto menor es el radio de una lente con una cara plana, mayor es su potencia, procedemos a separar esa gota grande en gotitas pequeñas ("tirando" de la gota con la punta de un lápiz, por ejemplo). Empezaremos a ver claramente los píxeles, esos grandes ignorados (vemos miles de ellos al día y no nos damos ni cuenta):




Sí señor, la cuadrícula ya se ve a simple vista:




Si lo piensas, un píxel no es tan pequeño como creemos: la lente que forma la gota de agua de la derecha sólo tiene un aumento de 1,5x. ¿Que cómo lo sé? Pues bien, primero lo intenté aplicando las fórmulas de óptica geométrica que se estudiaban en Física de 2º de bachillerato (siendo uno de los radios de curvatura $R_2=\infty$, puesto que una cara de la lente es plana) pero no salían las cuentas: la gota no es una lente delgada, sino una especie de casquete esférico; no llega a ser una semiesfera, por lo que no podemos tomar su radio como radio de curvatura de la lente,...

Así que al final saqué los aumentos por un método deductivo alternativo al científico, la cuenta de la vieja: si os fijáis, cada espacio entre líneas en la gota equivale a un espacio y medio entre líneas fuera. 

Fondo de pantalla ideal para los amantes del lo-fi

En esta última imagen, ya se empieza a apreciar que cada píxel no es homogéneo, pero no nos quedará ninguna duda cuando aún hagamos esa gota más pequeña: tenemos que intentar dejar sobre nuestra pantalla una gotita tan enana que nos deje ver dentro del píxel.

No es difícil de conseguir, en esta imagen ya lo vamos logrando (en la gotita de abajo, el amarillo empieza a descomponerse en sus componentes roja, verde y azul):



Pero, si aislamos una gota mínima, es aún mejor:



Al final del primer mensaje, al lado del ojo, vemos una gotita perfecta que contiene los tres colores. Estamos ante los subpíxeles en todo su esplendor: cualquier color visible por nuestro ojo se puede formar como combinación de luz roja, verde y azul (ya que disponemos sólo de tres tipos de bastones en nuestra retina y cada uno se excita con uno de los tres colores), por tanto, cada píxel se subdivide en tres zonas que emiten en dichos tonos.

 Subpíxeles de distintas pantallas (By Pengo - Own work, CC BY-SA 3.0, https://commons.wikimedia.org/w/index.php?curid=3430548 )

La bandera en la Luna

El que seamos capaces o no de resolver partes de una imagen depende de nuestra capacidad de enfoque y la cercanía a la misma. Uno de los argumentos más enarbolados por los negacionistas de la llegada del hombre a la Luna es la imposibilidad de ver con un telescopio la bandera que supuestamente clavaron los estadounidenses. Y tienen razón. Lo que pasa es que no es un problema de que esté o no allí, sino de resolución.

La calidad de un telescopio no se mide en aumentos, sino en resolución óptica. El mejor que tenemos (para luz visible) es el VLT, siglas de Very Large Telescope (su sucesor iba a ser el Overwhelmingly Large Telescope, pero por falta de presupuesto va a ser el Extremely Large Telescope [esto no es coña]). Está instalado en Chile y pertenece a la ESO, una organización intergubernamental europea dedicada a la astrofísica. Tiene una resolución de una milésima de segundo de arco, que es 50 veces mejor que la del Hubble. Conociendo ésta y la distancia Tierra-Luna ($D=384400$ kilómetros), podemos calcular con trigonometría básica la distancia máxima en la superficie lunar que puede resolver ($R$): (pensad en un triángulo rectángulo con un cateto sobre la superficie lunar, siendo el otro la recta que une la superficie de la Tierra con la de la Luna, en dirección radial) 

$R=D\cdot sin(\phi)$

Siendo la resolución del VLT $\phi=0,001"=5\cdot 10^{-9}$ radianes. Como (futuro) físico, me siento mal si no hago aproximaciones, así que ahí van un par:
La hipotenusa del triángulo, a esas distancias, es parecida al cateto mayor (que realmente es la distancia Tierra-Luna), así que la fórmula anterior es válida. Aún así, la podemos simplificar aún más tomando $sin(\phi)\approx \phi$, ya que se trata de un ángulo pequeño en radianes (esta aproximación es cotidiana en física, y es la culpable de que puedas considerar el movimiento de un péndulo como armónico simple).

$R=D\phi=384400000 \cdot 5\cdot 10^{-9}= 1,922$ metros

Así pues, lo más pequeño que podemos distinguir mirando la Luna con el VLT es un objeto de 2 metros, distancia superior a lo que mide una bandera... a no ser que hubieran puesto una como la que tenemos en la plaza de Colón.

Empleando esta sencilla relación, podemos calcular cosas como la distancia a la que deberíamos situarnos de nuestra tele para verla a máxima resolución (según la densidad de píxeles de la misma).

Acabo con un verso genial de Machado, que me ha venido a la mente de tanto hablar sobre visión.

"El ojo que ves no es ojo porque tú lo veas, es ojo porque te ve."
Antonio Machado






5 nov 2016

Filosofía de la ciencia: En busca del orden

Hoy día, la información fluye a raudales por la Red.

Verdades, mentiras, las ecuaciones de Cauchy-Riemann, vídeos de ineptos lanzando botellas de agua para ver si caen de pie,... Todo está disponible para nosotros. El gran dilema es cómo encontrarlo.

Cuando no había conocimiento registrado, la meta de la humanidad era plasmar todo lo que sabía. Medio milenio después de la invención de la imprenta, tenemos la biblioteca llena y el desafío es encontrar la forma de catalogarla eficazmente. Nuestro futuro económico, moral y político depende enormemente de que hallemos ese algoritmo que permita que el envenenado encuentre su antídoto y que el opresor aprenda sobre el oprimido y empatice con él. El santo grial de los humanos es interconectar el conocimiento, campo en el que la ciencia es pionera.


Ordenado (y bien ordenado)


No obstante, no nos vale cualquier orden. Para sacar partido a la información, hemos de organizarla de una manera eficiente, que no suele coincidir con la forma intuitiva de hacerlo. El ejemplo más claro es la clasificación de la materia: todos conocemos los clásicos cuatro elementos de Empédocles (que pasaron a la historia, cómo no, a través de Aristóteles). Es una catalogación intuitiva porque se corresponde con la realidad cotidiana, y además recoge los estados de la materia "comunes" (aunque, en el universo, el estado más abundante sea el de plasma): la tierra es sólida; el agua, líquida; el aire, gas y el fuego... no es un estado de agregación, es una reacción química de combustión.
Sin embargo, esta clasificación es mala porque no da ningún juego: no la podemos usar como base para construir una teoría potente, que explique coherentemente fenómenos tan fundamentales como el cambio de estado.
Los cuatro elementos de Empédocles [Imagen tomada de Wikipedia, de Ratomir Wilkowski, www.RKP.org.pl ]

No mola nada que un elemento pase a ser otro cuando se le calienta (o cuando disminuimos la presión: ¡a bajas presiones podemos hacer que el agua hierva a temperatura ambiente!). Y no digo esto sólo porque lo vea desde mi perspectiva postmendeleyevana, sino porque un ingrediente fundamental de la física es lo constante: entender un proceso es muchísimo más fácil si sabemos que ciertas propiedades del sistema se conservan durante el mismo. Quien haya hecho problemas básicos de física, sabe lo agradable que es resolver un ejercicio de cinemática mediante la ley de conservación de la energía mecánica.

Por eso, es muchísimo más útil establecer una serie de elementos inmutables, que no se transformen unos en otros (al menos, en situaciones cotidianas) y que se combinen dando lugar a las distintas formas de materia. He ahí la potencia de la Tabla periódica, en la que el concepto de átomo tiene un papel central. Clasificar la materia según la naturaleza y disposición de los átomos que la forman sí que es una buena manera de ordenar: además de ser una preciosidad teórica (la idea de Demócrito de que todo esté compuesto por piezas eternas y simples y que todo cambio sea sencillamente una reordenación de las mismas es muy elegante, hasta el punto de que Feynman dijo que el descubrimiento más importante de la especie humana fue la teoría atómica: pequeñas partículas que se mueven sin parar, atrayéndose mutuamente cuando están algo separadas, pero repeliéndose cuando se las junta demasiado), es un filón de aplicaciones prácticas: el avance de la química, con la clasificación periódica, fue fundamental para la explosión de la Segunda revolución industrial.

El hombre siempre ha ordenado, pero lo fundamental, lo que (a mi juicio) desencadenó el paso del mito a la ciencia fue elegir el orden correcto. Ciencia es agrupar las estrellas en galaxias en vez de en costelaciones. A riesgo de ser pesado, creo que es interesante reflexionar sobre esta idea, por lo que voy a poner un ejemplo más: el contraste entre agrupar fenómenos debido a sus causas o su dinámica y hacerlo siguiendo criterios intuitivos, como por ejemplo, según el elemento involucrado en el fenómeno.

Si queremos entender e interrelacionar fenómenos meteorológicos como la lluvia, las nubes, el viento y las corrientes marinas, podemos agruparlos de acuerdo a los criterios anteriores:

         1.  Según el estado del elemento involucrado:
              1.1: Fenómenos líquidos: {lluvia, corrientes marinas}
              1.2: Fenómenos gaseosos: {viento, nubes}

        2.  Según las causas o la dinámica del sistema:
             2.1: Movimiento en el seno de un fluido: {viento, corrientes marinas}
             2.2: Fenómenos con relación causa efecto: {lluvia, nubes} (ya que cuando llueve, hay menos                         nubes y si no hay nubes es imposible que llueva).

Observamos que la primera clasificación es mala: nuestro avance se frena ahí, no inspira nuevas ideas. Sin embargo, la segunda es buena porque nos permite observar más relaciones entre los miembros de cada grupo (tanto el aire como el agua se mueven de la zona más fría a la más caliente) permitiéndonos llegar a la explicación final del fenómeno, que es general para todo el grupo (no hace falta ir explicándolos uno a uno): las corrientes marinas y el viento se dan cuando hay zonas del fluido más calientes que otras.
De hecho, podemos establecer nuevas relaciones entre los miembros de los grupos anteriores, aumentando nuestra comprensión de los fenómenos:

          Relación causa-efecto: {viento, lluvia} (ya que muchas veces llueve cuando un frente de aire                           frio pasa por una nube y hace que el agua se condense y precipite)

Si nos hubiéramos quedado en las ordenaciones intuitivas, no habríamos avanzado nada: no estimulan nuevas relaciones entre los miembros de los grupos. Mientras que agrupando fenómenos análogos (que se basan en principios abstractos iguales) como los del grupo 1 y fenómenos que se suceden (uno desencadena el otro, lo que equivale a la relación causa-efecto. Hume decía que esta asociación era falaz porque el mero hecho de que una cosa suceda a otra no indica una relación entre ellas, por lo que no tendría por qué repetirse esa sucesión en el futuro, pero creo que se equivocó al no admitir que dicha relación pasa a ser válida cuando explicamos racionalmente a qué se debe) nos es muchísimo más fácil realizar descubrimientos, puesto que la forma en la que los hemos ordenado es mucho más inspiradora.


Ciencia: conocimiento ordenado

Alegra ver que la RAE tiene en cuenta la importancia de la ordenación sistemática de los descubrimientos científicos en su definición de ciencia (a pesar de lo malas que son sus definiciones de física o realidad):






Enlázate o muere


Imagen tomada (sin permiso) de http://www.social4u.es/que-es-y-para-que-sirve-el-pagerank/

A estas alturas, el lector estará harto de teoría, así que vamos a ver un ejemplo práctico de catalogación eficaz, en el que se ve claramente el poder que proporciona clasificar bien la información: el algoritmo del buscador Google.
El PageRank (PR), llamado así en honor al cofundador de Google (Larry Page), se basa en un axioma muy simple: en la web no hay censura y, cuanto mejor es un sitio web, más páginas enlazan al mismo. Por tanto, cuantos más enlaces haya a una página, más peso tiene esa página no sólo en la posición en el buscador de Google, sino en el ranking de otras páginas: cuanto más PR tenga una página que enlaza a la tuya, mayor será tu aumento de PR. Eso sí, el PR que proporciona estar enlazado en una página se divide entre la cantidad de enlaces que haya en la misma, por lo que si ésta es, por ejemplo, un agregador de enlaces con mucho PR, el de una página enlazada al mismo casi no aumentará.

En esta simple fórmula (que es esencialmente similar al cálculo real del PageRank) se aprecia bien lo comentado: (siendo A la página cuyo PR queremos calcular; n, el número de páginas que enlazan a la misma; i cada página que enlaza a A y C(i) el número de enlaces en la página i)

${\rm PR}(A) \sim   \sum_{i=1}^n {{\rm PR}(i) \over C(i)}$

Este mecanismo ha demostrado su efectividad y es muy usado para valorar y vincular información (el karma de Menéame, por ejemplo, se basa en la misma idea, cambiando enlace por meneo).

Sin embargo, no es la panacea: un sitio que acumula enlaces (o un post muy meneado) puede no ser bueno. Ésto nos hace preguntarnos si hay una forma de ordenar que sea objetivamente mejor que el resto, o todas son igual de triviales y es nuestra percepción subjetiva la que nos hace considerar unas mejores que otras.


¿Existe realmente el buen orden?

Un matemático diría que sí sin dudarlo: es muchísimo más fácil integrar sobre una esfera en coordenadas esféricas que en cartesianas, o trabajar con una elipse si se eligen ejes coordenados con la misma dirección que los semiejes de la misma.

Borges no estaría tan de acuerdo. En su ensayo El Idioma Analítico de John Wilkins, reflexiona magistralmente sobre la trivialidad y equivalencia de todos los sistemas de clasificación (¿o tal vez lo que busca realmente es dejar en evidencia la supremacía del orden científico frente al popular? ;) ):


 (...) Descartes, en una epístola fechada en noviembre de 1629, ya había anotado que mediante el sistema decimal de numeración, podemos aprender en un solo día a nombrar todas las cantidades hasta el infinito y a escribirlas en un idioma nuevo que es el de los guarismos; también había propuesto la formación de un idioma análogo, general, que organizara y abarcara todos los pensamientos humanos. John Wilkins, hacia 1664, acometió esa empresa.
Dividió el universo en cuarenta categorías o géneros, subdivisibles luego en diferencias, subdivisibles a su vez en especies.  
(...) 
Ya definido el procedimiento de Wilkins, falta examinar un problema de imposible o difícil postergación: el valor de la tabla cuadragesimal que es base del idioma. Consideremos la octava categoría, la de las piedras. Wilkins las divide en comunes (pedernal, cascajo, pizarra), módicas (mármol, ámbar, coral), preciosas (perla, ópalo), transparentes (amatista, zafiro) e insolubles (hulla, greda y arsénico). Casi tan alarmante como la octava, es la novena categoría. Ésta nos revela que los metales pueden ser imperfectos (bermellón, azogue), artificiales (bronce, latón), recrementicios (limaduras, herrumbre) y naturales (oro, estaño, cobre). La ballena figura en la categoría décimosexta; es un pez vivíparo, oblongo. Esas ambigüedades, redundancias y deficiencias recuerdan las que el doctor Franz Kuhn atribuye a cierta enciclopedia china que se titula Emporio celestial de conocimientos benévolos. En sus remotas páginas está escrito que los animales se dividen en 
(a) pertenecientes al Emperador, 
(b) embalsamados,
(c) amaestrados,
(d) lechones,
(e) sirenas,
(f) fabulosos,
(g) perros sueltos,
(h) incluidos en esta clasificación,
(i) que se agitan como locos,
(j) innumerables,
(k) dibujados con un pincel finísimo de pelo de camello,
(l) etcétera,
(m) que acaban de romper el jarrón,
(n) que de lejos parecen moscas.

El instituto Bibliográfico de Bruselas también ejerce el caos: ha parcelado el universo en 1000 subdivisiones, de las cuales la 262 corresponde al Papa; la 282, a la Iglesia Católica Romana; la 263, al Día del Señor; la 268, a las escuales dominicales; la 298, al mormonismo, y la 294, al brahmanismo, budismo, shintoísmo y taoísmo. (...) 

Jorge Luis Borges, en su ensayo El Idioma Analítico de John Wilkins.