**SVRAI** Introducción Sobre la Toma de Decisiones bajo Incertidumbre Muchos problemas importantes implican la toma de decisiones en condiciones de incertidumbre. A la hora de diseñar sistemas automatizados de toma de decisiones (o sistemas de apoyo a la toma de decisiones) es importante tener en cuenta diversas fuentes de incertidumbre y equilibrar cuidadosamente los múltiples objetivos. Nuestra intención es analizar estos retos desde una perspectiva computacional, con el fin de proporcionar tanto una teoría que sustente el modelado de agentes que con la capacidad de tomar de decisiones bajo incertidumbre como de presentar algunos de los enfoques computacionales que se han desarrollado. En realidad, el problema de la incertidumbre se presenta bajo muchas condiciones de trabajo habituales, por lo que se ha abordado desde muy diversas disciplinas. En este sentido, es interesante mostrar cómo todas ellas han contribuido a la comprensión de la toma de decisiones inteligente bajo este tipo de condiciones. # Toma de decisiones Como hemos comentado de forma extensa anteriormente, un **agente** es una entidad que actúa basándose en observaciones de su entorno. En su sentido más amplio, los agentes pueden ser entidades físicas, como los seres humanos o los robots, o pueden ser entidades no físicas, como los sistemas de apoyo a la toma de decisiones que se implementan completamente en software. !!!side:1 Los humanos pueden no ver un objeto que se aproxima o un sistema de detección electromagnético puede pasar por alto un evento debido a una interferencia electromagnética o a una falta de precisión en su diseño. ![](./img/Fig1-1.png align=right width=40%)La interacción entre el agente y el entorno puede modelarse como un **ciclo de observación-acción**: 1. El agente, en el momento $t$, recibe una **observación** del entorno, $o_t$. Las observaciones pueden realizarse, por ejemplo, a través de sensores biológicos, como en el caso de los seres vivos, o mediante la transmisión de información por canales artificiales diseñados para ese fin. Debe destacarse que, en cualquier caso, las observaciones son a menudo incompletas o ruidosas $^1$. 2. Con el fin de alcanzar un **objetivo predefinido**, el agente elige entonces una **acción**, $a_t$, a través de un proceso de **toma de decisiones**, que puede tener un efecto (a veces, no determinista) en el entorno. Agentes hay de muchos tipos, nosotros nos centraremos en los agentes que interactúan de **forma inteligente** para alcanzar sus objetivos a lo largo del tiempo, y con preferencia modelaremos problemas con tiempo discreto, no continuo (éstos han sido estudiados en profundidad en el área de la *Teoría de Control*): !!!note Dada una secuencia de observaciones pasadas, $o_1,\dots , o_t$, y el conocimiento del entorno, el agente debe **elegir una acción** que le ayude a conseguir sus objetivos de **la mejor manera posible** en presencia de varias fuentes de **incertidumbre**, entre las que podemos destacar fundamentalmente las cuatro siguientes (no excluyentes entre sí): - **Incertidumbre en los resultados**, ... sobre los efectos de las acciones. - **Incertidumbre del modelo**, ... sobre el modelo del problema. - **Incertidumbre de estado**, ... sobre el estado real del entorno. - **Incertidumbre de interacción**, ... sobre el comportamiento de los demás agentes que interactúan en el entorno. La toma de decisiones en presencia de incertidumbre es fundamental en el campo de la Inteligencia Artificial, así como en muchos otros campos, y el comportamiento esperado debería ser óptimo incluso bajo fuertes condiciones de incertidumbre (aunque tendremos que especificar qué podemos entender por *óptimo* en estas condiciones), por lo que los **algoritmos** que buscamos para tomar decisiones tendrán como requisito ser **robustos frente a la incertidumbre**. # Métodos Existen muchos métodos para diseñar agentes de decisión. Dependiendo de la aplicación, algunos pueden ser más apropiados que otros. Difieren en las responsabilidades del diseñador y en las tareas que se dejan a la automatización. Los métodos más comunes para abordar este diseño son: ### Programación explícita ![](./img/programacion.jpeg align=right width=30%)El método más directo, y más ingenuo, para diseñar un agente con capacidad de decisión es **anticipar todos los escenarios** en los que el agente podría encontrarse **y programar explícitamente la respuesta** que el agente debería dar a cada uno de ellos. Este enfoque puede funcionar bien para problemas sencillos, pero supone una gran carga para el diseñador a la hora de proporcionar una estrategia completa y es difícil tener en cuenta la casuística combinada de eventos simultáneos. Aunque se han propuesto varios lenguajes y marcos de programación de agentes para facilitar la programación de los mismos, todos ellos presentan limitaciones frente a problemas complejos del mundo real. ### Aprendizaje supervisado ![](./img/SupervisedLearning.png align=left width=30%)En aquellos problemas en los que disponemos de suficiente casuística almacenada en forma de datos puede ser más fácil y provechoso mostrar a un agente lo que debe hacer que escribir un programa explícito que lo dirija. El diseñador proporciona un conjunto de ejemplos de entrenamiento junto con la acción óptima (o, al menos, una acción buena) a tomar, y un **algoritmo de aprendizaje automático debe generalizar** a partir de estos ejemplos para seleccionar la acción óptima y responder ante situaciones novedosas (aunque cercanas a ejemplos presentes en el aprendizaje). Este enfoque se conoce como **aprendizaje supervisado** (en el contexto que estamos también se le denomina *clonación del comportamiento*), y funciona bien cuando un diseñador experto conoce realmente la elección de la mejor acción para una colección representativa de situaciones. Aunque existe una gran variedad de algoritmos de aprendizaje supervisado, por lo general no suelen funcionar mejor que los diseñadores humanos en situaciones nuevas, pero sí permiten diseñar un comportamiento automático aceptable en muchos casos en los que no se tienen ejemplos representativos, y facilita enormemente el diseño del agente cuando la casuística es variada. ### Optimización ![](./img/Optimization.png align=right width=30%)Otro enfoque consiste en que el diseñador especifique el **espacio de posibles estrategias de decisión y una medida de rendimiento que debe maximizarse**. La evaluación del rendimiento de una estrategia de decisión suele implicar la ejecución de un lote de simulaciones. El algoritmo de optimización realiza entonces una búsqueda de la estrategia óptima en este espacio. Si el espacio es relativamente pequeño y la medida de rendimiento no tiene muchos óptimos locales, entonces pueden ser apropiados varios métodos de búsqueda local o global. Aunque generalmente se asume el conocimiento de un modelo dinámico para realizar las simulaciones, no se utiliza para guiar la búsqueda, lo que puede ser importante para problemas complejos. ### Planificación ![](./img/Planning.png align=left width=30%)La planificación es una forma de **optimización que utiliza un modelo de la dinámica del problema para ayudar a guiar la búsqueda**. Una gran parte de la literatura explora diversos problemas de planificación, **habitualmente centrada en problemas deterministas**, ya que para algunos problemas puede ser aceptable aproximar la dinámica con un modelo determinista. Asumir un modelo determinista permite utilizar métodos que pueden escalar más fácilmente a problemas de alta dimensión. Para otros problemas, sin embargo, es fundamental tener en cuenta la incertidumbre futura, que es el marco en el que nos queremos centrar en los siguientes temas. ### Aprendizaje por refuerzo ![](./img/RL.png align=right width=30%)El aprendizaje por refuerzo **relaja la suposición de la planificación de que se conoce un modelo de antemano**. En su lugar, la **estrategia de toma de decisiones se aprende mientras el agente interactúa con el entorno**. El diseñador sólo tiene que proporcionar una medida de rendimiento; es el algoritmo de aprendizaje el que tiene que optimizar el comportamiento del agente. Una de las complejidades interesantes que surgen en el aprendizaje por refuerzo es que la elección de la acción no sólo afecta al éxito inmediato del agente en la consecución de sus objetivos, sino también a la capacidad del agente para aprender sobre el entorno e identificar las características del problema que puede explotar. # Historia La teoría de la automatización de la toma de decisiones tiene sus raíces en los sueños de los primeros filósofos, científicos, matemáticos y escritores. Podemos resumir muy brevemente su trayectoria por medio de los siguientes hitos: * Los antiguos griegos empezaron a incorporar la automatización en mitos e historias ya en el año 800 a.C. La palabra *autómata* se utilizó por primera vez en [la Ilíada de Homero](https://es.wikipedia.org/wiki/Il%C3%ADada), que contiene referencias a la noción de máquinas automáticas (por ejemplo, trípodes mecánicos utilizados para servir a los comensales). * En el siglo XVII, los filósofos, siguiendo la línea generada por la oratoria de los griegos clásicos, propusieron el uso de reglas lógicas para resolver automáticamente los desacuerdos. Sus ideas sentaron las bases del razonamiento mecanizado. * A partir de finales del siglo XVIII, algunos inventores empezaron a crear máquinas automáticas para realizar el trabajo repetitivo. En particular, una serie de innovaciones en la industria textil condujeron al desarrollo del [telar mecánico](https://es.wikipedia.org/wiki/Telar_mec%C3%A1nico), que a su vez sentó las bases de los primeros robots de fábrica. * A principios del siglo XIX, el uso de máquinas inteligentes para automatizar el trabajo comenzó a abrirse paso en las novelas de ciencia ficción. La palabra robot se originó en la obra del escritor checo [Karel Čapek](https://es.wikipedia.org/wiki/Karel_%C4%8Capek) titulada *[R.U.R.]("https://es.wikipedia.org/wiki/R.U.R._(Robots_Universales_Rossum)")*, abreviatura de *Rossum's Universal Robots*, sobre máquinas que podían realizar trabajos que los humanos preferirían no hacer. La obra inspiró a otros escritores de ciencia ficción a incorporar robots en sus escritos. * A mediados del siglo XX, el escritor y profesor [Isaac Asimov](https://es.wikipedia.org/wiki/Isaac_Asimov) expuso su visión de la robótica en su famosa serie *Robot*. Uno de los principales retos de la aplicación práctica de la toma de decisiones automatizada es tener en cuenta la incertidumbre. Los algoritmos actuales de toma de decisiones se basan en una convergencia de conceptos desarrollados en múltiples disciplinas, como la economía, la psicología, la neurociencia, la informática, la ingeniería, las matemáticas y la investigación operativa. A continuación se destacan algunas de las principales contribuciones de estas disciplinas, pero ha de tenerse presente que ha sido la polinización cruzada entre disciplinas la que ha dado lugar a muchos de los avances recientes, y probablemente seguirá siendo esta vía de colaboración la responsable del crecimiento en el futuro: #### Economía !!!side:1 [Jeremy Bentham](https://es.wikipedia.org/wiki/Jeremy_Bentham), *Introducción a los principios de moral y legislación*, 1789. ![](./img/Economia.jpg align=right width=30%)La economía requiere modelos de toma de decisiones humanas. Uno de los enfoques para construir estos modelos es la **[Teoría de la Utilidad](https://en.wikipedia.org/wiki/Utility)**, que se introdujo por primera vez a finales del siglo XVIII $^1$. La teoría de la utilidad proporciona un medio para modelar y comparar la conveniencia de varios resultados. Al combinar el concepto de utilidad con la noción de decisión racional, los economistas de mediados del siglo XX establecieron la base del **Principio de Máxima Utilidad Esperada**, que juega un papel clave para la creación de agentes de decisión autónomos. La Teoría de la Utilidad también dio lugar al desarrollo de la **[Teoría de Juegos](https://en.wikipedia.org/wiki/Game_theory)** como disciplina matemática, que intenta comprender el comportamiento de múltiples agentes que actúan en presencia de otros para maximizar sus intereses. #### Psicología ![](./img/Psicologia.jpg align=left width=30%)Los psicólogos también estudian la toma de decisiones humanas, normalmente desde la perspectiva del comportamiento humano. Desde el siglo XIX, cuando se observó por primera vez que los animales tienden a tomar decisiones en función de la satisfacción o el malestar que han experimentado en situaciones similares anteriores, los psicólogos han desarrollado teorías sobre el aprendizaje por ensayo y error. Entre ellos, el psicólogo ruso [Ivan Pavlov](https://es.wikipedia.org/wiki/Iv%C3%A1n_P%C3%A1vlov) combinó esta idea con el concepto de refuerzo tras observar los patrones de salivación de los perros cuando se les daba de comer, y descubrió que un patrón de comportamiento podía reforzarse o debilitarse mediante el refuerzo continuo de un estímulo concreto. A mediados del siglo XX, el matemático [Alan Turing](https://es.wikipedia.org/wiki/Alan_Turing) expresó la posibilidad de que las máquinas aprendieran del mismo modo: !!!note La organización de una máquina universal sería más impresionante si implicara muy pocas entradas. El entrenamiento de un niño humano depende en gran medida de un sistema de premios y castigos, y esto sugiere que debería ser posible llevar a cabo este aprendizaje con sólo dos entradas, una para el *placer* o *recompensa* (R) y otra para el *dolor* o *castigo* (P). Los trabajos de los psicólogos sentaron las bases del campo del **Aprendizaje por Refuerzo**, una técnica fundamental para enseñar a los agentes a tomar decisiones bajo incertidumbre. #### Neurociencia ![](./img/Neurociencia.png align=right width=30%)Mientras que los psicólogos estudian el comportamiento humano tal y como se produce, los neurocientíficos se centran en los procesos biológicos utilizados para crear ese comportamiento. A finales del siglo XIX, se descubrió que el cerebro está compuesto por una red interconectada de neuronas, responsable de su capacidad para percibir y razonar sobre el mundo. El pionero de IA, [Nils Nilsson](https://en.wikipedia.org/wiki/Nils_John_Nilsson), describe la aplicación de estos hallazgos a la toma de decisiones: !!!note Dado que el cerebro de un animal es el responsable de convertir la información sensorial en acción, es de esperar que se puedan encontrar varias buenas ideas en el trabajo de los neurofisiólogos y neuroanatomistas que estudian los cerebros y sus componentes fundamentales, las neuronas. En la década de 1940, se propuso por primera vez que las neuronas podían considerarse _unidades de cálculo_ individuales capaces de realizar operaciones computacionales cuando se unían en una red. Este trabajo sirvió de base para las **Redes Neuronales Artificiales**, que recientemente dominan el campo de la IA para realizar tareas complejas. #### Computación ![](./img/informatica.jpg align=left width=30%)A mediados del siglo XX, la computación empezó a formular el problema de la toma de decisiones inteligente como un problema de manipulación simbólica a través de la lógica formal. El programa informático *[Logic Theorist](https://es.wikipedia.org/wiki/Logic_Theorist)*, escrito a mediados del siglo XX para realizar razonamientos automatizados, utilizaba esta aproximación para demostrar teoremas matemáticos. [Herbert Simon](https://en.wikipedia.org/wiki/Herbert_A._Simon), uno de sus inventores, abordó la naturaleza simbólica del programa relacionándolo con la mente humana: !!!note Hemos creado un programa informático capaz de pensar de forma no numérica, y con ello hemos resuelto el venerable problema mente/cuerpo, explicando cómo un sistema compuesto de materia puede tener las propiedades de la mente. Estos sistemas simbólicos dependían en gran medida de la experiencia humana. Un enfoque alternativo de la inteligencia, denominado *[conexionismo](https://es.wikipedia.org/wiki/Conexionismo)*, se inspira en parte en los avances de la neurociencia y se centra en el uso de redes neuronales artificiales como sustrato de la inteligencia. Con el conocimiento de que las redes neuronales pueden entrenarse para el reconocimiento de patrones, los conexionistas intentan aprender el comportamiento inteligente a partir de los datos o la experiencia, en lugar de los conocimientos codificados de los expertos. El paradigma conexionista sustentó el éxito de *[AlphaGo](https://es.wikipedia.org/wiki/AlphaGo)*, el programa autónomo que venció a un profesional humano en el juego del Go, así como gran parte del desarrollo vivido en los últimos 10 años. Los algoritmos que combinan los paradigmas simbólico y conexionista son una de las áreas de investigación más activas en la actualidad. #### Ingeniería El campo de la ingeniería se ha centrado en permitir que los sistemas físicos, como los robots, tomen decisiones inteligentes. *[Sebastian Thrun](https://en.wikipedia.org/wiki/Sebastian_Thrun)* describe los componentes de estos sistemas de la siguiente manera (obsérvese su similitud con los que denominamos un agente previamente): !!!note Los sistemas robóticos tienen en común que están situados en el mundo físico, perciben su entorno a través de sensores y manipulan su entorno a través de cosas que se mueven. ![](./img/Ingenieria.jpg align=right width=30%)Para diseñar estos sistemas, los ingenieros deben abordar la *percepción*, la *planificación* y la *actuación*: 1. Los sistemas físicos **perciben** el mundo utilizando sus sensores para crear una representación de las características más destacadas de su entorno. El campo de la estimación del estado se ha centrado en utilizar las mediciones de los sensores para **construir una creencia** sobre el estado del mundo. 2. La **planificación** requiere un razonamiento sobre las formas de ejecutar las tareas para las que han sido diseñados. El proceso de planificación ha sido posible gracias a los avances en la industria de los semiconductores durante muchas décadas. 3. Una vez que se ha diseñado un plan, un agente autónomo debe **actuar** sobre el mundo real ejecutándolo. Esta tarea requiere tanto hardware (en forma de actuadores) como algoritmos para controlar los actuadores y mitigar las perturbaciones. El campo de la *Teoría de Control* se ha centrado en la estabilización de los sistemas mecánicos mediante el control de la retroalimentación. Los sistemas de control automático se utilizan ampliamente en la industria, desde la regulación de la temperatura en un horno hasta la navegación de los sistemas aeroespaciales. #### Matemáticas !!!side:2 El matemático [Bernard Koopman](https://en.wikipedia.org/wiki/Bernard_Koopman) encontró un uso práctico para la teoría durante la Segunda Guerra Mundial. ![](./img/matematicas.jpg align=left width=30%)Un agente debe ser capaz de cuantificar su incertidumbre para tomar decisiones informadas en entornos inciertos. El campo de la toma de decisiones se basa en gran medida en la **Teoría de la Probabilidad** para esta tarea, que ha sido la gran creación matemática para el tratamiento de la incertidumbre. En particular, la **Estadística Bayesiana** desempeña un papel importante en este contexto. En 1763 se publicó póstumamente un artículo de [Thomas Bayes](https://es.wikipedia.org/wiki/Thomas_Bayes) que contenía lo que más tarde se conocería como el *[Teorema o Regla de Bayes](https://es.wikipedia.org/wiki/Teorema_de_Bayes)*. Su enfoque de la inferencia probabilística fue cayendo en desgracia hasta mediados del siglo XX, cuando los investigadores empezaron a encontrar la utilidad de los métodos bayesianos en una serie de escenarios $^2$. Los métodos basados en el muestreo (a veces denominados **[Método de Montecarlo](https://es.wikipedia.org/wiki/M%C3%A9todo_de_Montecarlo)**), desarrollados a principios del siglo XX para realizar cálculos a gran escala en el marco del *[Proyecto Manhattan](https://es.wikipedia.org/wiki/Proyecto_Manhattan)*, han hecho posibles algunas técnicas de inferencia que antes eran intratables. Estos fundamentos sirven de base para las *[Redes Bayesianas](https://es.wikipedia.org/wiki/Red_bayesiana)*, que vivieron su máxima popularidad a finales del siglo XX en el campo de la Inteligencia Artificial. Además, los métodos de [**Diferenciación Automática**](https://es.wikipedia.org/wiki/Diferenciaci%C3%B3n_autom%C3%A1tica) y de optimización de funciones multidimensionales han permitido el entrenamiento a gran escala de redes neuronales que alcanzan ya los cientos de miles de millones de parámetros. #### Investigación Operativa ![](./img/IO.jpg align=right width=30%)La investigación operativa se ocupa de encontrar soluciones óptimas a problemas de toma de decisiones, como la asignación de recursos, la inversión en activos y la programación del mantenimiento industrial. A finales del siglo XIX, se comenzó a explorar la aplicación del análisis matemático y científico a la producción de bienes y servicios. El campo se aceleró durante la Revolución Industrial, cuando las empresas empezaron a subdividir su gestión en departamentos responsables de distintos aspectos de las decisiones generales. Durante la Segunda Guerra Mundial, la optimización de las decisiones se aplicó a la asignación de recursos a un ejército. Una vez finalizada la guerra, las empresas empezaron a darse cuenta de que los mismos conceptos de investigación operativa utilizados anteriormente para tomar decisiones militares podían ayudarles a optimizar las decisiones empresariales. Esta constatación condujo al desarrollo de la *[Ciencia de la Gestión](https://en.wikipedia.org/wiki/Management_science)*, descrita por el teórico de la organización [Harold Koontz](https://es.wikipedia.org/wiki/Harold_Koontz): !!!note La creencia permanente es que, si la gestión, o la organización, o la planificación, o la toma de decisiones es un proceso lógico, puede expresarse en términos de símbolos y relaciones matemáticas. El enfoque central de esta escuela es el modelo, ya que es a través de estos dispositivos que el problema se expresa en sus relaciones básicas y en términos de metas u objetivos seleccionados. Este deseo de poder modelar y comprender mejor las decisiones empresariales provocó el desarrollo de una serie de conceptos que se utilizan hoy en día, como la [**Programación Lineal**](https://en.wikipedia.org/wiki/Linear_programming), la [**Programación Dinámica**](https://en.wikipedia.org/wiki/Dynamic_programming) y la [**Teoría de Colas**](https://en.wikipedia.org/wiki/Queueing_theory). # Impacto Los enfoques algorítmicos para la toma de decisiones han provocado (o ayudado a provocar) la transformación de algunos aspectos de la sociedad, y probablemente seguirán haciéndolo en el futuro. Podemos destacar, aunque sea brevemente, algunas de las formas en las que la toma de decisiones algorítmica puede contribuir a esta transformación, así como destacar los retos que quedan por delante cuando se intenta garantizar un beneficio social general. Los enfoques algorítmicos han contribuido a la sostenibilidad medioambiental. En el contexto de la gestión de la energía, por ejemplo, la optimización bayesiana se ha aplicado a los sistemas automatizados de gestión de la energía en el hogar. Los algoritmos de sistemas multiagentes se utilizan para predecir el funcionamiento de redes inteligentes, diseñar mercados para el comercio de energía y predecir la adquisición de energía solar en los tejados. También se han desarrollado algoritmos para proteger la biodiversidad. Por ejemplo, las redes neuronales se utilizan para automatizar los censos de fauna, los enfoques de Teoría de Juegos se utilizan para combatir la caza furtiva en los bosques y las técnicas de optimización se emplean para asignar recursos para la gestión del hábitat. Los algoritmos de toma de decisiones también han tenido éxito en el campo de la medicina durante décadas. Estos algoritmos se han utilizado para asignar residentes a hospitales y donantes de órganos a pacientes que los necesitan. Una de las primeras aplicaciones de las redes bayesianas fue en el diagnóstico de enfermedades, y su uso continúa hoy en día. El campo del procesamiento de imágenes médicas se ha transformado gracias al aprendizaje profundo, y las aproximaciones algorítmicas han desempeñado recientemente un papel importante en la comprensión de la propagación de enfermedades, complementando el uso clásico de modelos estadística añadiendo los modelos computacionales basados en agentes. Este tipo de algoritmos ha permitido también comprender y modelar el crecimiento de las zonas urbanas y facilitar un diseño más adecuado a los objetivos. Los algoritmos basados en datos se han utilizado ampliamente para mejorar las infraestructuras públicas. Por ejemplo, los procesos estocásticos se han utilizado para predecir fallos en la red de suministro de agua, el aprendizaje profundo ha mejorado la gestión del tráfico, y los Procesos de Decisión de Markov y los métodos de Monte Carlo se han empleado para mejorar la respuesta a las emergencias. Las ideas de los sistemas multiagentes descentralizados han optimizado las rutas de viaje, y las técnicas de planificación de rutas se han utilizado para optimizar la entrega de mercancías. Los algoritmos de toma de decisiones se han utilizado para los coches autónomos y para mejorar la seguridad de los aviones. Los algoritmos de optimización pueden amplificar el impacto de sus usuarios en la propagación de información, independientemente de su intención. Sin duda, y como se demuestra cada día, si el objetivo es, por ejemplo, difundir información errónea durante unas elecciones políticas, los procesos de optimización pueden ser una herramienta con un uso no deseado, pero se pueden utilizar algoritmos similares para controlar y contrarrestar la difusión de información falsa. Aunque los algoritmos de toma de decisiones tienen el potencial de aportar importantes beneficios, también hay retos asociados a su aplicación en la sociedad. Los algoritmos basados en datos a menudo adolecen de sesgos y puntos ciegos inherentes debido a la forma en que se recogen los datos. A medida que los algoritmos pasan a formar parte de nuestras vidas, es importante entender cómo se puede reducir el riesgo de sesgo y cómo se pueden distribuir los beneficios del progreso algorítmico de manera equitativa y justa. Los algoritmos también pueden ser vulnerables a la manipulación por parte de los adversarios, y es fundamental diseñar algoritmos que sean resistentes a esos ataques. También es importante ampliar los marcos morales y legales para evitar consecuencias no deseadas y asignar responsabilidades. El camino que queda por delante es largo, pero también es fundamental para la consecución de unos objetivos positivos, o para contrarrestar los efectos de un mal uso de muchas de sus capacidades.