1 / 79

Curso 2012-2013

Inteligencia Artificial (30223) Lección 11. Arquitecturas de pizarra. Sistemas multiagente. Curso 2012-2013. José Ángel Bañares 6/11/2013. Dpto. Informática e Ingeniería de Sistemas. Objetivo. Soluciones que se plasman en arquitecturas software. Índice Conocimientos estrategicos/control

etta
Download Presentation

Curso 2012-2013

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Inteligencia Artificial (30223) Lección 11. Arquitecturas de pizarra. Sistemas multiagente Curso 2012-2013 José Ángel Bañares 6/11/2013. Dpto. Informática e Ingeniería de Sistemas.

  2. Objetivo • Soluciones que se plasman en arquitecturas software • Índice • Conocimientos estrategicos/control • Modelos de control • Tipos de arquitecturas • Técnicas de comunicación • Agentes Inteligentes • Características de los agentes • Autonomía • Inteligencia • Sistemas multiagentes/Arquitecturas cooperativa • Habilidades sociales • Movilidad • Comunicación entre agentes • Lenguajes de Comunicación (KIF, KQML, Speech-Acts) • Protocolos • FIPA (Foundation for Intelligent Physical Agents )

  3. Conocimientos estratégicos/control • La función básica del control en los SBC: • Manejar los conocimientos del dominio de manera que facilite y gestione su aplicación. • NO es suficiente con conocimiento y capacidad de inferencia. • Hay que manejar los conocimientos y las inferencias como lo haría un experto en el dominio. • Se precisa capacidad de aplicar las mismas estrategias, resolver las excepciones con los mismos criterios, reflejar las incertidumbres que afectan al razonamiento.

  4. Componente de control • Componente de control de un SBC • Los criterios necesarios para decidir cómo aplicar los conocimientos del dominio durante la resolución del problema. • Qué conocimientos se deben utilizar en cada momento • Cómo razonar sobre ellos • Dónde empezar y terminar el proceso de razonamiento • Resolver conflictos que puedan aparecer • Evaluar soluciones alternativas • Determinar cuando están resueltos determinados subproblemas • Decidir si se interrumpe la resolución de un subproblema y se comienza la resolución de otro • Qué datos usar como entrada

  5. Tareas típicas del control Base de conocimientos Componente de control Base de conocimiento 1 Seleccionar una base de conocimiento (a^b => c) (a^f => n) Seleccionar un subconjunto de reglas (-b => u) Desactivar una regla Base de conocimiento 2 Seleccionar una jerarquía Seleccionar un modo de inferencia Seleccionar una meta Motor de inferencias Resolver conflictos Detectar y seleccionar una solución Memoria de trabajo (persona (nombre Juan)) (persona (nombre Pepe)) Seleccionar un foco de atención (vehículo (matricula Z1))

  6. Componente de control • Componente control = motor inferencia + módulo control • El motor de inferencia: • Es un programa de propósito general • (demostrador lógico de teoremas, un equiparador de patrones, procedimientos de búsqueda en redes, etc.) • No es capaz de resolver los conflictos que surjan, ni de identificar soluciones o establecer metas. • El módulo de control: • Incorpora una estrategia de resolución de problemas especialmente seleccionada para el tipo de problemas

  7. Bases de conocimientos del dominio Bases de conocimientos de control Localización del componente de control Bases de conocimientos Componente de resolución de problemas Memoria de trabajo, base de hechos Motor de inferencias Módulo de control (estrategias) Componente de control • Implícito: • Integrado como parte del programa que implementa la estrategia de • control o estrategia de resolución del problema dentro del módulo de • control • Explícito: • En algún lugar de las bases de conocimiento. Conocimiento de control o • metaconocimiento.

  8. Tipos de control • Según la forma de representar el conocimiento de control: • Control paramétrico: Característico del control de bajo nivel • Parámetros que especifican informaciones relevantes para el control como la prioridad de reglas • Control declarativo: Representados de forma declarativa en alguna base de conocimiento de control, o dentro de bases de conocimiento del dominio. • Sus decisiones suelen estar referidas a la elección de la estrategia de resolución del problema. (metarreglas) • Modelos de control: Modelos que facilitan resolver problemas en los que no exista una estrategia de solución a priori. • Ejemplo: Arquitecturasde pizarra

  9. Modelos de control: Pizarra en el aula Alumno Alumno Alumno Alumno Profesor Pizarra • Características para un buen funcionamiento: • Pocos alumnos, con capacidades similares • En una misma habitación, con buen conocimiento entre sí • En el momento que se incumpla alguna de estas características toma • relevancia la pizarra

  10. Corredor Corredor Corredor Corredor Control Pizarra Modelos de control: Pizarra en el mercado de valores • Características de funcionamiento: • Es innecesaria la reunión física de los actores • Funciona aunque se modifique el comportamiento de los actores, se añadan o se • eliminen actores • El papel del control es simplemente tramitar las operaciones y anotarlas

  11. Modelos de control: Resolución del problema del puzzle Persona Persona Pizarra Persona Persona • Características de funcionamiento: • Cada persona tiene piezas de un puzzle • El rompecabezas puede resolverse en completo silencio

  12. Pizarra FC FC FC FC Control Modelos de control: Arquitectura de pizarra • Necesidad del control • Sólo puede actuar una FC cada vez • La pizarra es una estructura de datos compartida

  13. Arquitecturas Cooperativas • Arquitectura Cooperativa • Una clase particular de arquitecturas multiagente • Ideadas para facilitar la colaboración entre agentes • Para resolver un problema común • Para mejorar la eficacia de cada uno en la tarea que tenga encomendada • Los componentes básicos que forman la arquitectura de un sistema cooperativo, distribuido o no, son: • Un coordinador de actividades a realizar • Un comunicador para intercambiar información entre módulos • Un sistema de mantenimiento de la verdad distribuido para garantizar que todos los sistemas son consistentes en los puntos en los que se requiere cooperación.

  14. Tipos de arquitecturas • Arquitecturas con coordinación asistida • Los agentes delegan funciones a programas especiales para conseguir la comunicación • Arquitecturas con comunicación directa • Los agentes manejan su propia coordinación

  15. Con coordinación asistida • EL modulo principal es el coordinador • El IC define el comportamiento del coordinador en función de las características del problema • Consta de: • Un planificador que descompone un problema en subproblemas mutuamente independientes (Planning) • Un asignador que distribuye las tareas a realizar entre los agentes subordinados (Scheduling). • Garantiza que los agentes que forman el sistema cooperativo trabajan conjunta y eficientemente • a) Conoce la función que realiza cada uno de sus agentes subordinados y sus capacidades • b) Dispone de un plan de control con los planes a realizar, dependencias entre ellos, y su secuenciamiento • c) Se asegura de que los subplanes se finalizarán lo antes posible • d) Una vez que la tarea se ha distribuido es necesario sincronizar los agentes subordinados, a menos que las tareas sean independientes.

  16. Coordinación asistida con maestro • El agente maestro (coordinador) está encargado de hacer el plan y distribuir los subplanes a sus agentes “esclavos”, que llevan a cabo la tarea y devuelven los resultados al maestro. • Los agentes esclavos pueden comunicar entre sí Esclavo-1 MAESTRO Esclavo 1: P1 Esclavo 2: P2-1 ... Esclavo n: P2-2 P1 Plan de Control respuesta respuesta solicitud P2-1 Esclavo-2 respuesta P1 Esclavo-n P2-1 P2-2 En el instante t1 t1 t2 t3 t4

  17. Coordinación asistida con negociador • Los agentes que ejecutan los planes “negocian” con el negociador para decidir cuál de ellos realiza el subplan. • El negociador decide, por ejemplo, en función del instante en el que se realiza la solicitud, del nivel de ocupación de los agentes, y de la organización jerárquica y temporal de los planes en el plan de control, cuál es el más capacitado. • Los agentes pueden comunicar entre sí. rechazo P1 Esclavo-1 NEGOCIADOR solicita P1 Plan de Control respuesta solicitud solicita P1-1 Esclavo-2 aceptación respuesta rechazo P1 Esclavo-n solicita P2-2 P2-1 P2-n En el instante t1 t1 t2 t3 t4

  18. Con comunicación Directa • Ningún agente está encargado de realizar el plan • Ventaja: No depende de la existencia, capacidades o influencias de otros programas • Inconveniente: • Elevado coste si el número de agentes es elevado. • Cada agente debe contener todo el código necesario para la negociación • Dos modelos de comunicación directa: • La aproximación de red de contrato Los agentes que necesitan servicios distribuyen peticiones de propuestas a otros agentes. Los receptores evalúan y presentan ofertas a los emisores de peticiones. • La compartición de especificaciones Los agentes suministran a otros agentes información sobres sus capacidades y necesidades. Estos agentes pueden usar esta información para coordinar sus actividades. Se disminuye enormemente la cantidad de información que fluye entre agentes.

  19. Agente-2 Objetivo Agente-1 Objetivo Agente-3 Objetivo Comunicación directa cooperativa • Aunque ningún agente está encargado del plan, sí existe un objetivo común que es compartido por todos los agentes. petición respuesta El agente-1 solicita servicios de los agentes 2 y 3, los cuales envían sus ofertas al agente-1. El agente 2 solicita sus servicios al agente-3 petición respuesta respuesta petición

  20. Agente-2 Objetivo-2 Agente-1 Objetivo-1 Agente-3 Objetivo-3 Comunicación directa anárquica • No existe un objetivo común compartido petición respuesta petición respuesta respuesta petición

  21. Técnicas de comunicación • Existen diferentes técnicas para llevar a cabo la comunicación directa entre agentes • Implementar en cada agente un módulo que soporte la negociación. • Cada agente conocerá los servicios ofertados por los otros (bien mediante un modelo de red de contrato o de compartición de especificaciones). • La técnica de paso de mensajes permite solicitar servicios conocidos de otros agentes. • Utilizar una estructuras de conocimientos compartida en la que se anotan mensajes • A los agentes les es imposible conocer los servicios ofertados por otros agentes. • La ejecución global consiste en una ejecución asíncrona de cada módulo

  22. Sistemas Multiagentes: Definiciones de Wooldridge • Un agente es un software capaz de acciones independientes en representación de su propietario o usuario (comprendiendo las necesidades que tienen que ser satisfechas para satisfacer sus objetivos de diseño, en lugar de recibir instrucciones constantemente). • Un sistema multiagente consiste en un conjunto de agentes que interaccionan entre ellos. En el caso más general en representación de usuarios con diferentes motivaciones y objetivos. Par conseguir interaccionar con éxito deben cooperar, coordinarse y negociar, como hace la gente.

  23. Diseño de Agentes, Diseño de sociedades • Se cubren dos aspectos claves: • ¿Cómo construir agentes independientes, capaces de acción autónoma, que puedan llevar a cabo tareas que les encarguemos? • ¿Cómo construir agentes capaces de interaccionar (cooperar, coordinar, negociar) con otros agentes para llevar a cabo las tareas que se les han encargado, especialmente cuando los otros agentes no comparten los mismos intereses (objetivos)? • El primer aspecto es diseño de agentes, el segundo diseño de sociedades (micro/macro) • Características de los agentes • Autonomía, Inteligencia, SMA, Habilidad social, movilidad

  24. I Primera característica • Los agentes son: Entidades autónomas • Autonomía • Pueden trabajar sin la intervención directa del usuario y tienen cierto control sobre sus acciones y estado interno • Reactividad • Pueden percibir su entorno (que puede ser el mundo físico, un usuario detrás de una interfaz gráfica o vocal, aplicaciones en la red, u otros agentes) y responder oportunamente a cambios que se produzcan en el mismo • Iniciativa • El comportamiento de los agentes está determinado por los objetivos (metas) que persiguen y por tanto pueden producir acciones no sólo como respuesta al entorno

  25. II Segunda Característica • Los agentes tienen: Inteligencia • Razonamiento • Un agente puede decidir: • qué objetivo perseguir o a qué evento reaccionar • cómo actuar para conseguir un objetivo • o suspender o abandonar un objetivo para dedicarse a otro • Aprendizaje • El agente puede adaptarse progresivamente a cambios en entornos dinámicos mediante técnicas de aprendizaje

  26. III Característica de los agentes • Los agentes no actúan solos, sino como: Sistemas Multi-Agentes • Resolución de problemas mediante la estrategia divide y vencerás • Reparto de responsabilidades-Identificar Roles • Heterogeneidad • Especialización. • Marco para la integración de Bases de conocimiento heterogéneas especializadas en tareas • Para abordar la interoperabilidad surgen roles (P.e. desde el punto de vista de la definición de arquitecturas software surgen agentes/componentes Middle agents, Mediators, Avatars, interface Agents,...) • Concurrencia y Distribución • Flexibilidad, escalabilidad, tolerancia a fallos, gestión de recursos • Distribución del conocimiento • Diferentes arquitecturas de control, con coordinador, sin coordinador, ...

  27. IV Cuarta característica • Los agentes tienen: Habilidad Social • Interacción Diálogo • Delegación Asignar la realización de tareas • Cooperación Trabajo en común para lograr un objetivo común • Coordinación Organizar el proceso de solución del problema de forma que se eviten interacciones nocivas y que se exploten las beneficiosas • Negociación Formular un acuerdo que sea aceptable por todas las partes implicadas.

  28. Conversaciones entre agentes • Coordinación • Modelo de comunicación (ejemplo: Linda: modelo de comunicación ortogonal a los modelos de computación) • Lenguaje de comunicación • Contenido del mensaje • Conversación • Intercambio de mensajes • Protocolo • Conversación válida • Se definen protocolos de negociación, subasta, ... que intercambian mensajes en un lenguaje común.

  29. Comunicación entre agentes Coordinación • La comunicación es la base para las interacciones y la organización social de los agentes • Interacciones • Hay interacciones cuando la dinámica de un agente está perturbada por las influencias de otros [O. Boissier, 2001] • Las interacciones son el motor de los SMA • Distintas formas de interaccionar • Acciones sobre el entorno • Pizarra compartida • Inferencias • Paso de mensajes • ...

  30. Comunicación mediante el entorno Coordinación • Ejemplo: robots distribuidos [Steels 89] Problema Un conjunto de robots tienen que recoger piedras preciosas (cuya localización no se conoce de antemano) y llevarlas a una nave nodriza • La comunicación se realiza a través del entorno: • Campo gradiente de la señal generada por la nave nodriza • Partículas radioemisoras que pueden recoger, echar y detectar los robots al pasar

  31. Sistema de pizarra Coordinación • Pizarra: Memoria compartida que permite a los agentes compartir todo tipo de información • Un sistema multiagente puede tener varias pizarras con distintos agentes registrados en cada una • No hay comunicación directa entre agentes

  32. Sistema de pizarra Coordinación • Los sistemas más avanzados incorporan nuevos conceptos: • Moderador. Agente especializado con conocimiento de control y de evaluación que publica en la pizarra los subproblemas a resolver y decide a qué agentes se asignan de entre aquellos que se han ofrecido a resolverlos • Despachador. Agente que avisa a los agentes afectados por algún cambio producido en la pizarra

  33. Sistema de pizarra Coordinación • Pros: Método flexible de comunicación para la resolución distribuida de problemas • Son independientes de la estrategia de cooperación que se vaya a utilizar y no afectan a la arquitectura de los agentes individuales • Contras: la estructura central de la pizarra representa un cuello de botella, ya que todos los agentes distribuidos por una red se ven obligados a acceder al dispositivo central donde se encuentra la pizarra • Space based solutions => Pizarras/Espacios de tuplas distribuidos

  34. Interacción sin comunicación!!!! Coordinación • Inferencia de acciones de otros agentes • Ejemplo: utilización de la teoría de juegos con matrizes de ganancia Dilema del prisionero Dos hombres son acusados de un crimen y encerrados en celdas separadas. No pueden comunicarse ni llegar a acuerdos. A los dos hombres se les dice • Si uno de los dos confiesa el crimen y el otro no, el confesor será liberado, y el otro condenado a tres años. • Si los dos confiesan, ambos serán encarcelados durante dos años. • Si ninguno confiesa, ambos serán encarcelados durante un año.

  35. Rechazo coop Rechazo 2 0 2 5 coop 5 3 0 3 Interacción sin comunicación Coordinación • ¿cuál es la mejor estrategia? • Teorías de juegos.... Consideramos no confesar como cooperar, y confesar como rechazar la cooperacion. Matriz de ganancia Los números no indican los años sino lo bueno que es para los agentes

  36. Coordinación: Modelo de Comunicación Generativa • Generative Communication: Linda, Java Spaces Client Client Tuple Space [mobile_1, lat, long] Client Client Client

  37. Coordinación Coordinación: Modelo de Comunicación Generativa • Generative Communication Client Client Tuple Space Write[mobile_3, lat, long] [mobile_3, lat, long] [mobile_1, lat, long] Client Client Client

  38. Coordinación Coordinación: Modelo de Comunicación Generativa • Generative Communication Client Client Tuple Space [mobile_3, lat, long] [mobile_1, lat, long] Client Client Read[mobile_3, ?, ?] Client

  39. Coordinación Coordinación: Modelo de Comunicación Generativa • Generative Communication Client Client Tuple Space [mobile_3, lat, long] [mobile_1, lat, long] Client Client Client [mobile_3, lat, long]

  40. Coordinación Coordinación: Modelo de Comunicación Generativa • Generative Communication Client Client Tuple Space [mobile_3, lat, long] [mobile_1, lat, long] Client Client Take[mobile_3, ?, ?] Client [mobile_3, lat, long]

  41. Coordinación Coordinación: Modelo de Comunicación Generativa • Generative Communication Client Client Tuple Space [mobile_1, lat, long] Client Client Client [mobile_3, lat, long] [mobile_3, lat, long]

  42. Coordinación Coordinación: Modelo de Comunicación Generativa • Generative Communication Client Client Client Take[mobile_3, ?, ?] Write [mobile_3, lat, long] Tuple Space [mobile_3, lat, long] [mobile_1, lat, long] Client Client Client [mobile_3, lat, long] [mobile_3, lat, long]

  43. Coordinación Coordinación: Modelo de Comunicación Generativa • Generative Communication Client Client [mobile_3, lat, long] Tuple Space [mobile_1, lat, long] Client Client Client [mobile_3, lat, long] [mobile_3, lat, long]

  44. Coordinación Comportamiento reactivo Client Client Tuple Space [mobile_3, ?, ?] [mobile_1, lat, long] Client Client Subscribe[mobile_3, ?, ?] Client

  45. Coordinación Comportamiento reactivo Client Client Tuple Space [mobile_3, ?, ?] [mobile_3, lat, long] [mobile_1, lat, long] Client Publish[mobile_3, lat, long] Notify Client [mobile_3, lat, long] Client

  46. Coordinación Comportamiento reactivo Publish[mobile_3, lat, long] Client Client Tuple Space [mobile_3, ?, ?] [mobile_3, lat, long] [mobile_3, lat, long] Client [mobile_1, lat, long] Client Notify [mobile_3, lat, long] Client [mobile_3, lat, long]

  47. Lenguaje Comunicación Comunicación entre Agentes • Lenguajes de comunicación de agentes Basados en la teoría de actos del habla • KQML • FIPA ACL • Algunos autores consideran que la capacidad de comunicarse en un lenguaje de agentes es suficiente para considerar a un software como agente

  48. Lenguaje Comunicación Comunicación a nivel del conocimiento • Los agentes se comunican para • Mostrar a otros agentes su estado mental • Intentar modificar el estado mental de otros agentes

  49. Lenguaje Comunicación Actos del habla (Speech acts) • Language as Action • J.L. Austin (1962), How to do things with words, Clarendon Press La lingüística tradicional intentaba entender el significado de las frases indicando cómo es posible usar una combinación de palabras para hacer una declaración con significado • Los actos del habla hacen referencia a las acciones intencionales en el curso de una conversación

  50. Lenguaje Comunicación Actos del habla (Speech acts) Language as Action • J.L. Austin (1962), How to do things with words, Clarendon Press • Quien habla no declara solamente sentencias ciertas o falsas • Quien habla realiza actos de habla (performativa): peticiones, sugerencias, promesas, amenazas, etc. • Cada declaración es un acto de habla

More Related