Inteligencia Artificial II
Arquitecturas y Programas Agente
Dr. Alejandro Guerra-Hern´andez
Departamento de Inteligencia Artificial Facultad de F´ısica e Inteligencia Artificial
Universidad Veracruzana [email protected] http://www.uv.mx/aguerra
Arquitectura abstracta (Wooldridge, 2002)
I Elambiente puede caracterizarse por medio de un conjunto finito de estados discretos posibles, definido como:
E = {e, e0, . . . }
I Lacompetencia de un agente, se define como el conjunto finito de acciones que ´este puede ejecutar:
Ac = {α, α0, . . . }
I Unacorrida de un agente en un ambiente se define como una secuencia finita de estados y acciones intercalados:
r = e0 α0 −→ e1 α1 −→ e2 α2 −→ e3 α3 −→ · · ·α−→ eu−1 u
Corridas
I Sea R el conjunto de todas las posibles secuencias finitas sobre E y Ac.
I Definimos RAc como el subconjunto de las corridas que terminan en una acci´on
I y RE como el subconjunto de las corridas que terminan en un
estado del ambiente.
I Para modelar el efecto de una acci´on en el ambiente, usamos unafunci´on de transici´on(Fagin et al., 1995):
τ : RAc → ℘(E )
I Si τ (r ) = ∅ para todo r ∈ RAc, se dice que el sistema ha
Ambiente y Agentes
I Unambiente 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´on de transici´on de
estados.
I Los agentes se modelan como funciones que mapean corridas que terminan en un estado del ambiente, a acciones:
Sistema Agente
I Unsistema agente es una tupla conformada por un agente y un ambiente.
I El conjunto deposibles 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
unacorrida del agente Ag en el ambiente Env si y s´olo si Env = hE , e0, τ i; α0 = Ag (e0); y para u > 0:
eu∈ τ ((e0, α0, . . . , αu−1))
y
Programa de agente
I Puesto que nuestra tarea es implementar programas de agente, podemos usar la formalizaci´on propuesta para definir un programa de agenteque acepte percepciones de su ambiente y regrese acciones sobre ´este.
Agente basado en mapeo ideal
1: function Agente-Mapeo-Ideal(p) . p es una percepci´on.
2: percepciones ← percepciones ∪ p
3: acci ´on ← busca(percepciones, mapeo) . mapeo predefinido.
4: return acci ´on
Programa de ambiente
I Unprograma b´asico de ambienteilustra la relaci´on entre ´este y los agentes situados en ´el.
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 ´on(ag ) ← ag (p(ag ))
8: end for
9: e ← τ (S
ag ∈agsacci ´on(ag )) . τ Funci´on de transici´on.
10: until fin(e) . fin Predicado de fin de corrida.
Percepci´
on y acci´
on
I Sea Per un conjunto no vac´ıo de percepciones, la funci´on
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´onacci´on/1se define entonces como el mapeo entre conjuntos de percepciones y el conjunto de acciones posibles del agente:
acci ´on : Per → Ac I Unagente puede definirse ahora como la tupla:
Propiedades de la percepci´
on
I Sean e ∈ E y e0 ∈ E , tal que e 6= e0 pero
percibir (e) = percibir (e0). Desde el punto de vista del agente, e y e0 sonindistinguibles.
I Dados dos estados del ambiente e, e0 ∈ E ,
percibir (e) = percibir (e0) ser´a denotado como e ∼ e0.
I El ambiente es accesible para el agente, si y s´olo 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´on, es decir, el ambiente es percibido por el agente como si tuviera unestado ´unico.
Agentes reactivos
I Los agentes reactivos, o reflex, seleccionan sus acciones basados en su percepci´on actual del ambiente, ignorando el resto de su historia perceptual.
Agente
percepción acción
Ambiente
Agentes reactivos
I Basados en reglaspercepci´on - acci´on. Programa de agente reactivo
1: function Agente-Reactivo(e)
2: estado ← percibir (e)
3: regla ← selecci ´onAcci ´on(estado, reglas) . reglas predefinidas.
4: acci ´on ← acci ´onRegla(regla)
5: return acci ´on
Limitaciones de los agentes reactivos
I Aunque hay otras maneras de implementar agentes reactivos (arquitectura subsumida, redes de comportamiento, etc.), todos comparten unalimitaci´on formal: producen un comportamiento racional, s´olo si la decisi´on correcta puede obtenerse a partir de lapercepci´on actual del agente. I Esto es, su comportamiento es correcto si, y s´olo si, el
Estado interno
I La forma m´as eficiente de enfrentar un ambiente inaccesible es llevando un registrode 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´onacci´onpara mapear estados internos a acciones posibles:
acci ´on : I → Ac
I Una nueva funci´on siguiente/2, mapea estados internos y percepciones a estados internos. Se usa para actualizar el estado interno del agente:
Agentes con estado interno
I Un agente con estado interno interactua con su ambiente como se muestra. Agente percepción acción Ambiente Estado Siguiente sensado actuación
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) . e ∈ E
2: p ← percibir (e)
3: estado ← siguiente(estado, p)
4: regla ← selecci ´onAcci ´on(estado, reglas) . reglas predefinidas.
5: acci ´on ← Acci ´onRegla(regla)
6: return acci ´on
Enfoque IA tradicional
I El comportamiento racional puede obtenerse a partir de una
representaci´on simb´olicadel ambiente y el comportamiento deseado.
I El agente manipular´asint´acticamenteesta representaci´on para actuar.
I Llevada al extremo, esta aproximaci´on nos lleva a formular el estado de un agente como un conjunto f´ormulas l´ogicas y la selecci´on de acci´on comodemostraci´on de teoremas o
Agentes e inferencia
I Sea L el conjunto de f´ormulas bien formadasen la l´ogica de primer orden cl´asica.
I El conjunto debases 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 Elestado interno del agente es siempre un miembro de D. El proceso de decisi´on del agente especifica mediante un
conjunto de reglas de inferenciaρ.
I Escribimos ∆ `ρψ si la fbf ψ puede servalidada en ∆.
I Definimos la funci´onsiguiente/2del agente como:
Selecci´
on de acci´
on como inferencia
I Lainferencia se usa para computar la selecci´on de acci´on de los agentes l´ogicos:
Selecci´on de acci´on para agente l´ogico
1: function Selecci´on-Acci´on(∆ : D, Ac) . Ac Acciones.
2: for all a ∈ Ac do
3: if ∆ `ρejecuta(a) then . ρ predefinida.
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
Metas
I Las metasdescriben situaciones deseables para un agente, y se definen como cuerpos de conocimiento.
I Esta concepci´on de las metas est´a relacionada con el concepto deespacio 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´a su “intenci´on” de ejecutar las acciones que el “cree” le garantizan satisfacer cualquiera de sus metas. Esto se conoce en filosof´ıa como
Las metas de un agente
I Especificaci´on basada enpredicados:
Ψ : R → {0, 1}
I Una corrida r ∈ R satisface la especificaci´on ssi Ψ(r ) = 1. I Unambiente de tareas se define entonces como el par
hEnv , Ψi.
I Dado un ambiente de tareas, la siguiente expresi´on: 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 Ψ.
Metas y ´
exito
I Podemos expresar que un agente Ag tiene´exitoen el ambiente de tareas hEnv , Ψi de dos maneras diferentes:
I ∀r ∈ R(Ag , Env ) tenemos que Ψ(r ), lo que puede verse como
una especificaci´onpesimistade ´exito, puesto que el agente tiene ´exito ´unicamente si todas sus corridas satisfacen Ψ;
I ∃r ∈ R(Ag , Env ) tal que Ψ(r ), lo cual es una versi´onoptimista
de la definici´on de ´exito, puesto que especifica que el agente tiene ´exito si al menos una de sus corridas safisface Ψ.
Utilidad
I Unautilidades un valor num´erico que denota la bondad de un estado del ambiente.
I Impl´ıcitamente, un agente tiene la “intenci´on” de alcanzar aquellos estados quemaximizansu utilidad a largo t´ermino. I La especificaci´on de una tarea en este enfoque corresponde
simplemente a una funci´on utilidadu : E → < la cual asocia valores reales a cada estado del ambiente.
I Por ejemplo, la utilidad para una corrida r de unagente filtro de spam, puede definirse como:
u(r ) = SpamFiltrado(r ) SpamRecibido(r )
Agentes ´
optimos
I Si la funci´on de utilidad u tiene alg´un l´ımite superior, por ej., ∃k k ∈ < tal que ∀r ∈ R.u(r ) ≤ k, entonces es posible hablar de agentes que maximizanla utilidad esperada.
I Definamos P(r |Ag , Env ), es evidente que: X
r ∈R(Ag ,Env )
P(r |Ag , Env ) = 1
I Entonces el agente ´optimoAgopt entre el conjunto de agentes
posibles AG en el ambiente Env est´a definido como: Agopt = arg m´ax
Ag ∈AG
X
r ∈R(Ag ,Env )
Racionalidad acotada
I Los agentes enfrentan limitaciones temporales y tienen capacidades limitadas de deliberaci´on, por lo que propone el estudio de una racionalidad acotada.
I Stuart Russell et al., introducen el concepto deagente ´optimo acotado, donde AGm representa el conjunto de agentes que
pueden ser implementados en una m´aquina m.
I Esta conceptualizaci´on de agente racional nos dice las
propiedades del agente deseable Agopt, pero no nos dice c´omo
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.