Nos hablan de algoritmos a todas horas y en todos sitios ¿qué es un algoritmo? ¿tiene que ver con la inteligencia artificial? ¿influyen en nuestra vida? ¿de qué forma? ¿podemos librarnos de ellos? ¿debemos librarnos de ellos? ¿están regulados por alguna ley o reglamento?
Todos hemos escuchado la palabra “algoritmo” relacionada por ejemplo cuando se habla del “algoritmo de Google” o del “algoritmo de Facebook”. Los algoritmos pueden ser autónomos o formar parte de las inteligencias artificiales – IA – (o AI, artificial intelligence) que se están desarrollando, por ejemplo, Google desarrolla la inteligencia artificial MUM o más recientemente Pathways, o IBM desarrolla su IA Watson (llamada así por el presidente que convirtió IBM en una multinacional, Thomas John Watson, no por el famoso doctor acompañante de Sherlock Holmes) o se desarrollan los asistentes virtuales, como ALEXA de Amazon o SIRI de Apple. Por lo que ves, no debemos confundir algoritmo con IA … (ya hablaremos otro día de la IA y de su regulación normativa) pero, vayamos por partes: ¿qué es un algoritmo?
Considero, creo necesario, que para poder regular un hecho es importante, imprescindible, conocerlo, siendo esta premisa totalmente necesaria en el ámbito tecnológico, pues de nada sirve una normativa que no comprenda lo que intenta regular.
Contenido
2. ¿En qué consiste y de qué consta?.
3. Características de los algoritmos.
4. ¿Un algoritmo es un programa?.
5. ¿Un algoritmo es inteligencia artificial?.
6. ¿Cuántos tipos de algoritmos existen?.
8. Ventajas y desventajas de los algoritmos.
10. ¿Cómo nos afectan los algoritmos?.
11. Cómo debería hacerse un algoritmo.
12. Regulación de los algoritmos.
Origen del término
No es pacífico el origen del término. Algunos sostienen que proviene del griego arithmos (número) otros que la palabra tiene su origen en el término árabe Al-Khwarizmi (al-juarismi) derivado de Quitab Al Jabr Al Mugabala, importante astrónomo y matemático persa del siglo IX, considerado uno de los padres del Algebra, que trató el desarrollo y resolución de ecuaciones de primer y segundo grado con un número limitado de procesos. Según la Real Academia Española, proviene del latín algobarismus, que vendría a ser una abreviatura del árabe clásico ḥisābu lḡubār, que significaría cálculo mediante cifras arábigas.
¿En qué consiste y de qué consta?
El científico británico Alan Turing (1912-1954) fue el creador de los conceptos algoritmo y computación, que sirvieron para su famosa máquina de Turing (origen conceptual del actual ordenador) y para el campo de la inteligencia artificial, que culminaría en el también famoso test de Turing, mediante el cual es posible juzgar la inteligencia de una máquina, analizando si sus respuestas son imposibles de distinguir de las de un ser humano.
Un algoritmo consiste es una secuencia de pasos concretos y determinados a seguir (instrucciones) que se ordenan de forma sistemática y secuencial con el fin de ejecutar una tarea o un proceso.
Un algoritmo consta siempre de los siguientes elementos:
- Input (entrada): datos necesarios para realizar el proceso de resolución, requerimientos esenciales para realizar las instrucciones.
- Proceso o procesamiento: acciones que se deben realizar para resolver el problema utilizando los inputs (las entradas), instrucciones o pasos a seguir para su ejecución.
- Output (salida): resolución, resultado o fin del proceso.
Cualquier actividad o evento con inicio y final que tenga una serie de pasos lógicos para lograr su ejecución puede ser expresada mediante un algoritmo. Los algoritmos suelen representarse mediante un diagrama de flujo.
Características de los algoritmos
Lo básico para que se ejecute correctamente un algoritmo es que sea:
Preciso: las instrucciones han de ser concretas y no pueden dar lugar a ambigüedades o indefiniciones y la solución o resolución también ha de ser concreta y determinada.
Finito: han de contar con un inicio y un fin, con un número determinado de pasos o instrucciones en el proceso, independientemente de cuántos sean.
Ordenado: ha de presentar una secuencia clara y precisa.
Definido: siempre tiene que dar el mismo resultado al recibir la misma entrada, independientemente de las veces que se ejecuten.
¿Un algoritmo es un programa?
Un programa es una secuencia lógica de instrucciones diseñada para ser interpretado y ejecutado por un ordenador. Las secuencias están escritas en código y usan uno o más algoritmos, siendo un programa informático un conjunto de algoritmos ordenados y codificados. Vemos que un algoritmo forma parte de un programa, aunque ambos hacen referencia a una serie de instrucciones. Algunos programas simples y sencillos pueden coincidir con un solo algoritmo, por ejemplo, un programa de encendido y apagado de un dispositivo. La mayoría de programas van integrando algoritmos cada vez más elaborados, pensemos por ejemplo en la evolución de los procesadores de texto incluyendo corrección de ortografía y gramatical, con funciones de texto predictivo (proponer palabras al comenzar al escribir) o el reconocimiento de voz.
¿Un algoritmo es inteligencia artificial?
La inteligencia artificial debe ser tratada aparte. Avanzamos su definición: capacidad de un programa de funcionar como la mente humana (reconocer, recordar y decidir).
La inteligencia artificial se compone de subconjuntos de algoritmos, por ejemplo, los que componen el aprendizaje autónomo, que puede ser supervisado con decisiones humanas que actúan como guía y enseñan al algoritmo las conclusiones que debe adoptar, o no supervisado que utiliza un enfoque más independiente, en el que el algoritmo aprende a identificar procesos y patrones complejos sin que ningún ser humano le proporcione una guía.
¿Cuántos tipos de algoritmos existen?
Se clasifican en primer lugar como computacionales o cuantitativos, que son aquellos que requieren de un cálculo numérico para su ejecución dependiendo la resolución de dicho cálculo matemático; y no computacionales o cualitativos, que son aquellos que no requieren o necesitan realizar operaciones de cálculo, sino que su ejecución depende de secuencias lógicas o formales. Ejemplos de algoritmos computacionales o cuantitativos son los destinados a resolver una ecuación matemática, y de algoritmos no computacionales o cualitativos son las instrucciones para una receta o para montar un mueble.
Por su finalidad, se pueden clasificar en:
Algoritmos de búsqueda: localizan uno o varios elementos que presenten una serie de propiedades dentro de una estructura de datos, por ejemplo, de búsqueda secuencial, en la que se compara el elemento a localizar con cada elemento del conjunto hasta encontrarlo o hasta que se hayan comparado todos, o de búsqueda binaria, donde en un conjunto de elementos ordenados, hace una comparación con el elemento ubicado en el medio y, si no son iguales, continúa la búsqueda en la mitad donde puede estar, y así sucesivamente en intervalos cada vez más pequeños de elementos.
Dentro de la categoría de algoritmos de búsqueda encontramos los algoritmos voraces que mantienen una estrategia de búsqueda que basada en una heurística en la que se elige la mejor opción óptima en cada paso local, con el objetivo de llegar a una solución general óptima, es decir, en cada paso del proceso se escoge el mejor elemento (elemento prometedor) y se comprueba que pueda formar parte de una solución global factible. Estos algoritmos se utilizan para resolver problemas de optimización, y no encuentran la solución global óptima ya que al ir tomando decisiones solamente tienen en cuenta la información de las decisiones que han tomado hasta el momento y no las futuras que pueden adoptar.
Algoritmos de ordenamiento: reorganizan los elementos de un listado según una relación de orden. Las más habituales son el orden numérico y el orden lexicográfico. Un orden eficiente optimiza el uso de algoritmos como los de búsqueda y facilitan la consecución de resultados legibles por personas y no solo máquinas. Ejemplos de algoritmos de ordenamiento son el ordenamiento de burbuja, que compara cada elemento de la lista a ordenar con el siguiente e intercambia su posición si no están en el orden adecuado y se revisa varias veces toda la lista hasta que no se necesiten más intercambios, el ordenamiento por selección donde se va colocando el elemento más pequeño disponible en cada una de las posiciones de la lista de forma consecutiva, ordenamiento rápido, donde se elige un elemento del conjunto (denominado pivote) y se reubica el resto a cada uno de sus lados, en función de si son mayores o menores que el elemento que estamos tomando como referencia, repitiendo el procedimiento en cada subconjunto.
Algoritmos probabilísticos: utilizan técnicas que emplean una fuente de aleatoriedad como parte de su lógica. Mediante un muestreo aleatorio de la entrada llega a una solución que puede no ser totalmente óptima, pero que es adecuada para el problema planteado. Se utiliza en situaciones con limitaciones de tiempo o memoria y cuando se puede aceptar una buena solución de media, ya que a partir de los mismos datos se pueden obtener soluciones diferentes y algunas erróneas. Para que sea más probable ofrecer una solución correcta, se repite el algoritmo varias veces con diferentes submuestras aleatorias y se comparan los resultados. No arrojan en ningún caso un resultado total y certero.
También hay algoritmos recursivos, que son los que en algún momento se invocan a sí mismos.
Los algoritmos también se puedes clasificar según su estructura:
Algoritmo de secuencia que se caracteriza por una serie de pasos, y cada paso se ejecuta uno tras otro.
Algoritmo de ramificación que se representa por cuestiones «si-entonces» (si una condición es verdadera, el resultado será A, si la condición es falsa, el resultado será B). También se conoce como algoritmo de selección.
Algoritmo bucle, donde el proceso puede ejecutarse repetidamente bajo una determinada condición. Se representa por «mientras» y «para» (mientras se cumpla una condición o para una condición determinada). También se conoce como algoritmo de repetición.
Existen muchos otros como por ejemplo: de burbuja, de escalada, backtracking, paralelos, búsqueda dicotómica, determinísticos, heurísticos y metaheurísticos, etc.
Destacamos los algoritmos heurísticos, muy empleados porque emplean menos recursos y tiempo, y se usan cuando los métodos tradicionales no resultan y abandonan algún objetivo o parámetro para una solución posible, ofreciendo soluciones relativamente buenas y en ocasiones óptimas, pudiéndose complementar con otros algoritmos de optimización para mejorar la solución, pero careciendo siempre de certeza o precisión total. Heurístico es lo contrario a exacto.
Algoritmos “famosos”
Google: el algoritmo de Larry, denominado Page Rank (“page” no es página, sino el apellido de su creador Larry Page, el fundador de Google junto con Sergei Brin). Es el básico para “googlear”. Mide la relevancia de una página web según su autoridad, asignándole una nota numérica decimal del 1 al 10, teniendo en cuenta fecha de publicación, novedad, históricos de navegación, búsquedas del usuario, geolocalización, etc (son unos doscientos factores los empleados para posicionar una página web).
A su algoritmo se han añadido otros: Panda, se enfoca a la calidad de los sitios web, observa el contenido y cómo este es mostrado y si ofrece valor al usuario, y también observa si se copia o si hay mala ortografía. Pingüino, comprueba y penaliza a los que de “forma mentirosa” aumentan las métricas de sus dominios, si hay spam o los links que no aportan nada al usuario. Colibrí, evalúa las búsquedas y las ordena según lo que sea relevante para el contexto que el usuario tenga en mente, filtra con base en el histórico de intereses y trata de entender la conversación del usuario para poder darle respuestas específicas. Paloma, trae resultados que tenga que ver con la ubicación geográfica.
Facebook: el algoritmo EdgeRank, creado por Serkan Piantino. Tiene en cuenta los “me gusta” los comentarios, la veces que una publicación se comparte, basándose en la afinidad de quien publica, la reacción del usuario con el contenido, la cronología, novedad, etc … (existen más de 100.000 factores para posicionar). Este algoritmo ha sido cambiado por otro que aprende automáticamente (inteligencia artificial).
YouTube: los factores que rigen su algoritmo son secretos, pero es posible desvelar algunos como: videos más vistos, tiempo de reproducción, tiempo de permanencia en la plataforma, interacción, histórico personal, geolocalización, idioma o contenido. Respecto a este último se le ha añadido otro algoritmo sobre los derechos de autor y para evitar contenido peligroso.
Amazon: sus algoritmos A9 y A10 funcionan a partir de palabras claves e información y características del producto creando un motor de búsqueda eficiente y rápido ajustando los resultados que ofrece con los intereses de los clientes, teniendo en cuenta la autoridad del vendedor (antigüedad, si hay peticiones de devolución, valoraciones, etc.) la interacciones e impresiones de los usuarios, visualizaciones de los productos, etc.
Ventajas y desventajas de los algoritmos
La propia definición y concepto de algoritmo es la que nos proporciona sus ventajas. Con algoritmos se identifica el proceso de solución de un problema, los puntos de decisión y cuáles son las variables necesarias para resolver un problema. Es decir, disponemos de una forma racional y sistemática para afrontar y resolver problemas pues al dividir un problema en pasos más pequeños y manejables de la solución tendremos un análisis y un proceso específico obteniendo una mayor eficiencia.
La información que ofrece la tecnología de Big Data (recopilación masiva de conjuntos de datos con un gigantesco tamaño y complejidad) no podría ser procesada o analizada sin algoritmos. Por ejemplo, para grandes cadenas comerciales con muchos millones de productos en venta, los algoritmos predictores sirven para revisar y abastecer productos anticipando la demanda del consumidor, para organizar el tráfico de mercancías dentro de sus almacenes o para proponer rutas eficientes a los camiones de reparto.
Si bien eso es cierto para los algoritmos computacionales que se basan en cálculos numéricos, no lo es tanto para la resolución de problemas no computacionales que dependen de secuencias lógicas, sobre todo si la lógica a aplicar no es del todo correcta o adecuada.
Esto último puede dar lugar a una manipulación encubierta, con lo que entramos a analizar lo que son los sesgos en los algoritmos.
El sesgo algorítmico
Se entiende por sesgo de forma genérica la orientación, curso o rumbo o dirección que toma un asunto, pero se le añade el matiz de ser algo torcido, cortado o situado oblicuamente, hasta entenderse de forma concreta, aplicado el concepto a áreas técnicas, como un error sistemático que puede dar lugar a la selección o favorecimiento de un sentido u otro. Los sesgos pueden conducir a conclusiones incorrectas o no adecuadas.
En informática el sesgo algorítmico se identifica como el reflejo de los valores de los humanos (sesgo humano) que están implicados en la codificación y la recolección de datos, pues un algoritmo es tan bueno como su desarrollador, y pueden introducirse en el proceso de forma voluntaria o involuntaria, consciente o inconscientemente.
La consecuencia de este sesgo puede dar lugar a resultados no previstos o manipulados, alejándose del concepto de neutralidad implicando una discriminación sistemática e injusta, siendo los más habituales el sesgo estereotipado (amplifica las tendencias sexistas y racistas, por ejemplo, indicando al algoritmo que las mujeres cocinan y limpian y los hombres trabajan en oficinas o fábricas) el sesgo de muestreo (si la muestra que se utiliza no refleja con precisión el entorno, por ejemplo si un algoritmo que se empleará durante todo el año solamente recaba datos durante el verano se confundirá cuando haya una nevada) el sesgo de presentación (por ejemplo, si los datos se recaban de la prensa hay una gran probabilidad de que las mujeres solamente aparezcan cuando son celebridades o víctimas) el sesgo de filtro (sólo se le indica al algoritmo que encuentre contenido que refuerce una ideas, gustos o preferencias) el sesgo histórico (cuando la toma de decisiones solamente se base en datos del pasado) o el sesgo de confirmación (el algoritmo tiene como objetivo, usualmente de forma intencional, de demostrar una suposición u opinión de la que se parte a priori).
Todo ellos tienen en común que en la toma de decisiones, dentro de los pasos a seguir, se selecciona qué parámetro tiene o no relevancia y en qué medida.
¿Cómo nos afectan los algoritmos?
La dinámica de prestación de servicios y en el funcionamiento de grandes compañías, es la recopilación y la gestión de información. Recabar información y analizarla no es una técnica nueva, lo innovador es el uso de ingente cantidad de información (big data) y para buscar y encontrar la información relevante y poder adoptar decisiones lo realmente innovador es el empleo de algoritmos que simplifiquen el trabajo y automaticen los procesos, siendo indispensables por el volumen de la información recopilada y tratada, para poder conseguir las 5 “Vs” del big data: Volumen, Variedad, Velocidad, Veracidad y Valor.
Por ello, los algoritmos se emplean cada vez más en todo tipo de actividades, ya sean privadas o públicas, y nos influyen y afectan. Por ejemplo, en el ámbito privado, ¿conocemos todos los criterios que usan los algoritmos de Google que determinan qué resultados estarán en primer lugar? ¿Cómo podríamos conocer los resultados que se relegan o simplemente se desechan? Y ¿sabemos cuántas redes sociales han creado un perfil sobre nuestros gustos o preferencias?
Estas cuestiones pueden que nos resulten baladíes, o no demasiado importantes, si actuamos como usuarios o consumidores en la presentación u oferta de productos o servicios, pero ¿y si la información versa sobre un político o personaje público?
Esta dinámica algorítmica también se extiende a la gestión de los servicios y la actividad pública por ejemplo, ya se emplean los algoritmos por la hacienda pública para iniciar inspecciones o también para la concesión de ayudas públicas.
Y las cuestiones que se plantean, son las siguientes: ¿y si se emplean los algoritmos inadecuados? (por ejemplo, uno voraz o sólo algoritmos probabilísticos) y si además están plagados de sesgos (por ejemplo, estereotipado o de filtro) se perjudicarían nuestros intereses e incluso nuestros derechos, pensemos por ejemplo en la delegación de la decisión a un algoritmo para proceder a un despido objetivo, que es un despido no fundado en incumplimiento del trabajador (despido disciplinario) sino en causas relacionadas con el funcionamiento o solvencia de la empresa.
Por todo lo que hemos expuesto y analizado, y comprendiendo lo qué es y cómo funciona un algoritmo, ya no cabe escudarse en que la decisión aparentemente neutral de que “lo ha determinado el algoritmo” como si fuera algo objetivo y por ello impecable en su desarrollo y ejecución.
Cómo debería hacerse un algoritmo
En primer lugar, hemos de plantearnos si ante un problema, de gestión o de decisión, o para la mejora de un proceso en la actividad es necesario, ante su complejidad o dificultad, emplear un algoritmo, es decir, tener claro lo que se necesita y cómo se puede resolver. A continuación, para definir y concretar el algoritmo, se deberían dar los siguientes pasos:
- Analizar detallada y pormenorizadamente, el problema o la necesidad.
- Definir los requerimientos, definiendo exactamente el problema a resolver o la necesidad a satisfacer, incluyendo todas las posibles derivaciones que pudieran surgir, identificando la posibilidad de que existan sesgos.
- Decidir que tipo de algoritmo se empleará (computacional o no computacional).
- Identificar los módulos que son precisos.
- Diseñar el flujo del algoritmo, siendo muy útil el uso de diagramas de flujo.
- Implementar el algoritmo, si son computacionales mediante el correspondiente lenguaje de programación y si no son computacionales mediante las oportunas instrucciones u órdenes.
Pondré como ejemplo de diseño erróneo y consecuencias perjudiciales, un supuesto macabro e ignominioso. Me refiero al holocausto nazi realizado contra el pueblo judío durante la segunda guerra mundial porque fue uno de los primeros hechos históricos en los que fue relevante el uso de algunos algoritmos computacionales.
La finalidad a conseguir (ya que no era un problema o una necesidad) era inhumana y todo su desarrollo estaba plagado de sesgos abominables, y sus despreciables fases fueron: identificación por raza y creencia religiosa, exclusión, confiscación, gueto, deportación y exterminio. Este algoritmo lo denominaron sus propios autores, el tercer Reich alemán, como la “solución final a la cuestión judía” siendo un proceso de toma de decisiones de forma prolongada e incremental. La mayoría de los algoritmos fueron no computacionales, pero, y por eso traigo a colación este despreciable ejemplo, se empleó uno de los primeros algoritmos computacionales.
IBM (Internacional Business Machines) por aquel entonces el gigante de la industria de la computación, con desconocimiento de su finalidad tal como manifestaron posteriormente sus dirigentes, y atendiendo a su aspiración de un dominio mundial del mercado informático (estamos hablando del año 1933) proporcionó tecnologías que hicieron posibles programas de identificación y catalogación de ingente información, cruzando variables de diversos modos relacionales que sirvieron para la toma de decisiones. El método empleado fue la tecnología de tarjetas perforadas.
Por la importancia y relevancia de la información relaciono mis fuentes: “IBM y el holocausto: la alianza estratégica entre la Alemania nazi y la corporación más poderosa de América.” Libro escrito por Edwin Black, publicado en 2001 y la web https://revistareplicante.com/ibm-y-el-holocausto/
Esto nos hace plantearnos muchas cuestiones y se encauza con lo que expongo a continuación.
Regulación de los algoritmos
Si nos planteamos la cuestión de si es necesario regular los algoritmos o cómo deberían regularse, estaríamos errando en el planteamiento. Si planteamos el debate exclusivamente en torno a la necesidad de su regulación y cómo habrían de regularse en su caso, estaríamos objetivando a un algoritmo como un fin y dando carta de naturaleza independiente o autónoma lo que solamente es un medio o instrumento. Así, la jurisprudencia, se esfuerza en decidir si se puede emplear o no un algoritmo en determinadas cuestiones cuando se debería plantear en cómo se debe informar o cómo hacer cognoscible o entendible el funcionamiento interno de dicho algoritmo analizándolo y auditándolo. El hecho de aceptar “en bloque” o sin más consideración o valoración el uso o no de un algoritmo soslaya y evita su análisis previo que es realmente la cuestión decisiva para su aplicación y con ello su regulación.
Tal motivo, como he indicado en más de una ocasión, deriva de la ignorancia y falta de interés de los que deciden en conocer la tecnología, y podría simplificarse sarcásticamente la cuestión, en si se debería usar o no la magia en algunas cuestiones y cómo regular algunos aspectos de la actuación de los hechiceros. Arthur C. Clarke (escritor y científico, autor de obras de divulgación científica y de novelas de ciencia ficción, entre otras “2001: Una odisea del espacio” que dio lugar a la famosa película épica y de culto dirigida por Stanley Kubrick, en la que también participó como guionista) dijo “Cualquier tecnología suficientemente avanzada es indistinguible de la magia” a esta cita se añaden comentarios como: “Cualquier tecnología suficientemente avanzada tiende a ser opaca e injusta” ¿Y si exigiéramos que la tecnología no fuera magia sino algo comprensible? ¿no sería más sencillo saber si se puede o debe aplicar a una cuestión u otra?.
Ante este planteamiento de poder conocer la tecnología que se emplea o utiliza en una determinada cuestión, se alega por los propietarios y usuarios de la misma que no se puede ofrecer el código fuente empleado por motivos de propiedad intelectual o incluso de seguridad (al conocer el código se podría hackear …). Pero ¿y si estamos ante los supuestos en que haya que exponer, explicar o motivar la decisión adoptada? Entiendo que si no se va a exponer o explicar a los que resulten afectados por las decisiones de un algoritmo cómo funciona dicho algoritmo, simplemente no se debería de emplear, pues sería una forma de ocultar la forma y la motivación de adoptar una decisión, amparándose en el deslumbramiento tecnológico, con los brillos e ilusión de eficacia y rapidez.
¿Sería esto una limitación al avance de la tecnología? Sí, y no pasa nada … Creo que existe un cada vez mayor proceso de rendición y confianza ciega en la tecnología como recurso maravilloso y extraordinario que todo lo puede resolver, y la decisión que considero acertada ya fue adoptada y recogida en nuestra norma fundamental: el artículo 18.4 de la Constitución española establece que “La ley limitará el uso de la informática para garantizar el honor y la intimidad personal y familiar de los ciudadanos y el pleno ejercicio de sus derechos.”
El legislador constituyente, por prudencia y con gran acierto, y con una visión más sosegada y pausada que la actual, vislumbró los riesgos de la informática ¡en 1978! mucho antes del surgimiento de Internet, de los algoritmos y de la inteligencia artificial.
La “Carta de la Robótica” que no es sino la Resolución del Parlamento Europeo, de 16 de febrero de 2017, con recomendaciones destinadas a la Comisión sobre normas de Derecho civil sobre robótica, apela a tres principios deducidos del ámbito supranacional, a saber: el citado principio de cognoscibilidad, el principio de no exclusividad de la decisión algorítmica o derecho de intervención humana y el principio de no discriminación algorítmica.
En el ámbito comparado, interesa mencionar aquí la pionera sentencia de 5 de febrero de 2020 del Tribunal de Distrito de la Haya. En este pronunciamiento se concluyó que se había vulnerado el artículo 8 del Convenio Europeo de Derechos Humanos (derecho al respeto de la vida privada y familiar) por parte de las autoridades holandesas. En concreto, el pronunciamiento venía referido al uso de un instrumento para detectar fraude, instrumento de naturaleza algorítmica que realizaba predicciones sobre la base de datos insertados en el sistema. El órgano jurisdiccional holandés consideró que esta actuación administrativa contravenía el artículo 8.2 del Convenio, una vez realizada la correspondiente ponderación entre los derechos e intereses concurrentes, por cuanto el algoritmo no era transparente ni verificable. En España, hasta la fecha no se ha producido pronunciamientos jurisprudenciales similares.
En el ámbito legislativo, la Ley 12/2021, de 28 de septiembre, por la que se modifica el texto refundido de la Ley del Estatuto de los Trabajadores, aprobado por el Real Decreto Legislativo 2/2015, de 23 de octubre, para garantizar los derechos laborales de las personas dedicadas al reparto en el ámbito de plataformas digitales, cambia el artículo 64, relativo a los derechos de información y consulta de la representación legal de las personas trabajadorasañadiendo un nuevo párrafo d) a su apartado 4, en el que se reconoce el derecho del comité de empresa a ser informado por la empresa de los parámetros, reglas e instrucciones en los que se basan los algoritmos o sistemas de inteligencia artificial que afectan a la toma de decisiones que pueden incidir en las condiciones de trabajo, el acceso y mantenimiento del empleo, incluida la elaboración de perfiles.
Este ha sido un paso importante y decisivo en el ordenamiento jurídico español.
La disposición adicional centésima trigésima de la Ley 22/2021, de 28 de diciembre, de Presupuestos Generales del Estado para el año 2022 autoriza al Gobierno a impulsar una Ley para la creación de la Agencia Española de Supervisión de Inteligencia Artificial en España. Su misión principal será auditar los algoritmos que se empleen. Este ha sido otro transcendente paso, pero ¿servirá esta institución para proporcionar herramientas de conocimiento y control para la ciudadanía? El interesado debe conocer en primer lugar si ha sido objeto de una decisión algorítmica y en segundo lugar conocer cómo se ha realizado esa decisión automatizada para poder impugnarla en su caso.
El Reglamento (UE) 2016/679 del Parlamento Europeo y del Consejo, de 27 de abril de 2016, relativo a la protección de las personas físicas en lo que respecta al tratamiento de datos personales y a la libre circulación de estos datos (RGPD) establece en su artículo 15, que regula el derecho de acceso, que se puede solicitar “la existencia de decisiones automatizadas, incluidas la elaboración de perfiles” y la lógica por la cual funciona ese algoritmo, y también en su artículo 22 expresa que “Todo interesado tendrá derecho a no ser objeto de una decisión basada únicamente en el tratamiento automatizado, incluida la elaboración de perfiles, que produzca efectos jurídicos en él o le afecte significativamente de modo similar”.
Esta normativa, al contrario de lo que se piensa no protege “los datos” sino los derechos de las personas físicas que se pueden vulnerar con ocasión del tratamiento de los datos, y el tratamiento actualmente es esencialmente automatizado con una clara tendencia algorítmica.
Conclusiones
Al no percibirse ni conocerse los procesos internos que realiza un algoritmo se alienta injustificadamente la falsa creencia que una decisión algorítmica es más correcta que una decisión humana.
En primer lugar, deberíamos saber si en la decisión que se ha adoptado y que nos influye, se ha empleado algún algoritmo (en los supuestos de intervención de inteligencia artificial se aplican los múltiples algoritmos que la componen y la estructuran) tanto si se emplea por una entidad privada o pública.
Si la decisión algorítmica va a ser empleada por un ente público, entiendo que en ningún caso debe sustituir a una motivación jurídica, no olvidemos que el que estaría realizando los argumentos y las motivaciones no sería una autoridad administrativa (que tiene encomendada la misión de decidir) sino el programador que estructura y desarrolla el algoritmo.
La motivación de las decisiones administrativas, tanto en el ámbito sancionador como en todos los sectores de la actuación administrativa, incluso en el ámbito de su potestad discrecional, es exigida por la Ley 39/2015 de 1 de octubre, del Procedimiento Administrativo Común de las Administraciones Públicas (de forma específica para determinados actos administrativos tal como determina su artículo 35) y no puede consistir en la remisión del resultado que arroje la ejecución de un algoritmo pues estamos ante un derecho subjetivo público del interesado que le otorga la facultad de conocer las razones por las que se ha adoptado la decisión permitiendo su contradicción y el ejercicio de los recursos que le correspondan, conectándose con el derecho fundamental a la tutela efectiva y al derecho de defensa (artículo 24 CE). Además, la motivación ha de ser expresa por lo que no se puede enmascarar u ocultar tras un proceso algorítmico. Recordemos, que el incumplimiento del requisito de motivación llevaría aparejada como efecto la nulidad del acto.
En virtud del principio de transparencia ha de garantizarse siempre la cognoscibilidad del algoritmo que se vaya a emplear para comprobar si la construcción, inserción de datos y la validez y gestión de los mismos son correctos y adecuados, pudiéndose por tanto evaluar la lógica y razonabilidad de la decisión que arroja el algoritmo, pudiendo conocer y comprender si el llamado a decidir ha contemplado todos los argumentos y motivaciones necesarios y la normativa aplicable, o si se han realizado y aplicado con corrección y adecuadamente.
Por ello, propugno que el código fuente de un algoritmo sea considerado como una norma, sometiéndolo a los mismos requisitos y requerimiento que se exige para un texto legal, incluso figurando como un anexo a la norma en cuestión, siendo de código abierto (open source) porque dicho código mediante su ejecución genera derechos y obligaciones para los destinatarios de sus resultados, pudiéndose recurrir o impugnar la decisión que adopte dicho algoritmo, conociendo para ello cómo se estructura y cómo funciona. Simplemente se aplicaría el elemental principio de publicidad de las normas (artículo 9.3 CE) vinculado a la seguridad jurídica.
Lo que se le debe pedir es que la normativa controle (estableciendo límites legales y morales a la computación) y haga transparente cómo se estructuran y funcionan los algoritmos. Habría que propugnar que existiera una regulación que llegase a nivel reglamentario en el que fuese necesario una certificación del funcionamiento, que fuese auditable y sancionable, los programas y algoritmos, que de esta forma estarían regulados y controlados.
¿Qué va contra el derecho de propiedad intelectual contra el autor del algoritmo? Obviamente, pero (todavía) no se exige ni se obliga al uso de algoritmos, y entiendo que su empleo y uso debería ser bajo esa condición.
Una posible solución “elegante” y eficaz para un uso correcto de algoritmos nos la proporciona la ciencia ficción. En la película Interestelar TARS, el robot que acompaña y ayuda a los protagonistas en su odisea espacial, en determinadas acciones, que implican peligro o se consideran importantes, ha de detenerse y solicitar la intervención humana para poder continuar el proceso que realiza, expresando claramente a cualquier humano previamente identificado y autorizado, que la continuación del proceso o la decisión final no le corresponde a él como robot, sino que ha de ser un humano el que la adopte en última instancia.
Pero en ese modelo también el programador ha de decidir cuándo debe realizarse este proceso de colaboración humana … y la conclusión final nos la proporcionó ya en su momento el mundo latino el poeta romano Juvenal: quis custodiet ipsos custodes? o como se diría en lenguaje más cinematográfico en otra cinta de ciencia ficción también famosa, Watchmen ¿quién vigila a los vigilantes?