Professional Documents
Culture Documents
notas de curso
e-mail:
aguerra@uv.mx
ABSTRACT
Welcome to the notes for Artificial Intelligence II, a course about Knowledge, Reaso-
ning and Planning. The contents correspond roughly to the part III of Artificial Inte-
lligence, a modern approach, although they are also influenced by other texts about
logic in computer science, model checking and rational agency.
RESUMEN
Bienvenidos a las notas del curso Inteligencia Artificial II: Conocimiento, Razonamien-
to y Planeación. El contenido de este curso corresponde a la parte II del libro Inteligen-
cia Artificial, un enfoque Moderno, aunque está influenciado por otros textos sobre
la lógica en la ciencias de la computación, la verificación de modelos y los agentes
racionales.
AGRADECIMIENTOS
iii
ÍNDICE GENERAL
1 agentes inteligentes 1
1.1 Comportamiento flexible y autónomo 4
1.2 Medio Ambiente 6
1.3 PEAS 8
1.4 Lecturas y ejercicios sugeridos 9
bibliografía 21
iv
1 AGENTES INTELIGENTES
Filosofía
Neuro
Ciencias
Inteligencia Ciencias
Artificial Cognitivas
Lingüistica
Psicología
Cognitiva
Varela [21] situa a la Inteligencia Artificial entre las Ciencias Cognitivas (Ver figura
1), enfatizando su constructivismo inherente que la diferencia de otras disciplinas que
comparten objetivos similares: filosofía, neuro ciencias, lingüistica, filosofía cognitiva,
etc. Esta geografía, cabe mencionar, es de suma utilidad para reflexionar acerca del
carácter científico e ingenieril de la Inteligencia Artificial.
Por tanto, no deja de ser sorprendente que no sea hasta finales de los años ochenta
que el concepto de agente es incorporado a la Inteligencia Artificial, como un tema
que se pretende unificador. Parte del problema, pudiera deberse a un distanciamien-
to entre los intereses científicos y prácticos del área. Este capítulo espera ofrecer un
acercamiento entre ambas perspectivas. Primero ¿Qué es un agente? ¿De donde adop-
tamos este término?
1 Lanier [11] argumenta que la interacción de los agentes artificiales con los humanos, difícilmente pueden
calificarse de inteligente. En su opinión nuestros actuales agentes resultan un verdadero peligro para la
humanidad – Estos agentes no se volverán inteligentes, pero los humanos ajustarán su comportamiento
y sus expectativas al limitado comportamiento de algo que se les ha presentado como inteligente.
1
2 agentes inteligentes
Tiendas
Cine/TV
Trabajo
Telefonía Internet
Banca Escuela
Franklin y Graesser [8] argumentan que todas las definiciones del término agente
en el contexto de la Inteligencia Artificial, se basan en alguna de estas dos acepciones
históricas. Una definición consensual de agente [19, 26] puede ser:
Esta definición que puede parecer demasiado general, provee una abstracción del
concepto de agente basada en su presencia e interacción con el medio ambiente (Ver
la Figura 3). Russell y Subramanian [18] encuentran que esta abstracción presenta al
menos tres ventajas:
1. Nos permite observar las las facultades cognitivas de los agentes al servicio de
encontrar cómo hacer lo correcto.
agentes inteligentes 3
Percepción
Acción agente
Ambiente
Si bien hemos presentado al xbiff como un agente, no hemos dicho que se trate de
una entidad inteligente. Se dice que un agente es racional si hace lo correcto2 . Una
primera aproximación a la definición de lo “correcto” consiste en asumir que una
acción correcta es aquella que causa que el agente tenga un mayor éxito. Esto reduce
el problema de la racionalidad a definir cómo y cuando se debe evaluar el “éxito” del
agente.
El término medida de desempeño se refiere al criterio usado para determinar el éxi-
to de un agente. Es preferible manejar una medida de desempeño objetiva impuesta
por alguna forma de autoridad. Esto es, nosotros como observadores estableceremos
para cada agente, un estándar de lo que significa ser exitoso en un ambiente dado, y
usaremos ese estándar para medir el desempeño del agente. Bajo ninguna circunstan-
cia, el agente puede manipular3 tal estándar. El ejemplo 2 nos muestra una medida
de desempeño que cumple con las características mencionadas.
Ejemplo 2. En el Segundo Torneo Nacional de Robots Limpiadores 2005 (Xalapa, Ver., Mé-
xico), el desempeño del agente es establecido por un estándar externo al agente, especificado
mediante la formula de evaluación diseñada por los organizadores:
2 En su inglés original, la frase tiene mayor peso –Do the right thing.
3 Un agente que manipula la medida de desempeño, suele llegar a razonamientos del tipo –Al fin y al
cabo, quién diablos quiere una maestría.
4 agentes inteligentes
X
PT = (CLi × DAi ) × (T Max/T Oper)
i
donde: PT es el puntaje total. El segundo término evalúa la persistencia del agente: T Max es
el tiempo máximo de la prueba y T Oper es el tiempo que el robot se mantuvo en operación.
Si el robot trabaja durante toda la prueba no es penalizado, si no la puede terminar, si lo es.
El primer término evalúa la capacidad del agente. Para ello el piso a limpiar, rectangular, se
divide conceptualmente en celdas. CLi es la i-ésima celda limpiada con éxito, o si se prefiere
toma valor 1 si la celda se limpio, y 0 en caso contrario. DAi es el valor de dificultad de acceso
a la i-ésima celda limpiada.
• La secuencia de percepciones del agente, esto es, todo lo que el agente halla
percibido hasta el tiempo dado.
• La habilidad del agente, esto es, las acciones que el agente puede llevar a cabo
con cierta destreza.
Un agente racional ideal es aquel que para toda secuencia de percepciones posible,
selecciona y ejecuta una acción que se espera maximice la medida de desempeño, con
base en la información que proveen su percepción y conocimiento sobre el ambiente.
Luego entonces, es posible describir un agente por medio de una tabla con las
acciones que el agente toma en respuesta a cada posible secuencia de percepciones.
Esta tabla se conoce como el mapeo percepción-acción. Por lo tanto un mapeo ideal
describe a un agente ideal y define el diseño de un agente ideal. A la búsqueda de
un mecanismo que aproxime este mapeo ideal, se le conoce como el problema de
selección de acción. El ejemplo 3 muestra el mapeo ideal de xbiff.
Ejemplo 3. En el caso de xbiff el mapeo ideal es muy sencillo. Si el buzón contiene al menos
un mensaje con la etiqueta “nuevo”, desplegar el icono de mensaje nuevo; en cualquier otro
caso, desplegar el icono de mensajes leídos.
De entre todos estos puntos, el sexto requiere una defensa rápida puesto que la
dimensión social de los agentes no será abordada en este texto4 . En filosofía política
liberal, es aceptado que los agentes solo pueden llegar a ser autónomos si se da un
conjunto de condiciones necesarias para ello. Diferentes condiciones son consideradas,
por ejemplo Rawls [17] habla de bienes primarios, bienes que son medios necesarios
para que el agente tenga mayor éxito para satisfacer sus “intenciones” y avanzar en
su plan de vida a largo término. Es necesaria una pluralidad de tales bienes para
configurar lo que él llama contexto de elección. Esta pluralidad es posible únicamente
si el agente tiene una relación cercana con su ambiente social y cultural. En el contexto
de Inteligencia Artificial, es Newell [16] en su Unified Theories of Cognition (p. 20),
4 Castelfranchi [3] presenta una excelente introducción a las interacciones sociales entre agentes.
6 agentes inteligentes
es mejor considerar estas propiedades del ambiente, desde el punto de vista del
agente. El carácter estocástico del ambiente captura dos nociones importantes:
1. El hecho de que los agentes tienen una esfera de influencia limitada, es
decir, en el mejor de los casos tienen un control parcial de su ambiente;
2. y el hecho de que las acciones de un agente puede fallar y no lograr el
resultado deseado por el agente.
Por ello, es más sencillo construir agentes en ambientes deterministas. Si el am-
biente es determinista, excepto para las acciones de otros agentes, se dice que el
ambiente es estratégico.
• Discreto vs. Continuo. Si hay un número limitado de posibles estados del am-
biente, distintos y claramente definidos, se dice que el ambiente es discreto; de
otra forma se dice que es continuo. Esta propiedad puede aplicarse al estado del
ambiente; a la forma en que se registra el tiempo y; a las percepciones y acciones
de los agentes.Es más fácil construir agentes en ambientes discretos, porque las
computadoras también son sistemas discretos y aunque es posible simular siste-
mas continuos con el grado de precisión deseado, una parte de la información
disponible se pierde al hacer esta aproximación. Por lo tanto, la información
que manejan los agentes discretos en ambientes continuos es inherentemente
aproximada.
Con los elementos discutidos hasta ahora, es posible definir a un agente racional
como aquel que exhibe un comportamiento flexible y autónomo, mientras está situado
en un sistema de información, por ej., un sistema operativo o el web. Esto constituye lo
que Wooldridge y Jennings [26] llaman la noción débil de agente, como contra parte
de una noción fuerte que además de las propiedades mencionadas hasta ahora, utiliza
términos que hacen referencia a propiedades que solemos aplicar exclusivamente a
los seres humanos y que he entrecomillado hasta ahora en el texto: creencias, deseos,
intenciones. Si descartamos que el medio ambiente sea un sistema de información
necesariamente, los robots pueden ser caracterizados como agentes racionales.
1.3 peas
Hasta el momento hemos hablado de los agentes en términos de su comportamiento.
En algún momento tendremos que discutir los detalles internos de los agentes. Nues-
tro trabajo consistirá en diseñar un programa de agente: una función que implemente la
selección de acción. Asumimos que tal programa se ejecutará en algún dispositivo de
cómputo, identificado como la arquitectura del agente. La arquitectura de un agente
puede ser una simple computadora, o puede incluir dispositivos hardware especiales,
como cámaras de vídeo, sonares, etc. Además, la arquitectura puede proveer software
1.4 lecturas y ejercicios sugeridos 9
que funcione como el sistema operativo del agente, por ejemplo, que facilite la inter-
acción del programa de agente con la computadora donde se ejecuta, de forma que el
agente pueda ser programado a un nivel más alto. La siguiente expresión resume la
relación entre agente, arquitectura y programa:
Antes de diseñar al programa de un agente, debemos tener una idea clara de las
posibles percepciones, acciones, medida de desempeño a satisfacer y la clase de am-
biente en la que el agente estará situado. Por sus siglas en inglés, a esta descripción se
le conoce como PEAS (performance, environment, actuators, sensors). El Cuadro 2 mues-
tra un caso de estudio.
Problema 2. Describa un agente financiero que opera en un mercado de valores, en los térmi-
nos utilizados en este capítulo.
2 ARQUITECTURA Y PROGRAMA AGENTE
Es posible formalizar la definición abstracta de agente que hemos presentado (p. 3),
en la forma de una arquitectura abstracta de agentes Wooldridge [24]. Primero asu-
miremos que el ambiente puede caracterizarse por medio de un conjunto finito de
estados discretos posibles, definido como:
E = {e, e 0 , . . . }
Como hemos visto, no todos los ambientes son discretos, en el sentido estricto del
término. Sin embargo, asumir que el ambiente es discreto facilitará esta primera apro-
ximación formal al concepto de agente. Por otra parte, este supuesto se justifica por
el hecho de que aún cuando el ambiente no fuese discreto, éste puede ser modelado
como un ambiente discreto con cierto nivel deseable de precisión.
Definamos la competencia de un agente, como el conjunto finito de acciones que
éste puede ejecutar:
Ac = {α, α 0 , . . . }
0 α 1 2 α 3 α α αu−1
r = e0 −→ e1 −→ e2 −→ e3 −→ · · · −→ eu
Sea R el conjunto de todas las posibles secuencias finitas sobre E y Ac. Definimos
RAc como el subconjunto de las corridas que terminan en una acción y RE como el
subconjunto de las corridas que terminan en un estado del ambiente.
Para modelar el efecto de una acción en el ambiente, usamos una función de tran-
sición entre estados1 que mapea una corrida terminando en acción a un conjunto de
posibles estados del ambiente:
τ : RAc → ℘(E)
En esta forma, el ambiente se asume como sensible a su historia, esto es, su próximo
estado no está determinado exclusivamente por la acción ejecutada por el agente en
1 Véase Fagin, Halpern, Moses y col. [6], p. 154, pero aquí τ es aplicada a un solo agente.
11
12 arquitectura y programa agente
el estado actual. Las acciones ejecutadas por el agente en el pasado, también afectan
esta transición. Esta definición introduce un grado de indeterminismo en el ambiente,
y por lo tanto, incertidumbre sobre el resultado de una acción ejecutada en cierto
estado. Como vimos, considerar que el ambiente es no determinista, es importante
para entender las limitaciones de los agentes.
Si τ(r) = ∅ para todo r ∈ RAc , entonces no hay posibles estados sucesores para r
y se dice que el sistema ha terminado su corrida. Asumimos que todas las corridas
terminan eventualmente.
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.
Los agentes se modelan como funciones que mapean corridas que terminan en un
estado del ambiente, a acciones:
Ag : RE → Ac
(e0 , α0 , e1 , α1 , e2 , . . . )
eu ∈ τ((e0 , α0 , . . . , αu−1 ))
αu = Ag((e0 , α0 , . . . , eu ))
Algorithm 2 Ambiente
1: procedure Ambiente(e, τ, ags, fin) . e es el estado inicial del ambiente.
2: repeat
3: for all ag ∈ ags do . ags es un 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 for
S
9: e ← τ( ag∈ags acción(ag)) . τ es una función de transición del ambiente.
10: until fin(e) . fin es un predicado de fin de corrida.
11: end procedure
percibir : E → Per
El ejemplo 5 muestra la diferencia entre percepción y estados posibles del ambiente,
en el caso del agente xbiff.
Ejemplo 5. Para el agente de estilo xbiff, podemos definir es conjunto de percepciones posi-
bles como Per = {mensajesNuevos, noMensajesNuevos}, mientras que los estados posi-
bles del ambiente en E son más complejos, incluyendo como mencioné, el login del usuario, el
número de cada tipo de mensaje en el buzón, etc.
2 Todas estas etiquetas para los mensajes de correo electrónico se encuentran especificadas por el el están-
dar de formato para mensajes de texto en ARPA Internet (RFC# 822).
14 arquitectura y programa agente
Levitin [12], en su libro sobre nuestro cerebro y la música, ilustra esta diferencia.
La palabra tono se refiere a la representación mental que un organismo tiene de la
frecuencia fundamental de un sonido. Un fenómeno enteramente psicológico relacio-
nado con la frecuencia de las moléculas de aire vibrando a nuestro alrededor. Por
psicológico entendemos que es resultado de una serie de procesos físico químicos en
el agente que percibe el tono; que dan lugar a esa representación interna enteramen-
te subjetiva. Isaac Newton fue el primero en darse cuenta que el color se percibe de
manera similar –la luz no tiene color, éste es una construcción de nuestro cerebro. El
filósofo Georges Berkeley planteo esta curiosa pregunta: Si un árbol cae en el bosque
y nadie está ahí para escucharlo caer ¿Produjo algún sonido? La respuesta es no.
La función acción/1 se define entonces como el mapeo entre conjuntos de percep-
ciones Per y el conjunto de acciones posibles Acc del agente:
E = {correoNuevo}
2.2 agentes con estado 15
Agente
percepción acción
sensado actuación
Ambiente
Ac = {despliegaIconoCorreoNuevo, despliegaIconoCorreoViejo}
despliegaIconoCorreoNuevo Si e = correoNuevo
Ag(e) =
despliegaIconoCorreoViejo En otro caso
La manera más sencilla de implementar este tipo de programa de agente es median-
te reglas condición-acción. El algoritmo 3 muestra la forma general de un programa
de agente reactivo.
Aunque hay otras maneras de implementar agentes reactivos, todas 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. Esto es, su comportamien-
to es correcto si, y sólo si, el ambiente es accesible o efectivamente accesible.
Ambiente
actuación
sensado
Agente
percepción acción
Siguiente Estado
acción : I → Ac
siguiente : I × Per → I
Un agente inicia con algún estado interno i0 ∈ I, observa entonces el estado del
ambiente e generando así un percepto p ← percibir(e). El estado interno del agente
se actualiza, i1 ← siguiente(i0 , p). La acción seleccionada por el agente es entonces
ejecutada y el agente repite este ciclo.
El algoritmo 4 nos muestra el programa de un agente con estado (Figura 5). La
diferencia con el agente puramente reactivo, es que la función siguiente/2 (línea 2,
algoritmo 4) modifica el estado interno del agente interpretando su entrada percepti-
va, usando el conocimiento que el agente tenía sobre el ambiente.
siguiente : D × Per → D
Ψ : R → {0, 1}
esto es, una función de las corridas del agente a 1 (verdadero) o 0 (falso). Se con-
siderará que una corrida r ∈ R satisface la especificación si y sólo si Ψ(r) = 1. Un
ambiente de tareas se define entonces como el par hEnv, Ψi. Dado un ambiente de
tareas:
denota el conjunto de todas las corridas del agente Ag en el ambiente Env que satis-
facen la tarea especificada por Ψ. Podemos expresar que un agente Ag tiene éxito en
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ón pesimista de éxito, puesto que
el agente tiene éxito únicamente si todas sus corridas satisfacen Ψ; ii) ∃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 satisface Ψ.
Observe que Ψ opera sobre corridas del agente, de forma que si queremos especifi-
car un test de meta, como se define en el espacio de estados de un problema, algunos
cambios son necesarios. Recuerde que el ambiente se define como Env = hE, e0 , τi
donde E es el conjunto finito de estados discretos del ambiente, y que el agente es
definido como Ag = RE → Ac, un mapeo de corridas que terminan en un estado del
ambiente a acciones. El conjunto E corresponde al espacio de estados en la definición
del espacio de estados del problema. Es posible identificar un subconjunto G ⊂ E de
estados finales, tal que Ψ(r) es verdadera solo si uno o más e ∈ G ocurren en r ∈ R. Ψ
especifica la prueba de meta y el conjunto de acciones Ac define los operadores..
2.5 agentes basados en funciones de utilidad 19
Una vez que un agente alcanza un estado que satisface el test de meta, se dice que
ésta ha sido satisfecha. Las metas definidas de esta forma, constituyen un subconjunto
de las metas que un agente puede enfrentar. Como ya lo comentamos, Covrigaru
y Lindsay [4] concluyen que un sistema se percibe más fácilmente como autónomo
si tiene un conjunto de metas de alto nivel (aquellas que no son submetas de otra
meta) y algunas de ellas son homeostáticas (la satisfacción de la meta no termina al
alcanzar el estado que la define, el sistema verifica continuamente si ese estado ha
sido abandonado, para buscar satisfacerlo nuevamente).
Ejemplo 9. Pensemos en un agente de correo electrónico más complejo que el programa xbiff,
uno que filtre el spam en el correo recibido. La utilidad para una corrida r de este agente, puede
definirse como:
SpamFiltrado(r)
u(r) =
SpamRecibido(r)
Esto da una medida normalizada del desempeño del agente en el rango de 0 (el agente no
logró filtrar ningún mensaje spam) a 1 (el agente filtró todo el spam recibido) durante la corrida
r.
Asumiendo que la función de utilidad u tiene algún límite superior en los valores
que asigna, por ej., existe un k ∈ < tal que ∀r ∈ R.u(r) 6 k, entonces es posible
hablar de agentes óptimos, agentes que maximizan la utilidad esperada. Definamos
P(r|Ag, Env) como la probabilidad de que una corrida r ocurra cuando el agente Ag
está situado en el ambiente Env, y sea R el conjunto de todas las posibles corridas de
Ag en Env. Es evidente que:
X
P(r|Ag, Env) = 1
r∈R(Ag,Env)
20 arquitectura y programa agente
X
Agopt = arg máx u(r)P(r|Ag, Env)
Ag∈AG
r∈R(Ag,Env)
[1] Aristóteles, “Prior analytics no 391”, en Loeb Classical Library, Harvard Univer-
sity Press, 1960 (vid. pág. 2).
[2] R. Brooks, Cambrian Intelligence: the Early History of the New AI. Cambridge, MA.,
USA: MIT Press, 1999 (vid. págs. 6, 14).
[3] C. Castelfranchi, “Modelling social action for AI agents”, Artificial Intelligence,
vol. 103, n.o 1998, págs. 157-182, 1998 (vid. pág. 5).
[4] A. Covrigaru y R. Lindsay, “Deterministic autonomous systems”, AI Magazine,
vol. Fall, págs. 110-117, 1991 (vid. págs. 5, 19, 20).
[5] O. Etzioni, “Intelligence without robots”, AI Magazine, vol. 14, n.o 4, 1993 (vid.
pág. 6).
[6] R. Fagin, J. Y. Halpern, Y. Moses y M. Y. Vardi, Reasoning about Knowledge. Cam-
bridge, MA., USA: MIT Press, 1995 (vid. pág. 11).
[7] L. Foner, “What’s an agent, anyway? a sociological case study”, MIT Media Lab,
Cambridge, MA., USA, inf. téc. Agents Memo 93-01, 1993 (vid. pág. 4).
[8] S. Franklin y A. Graesser, “Is it an agent, or just a program?”, en Intelligent
Agents III, ép. Lecture Notes in Artificial Intelligence 1193, J. P. Muller, M. Wool-
dridge y N. Jennings, eds., Berlin, Germany: Springer-Verlag, 1997, págs. 21-36
(vid. pág. 2).
[9] M. Genesereth y N. Nilsson, Logical Foundations for Artificial Intelligence. Palo
Alto, CA., USA: Morgan Kauffman Publishers, Inc., 1987 (vid. pág. 14).
[10] M. Huns y M. Singh, eds., Readings in Agents. San Mateo, CA., USA: Morgan
Kauffman Publisher, 1998 (vid. pág. 9).
[11] J. Lanier, “Agents of alienation”, Interactions, vol. 2, n.o 3, págs. 66 -72, 1995,
First published at the beginning of the 90’s in Voyager e-zine (vid. pág. 1).
[12] D. J. Levitin, This is Your Brain on Music: The Science of a Human Obsesion. New
York, NY., USA: A Plume Book, 2006 (vid. pág. 14).
[13] J. McCarthy, “Programs with common sense”, en Proceedings of the Symposium on
the Mechanization of Thought Processes, Teddington, England, 1959 (vid. pág. 18).
[14] W. Muller-Freienfels, “Agency”, en Encyclopedia Britannica, Internet version, Ency-
clopedia Britannica, Inc., 1999 (vid. pág. 2).
[15] A. Newell, “The knowledge level”, AI Magazine, vol. 2, págs. 1-20, 1981 (vid.
pág. 18).
[16] ——, Unified Theories of Cognition. Cambridge, MA., USA: Harvard University
Press, 1990 (vid. pág. 5).
[17] J. Rawls, A Theory of Justice. New York, NJ., USA: Oxford University Press, 1973
(vid. pág. 5).
21
22 bibliografía