sábado, 24 de marzo de 2018

En realidad, ¿qué [...] es exactamente un algoritmo?

En realidad, ¿qué [...] es exactamente un algoritmo?

https://retina.elpais.com/retina/2018/03/22/tendencias/1521745909_941081.html

En realidad, ¿qué [...] es exactamente un algoritmo?
Getty Images
Matemáticas
En realidad, ¿qué [...] es exactamente un algoritmo?
Por 
Sergio C. Fanjul
Es la palabra tecnológica de moda, aunque se usa con gran desconocimiento. Intentamos explicarte qué significa... y cómo se complica cuando añadimos la computación
Madrid  24 MAR 2018 - 00:19 CET

Algoritmo es la palabra tecnológica de moda: los algoritmos hacen esto y aquello, conocen nuestras pasiones más íntimas, van a copar nuestros trabajos, se disponen a destruir la sociedad y el mundo... En el lenguaje cotidiano se hace referencia a ellos como si fueran genios malvados, demiurgos traviesos o el espinazo de megacorporaciones sin escrúpulos. En realidad, un algoritmo es algo más sencillo, un mecanismo ciego y sin voluntad, pero que, como veremos, sí está cambiando el mundo de forma definitiva y merece la máxima atención, no se nos vaya a ir el asunto de las manos.

¿Qué es un algoritmo? Simplemente una serie de instrucciones sencillas que se llevan a cabo para solventar un problema. La regla de multiplicar que aprendimos en el colegio y que permite sacar el producto de dos números de varias cifras, con papel y lápiz, es un sencillo algoritmo. Pero podemos dar una definición algo más rigurosa:
En realidad, ¿qué [...] es exactamente un algoritmo?
 En realidad, ¿qué [...] es exactamente un algoritmo?
Getty Images
“Conjunto de reglas que, aplicada sistemáticamente a unos datos de entrada apropiados, resuelven un problema en un numero finito de pasos elementales”, según enuncia el profesor de la Facultad de Informática de la Universidad Complutense Ricardo Peña Marí, autor a la sazón del libro De Euclides a Java, la historia de los algoritmos y de los lenguajes de programación (Nívola). “Es importante notar que el algoritmo tiene que ser finito y que ejecuta las instrucciones de manera sistemática, es decir, que es ciego ante lo que está haciendo, y que los pasos con los que opera son elementales”, comenta el profesor.

MÁS INFORMACIÓN
En realidad, ¿qué [...] es exactamente un algoritmo? Los algoritmos tienen prejuicios: ellos son informáticos y ellas, amas de casa
En realidad, ¿qué [...] es exactamente un algoritmo? El Gobierno impulsa un código ético para domar los algoritmos
Así, un algoritmo podría ser una receta de cocina o las instrucciones para fabricar un avión de papel a partir de un folio. Los algoritmos tienen una entrada (input) y una salida (output), entre ambas están las instrucciones: la entrada podría ser la carne picada, el tomate, las láminas de pasta y la salida la lasaña perfectamente gratinada. “Aunque en estas tareas muchas veces influye la habilidad de las personas que las realizan: no es lo mismo una receta de cocina preparada por un gran chef, que incluso puede mejorarla, que por un principiante”, matiza Miguel Toro, catedrático del Departamento de Lenguajes y Sistemas Informáticos de la Universidad de Sevilla. En realidad, los algoritmos recogen operaciones tan sencillas que pueden ser realizadas con éxito por cualquiera. Incluso por las máquinas. He aquí el quid de la cuestión.

Algoritmos + computadoras = revolución
Porque aunque los algoritmos existen por lo menos desde los tiempos de los babilonios, con la llegada de los ordenadores tomaron mucho más protagonismo. La unión de máquinas y algoritmos es lo que está cambiando el mundo. El matemático británico Alan Turing, famoso por haber reventado la máquina Enigma de mensajes cifrados de los nazis y por haberse suicidado mordiendo una manzana envenenada tras sufrir una dura persecución debido a su condición homosexual, fue de los primeros que relacionó algoritmo y ordenadores. De hecho, fue de los primeros que imaginó un ordenador tal y como los conocemos. Incluso llegó a pensar que las máquinas podrían pensar, y hasta escribir poemas de amor.

