Inteligencia Artificial Distribuida

Anuncio
Inteligencia Artificial Distribuida
Sesión 1: Introducción a la IAD
Marin Lujak
marin.lujak@urjc.es
Universidad Rey Juan Carlos
Inteligencia Artificial Distribuida
1
Programa de contenidos
1. Introducción a la Inteligencia Artificial
Distribuida
2. Agentes Inteligentes y los Sistemas
Multiagente
3. Técnicas de coordinación en la IAD.
4. Aplicaciones de la IAD a los problemas en el
mundo real.
Inteligencia Artificial Distribuida
2
¿Qué es la IAD?
La IAD es una subrama de la IA que se centra en la
resolución de problemas mediante aplicación tanto
de técnicas de la Inteligencia Artificial como de
múltiples solucionadores de sistemas.
Se involucran además mínimo dos agentes que
funcionarían como solucionadores de problemas,
estos agentes serían autónomos o semi-autónomos,
tendrían un cierto conocimiento del problema y
serían razonables.
Inteligencia Artificial Distribuida
3
Inteligencia Artificial Distribuida (IAD)
aparece en la década de los 80's como
una nueva rama de la IA,
estudia sistemas inteligentes formados por
un conjunto de varios agentes,
intenta resolver problemas donde una
conducta colectiva es más eficiente que
una conducta individual.
Inteligencia Artificial Distribuida
4
¿Por qué IAD?
Cuando propuestas centralizadas para solucionar
problemas mediante la IA se muestran insuficientes
ante la aparición de múltiples agentes en un entorno
social,
En los problemas esencialmente distribuidos,
En la integración de los sistemas de IA para mejorar
la capacidad mediante la distribución del
conocimiento.
Inteligencia Artificial Distribuida
5
¿Por qué IAD?
Grandes desafíos para desarrolladores de software:
Delegación – actuar de modo independiente.
Inteligencia – actuar del modo que represente
nuestros mejores intereses mientras se interactúa con
otros humanos o sistemas.
Sistemas que actúen de un modo efectivo y eficiente
en nuestro nombre.
Sistemas con habilidad de cooperación y capaces
de alcanzar consensos con otros sistemas.
Sistemas adaptables a los cambios en el ambiente.
Inteligencia Artificial Distribuida
6
Ventajas de la IAD
Incremento de la flexibilidad: Se permite la adición
de nuevos agentes.
Mejor seguridad y efectividad: Los agentes se
pueden especializar en una tarea específica.
Mejor tiempo de respuesta: Los agentes pueden
resolver sus problemas particulares al mismo
tiempo.
Reducción de la complejidad: Una tarea puede ser
descompuesta en varias sub-tareas.
Reutilización: La solución presentada por un agente
en un sistema puede ser incorporada a otro.
Inteligencia Artificial Distribuida
7
Usos de la IAD
Servicios de información en
Provisión de servicios bajo
Internet
Recuperación y extracción de la información
Comercio Electrónico
Personalización de servicios
Mercado de servicios electrónico Negociación
Equipos móviles y PCs
domésticos
Redes públicas de
telecomunicaciones
Inteligencia Artificial Distribuida
demanda
Descentralización del control y
gestión de redes
Flexibilidad de la distribución
Gestión de procesos (workflow)
Simulación de sistemas
dinámicos
Juegos
Robótica
Delegación de tareas
8
Tipos de sistemas de la IAD
1. Solución de Problemas Distribuidos DPS
el problema se divide entre los nodos que conforman
el conjunto de agentes,
agentes cooperan y comparten conocimiento sobre
el problema y la solución desarrollada,
todos los agentes tienen conocimiento homogéneo y
completo del problema así como de la solución,
están interconectados y el desarrollo de la solución
se obtiene a partir de una secuencia de operaciones.
Inteligencia Artificial Distribuida
9
Tipos de sistemas de la IAD
2. Sistemas MultiAgente
la conducta inteligente de agentes autónomos.
Estos agentes hacen parte de una colección y pueden
coordinar su conocimiento, objetivos, habilidades y
planes juntamente para tomar una acción o resolver
una meta global,
pueden tener conocimiento parcial sobre el problema
y las soluciones.
En estos sistemas debe haber un proceso de
racionalización para la coordinación del conjunto de
agentes.
Inteligencia Artificial Distribuida
10
1. Agentes Software
¿Qué es un agente?
RAE
1. adj. Que obra o tiene virtud de obrar.
2. adj. Gram. Dicho de una palabra o de una
expresión: que designa a la persona, animal o cosa
que realiza la acción del verbo. U. m. c. s. m.
3. m. Persona o cosa que produce un efecto.
4. m. Persona que obra con poder de otra.
Inteligencia Artificial Distribuida
11
1. Agentes Software
Un agente:
percibe
Percibe el entorno sensores
Actúa en el entorno efectores
Asigna percepciones a
acciones
Mide lo “bien” que lo
ha hecho
Entorno
actúa
Inteligencia Artificial Distribuida
12
1. Agentes Software
Tipos de agentes:
Naturales
Cuerpos biológicos
Entorno Naturaleza
Medida de rendimiento: supervivencia,
reproducción, etc.
Inteligencia Artificial Distribuida
13
1. Agentes Software
Tipos de agentes:
Artificiales
Hardware (robots):
Actúan directamente en el entorno físico
Sensores: cámaras, odómetros, etc.
Efectores: ruedas, brazos mecánicos, …
Inteligencia Artificial Distribuida
14
1. Agentes Software
Tipos de agentes:
Artificiales
Software (softbots):
Entornos virtuales (e.g. Internet)
Sensores y efectores: dependientes del
dominio
Inteligencia Artificial Distribuida
15
1. Agentes Software
Programa de agente:
Determina el comportamiento del agente
memory ← perceive(memory, percept)
action ← action-selection(memory, performance-measure)
memory ← act(memory, action)
Arquitectura del agente:
Qué componentes forman al agente
Estructura de los programas de agente
Componente de percepción
Componente de selección de acciones
Componente de acción
Inteligencia Artificial Distribuida
16
1. Agentes Software
Orígenes de los agentes
La computación siempre ha buscado:
1.
2.
3.
4.
Eficiencia: reducción del coste computacional
Comunicación: entre distintos sistemas (ej. Redes)
Inteligencia: resolución de problemas complejos
delegando en las computadoras
Orientación humana: uso de conceptos y metáforas
antropomorfas
Esto es el mundo de los agentes
Inteligencia Artificial Distribuida
17
1. Agentes Software
Área relacionadas con los agentes (Teoría)
•
•
•
•
•
•
•
•
•
Programación OO
Sistemas distribuidos
Economía
Sociología
Psicología
IA e IA distribuida
Teoría de la decisión
Biología
…
Inteligencia Artificial Distribuida
18
1. Agentes Software
Área relacionadas con los agentes (Práctica)
•
•
•
•
•
•
•
•
•
•
•
Internet
Sistemas de Información
IA
Sistemas Cooperativos
E-Commerce
Recuperación de Información
Gestión del conocimiento
Sistemas distribuidos
Robótica
Interfaces de usuario
…
Inteligencia Artificial Distribuida
19
1. Agentes Software
Definiciones de agente software
Houston, we’ve got a problem!!!
No hay definición universalmente aceptada
Literatura: depende del dominio, del autor, …
Terminología diversa para referirse a lo mismo
Inteligencia Artificial Distribuida
20
1. Agentes Software
[Franklin & Graesser, 96]
But agents sound
just like computer
Autonomous
What are
programs. How are
youagents?
working
they different?
What
on these
the hell
days?
is that?
Bob
Inteligencia Artificial Distribuida
Control
structures
for bla
Bla, bla,
autonomous
agents
Alice
21
1. Agentes Software
The MuBot agent
“The term agent is used to represent two
orthogonal concepts. The first is the agent's
ability for autonomous execution. The
second is the agent's ability to perform
domain oriented reasoning” [Virhagriswaran]
Inteligencia Artificial Distribuida
22
1. Agentes Software
The AIMA agent [Russell & Norvig, 1995]
“An agent is anything that can be viewed
as perceiving its environment through
sensors and acting upon that environment
through effectors”
Inteligencia Artificial Distribuida
23
1. Agentes Software
The Maes Agent [Maes, 95]
“Autonomous agents are computational
systems that inhabit some complex
dynamic environment, sense and act
autonomously in this environment, and by
doing so realize a set of goals or tasks for
which they are designed”
Inteligencia Artificial Distribuida
24
1. Agentes Software
The KidSim Agent [Smith et al., 94]
“Let us define an agent as a persistent
software entity dedicated to a specific
purpose. 'Persistent' distinguishes agents from
subroutines; agents have their own ideas
about how to accomplish tasks, their own
agendas. ’Special purpose' distinguishes them
from entire multifunction applications; agents
are typically much smaller”
Inteligencia Artificial Distribuida
25
1. Agentes Software
The Hayes-Roth Agent [Hayes-Roth, 95]
“Intelligent agents continuously perform
three functions: perception of dynamic
conditions in the environment; action to
affect conditions in the environment; and
reasoning to interpret perceptions, solve
problems, draw inferences, and determine
actions”
Inteligencia Artificial Distribuida
26
1. Agentes Software
The IBM Agent
“Intelligent agents are software entities that
carry out some set of operations on behalf
of a user or another program with some
degree of independence or autonomy, and
in so doing, employ some knowledge or
representation of the user's goals or
desires”
Inteligencia Artificial Distribuida
27
1. Agentes Sofware
The W-J Agent [Wooldridge & Jennings, 95]
“... a hardware or (more usually) software-based computer system
that enjoys the following properties:
· autonomy: agents operate without the direct intervention of humans
or others, and have some kind of control over their actions and
internal state;
· social ability: agents interact with other agents (and possibly
humans) via some kind of agent-communication language;
· reactivity: agents perceive their environment, (which may be the
physical world, a user via a graphical user interface, a collection of
other agents, the INTERNET, or perhaps all of these combined),
and respond in a timely fashion to changes that occur in it;
· pro-activeness: agents do not simply act in response to their
environment, they are able to exhibit goal-directed behavior by
taking the initiative
Inteligencia Artificial Distribuida
28
1. Agentes Software
The IBM Agent [Coen, 94]
“Software agents are programs that
engage in dialogs [and] negotiate and
coordinate transfer of information”
Inteligencia Artificial Distribuida
29
1. Agentes Software
The Brustoloni Agent [Brustoloni, 91]
“Autonomous agents are systems capable
of autonomous, purposeful action in the
real world”
Inteligencia Artificial Distribuida
30
1. Agentes Software
The Franklin & Graesser Agent [Franklin &
Graesser, 95]
“Un agente autónomo es un sistema
situado dentro de un entorno, percibe
dicho entorno y actúa sobre él, a lo largo
del tiempo, en busca de cumplir sus
objetivos y, por tanto, para llevar a cabo lo
que percibe en el futuro”
Inteligencia Artificial Distribuida
31
1. Agentes Software
Agentes Inteligentes
Comportamiento racional
Los agentes inteligentes interactúan racionalmente con su
entorno
Secuencia de percepciones hasta el momento actual + conocimiento a
priori sobre el entorno
Seleccionan la acción que les reporta mayor utilidad (individual)
Racionalidad ≠ Omnisciencia
Autonomía
Al comienzo “sólo” la inteligencia del diseñador
Un agente es más autónomo cuanto…
… más experiencia tiene y más guía ésta su comportamiento
… menos depende de su comportamiento a priori
Agente Inteligente = Comportamiento Racional+Autonomía
Inteligencia Artificial Distribuida
32
1. Agentes Software
Agentes Inteligentes
• Ejemplo: agentes deliberativos en el mundo de los bloques
• Racionalidad: encontrar el plan más corto desde el estado actual hasta el estado
deseado
• Autonomía: debe adaptarse dinámicamente si el plan va mal
A
A
B
B
C
D
E
C
D
E
Inteligencia Artificial Distribuida
33
1. Agentes Software
Agentes Inteligentes
Is there any
difference
I between
see, but…
agents and
objects?
Bob
Inteligencia Artificial Distribuida
Alice
34
1. Agentes Software
Agentes Inteligentes vs. Objetos
Objetivos: un agente puede mostrar un comportamiento
proactivo
Concurrencia: un agente tiene su propio thread de control
Agentes autónomos vs. objetos activos
Objetos Activos
Controlan su estado, pero no su comportamiento
Si un método es público, será ejecutado si es invocado
La decisión está en el objeto que invoca (no en el invocado)
Agentes
Controlan su estado y su comportamiento
Pueden rechazar la ejecución de una acción
“Objects do it for free;
agents do it for money”
La decisión de realizar una acción está en el agente y está basada en
sus intereses (racionalidad!!!)
Inteligencia Artificial Distribuida
35
1. Agentes Software
Agentes Inteligentes vs. Objetos
Agentes y objetos están relacionados:
En sistemas cerrados proporcionan un nivel más alto de
abstracción en análisis, diseño e… implementación?
En sistemas abiertos el concepto de autonomía es relevante
Pero…
Programamos agentes usando lenguajes de OO
Inteligencia Artificial Distribuida
36
Índice
1. Agentes Software
2. Sistemas Multiagente
3. Trabajos propuestos
4. Bibliografía
Inteligencia Artificial Distribuida
37
2. Sistemas Multiagente
Entornos multiagente
Varios agentes interactuando en el mismo entorno
Las acciones de un agentes influencian las acciones del resto (utilidad
individual)
Autonomía: un agente NO puede controlar las acciones de los otros
Racionalidad: un agente SÍ puede predecir las acciones de los otros
Inteligencia Artificial Distribuida
38
2. Sistemas Multiagente
Líneas de investigación
Heterogeneidad:
Agent communication languages (ACLs)
Semántica: ontologies, service directories, matchmaking
Coordinación:
Alcanzar consenso resolviendo conflictos de intertés:
Regular agreement mechanisms :
Coalition formation, Negotiation, Trust, …
Virtual Organisations, Norms, Incentive Engineering, …
Hacer que la información esté disponible:
MA Planning, MA Optimisation, POMDPs, …
AOSE: SOC, OOP, Grid, AOP
Plataformas,middleware, herramientas
Metodologías AOP
Interacción Humano-Computadora
Avatares, agentes emocionales, …
Inteligencia Artificial Distribuida
39
2. Sistemas Multiagente
¿Algo nuevo?
¿No es lo mismo que Sistemas
Distribuidos/Ingeniería del SW?
Sí, pero añadiendo autonomía + racionalidad
Coordinación no precompilada
No hay asunción de benevolencia
¿No es lo mismo que Sistemas Expertos/Inteligencia
Artificial?
Sí, pero añadiendo interoperatividad + sociabilidad
Percepción, planificación, razonamiento, aprendizaje, …
Interacciones sociales: Negociación, Compromisos, Trust
¿No es lo mismo que Economía/Teoría de Juegos?
Sí, pero añadiendo computación y racionalidad limitada
Inteligencia Artificial Distribuida
40
Índice
1. Agentes Software
2. Sistemas Multiagente
3. Trabajos propuestos
4. Bibliografía
Inteligencia Artificial Distribuida
41
3. Trabajos propuestos
Lectura + comentario crítico del artículo “Intelligent
Agents: Theory and Practice” – Jennings &
Wooldridge, Knowledge Engineering Review Volume
10 No 2, June 1995 (Discusión próxima clase)
Aplicación usando alguna plataforma de
programación y ejecución de agentes (ej. JADE,
MadKIT, Zeus, …) (Trabajo fin de curso)
Otras propuestas son bienvenidas… ☺
Inteligencia Artificial Distribuida
42
Bibliografía básica
http://www.cs.ox.ac.uk/people/michael.wooldridge/pubs/imas/IMAS2e.html
Inteligencia Artificial Distribuida
43
4. Bibliografía
Franklin S.; Graesser A.: “Is It an Agent, or Just a Program?: A
Taxonomy for Autonomous Agents” in Proceedings of the Workshop
on Intelligent Agents III, Agent Theories, Architectures, and
Languages (ATAL’96). Springer-Verlag. Págs. 21-35.
Russell, S.; Norvig, P.: “Artificial Intelligence: A Modern Approach
(2nd ed.)”. Prentice Hall, 2003. Chapter 2.
Wooldridge, M.: “An Introduction to Multiagent Systems”, Wiley,
2002. Chapters 1 and 2.
Ossowski, S.: “Coordination in Artificial Agent Societies”. Springer,
1999. Chapter 1.
Inteligencia Artificial Distribuida
44
Descargar