AGENTES INTELIGENTES Introducción a la Inteligencia Artificial LCC SISTEMAS MULTIAGENTES Campo Interdisciplinario: sistemas distribuidos, IA, teoría de juegos, ciencias sociales Agentes como un nuevo paradigma de la Ingeniería de Software: para diseñar e implementar sistemas complejos distribuidos Agentes como una herramienta para entender sociedades humanas: permiten una interesante forma de simular sociedades AGENTES INTELIGENTES Ingeniería de software IA Distribuida NOCION DE AGENCIA Sistemas distribuidos y redes POO AGENTES EN LA IA INTELIGENCIA ARTIFICIAL Las nuevas tendencias... Las capacidades de aprendizaje de las redes neuronales y otras técnicas Conocimiento de los expertos en forma de ejemplos, ensayo y error. Los SE con técnicas de RA Conocimiento abstracto, lógico y aproximado de los expertos. Los agentes (IA distribuida) Conocimiento sobre los métodos de cooperación en un conjunto de expertos (explotar las interacciones) INTELIGENCIA ARTIFICIAL DISTRIBUIDA Porque IA Distribuida? Porque distribuir IA? Los problemas están físicamente distribuidos El mundo está compuesto por entidades autónomas Estas entidades interactúan entre si y con el entorno NOCION AGENTES INTELIGENCIA ARTIFICIAL DISTRIBUIDA (DAI- MIT ´80) Disciplina dirigida al desarrollo de métodos y técnicas para la solución de problemas complejos por medio del comportamiento inteligente de un sistema integrado por unidades llamadas agentes. INTELIGENCIA ARTIFICIAL DISTRIBUIDA (DAI) Uno de los principales objetivos es entender los principios subyacentes al comportamiento de múltiples entidades del mundo denominadas agentes, y sus interacciones. Cómo los agentes interactúan y producen un comportamiento general del sistema multiagente (MAS). Noción de agente Cuando se hace referencia a la idea de agente surgen dos ámbitos de trabajo: • El agente en sí mismo • Los conjuntos de agentes Similitud con lo que sucede a nivel humano Noción de agente • Tendremos un comportamiento ¨personal¨ • Tendremos un comportamiento ¨social¨ producido por un conjunto de agentes Lenguaje metafórico QUE ES UN AGENTE? Es una entidad física o virtual que posee ciertas características generales: • Es capaz de percibir el entorno • Posee una representación parcial del entorno. • Es capaz de actuar sobre el entorno • Puede comunicarse • Posee un conjunto de objetivos que gobiernan su comportamiento • Posee recursos propios Sistemas Multiagentes (MAS) SISTEMAS COMPLEJOS Pueden ser descompuestos en componentes de software modulares y de funciones específicas: agentes Son concebidos como organizaciones de agentes MAS Sistemas Multiagentes Son sistemas con los siguientes Componentes esenciales: •Un entorno E •Un conjunto de objetos O en E •Un conjunto de agentes A / A O •Un conjunto de relaciones en O •Un conjunto Op de operaciones Sistemas Multiagentes (MAS) • Los agentes deben compartir conocimientos sobre el problema y las posibles soluciones. • Los agentes en un MAS pueden compartir una meta o tener metas independientes. • El ¨conocimiento global¨puede incluir control global, consistencia global, metas globales, etc • La coordinación puede ser muy compleja SISTEMAS MULTIAGENTES (MAS) CARACTERISTICAS Cada agente tiene información y capacidades limitadas para resolver un problema No hay un control global del sistema Los datos están descentralizados Computación es asincrónica Proveen mas robustez, eficiencia y permiten la interoperatividad de sistemas existentes QUE ES UN AGENTE? QUE ES UN AGENTE ???? QUE DISTINGUE A UN AGENTE DE SOFTWARE (SOFTBOT) DE OTRO TIPO DE PROGRAMA ???? Distintas Definiciones: A Taxonomy for Autonomous Agents, S. Franklin and Art Graesser University of Memphis QUE ES UN AGENTE ???? "Es todo aquello que percibe su ambiente mediante sensores y que responde o actúa mediante efectores." Russell and Norvig The AIMA Agent, 1995 Que entendemos por ambiente, sensores y actuación ? AGENTE Representación Norvig&Russell QUÉ ES UN AGENTE INTELIGENTE • Un agente inteligente es aquél que pueda – percibir un mundo perceptual mediante SENSORES y – actuar sobre ese mundo mediante EFECTORES (o actuadores) META de la IA Diseñar un agente inteligente/racional que opere o actúe adecuadamente en sus ambientes. AGENTE INTELIGENTE /RACIONAL??? Debe hacer siempre lo correcto de acuerdo a sus percepciones. Es aquel que emprende la mejor acción posible en una situación dada. Russel & Norvig RACIONALIDAD • Depende de – LA SECUENCIA DE PERCEPCIONES TODO LO QUE EL AGENTE HA PERCIBIDO HASTA AHORA – LA MEDIDA DE ÉXITO ELEGIDA – CUÁNTO CONOCE EL AGENTE DEL AMBIENTE EN QUE OPERA – LAS ACCIONES QUE EL AGENTE ESTÉ EN CONDICIONES DE REALIZAR AGENTE INTELIGENTE IDEAL • El agente inteligente ideal es el que, para cualquier secuencia arbitraria de percepciones, logre con su ACCION maximizar la medida de su buen éxito. Para ello usa – su secuencia de percepciones – su conocimiento internalizado Racional no es omnisciente PRR (Herbert Simon) • El Principio de la Racionalidad Restringida alega que la racionalidad óptima ideal NO es el buen éxito perfecto. • Ningún ser humano apela a una mayor racionalidad que la necesaria para sus fines prácticos. • Las limitaciones de un agente • SENSORES • EFECTORES y • POTENCIA COMPUTACIONAL – disponible y óptima económica – conducen a que la racionalidad ideal sea • imposible e impráctica. – MAXIMA PERFORMANCE !!! QUE ES UN AGENTE ???? “Es un sistema de computación situado en algún entorno, que es capaz de una acción autónoma y flexible para alcanzar sus objetivos de diseño." Wooldridge & Jennings Débil Nociones de Agentes Fuerte AGENTES: propiedades • Noción Débil: Es la forma más general en que es usado el término agente. Es un sistema de software (hardware) con las siguientes propiedades: Autonomía. (actuar sin intervención, control) Habilidad Social.(lenguaje de comunicación) Reactividad. (percepción-acción) Proactividad. (dirigido a la meta, toma iniciativa) AGENTES: propiedades • Autonomía: La característica principal de los agentes es su autonomía.: Un sistema autónomo es capaz de actuar independientemente, exhibiendo control sobre su estado interno. AGENTES: propiedades • Reactividad: La mayoría de los entornos interesantes son dinámicos: Un sistema reactivo es aquél que mantiene una interacción continua con el entorno y responde a los cambios que se producen en él, en tiempo de respuesta adecuado. AGENTES: propiedades • Proactividad: Generalmente se espera que un agente haga cosas para nosotros: Un sistema proactivo es aquél que genera e intenta alcanzar metas, no es dirigido sólo por eventos toma iniciativa reconoce oportunidades AGENTES: propiedades • Habilidad social: El mundo real es un entorno multiagente, no podemos alcanzar nuestras metas sin tener a otros en cuenta.: La habilidad social en los agentes es la capacidad de interacción con otros agentes (posiblemente humanos) a través de algún tipo de lenguaje de comunicación de agentes. AGENTES: ejemplos • Ejemplos Agentes triviales Termostato demonio en UNIX (biff) Agentes inteligentes agente planificador de vuelos agentes de interfaz agentes para e-commerce AGENTE: nociones mentales • Noción más fuerte: IA Además de las propiedades anteriores, se agregan nociones mentales como: Conocimiento. Creencias. Intenciones. Obligaciones (Emociones). Actitudes de información Pro-actitudes ACTITUDES DE INFORMACION Todo sistema cuando recibe información se construye un mundo que intenta representar el mundo exterior. Creencia es la información que un agente recibe de otros agentes (software, personas). Evidencia es la información que proviene de mediciones o inspecciones directas . REPRESENTACIÓN DE CREENCIAS EJEMPLO: El agente A cuando recibe esa información, lo que tiene es una creencia de que hace muy buen tiempo. AGENTE: otras propiedades • Otros atributos: Varios de estos atributos también se suelen discutir en el contexto de agencia: Movilidad. Veracidad. (no comunica información falsa) Benevolencia. (trata de hacer lo que se le pide) Racionalidad. (actuará para lograr sus metas) Solitario, parásito, social,… TIPOS DE AGENTES Estáticos o móviles. Deliberativos o reactivos El agente posee una representación del mundo en base a la que razona o tiene un comportamiento reflejo que depende de sus percepciones ??? Otras clasificaciones TIPOS DE AGENTES COOPERATIVOS COLABORATIVOS COLABORATIVOS/ APRENDEN AGENTES INTELIGENTES AGENTES DE INTERFAZ AUTONOMOS APRENDEN Source: H. Nwana, Software Agents: An Overview Ejemplo – Ejemplo – Taxi con piloto automático (taximetrero reemplazado por un agente inteligente ) • Percepciones ?? • acciones ?? • Metas ?? • Ambiente ?? Taxi con piloto automático • Percepciones – Video, acelerómetro, instrumental del tablero, sensores del motor • acciones – gestión del volante, acelerar y frenar, bocina • Metas – seguridad, llegar a destino, maximizar ganancias, obedecer las leyes, satisfacción del cliente • Ambiente – calles urbanas, avenidas, tráfico, peatones, clima, tipo de cliente Ejemplos de distintos tipos de agentes • Para identificar a un agente debemos analizar: AMBIENTES PROPIEDADES DE LOS AMBIENTES Norvig & Russell cap2 • Accesible/Inaccesible – Si los sensores proporcionan todo lo que hay que saber sobre el estado completo del ambiente - necesario para elegir una acción - entonces el ambiente es accesible al agente. • Determinístico/No-determinístico (estocástico) – Si el estado siguiente del ambiente está determinado plenamente por el estado presente del mismo, y por la acción del agente - se trata de un ambiente determinístico. • Episódico/No-episódico – Un ambiente episódico implica que los episodios siguientes no dependen de las acciones que ocurrían en episodios previos. PROPIEDADES DE LOS AMBIENTES(2) • Estático/Dinámico – Será estático todo ambiente que no cambie mientras el agente está pensando (computa una buena estrategia) • Discreto/Continuo – Discreto - con escaso número de percepciones y acciones en el ambiente. – Continuo - el otro caso. • Sin adversario/con adversarios racionales – Los ambientes ingenieriles suelen ser sin adversario. – Los ambientes sociales y económicos aumentan en su complejidad por la presencia de interacciones entre uno o más adversarios (por ejemplo en la Bolsa). Tipos de ambientes y sus características • Solitario • Taxi • • • • • Accesible Determinístico Episódico Estático Discreto sí - sí - no - sí - sí no - no -no - no - no Tipos de ambientes y sus características ARQUITECTURAS DE AGENTES SISTEMAS MULTIAGENTES: Como especificarlo? DISTINTOS NIVELES : TEORIAS FORMALES. ARQUITECTURAS. LENGUAJES DE PROGRAMACION. APLICACIONES. Wooldridge & Jennings (1995) Intelligent Agents: Theory and Practice TEORIAS SOBRE AGENTES Que es un agente? Que propiedades debe tener? Cómo se representan dichas propiedades formalmente? Cómo se razona acerca de ellas? MODELO ABSTRACTO entorno: S={s1, ....,sn} Acciones A= {a1,...an} (capacidad de actuar del agente) Agente: acción: Sk A Interacción Agente-entorno (historia) h: S0 a0 S1 ....... S0 Observación del entorno: ver:S P MODELO ABSTRACTO entorno: S={s1, ....,sn} Observación del entorno: ver: S P Un agente en general tiene una percepción parcial, s1,s2 S son indistinguibles si: ver(s1) = ver(s2 ) relación de equivalencia situaciones extremas: = S agente con percepción perfecta: Omnisciente = 1 agente para el cual todos los estados son indistinguibles TEORIAS Y ARQUITECTURAS Algunas de las propiedades estudiadas son: REACTIVIDAD/DELIBERACION INTENCIONALIDAD En que grado se puede considerar a los agentes como un sistema intencional ACTITUDES: El comportamiento de un agente es previsto y explicado a través de la atribución de actitudes (creencias, deseos, preferencias,etc) Nociones intencionales SISTEMA INTENCIONAL Un sistema es intencional si su comportamiento puede ser predicho atribuyéndose creencias, deseos y conducta racional. (D. Dennet, 1987) Primer orden: tiene creencias y deseos, pero no creencias y deseos acerca de creencias y deseos. Segundo orden: tiene creencias y deseos acerca de creencias y deseos. ACTITUDES Cuáles son las necesarias para modelizar adecuadamente a un agente ??? Actitudes informacionales: creencias y conocimiento Pro-actitudes: deseos, intenciones, obligación, compromiso. TEORIAS FORMALES SOBRE AGENTES Son especificaciones formales, es decir, estudios formales acerca de las propiedades, su representación y cómo razonar sobre ellas. Agentes como sistemas intencionales (creencias, conocimiento, deseos, intención, obligación,…). Formalización lógica de una teoría sobre intenciones (creencias y objetivos) ARQUITECTURA DE AGENTES Representa un punto intermedio entre la especificación y la implementación Como deben construirse los agentes para que tengan las propiedades que deseamos? Que estructuras de software o hardware son necesarias para soportar esta arquitectura ? ARQUITECTURA DE AGENTES Uno de los aspectos que deben balancear es la percepción/acción y el razonamiento sobre como actuar. (Intelligence Agent: Theory and Practice) DELIBERATIVAS: Contienen un modelo simbólico, explícitamente representado del entorno se basa en Hípótesis del sistema de símbolos físicos - SS (IRMA) REACTIVAS: Generalmente no incluyen representación simbólica del mundo - la inteligencia real está ¨situada¨´- interacción (Subsumption architecture) HIBRIDAS: Tratan de combinar las dos aproximaciones - (layers, BDI architectures) ARQUITECTURA DE AGENTES Wooldridge 2002- An Introduction to Multiagent Systems DEDUCTIVE REASONING AGENTS Aproximaciones simbólicas/lógicas PRACTICAL REASONING AGENTS : Deliberación + razonamiento Means-Ends. PRS (Procedural Reasoning System) - Arquitectura BDI REACTIVE AND HIBRID AGENTS: rechazan la representación simbólica comportamiento emergente - interacción Tipos de Agentes (Norvig&Russell) • De reflejo simple – se basan en reglas condición/acción. Carecen de memoria referente a estados pasados del mundo. • Bien informado de lo que pasa – con un estado interno usado para almacanar estados pasados del mundo. • Basados en meta (proactivos) – además de disponer de información sobre el estado, tienen una meta que describe situaciones deseables. • Basados en Utilidad – basan su decisión en la teoría de la utilidad para actuar racionalmente. Un agente reactivo (reflejo) • Las reglas condiciónacción permiten establecer la conexión entre percepción y acción. • Los rectángulos se usan para indicar el estado interno en un momento. • Interpret-input genera una descripción abstracta del estado mostrado por la percepción • Rule-match produce una regla del conjunto que satisface la percepción Agentes bien informados de lo que pasa • La actualización del estado interno requiere : – conocimiento acerca de la forma como el mundo cambia – conocimiento acerca de la forma en que el mundo cambia con la acción del agente • Pero el conocimiento del estado interno no siempre es suficiente – pues se requiere conocer la meta a lograr Agentes basados en una Meta • Razonando acerca de acciones – la búsqueda y la planificación ayudan a razonar acerca de cuál acción logra la meta – el agente es menos eficiente pero más adaptativo y flexible Agentes basados en Utilidad • Función Utilidad – es un mapeo de estados - números reales – lleva a decisiones racionales en situaciones de metas en conflicto ARQUITECTURA BDI Tiene sus raíces en ver a los agentes como sistemas intencionales, los primeros trabajos son de Rao&Georgeff 1995 B: belief, representa las creencias del agente D: desire, representan los deseos del agentes, cuales son los estados del mundo que prefiere. I: intentions, representan las intenciones del agente, los objetivos que me llevaran a satisfacer los deseos - estos derivan en un plan ARQUITECTURA BDI Tiene sus raíces en el proceso de decidir que ación realizar para alcanzar las metas. Involucra los procesos: Deliberación: : decidir que metas alcanzar (DESEOS) Razonamiento de medios y fines: como alcanzarlas INTENCIONES acciones Alternativas para alcanzar la meta ARQUITECTURA BDI PROPIEDADES DE LAS INTENCIONES (Bratman, 1978, 1990) Las intenciones tienen el rol de provocar acciones Las intenciones tienen la propiedad de persistencia hasta que: Las cumple no puede lograrlas ya no sean válida Reconsideración de las intenciones !! Costo?? ARQUITECTURA INTENCIONES DESEOS CREENCIAS EFECTORES SENSORES ??? ARQUITECTURA BDI – modelo básico Es necesario mantener tres estructuras de datos: Bel: el conj. de todas las creencias posibles. Des: el conj. de todas las deseos posibles. Int: el conj. de todas las intenciones posibles. La representación mediante fórmulas lógicas de 1er orden suele ser la más adecuada Debe haber una noción de consistencia definidos sobre ellos ARQUITECTURA BDI – modelo básico La función que agrupará todas las funciones definidas será : P A Función acción p: P , A Begin B = FB (p: P) D = opciones ( B) I = filtro(B,D,I) return (ejecutar(I)) End Ejemplo: TERMOSTATO D = mantener temperatura en T B = { t (A), OK(T) } I = { Calentar, Enfriar, nada} P t (actual) B Filtro: - Si A > T entonces I = Enfriar - Si A < T entonces I = Calentar - Si A = T entonces I = Nada Acción: Case I de Enfriar Acción = bajar temp Calentar Acción = subir temp Nada Acción = nada LENGUAJES DE AGENTES Como deben programarse estos agentes ? Cuáles deben ser las primitivas para esta tarea? Cómo es posible hacer que estos lenguajes provean un marco efectivo ? LENGUAJES DE AGENTES Es un lenguaje que permite programar sistemas computacionales, en términos de conceptos desarrollados en modelos formales de agentes Actor Model (Hewitt): Lenguaje concurrente orientado a objetos (antecesores a lenguajes de agentes) Agent0 (Shoham, 1990): Nuevo paradigma para programación de agentes. Concurrent METATEM (Fisher, 1994) JASON, JACK, JADE AGENTES PARA CONSTRUIR SISTEMAS MULTIAGENTES Sistemas Multiagentes COORDINACION Para que un conjunto de agentes pueda desarrollar una actividad conjunta en un entorno compartido debe existir algún tipo de coordinación AGENTES COOPERATIVOS AGENTES COMPETITIVOS PLANIFICACION NEGOCIACION INTERACCION ENTRE AGENTES Para que dos o mas agentes puedan interactuar deben disponer de: Un protocolo de interacción: (como mantener una conversación) Un lenguaje de interacción (como construir mensajes) KQML FIPA ACL Un lenguaje para representar el conocimiento de cada agente AGENTES DE OBJETOS A AGENTES OBJETOS: Están programados para hacer lo que está definido cuando se invoca un método AGENTES: Al recibir un mensaje toman la decisión sobre que hacer (autónomos!!! Mayor flexibilidad en su comportamiento) OBJETOS Y AGENTES Los agentes incorporan una noción más fuerte de autonomía que los objetos, en particular deciden si realizar o no una acción. Los agentes son capaces de un comportamiento flexible (reactivos, proactivos, social) y los modelos de objetos no incluyen comportamientos. AGENTES DE OBJETOS A AGENTES AGENTES OBJETOS Objects do it for free; agents do it because they want to OOP AOP Unidad Básica Objetos agente Estado Sin restricciones. Creencias, pedidos, capacidades,… Paso de mensajes, métodos Cómputo Paso de mensajes, métodos Tipo de mensajes Sin restricciones Restricciones Ninguna sobre métodos Informar, requerir, ofrecer,… reputación, consistencia,… AGENTES Y SISTEMAS EXPERTOS Los sistemas expertos ¨clásicos¨ no están acoplados al entorno en el cual actúan, suelen usar un intermediario. SE Generalmente no son capaces de un comportamiento reactivo, proactivo SE suelen no estar equipados de habilidad social (cooperación, coordinación y negociación) Algunos SE (tareas de control en tiempo real) se comportan como agentes APLICACIONES DE AGENTES Hay múltiples aplicaciones de sistemas multiagentes, las principales áreas de aplicación son: Resolución cooperativa de problemas: Gestión de plantas eléctricas y redes de telecomunicaciones (ARCHON), control de tráfico aéreo, diagnóstico médico. Agentes Interfaz: sistemas que emplean técnicas de IA para apoyar a los usuarios en una tarea determinada, (NEWT, NewsAgent, PersonalSearcher ). MAS especializados en Infomación: sistemas que acceden a fuentes de información y la procesan para dar respuesta a los usuarios (QueryGuesser). BIBLIOGRAFIA Inteligencia Artificial. Un enfoque moderno – Norvig & Russell , cap2 An Introduction to Multiagent Systems. M. Wooldridge - J. Whiley & Son, 2002 Agents: How to get started http://www.cs.wpi.edu/Research/airg/Agents-intro.html The many faces of Agents- K. Sycara, AAAI , summer 1998. Software Agents: An Overview http://more.btexact.com/projects/agents/publish/papers/review1.htm Software Agents- N. Jennings & M. Wooldridge- IEE Review, Jan 1996, 0017-20 Links: http://www.csc.liv.ac.uk/~mjw/links/ APENDICE QUE ES UN AGENTE ???? ¨Agentes autónomos son sistemas de computación que están en algún entorno complejo y dinámico, sensan y actúan autónomamente en este entorno y haciendo esto realizan un conjunto de metas o tareas para las cuales fueron diseñados¨ P. Maes 1995 [MIT's Media Lab] Los agentes deben actuar autónomamente para "realizar un conjunto de metas" QUE ES UN AGENTE ???? Los agentes inteligentes continuamente realizan tres funciones: perciben las condiciones dinámicas del entorno; actúan para afectar las condiciones en el entorno y razonan para interpretar las percepciones, resolver problemas, realizar inferencias, y determinar aciones. Hayes-Roth 1995 [Standford, Knowledge Systems Laboratory ] QUE ES UN AGENTE ???? “Los agentes inteligentes son entidades de software que realizan un conjunto de operaciones en la voluntad de un usuario u otro programa, con cierto grado de independencia o autonomía, y al hacerlo emplean conocimiento o representación de los objetivos o deseos del usuario." IBM Agent INTERPRETE GENERAL El lenguaje puede ser ejecutado con el siguiente intérprete de agentes Initialize mental state and capabilities Define rules for making new commitments. Update mental state Clock Representation of mental state and capability Execute commitments for current time Legend: Control Incoming messages Data Outgoing messages Algo más (Randall Beer) • Los navegantes europeos aplican la planificación a su derrotero - lo trazan en el mapa y se sujetan a él, corrigiendo los desvíos. • Los navegantes truqueses aplican toda su atención a todos los detalles de las olas, los vientos, las aves y las corrientes de cada momento y llegan a su destino de una manera práctica. • A la hora de explicar por qué hicimos lo que hicimos, ¿no seremos truqueses disfrazados de europeos? INTELIGENCIA ARTIFICIAL DISTRIBUIDA (DAI – MIT en los 80´s) RESOLUCION DISTRIBUIDA DE PROBLEMAS (DPS) Fases: descomposición- resolución de subproblemas-síntesis SISTEMAS MULTI-AGENTES (MAS) Significado mas general Usado para referir a todo sistema compuesto por múltiples componentes autónomos (semi-autónomos) . IIA/AGENTES - 2002 88