El famoso algoritmo de Facebook
“En el big data los algoritmos analizan millones de datos de consumidores, hay algoritmos en los coches automáticos, o en redes sociales como Facebook o Twitter”, dice Ricardo Peña. Están por todas partes, en Uber, en los Google Maps, los utilizamos cada día. Por ejemplo, las modificaciones en el algoritmo que decide qué se ve en tu muro de Facebook, conocido como EdgeRank, suelen causar grandes revuelos entre los usuarios. A principios de 2018, la empresa decidió dar más importancia a los usuarios particulares que empresas, marcas y medios de comunicación, en un intento de que la red social volviera a ser más “social” y paliar fenómenos como el clickbait y las fake news. Dada la alta dependencia actual del mundo real a Facebook, el cambio dio bastantes quebraderos de cabeza, especialmente a empresas y medios.

La Máquina de Turing no es una máquina que exista en el mundo físico, sino un constructo mental. Consiste en una cinta infinita sobre la que se van haciendo operaciones repetitivas hasta dar soluciones, viene a ser una definición informática del algoritmo y un ordenador, el primero, conceptualizado: “En esencia, es el precursor de los ordenadores: tiene una memoria, unas instrucciones (un programa), unas operaciones elementales, una entrada y una salida”, explica el profesor Peña. Lo más interesante es que es una máquina universal, que puede llevar a cabo cualquier programa que se le ordene. Dentro de los problemas del mundo hay de dos tipos: los que puede resolver una Máquina de Turing (llamados computables) y los que no (los no computables), igual que vemos en el mundo real tareas que pueden realizar las máquinas (cada vez más) y otras que solo pueden realizar los humanos. Todos los ordenadores, tablets, smartphones, etc, que conocemos son máquinas de Turing.

“En definitiva, el trabajo de los programadores informáticos consiste en traducir los problemas del mundo a un lenguaje que una máquina pueda entender”, afirma Peña. Es decir, en algoritmos que la máquina maneje: para ello hay que picar realidad en pequeños problemas en sucesión y poner a la computadora a la tarea. Un programa de ordenador es un algoritmo escrito en un lenguaje de programación que al final acaba convertido en miles de sencillas operaciones que se realizan con corrientes eléctricas en el procesador, corrientes representadas por los famosos unos y ceros, los dígitos que caracterizan lo digital. Cuando jugamos a un videojuego en tres dimensiones, o miramos Facebook, o utilizamos un procesador de textos, en realidad la máquina está realizando numerosas operaciones con pequeñas corrientes eléctricas, sin saber que de todo eso sale Lara Croft con dos pistolas. La clave es que son muchas operaciones a la vez: un ordenador de 4 gigahertzios puede hacer 4.000 millones operaciones en solo un segundo. En esencia, esto son los algoritmos y esto es la informática.

Mis problemas con los algoritmos
A pesar de la longevidad de los algoritmos, y de la ya madurez de las computadoras, la palabra algoritmo se ha puesto de moda en los últimos años. ¿A qué se debe? “Los ordenadores pueden calcular mucho más rápido que un cerebro humano y desde la aparición de internet hay un salto y se están llegando a cosas que parecían imposibles”, dice Miguel Toro. Por ejemplo, en disciplinas en plena ebullición como el big data o la inteligencia artificial.



“Los algoritmos se usan para predecir resultados electorales, conocer nuestros gustos y el mundo del trabajo se va algoritmizando: las diferentes tareas se convierten en algoritmos y se automatiza el trabajo”, explica el catedrático. Las únicas tareas no algoritmizables, por el momento, son las relacionadas con la creatividad y las emociones humanas, esa es nuestra ventaja. Aunque se suele argumentar que la Revolución Tecnológica creará nuevos puestos de trabajo, Toro cree que nunca serán tantos como los empleos destruidos y que se concentrarán en personas y países con la suficiente preparación. “Por eso una idea que parecía propia de la izquierda, como la renta básica universal, está siendo propuesta hasta por Bill Gates y experimentada en lugares como California o Finlandia. Es necesario que haya consumidores para que el sistema económico no colapse”.

El Flash Crack
Uno de los ejemplos más llamativos de cómo pueden funcionar los algoritmos sin la supervisión humana es el del llamado Flash Crack de 6 de mayo de 2010. En la Bolsa los algoritmos trabajan realizando transacciones a velocidades inimaginables para un cerebro humano, en cuestión de microsegundos, para conseguir la máxima rentabilidad. Es el High Frecuency Trading. Ese día de 2010, la interacción de las operaciones de los algoritmos produjo un desplome de 1.000 puntos, en torno a un 9%, sin explicación aparente, que se recuperó a los pocos minutos, pero que dio una idea de los problemas que se pueden originar. “Casos como estos ocurren cuando los algoritmos se ponen a competir y nadie tiene la imagen del proceso completo, lo que se llama decoherencia”, explica Toro, “por eso los algoritmos deben funcionar bajo supervisión humana”.



