Inteligencia Artificial II Arquitecturas y Programas Agente

Anuncio
Arquitectura
Agentes Reactivos
Agentes con estado
Agentes lógicos
Agentes y metas
Agentes y utilidad
Inteligencia Artificial II
Arquitecturas y Programas Agente
Dr. Alejandro Guerra-Hernández
Departamento de Inteligencia Artificial
Facultad de Fı́sica e Inteligencia Artificial
Universidad Veracruzana
aguerra@uv.mx
http://www.uv.mx/aguerra
Maestrı́a en Inteligencia Artificial 2013
Referencias
Arquitectura
Agentes Reactivos
Agentes con estado
Agentes lógicos
Agentes y metas
Agentes y utilidad
Referencias
Arquitectura abstracta (Wooldridge, 2002)
I
El ambiente puede caracterizarse por medio de un conjunto
finito de estados discretos posibles, definido como:
E = {e, e 0 , . . . }
I
La competencia de un agente, se define como el conjunto
finito de acciones que éste puede ejecutar:
Ac = {α, α0 , . . . }
I
Una corrida de un agente en un ambiente se define como una
secuencia finita de estados y acciones intercalados:
α
α
α
α
αu−1
0
1
2
3
r = e0 −→
e1 −→
e2 −→
e3 −→
· · · −→ eu
Arquitectura
Agentes Reactivos
Agentes con estado
Agentes lógicos
Agentes y metas
Agentes y utilidad
Referencias
Corridas
I
Sea R el conjunto de todas las posibles secuencias finitas
sobre E y Ac.
I
Definimos R Ac como el subconjunto de las corridas que
terminan en una acción
I
y R E como el subconjunto de las corridas que terminan en un
estado del ambiente.
I
Para modelar el efecto de una acción en el ambiente, usamos
una función de transición (Fagin et al., 1995):
τ : R Ac → ℘(E )
I
Si τ (r ) = ∅ para todo r ∈ R Ac , se dice que el sistema ha
terminado su corrida.
Arquitectura
Agentes Reactivos
Agentes con estado
Agentes lógicos
Agentes y metas
Agentes y utilidad
Referencias
Ambiente y Agentes
I
Un ambiente se define como una tripleta Env = hE , e0 , τ i
donde E es el conjunto de los posibles estados del ambiente,
e0 ∈ E es un estado inicial y τ es la función de transición de
estados.
I
Los agentes se modelan como funciones que mapean corridas
que terminan en un estado del ambiente, a acciones:
Ag : R E → Ac
Arquitectura
Agentes Reactivos
Agentes con estado
Agentes lógicos
Agentes y metas
Agentes y utilidad
Referencias
Sistema Agente
I
Un sistema agente es una tupla conformada por un agente y
un ambiente.
I
El conjunto de posibles corridas del agente Ag en el ambiente
Env se denota como R(Ag , Env )
I
Una secuencia de la forma: (e0 , α0 , e1 , α1 , e2 , . . . ) representa
una corrida del agente Ag en el ambiente Env si y sólo si
Env = hE , e0 , τ i; α0 = Ag (e0 ); y para u > 0:
eu ∈ τ ((e0 , α0 , . . . , αu−1 ))
y
αu = Ag ((e0 , α0 , . . . , eu ))
Arquitectura
Agentes Reactivos
Agentes con estado
Agentes lógicos
Agentes y metas
Agentes y utilidad
Referencias
Programa de agente
I
Puesto que nuestra tarea es implementar programas de
agente, podemos usar la formalización propuesta para definir
un programa de agente que acepte percepciones de su
ambiente y regrese acciones sobre éste.
Agente basado en mapeo ideal
1: function Agente-Mapeo-Ideal(p)
2:
percepciones ← percepciones ∪ p
3:
acci ón ← busca(percepciones, mapeo)
4:
return acci ón
5: end function
. p es una percepción.
. mapeo predefinido.
Arquitectura
Agentes Reactivos
Agentes con estado
Agentes lógicos
Agentes y metas
Agentes y utilidad
Referencias
Programa de ambiente
I
Un programa básico de ambiente ilustra la relación entre éste
y los agentes situados en él.
Ambiente
1: procedure Ambiente(e, τ, ags, fin) . e Estado incial del ambiente.
2:
repeat
3:
for all ag ∈ ags do
. ags Conjunto de agentes.
4:
p(ag ) ← percibir (ag , e)
5:
end for
6:
for all ag ∈ ags do
7:
acci ón(ag ) ← ag (p(ag ))
8:
end forS
9:
e ← τ ( ag ∈ags acci ón(ag ))
. τ Función de transición.
10:
until fin(e)
. fin Predicado de fin de corrida.
11: end procedure
Arquitectura
Agentes Reactivos
Agentes con estado
Agentes lógicos
Agentes y metas
Agentes y utilidad
Referencias
Percepción y acción
I
Sea Per un conjunto no vacı́o de percepciones, la función
percibir/2 se define como el mapeo del conjunto de estados
del ambiente E al conjunto de percepciones posibles Per :
percibir : E → Per
I
La función acción/1 se define entonces como el mapeo entre
conjuntos de percepciones y el conjunto de acciones posibles
del agente:
acci ón : Per → Ac
I
Un agente puede definirse ahora como la tupla:
Ag = hpercibir , acci óni
Arquitectura
Agentes Reactivos
Agentes con estado
Agentes lógicos
Agentes y metas
Agentes y utilidad
Referencias
Propiedades de la percepción
I
Sean e ∈ E y e 0 ∈ E , tal que e 6= e 0 pero
percibir (e) = percibir (e 0 ). Desde el punto de vista del agente,
e y e 0 son indistinguibles.
I
Dados dos estados del ambiente e, e 0 ∈ E ,
percibir (e) = percibir (e 0 ) será denotado como e ∼ e 0 .
I
El ambiente es accesible para el agente, si y sólo si |E | = | ∼ |
y entonces se dice que el agente es omnisciente.
I
Si | ∼ | = 1 entonces se dice que el agente no tiene capacidad
de percepción, es decir, el ambiente es percibido por el agente
como si tuviera un estado único.
Arquitectura
Agentes Reactivos
Agentes con estado
Agentes lógicos
Agentes y metas
Agentes y utilidad
Agentes reactivos
I
Los agentes reactivos, o reflex, seleccionan sus acciones
basados en su percepción actual del ambiente, ignorando el
resto de su historia perceptual.
Agente
percepción
sensado
acción
actuación
Ambiente
Referencias
Arquitectura
Agentes Reactivos
Agentes con estado
Agentes lógicos
Agentes y metas
Agentes y utilidad
Agentes reactivos
I
Basados en reglas percepción - acción.
Programa de agente reactivo
1: function Agente-Reactivo(e)
2:
estado ← percibir (e)
3:
regla ← selecci ónAcci ón(estado, reglas)
4:
acci ón ← acci ónRegla(regla)
5:
return acci ón
6: end function
. reglas predefinidas.
Referencias
Arquitectura
Agentes Reactivos
Agentes con estado
Agentes lógicos
Agentes y metas
Agentes y utilidad
Referencias
Limitaciones de los agentes reactivos
I
Aunque hay otras maneras de implementar agentes reactivos
(arquitectura subsumida, redes de comportamiento, etc.),
todos comparten una limitación formal: producen un
comportamiento racional, sólo si la decisión correcta puede
obtenerse a partir de la percepción actual del agente.
I
Esto es, su comportamiento es correcto si, y sólo si, el
ambiente es observable o efectivamente observable.
Arquitectura
Agentes Reactivos
Agentes con estado
Agentes lógicos
Agentes y metas
Agentes y utilidad
Referencias
Estado interno
I
La forma más eficiente de enfrentar un ambiente inaccesible
es llevando un registro de lo percibido, de forma que el agente
tenga acceso mediante este registro, a lo que en cierto
momento ya no puede percibir.
I
Sea I el conjunto de estados internos posibles de un agente.
Redefinimos la función acción para mapear estados internos a
acciones posibles:
acci ón : I → Ac
I
Una nueva función siguiente/2, mapea estados internos y
percepciones a estados internos. Se usa para actualizar el
estado interno del agente:
siguiente : I × Per → I
Arquitectura
Agentes Reactivos
Agentes con estado
Agentes lógicos
Agentes y metas
Agentes y utilidad
Agentes con estado interno
I
Un agente con estado interno interactua con su ambiente
como se muestra.
Ambiente
actuación
sensado
Agente
percepción
Siguiente
acción
Estado
Referencias
Arquitectura
Agentes Reactivos
Agentes con estado
Agentes lógicos
Agentes y metas
Agentes y utilidad
Programa de agente con estado
I
El programa de un agente con estado es muy parecido al de
un agente reactivo:
Programa de agente con estado
1: function Agente-Con-Estado(e)
2:
p ← percibir (e)
3:
estado ← siguiente(estado, p)
4:
regla ← selecci ónAcci ón(estado, reglas)
5:
acci ón ← Acci ónRegla(regla)
6:
return acci ón
7: end function
.e∈E
. reglas predefinidas.
Referencias
Arquitectura
Agentes Reactivos
Agentes con estado
Agentes lógicos
Agentes y metas
Agentes y utilidad
Referencias
Enfoque IA tradicional
I
El comportamiento racional puede obtenerse a partir de una
representación simbólica del ambiente y el comportamiento
deseado.
I
El agente manipulará sintácticamente esta representación para
actuar.
I
Llevada al extremo, esta aproximación nos lleva a formular el
estado de un agente como un conjunto fórmulas lógicas y la
selección de acción como demostración de teoremas o
deducción lógica.
Arquitectura
Agentes Reactivos
Agentes con estado
Agentes lógicos
Agentes y metas
Agentes y utilidad
Referencias
Agentes e inferencia
I
Sea L el conjunto de fórmulas bien formadas en la lógica de
primer orden clásica.
I
El conjunto de bases de conocimiento en L se define como
D = ℘(L), es decir, el conjunto de conjuntos de fbf en L. Los
elementos de D se denotan ∆, ∆1 , . . .
I
El estado interno del agente es siempre un miembro de D. El
proceso de decisión del agente especifica mediante un
conjunto de reglas de inferencia ρ.
I
Escribimos ∆ `ρ ψ si la fbf ψ puede ser validada en ∆.
I
Definimos la función siguiente/2 del agente como:
siguiente : D × Per → D
Arquitectura
Agentes Reactivos
Agentes con estado
Agentes lógicos
Agentes y metas
Agentes y utilidad
Referencias
Selección de acción como inferencia
I
La inferencia se usa para computar la selección de acción de
los agentes lógicos:
Selección de acción para agente lógico
1: function Selección-Acción(∆ : D, Ac)
2:
for all a ∈ Ac do
3:
if ∆ `ρ ejecuta(a) then
4:
return a
5:
end if
6:
end for
7:
for all a ∈ Ac do
8:
if ∆ 6`ρ ¬ejecuta(a) then
9:
return a
10:
end if
11:
end for
12:
return null
13: end function
. Ac Acciones.
. ρ predefinida.
Arquitectura
Agentes Reactivos
Agentes con estado
Agentes lógicos
Agentes y metas
Agentes y utilidad
Referencias
Metas
I
Las metas describen situaciones deseables para un agente, y
se definen como cuerpos de conocimiento.
I
Esta concepción de las metas está relacionada con el concepto
de espacio de estados de un problema compuesto por un
estado inicial del ambiente, e0 ∈ E ; por un conjunto de
operadores o acciones que el agente puede ejecutar para
cambiar de estado; y un espacio de estados deseables.
I
Implı́cita en la arquitectura del agente, está su “intención” de
ejecutar las acciones que el “cree” le garantizan satisfacer
cualquiera de sus metas. Esto se conoce en filosofı́a como
silogismo práctico.
Arquitectura
Agentes Reactivos
Agentes con estado
Agentes lógicos
Agentes y metas
Agentes y utilidad
Las metas de un agente
I
Especificación basada en predicados:
Ψ : R → {0, 1}
I
Una corrida r ∈ R satisface la especificación ssi Ψ(r ) = 1.
I
Un ambiente de tareas se define entonces como el par
hEnv , Ψi.
I
Dado un ambiente de tareas, la siguiente expresión:
RΨ (Ag , Env ) = {r |r ∈ R(Ag , Env ) ∧ Ψ(r )}
denota el conjunto de todas las corridas del agente Ag en
el ambiente Env que satisfacen la tarea especificada
por Ψ.
Referencias
Arquitectura
Agentes Reactivos
Agentes con estado
Agentes lógicos
Agentes y metas
Agentes y utilidad
Referencias
Metas y éxito
I
Podemos expresar que un agente Ag tiene éxito en el
ambiente de tareas hEnv , Ψi de dos maneras diferentes:
I
I
∀r ∈ R(Ag , Env ) tenemos que Ψ(r ), lo que puede verse como
una especificación pesimista de éxito, puesto que el agente
tiene éxito únicamente si todas sus corridas satisfacen Ψ;
∃r ∈ R(Ag , Env ) tal que Ψ(r ), lo cual es una versión optimista
de la definición de éxito, puesto que especifica que el agente
tiene éxito si al menos una de sus corridas safisface Ψ.
Arquitectura
Agentes Reactivos
Agentes con estado
Agentes lógicos
Agentes y metas
Agentes y utilidad
Referencias
Utilidad
I
Una utilidad es un valor numérico que denota la bondad de un
estado del ambiente.
I
Implı́citamente, un agente tiene la “intención” de alcanzar
aquellos estados que maximizan su utilidad a largo término.
I
La especificación de una tarea en este enfoque corresponde
simplemente a una función utilidad u : E → < la cual asocia
valores reales a cada estado del ambiente.
I
Por ejemplo, la utilidad para una corrida r de un agente filtro
de spam, puede definirse como:
u(r ) =
SpamFiltrado(r )
SpamRecibido(r )
Arquitectura
Agentes Reactivos
Agentes con estado
Agentes lógicos
Agentes y metas
Agentes y utilidad
Referencias
Agentes óptimos
I
Si la función de utilidad u tiene algún lı́mite superior, por ej.,
∃k k ∈ < tal que ∀r ∈ R.u(r ) ≤ k, entonces es posible hablar
de agentes que maximizan la utilidad esperada.
I
Definamos P(r |Ag , Env ), es evidente que:
X
P(r |Ag , Env ) = 1
r ∈R(Ag ,Env )
I
Entonces el agente óptimo Agopt entre el conjunto de agentes
posibles AG en el ambiente Env está definido como:
Agopt = arg máx
Ag ∈AG
X
r ∈R(Ag ,Env )
u(r )P(r |Ag , Env )
Arquitectura
Agentes Reactivos
Agentes con estado
Agentes lógicos
Agentes y metas
Agentes y utilidad
Referencias
Racionalidad acotada
I
Los agentes enfrentan limitaciones temporales y tienen
capacidades limitadas de deliberación, por lo que propone el
estudio de una racionalidad acotada.
I
Stuart Russell et al., introducen el concepto de agente óptimo
acotado, donde AGm representa el conjunto de agentes que
pueden ser implementados en una máquina m.
I
Esta conceptualización de agente racional nos dice las
propiedades del agente deseable Agopt , pero no nos dice cómo
implementar tal agente.
Arquitectura
Agentes Reactivos
Agentes con estado
Agentes lógicos
Agentes y metas
Agentes y utilidad
Referencias
Fagin, R., Halpern, J. Y., Moses, Y., & Vardi, M. Y. (1995). Reasoning about
Knowledge. Cambridge, MA., USA: MIT Press.
Wooldridge, M. (2002). An Introduction to MultiAgent Systems. West Sussex,
England: John Wiley & Sons, LTD.
Referencias
Descargar