“Nadie se pone de acuerdo en lo que pasó en la Bolsa, nadie dio la orden, nadie quería eso, nadie tenía realmente control sobre lo que realmente pasaba”, dice Kevin Slavin, profesor del MIT Media Lab, en su célebre charla TED Cómo los algoritmos configuran nuestro mundo. Otro caso interesante es el del manual The making of a fly, de Peter Lawrence, que trata sobre la genética de moscas como la Drosophila melanogaster, muy utilizada en laboratorios biológicos. Lo extraño de este libro, por lo demás muy normal, es que, en 2011, su precio en Amazon alcanzó primero la cifra de 1.700 millones dólares para luego subir, unas horas más tarde, a casi 23.700 millones dólares (más gastos de envío). Todo se debía a el funcionamiento de un algoritmo que fijaba los precios de manera automática. “Nadie compraba ni vendía nada, ¿qué pasaba?”, dice Slavin. “Tanto aquí como en Wall Street vemos cómo algoritmos en conflicto, trabados entre sí, crean bucles sin ningún tipo de supervisión humana”.

Pese a todo, hay algoritmos que ya forman parte de consejos de empresas. Es el caso de VITAL, que desde mayo de 2014 ocupa uno de los cinco sillones directivos de Deep Knowlegde Ventures, una empresa de capital riesgo de Hong Kong especializada en medicina regenerativa. El algoritmo recomienda inversiones después de analizar enormes cantidades de datos y ensayos clínicos. Tiene derecho a voto en la cúpula de esa corporación. Como señala el historiador Yuval Harari en su libro Homo Deus, breve historia del mañana (Debate), “VITAL ha adquirido uno de los vicios de los directores generales: el nepotismo. Ha recomendado invertir en compañías que conceden más autoridad a los algoritmos”. Según señala Harari, puede que llegue el día en que, cuando los algoritmos se hagan dueños del mercado laboral, la riqueza quede concentrada en una “élite de algoritmos todopoderosos (…) los algoritmos podrían no solo dirigir empresas sino ser sus propietarios. En la actualidad, la ley humana ya reconoce entidades intersubjetivas, como empresas y naciones, como personas legales”. Si entidades como Toyota o Argentina, que no tienen cuerpo ni mente, pueden poseer tierras y dinero, demandar y ser demandadas, ¿por qué no un algoritmo?, se pregunta el autor.

Algoritmos celebrities
Tal vez el algoritmo más famoso del mundo, después del de la multiplicación, sea el de Google, creado en 1998 y llamado PageRank. Su éxito revolucionario consistió en que rastreaba la web y daba resultados de búsqueda ordenados por su importancia. “El PageRank original medía la importancia de una web por la cantidad de webs que estaban enlazadas a ella”, dice Andrés Leonardo Martínez Ortiz (también conocido por el acrónimo ALMO), manager del Grupo de Desarrolladores de Google, y esa fue la clave de su éxito. Desde entonces, según relata ALMO, el algoritmo ha ido evolucionando hasta tener en cuenta en sus resultados al usuario (no es lo mismo ser un adulto que un niño, o buscar en Madrid que en Silicon Valley), ofrecer mapas, imágenes, corregir la ortografía de la búsqueda o entender cuándo en la caja de búsqueda se escribe una pregunta. Y darle respuesta.



“En los cambios que se realizan en el algoritmo se involucra a la industria, por el impacto que pueda tener, y se prueban con un pool de usuarios”, explica el ingeniero. El problema es que en los algoritmos grandes a menudo aparecen sesgos. “Un algoritmo no es una caja negra y sus resultados no se deben asumir sin cuestionarlos”, dice ALMO. “Cuando se perciba una situación anómala es preciso denunciarla a la compañía para que la analice”.

Porque, aunque a veces lo parezcan, los algoritmos no son entes autónomos, sino que detrás hay personas. Así que algunas asociaciones de programadores e ingenieros informáticos, como la Association for Computing Machinery (ACM) o el Institute for Electrical and Electronic Engineers (IEEE) (de las que ALMO forma parte) ya han desarrollado un código ético para evitar algunos de los problemas que pueda acarrear la tecnología. “Debido a su posición en el desarrollo de sistemas software, los ingenieros tienen suficientes oportunidades para causar beneficio o generar daño, para permitir a otros causar beneficio o generar daño, o para influenciar a otros a causar beneficio o generar daño”, se lee en su preámbulo. Por eso, el primer punto de sus principios dice: “Los ingenieros de software actuarán de manera coherente con el interés social”.

No hay comentarios:

Publicar un comentario