Sunteți pe pagina 1din 26

alejandro guerra-hernndez

inteligencia artificial ii: conocimiento,


razonamiento y planeacin

notas de curso
Facultad de Fsica e Inteligencia Artificial
Departamento de Inteligencia Artificial
http://www.uv.mx/dia/

2013, Enero

Alejandro Guerra-Hernndez. Inteligencia Artificial II: Conocimiento, Razonamiento y Planeacin. Universidad Veracruzana, Facultad de Fsica e Inteligencia Artificial
Departamento de Inteligencia Artificial, Xalapa, Ver., Mxico, 2013.
website:
http://www.uv.mx/aguerra/

e-mail:
aguerra@uv.mx

ABSTRACT
Welcome to the notes for Artificial Intelligence II, a course about Knowledge, Reasoning and Planning. The contents correspond roughly to the part III of Artificial Intelligence, 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, Razonamiento y Planeacin. El contenido de este curso corresponde a la parte II del libro Inteligencia Artificial, un enfoque Moderno, aunque est influenciado por otros textos sobre
la lgica en la ciencias de la computacin, la verificacin de modelos y los agentes
racionales.

AGRADECIMIENTOS
A V. Anglica Garca Vega y Jos Negrete Martnez

Xalapa, Ver., Mxico


Enero 2013

Alejandro
Guerra-Hernndez

iii

NDICE GENERAL
1

agentes inteligentes
1
1.1 Comportamiento flexible y autnomo
1.2 Medio Ambiente
6
1.3 PEAS
8
1.4 Lecturas y ejercicios sugeridos
9
arquitectura y programa agente
11
2.1 Agentes reactivos
14
2.2 Agentes con estado
15
2.3 Agentes lgicos
16
2.4 Agentes basados en Metas
18
2.5 Agentes basados en funciones de utilidad
2.6 Lecturas y ejercicios sugeridos
20

bibliografa

iv

21

19

AGENTES INTELIGENTES

La Inteligencia Artificial tiene como objetivo el estudio de las entidades inteligentes;


pero a diferencia de la filosofa, la psicologa, las neurociencias, y dems disciplinas
cuyo objeto de estudio est relacionado con la inteligencia, su meta no tiene que ver
nicamente con la comprensin de estas entidades, sino con su construccin. La construccin de agentes racionales como concepto unificador dentro de la Inteligencia
Artificial, constituye el curiosamente llamado, nuevo enfoque de la Inteligencia Artificial, claramente definido en el texto introductorio de Russell y Norvig [19]. Incluso
antagonistas de las tecnologas basadas en agentes, como Lanier1 , coinciden en que el
concepto de agente es inherente al de Inteligencia Artificial.

Filosofa

Neuro
Ciencias
Inteligencia
Artificial

Ciencias
Cognitivas
Lingistica

Psicologa
Cognitiva

Figura 1: La Inteligencia Artificial en el contexto de las Ciencias Cognitivas: la diferencia es


su constructivismo inherente.

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: filosofa, neuro ciencias, lingistica, filosofa cognitiva,
etc. Esta geografa, cabe mencionar, es de suma utilidad para reflexionar acerca del
carcter cientfico e ingenieril de la Inteligencia Artificial.
Por tanto, no deja de ser sorprendente que no sea hasta finales de los aos 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 distanciamiento entre los intereses cientficos y prcticos del rea. Este captulo espera ofrecer un
acercamiento entre ambas perspectivas. Primero Qu es un agente? De donde adoptamos este trmino?
1 Lanier [11] argumenta que la interaccin de los agentes artificiales con los humanos, difcilmente pueden
calificarse de inteligente. En su opinin nuestros actuales agentes resultan un verdadero peligro para la
humanidad Estos agentes no se volvern inteligentes, pero los humanos ajustarn su comportamiento
y sus expectativas al limitado comportamiento de algo que se les ha presentado como inteligente.

agentes inteligentes
Histricamente, fuera de la Inteligencia Artificial, el trmino agente ha sido usado
con dos acepciones. Primero, a partir de Aristteles [1] y hasta nuestros das, en filosofa el trmino agente se ha referido a una entidad que acta con un propsito
dentro de un contexto social. Segundo, la nocin legal de agente, como la persona
que acta en beneficio de otra con un propsito especfico, bajo la delegacin limitada
de autoridad y responsabilidad, estaba ya presente en el derecho Romano y ha sido
ampliamente utilizada en economa [14].
En el contexto de la computacin [25], el concepto de agente se consolida como una
solucin a las demandas actuales: ubicuidad, interconexin, inteligencia, delegacin
y homocentrismo. Esto es, en entornos como el que se muestra en la figura 2,donde
tenemos una diversidad de dispositivos de cmputo distribuidos en nuestro entorno
e interconectados, los agentes inteligentes emergen como la herramienta para delegar
adecuadamente nuestro trabajo y abordar esta problemtica desde una perspectiva
ms familiar para usuarios, programadores y diseadores.

Tiendas
Cine/TV

Banca

Trabajo

Telefona

Internet

Escuela

Figura 2: El entorno computacional actual: ubicuo, interconectado, social, inteligente?

Franklin y Graesser [8] argumentan que todas las definiciones del trmino agente
en el contexto de la Inteligencia Artificial, se basan en alguna de estas dos acepciones
histricas. Una definicin consensual de agente [19, 26] puede ser:
Un agente es un sistema computacional capaz de actuar de manera autnoma para satisfacer sus objetivos y metas, mientras se encuentra situado
persistentemente en su medio ambiente.
Esta definicin que puede parecer demasiado general, provee una abstraccin del
concepto de agente basada en su presencia e interaccin con el medio ambiente (Ver
la Figura 3). Russell y Subramanian [18] encuentran que esta abstraccin presenta al
menos tres ventajas:
1. Nos permite observar las las facultades cognitivas de los agentes al servicio de
encontrar cmo hacer lo correcto.

agentes inteligentes

Percepcin
Accin

agente
Ambiente

Figura 3: Abstraccin de un agente a partir de su interaccin con el medio ambiente.

2. Permite considerar diferentes tipos de agente, incluyendo aquellos que no se


supone tengan tales facultades cognitivas.
3. Permite considerar diferentes especificaciones sobre los sub-sistemas que componen los agentes.
Consideren el ejemplo 1. Es discutible concebir un daemon de sistema operativo como un agente, pero tal sistema cumple con la definicin consensual de agente. Es ms,
este agente se las arregla para identificar a su usuario, encontrar su buzn electrnico
en la red, buscar mensajes nuevos y comunicar al usuario la presencia de stos. Las
tres ventajas sealadas de tal definicin, se aplican en este caso. El resultado inmediato
es que podemos aproximar la definicin de xbiff de una manera ms comprensible
para el usuario, sin referenciar en lo absoluto a los protocolos propios del correo-e
como POP, IMAP, MAPI, etc., ni a implementacin particular alguna.
Ejemplo 1. El deamon de X Windows xbiff est situado en un ambiente UNIX, vigilando
constantemente el buzn de su usuario para avisarle cuando llegan mensajes nuevos a travs
de una interfaz grfica.
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 aproximacin a la definicin de lo correcto consiste en asumir que una
accin correcta es aquella que causa que el agente tenga un mayor xito. Esto reduce
el problema de la racionalidad a definir cmo y cuando se debe evaluar el xito del
agente.
El trmino medida de desempeo se refiere al criterio usado para determinar el xito de un agente. Es preferible manejar una medida de desempeo objetiva impuesta
por alguna forma de autoridad. Esto es, nosotros como observadores estableceremos
para cada agente, un estndar de lo que significa ser exitoso en un ambiente dado, y
usaremos ese estndar para medir el desempeo del agente. Bajo ninguna circunstancia, el agente puede manipular3 tal estndar. El ejemplo 2 nos muestra una medida
de desempeo que cumple con las caractersticas mencionadas.
Ejemplo 2. En el Segundo Torneo Nacional de Robots Limpiadores 2005 (Xalapa, Ver., Mxico), el desempeo del agente es establecido por un estndar externo al agente, especificado
mediante la formula de evaluacin diseada por los organizadores:
2 En su ingls original, la frase tiene mayor peso Do the right thing.
3 Un agente que manipula la medida de desempeo, suele llegar a razonamientos del tipo Al fin y al
cabo, quin diablos quiere una maestra.

agentes inteligentes

PT =

(CLi DAi ) (T Max/T Oper)

donde: PT es el puntaje total. El segundo trmino evala la persistencia del agente: T Max es
el tiempo mximo de la prueba y T Oper es el tiempo que el robot se mantuvo en operacin.
Si el robot trabaja durante toda la prueba no es penalizado, si no la puede terminar, si lo es.
El primer trmino evala 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.
Es necesario precisar que la racionalidad de un agente se define en relacin con el
xito esperado dado lo que el agente ha percibido. Esto es, no podemos exigir a un
agente que tome en cuenta lo que no puede percibir, o haga lo que sus efectores no
pueden hacer. Por lo tanto, la racionalidad de un agente a un tiempo dado depende
de:
La medida de desempeo que define el estndar de xito.
La secuencia de percepciones del agente, esto es, todo lo que el agente halla
percibido hasta el tiempo dado.
El conocimiento del agente sobre el medio ambiente en el que est situado.
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 accin que se espera maximice la medida de desempeo, con
base en la informacin que proveen su percepcin 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 percepcin-accin. Por lo tanto un mapeo ideal
describe a un agente ideal y define el diseo de un agente ideal. A la bsqueda de
un mecanismo que aproxime este mapeo ideal, se le conoce como el problema de
seleccin de accin. El ejemplo 3 muestra el mapeo ideal de xbiff.
Ejemplo 3. En el caso de xbiff el mapeo ideal es muy sencillo. Si el buzn contiene al menos
un mensaje con la etiqueta nuevo, desplegar el icono de mensaje nuevo; en cualquier otro
caso, desplegar el icono de mensajes ledos.

1.1

comportamiento flexible y autnomo

Independientemente de la implementacin usada para construir a xbiff, no resulta


natural identificar a los daemons de UNIX como agentes y menos an como agentes
inteligentes. Foner [7] argumenta que para ser percibido como inteligente, un agente
debe exhibir cierto tipo de comportamiento, caracterizado ms tarde por Wooldridge

1.1 comportamiento flexible y autnomo


y Jennings [26], como comportamiento flexible y autnomo. Este tipo comportamiento se caracteriza por su:
Reactividad. Los agentes inteligentes deben ser capaces de percibir su medio
ambiente y responder a tiempo a los cambios en l, a travs de sus acciones.
Iniciativa. Los agentes inteligentes deben exhibir un comportamiento orientado
por sus metas, tomando la iniciativa para satisfacer sus objetivos de diseo (proactiveness).
Sociabilidad. Los agentes inteligentes deben ser capaces de interaccionar con
otros agentes, posiblemente tan complejos como los seres humanos, con miras a
la satisfaccin de sus objetivos.
Una caracterizacin ms detallada de autonoma es presentada por Covrigaru y Lindsay [4]. Su desiderata, que incluye algunos de los aspectos ya mencionados, expresa
que un agente se percibe como autnomo en la medida en que:
1. Su comportamiento est orientado por sus metas y es capaz de seleccionar que
meta va a procesar a cada instante.
2. Su existencia se da en un perodo relativamente mayor al necesario para satisfacer sus metas.
3. Es lo suficientemente robusto como para seguir siendo viable a pesar de los
cambios en el ambiente.
4. Puede interaccionar con su ambiente en la modalidad de procesamiento de informacin.
5. Es capaz de exhibir una variedad de respuestas, incluyendo movimientos de
adaptacin fluidos; y su atencin a los estmulos es selectiva.
6. Ninguna de sus funciones, acciones o decisiones, est totalmente gobernada por
un agente externo.
7. Una vez en operacin, el agente no necesita ser programado nuevamente por un
agente externo.
De entre todos estos puntos, el sexto requiere una defensa rpida puesto que la
dimensin social de los agentes no ser abordada en este texto4 . En filosofa poltica
liberal, es aceptado que los agentes solo pueden llegar a ser autnomos 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 trmino. Es necesaria una pluralidad de tales bienes para
configurar lo que l llama contexto de eleccin. Esta pluralidad es posible nicamente
si el agente tiene una relacin 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 introduccin a las interacciones sociales entre agentes.

agentes inteligentes
quien ofrece argumentos similares y seala la bimodailidad entre la autonoma y la
pertenencia a una comunidad social.
Covrigaru y Lindsay argumentan que ser autnomo, depende no slo de la habilidad para seleccionar metas u objetivos de entre un conjunto de ellos, ni de la habilidad
de formularse nuevas metas, sino de tener el tipo adecuado de metas. Los agentes artificiales son usualmente diseados para llevar a cabo tareas por nosotros, de forma
que debemos comunicarles que es lo que esperamos que hagan. En un sistema computacional tradicional esto se reduce a escribir el programa adecuado y ejecutarlo. Un
agente puede ser instruido sobre que hacer usando un programa, con la ventaja colateral de que su comportamiento estar libre de incertidumbre. Pero programar un
agente de esta forma, atenta contra su autonoma, teniendo como efecto colateral la
incapacidad del agente para enfrentar situaciones imprevistas mientras ejecuta su programa. Las metas y las funciones de utilidad son dos maneras de indicarle a un agente
lo que hacer, sin decirle cmo hacerlo.

1.2

medio ambiente

Por medio ambiente, entendemos el espacio donde un agente, o un grupo de ellos, se


encuentra situado. Brooks [2] argumenta que el medio ambiente por excelencia es el
mundo real, y en su propuesta todo agente toma una forma robtica. Por el contrario,
Etzioni [5], considera que no es necesario que los agentes tengan implementaciones
robticas porque los ambientes virtuales, como los sistemas operativos y el web, son
igualmente vlidos que el mundo real. En esta presentacin asumimos la posicin de
Etzioni, resaltando que lo importante es que la interaccin del agente con su ambiente
se de en los trminos sealados en nuestra definicin de agente, esto es, en forma
autnoma bajo persistencia temporal. Russell y Norvig [19] sealan que, ms all de
esta controversia, es importante identificar que existen diferentes tipos de ambientes:
Observable vs. Parcialmente observable. Si los sensores de un agente le permiten percibir el estado completo del ambiente en cada punto en el tiempo,
decimos que el ambiente es observable. Un ambiente es efectivamente observable si los sensores del agente detectan todos los aspectos relevantes para decidir
que accin debe llevarse a cabo. Relevancia aqu depende de la definicin de
funcin de desempeo. Los ambientes observables son convenientes debido a
que en ellos, un agente no necesita mantener el historial de estados del ambiente para ser efectivo. Un ambiente puede ser parcialmente observable debido a
la imprecisin y el ruido en los sensores; o bien porque algunos aspectos del
ambiente caen fuera del rango de lectura de los sensores.
Determinista vs. Estocstico. Si el prximo estado del ambiente est determinado por la accin que ejecuta el agente, se dice que el ambiente es determinista. Si
otros factores influyen en el prximo estado del ambiente, ste es estocstico. Si
el ambiente es parcialmente observable, entones aparecer como no estocstico.
Esto es particularmente cierto en el caso de ambientes complejos, donde es difcil dar seguimiento a los aspectos no observables del ambiente. Generalmente

1.2 medio ambiente


es mejor considerar estas propiedades del ambiente, desde el punto de vista del
agente. El carcter estocstico 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 ms sencillo construir agentes en ambientes deterministas. Si el ambiente es determinista, excepto para las acciones de otros agentes, se dice que el
ambiente es estratgico.
Episdico vs. Secuencial. En un ambiente episdico, la experiencia de un agente puede evaluarse en rondas. Las acciones se evalan en cada episodio o ronda
, esto es, la calidad de la accin en los episodios subsecuentes, no depende de
las acciones ocurridas en episodios previos. Por ejemplo, el detector de basura
en las botellas de una cervecera es episdico: la decisin de si una botella esta
sucia o no, no depende de los casos anteriores. Dada la persistencia temporal de
los agentes, estos tienen que hacer continuamente decisiones locales que tienen
consecuencias globales. Los episodios reducen el impacto de estas consecuencias, y por lo tanto es ms fcil construir agentes en ambientes episdicos. Un
programa que juega ajedrez est en un ambiente secuencial.
Esttico vs. Dinmico. Si el ambiente puede cambiar mientras el agente se encuentra deliberando, se dice que es dinmico; de otra forma, se dice esttico. Si
el ambiente no cambia con el paso del tiempo, pero si lo hace con las acciones
del agente si lo hace, se dice que el ambiente es semi-dinmico. Los ambientes
dinmicos tienen dos consecuencias importantes: Un agente debe percibir continuamente, porque an si no ha ejecutado ninguna accin entre los tiempos t0
y t1 , el agente no puede asumir que el estado del ambiente sea el mismo en t0
que en t1 ; Otros procesos en el ambiente pueden interferir con las acciones del
agente, incluyendo las acciones de otros agentes. Por lo tanto, es ms sencillo
disear agentes en ambientes estticos.
Discreto vs. Continuo. Si hay un nmero limitado de posibles estados del ambiente, 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 ms fcil construir agentes en ambientes discretos, porque las
computadoras tambin son sistemas discretos y aunque es posible simular sistemas continuos con el grado de precisin deseado, una parte de la informacin
disponible se pierde al hacer esta aproximacin. Por lo tanto, la informacin
que manejan los agentes discretos en ambientes continuos es inherentemente
aproximada.
Mono vs. Multi-Agente A pesar de que esta categorizacin de los ambientes
parece obvia, esconde una cuestin en extremo relevante: Qu entidades en el
sistema son considerados por el agente como agentes? En general, un agente

agentes inteligentes
considerara a otra entidad como un agente si su desempeo depende del comportamiento de esa entidad. La clave aqu es el concepto de interaccin que da
lugar a ambientes competitivos y cooperativos.
Esta categorizacin sugiere que es posible encontrar diferentes clases de ambientes.
Russell y Norvig [19] presentan algunos ejemplos de ambientes bien estudiados en
Inteligencia Artificial y sus propiedades (ver Cuadro 1). Cada ambiente, o clase de ambientes, requiere de alguna forma agentes diferentes para que estos tengan xito. La
clase ms compleja de ambientes corresponde a aquellos que son inaccesibles, no episdicos, dinmicos, continuos y multi-agente, lo que desgraciadamente corresponde
a nuestro ambiente cotidiano.
Ambiente
Crucigrama
Ajedrez con reloj
Backgammon
Poker
Tutor ingls
Brazo robtico
Control refinera
Robot navegador
Anlisis imgenes
Manejo de autos
Diagnstico

Observable
si
si
si
parcial
parcial
efectivo
parcial
parcial
si
parcial
parcial

Determinista
si
estratgico
estocstico
estocstico
estocstico
estocstico
estocstico
estocstico
si
estocstico
estocstico

Episdico
no
no
no
no
no
si
no
no
si
no
no

Esttico
si
semi
si
si
no
no
no
no
semi
no
no

Discreto
si
si
si
si
si
no
no
no
no
no
no

SMA
mono
multi
multi
multi
multi
mono
mono
mono
mono
multi
mono

Cuadro 1: Ejemplos de ambientes estudiados en Inteligencia Artificial y sus propiedades segn Russell y Norvig [19].

Con los elementos discutidos hasta ahora, es posible definir a un agente racional
como aquel que exhibe un comportamiento flexible y autnomo, mientras est situado
en un sistema de informacin, por ej., un sistema operativo o el web. Esto constituye lo
que Wooldridge y Jennings [26] llaman la nocin dbil de agente, como contra parte
de una nocin fuerte que adems de las propiedades mencionadas hasta ahora, utiliza
trminos 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 informacin
necesariamente, los robots pueden ser caracterizados como agentes racionales.

1.3

peas

Hasta el momento hemos hablado de los agentes en trminos de su comportamiento.


En algn momento tendremos que discutir los detalles internos de los agentes. Nuestro trabajo consistir en disear un programa de agente: una funcin que implemente la
seleccin de accin. Asumimos que tal programa se ejecutar en algn dispositivo de
cmputo, identificado como la arquitectura del agente. La arquitectura de un agente
puede ser una simple computadora, o puede incluir dispositivos hardware especiales,
como cmaras de vdeo, sonares, etc. Adems, la arquitectura puede proveer software

1.4 lecturas y ejercicios sugeridos


Agente
Sistema
diagnstico
mdico

Desempeo
salud paciente,
minimizar costos y
demandas

Ambiente
paciente, hospital,
persona,
tratamientos

Actuadores
preguntas,
pruebas
diagnsticos,

Sensores
lecturas,
reportes,
respuestas

Cuadro 2: Ejemplos de agentes y su descripcin PAGE segn Russell y Norvig [19].

que funcione como el sistema operativo del agente, por ejemplo, que facilite la interaccin del programa de agente con la computadora donde se ejecuta, de forma que el
agente pueda ser programado a un nivel ms alto. La siguiente expresin resume la
relacin entre agente, arquitectura y programa:

agente = arquitectura + programa


Antes de disear al programa de un agente, debemos tener una idea clara de las
posibles percepciones, acciones, medida de desempeo a satisfacer y la clase de ambiente en la que el agente estar situado. Por sus siglas en ingls, a esta descripcin se
le conoce como PEAS (performance, environment, actuators, sensors). El Cuadro 2 muestra un caso de estudio.

1.4

lecturas y ejercicios sugeridos

Se sugiere una lectura rpida de los captulos uno y dos del libro de Russell y Norvig [19] para una panormica del tema de los agentes racionales con respecto a la
Inteligencia Artificial. Huns y Singh [10] ofrecen una coleccin de artculos fundamentales en el rea, algunos de los cuales sern revisados en las tareas del curso.
Wei [23] estructur el primer texto completo y coherente sobre el estudio de los Sistemas Multi-Agentes. Su introduccin al libro es altamente recomendable como una
revisin de los problemas propios del rea. Finalmente Wooldridge [25] nos ofrece
un texto de introduccin bsico a los Sistemas Multi-Agentes, imprescindible por su
cobertura y complejidad moderada.
Problema 1. Describa un ejemplo de agente y su medio ambiente. Base su descripcin en
el esquema PEAS Existe un mapeo ideal para su agente? Puede definir una medida de
desempeo para su agente?
Problema 2. Describa un agente financiero que opera en un mercado de valores, en los trminos utilizados en este captulo.

ARQUITECTURA Y PROGRAMA AGENTE

Es posible formalizar la definicin abstracta de agente que hemos presentado (p. 3),
en la forma de una arquitectura abstracta de agentes Wooldridge [24]. Primero asumiremos 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
trmino. Sin embargo, asumir que el ambiente es discreto facilitar esta primera aproximacin formal al concepto de agente. Por otra parte, este supuesto se justifica por
el hecho de que an cuando el ambiente no fuese discreto, ste puede ser modelado
como un ambiente discreto con cierto nivel deseable de precisin.
Definamos la competencia de un agente, como el conjunto finito de acciones que
ste puede ejecutar:
Ac = {, 0 , . . . }
Ahora, supongamos que el ambiente se encuentra en algn estado inicial e0 y que el
agente comienza su actividad eligiendo una accin 0 en ese estado. Como resultado
de esta accin, el ambiente puede responder con cierto nmero de estados posibles.
Eventualmente, uno de estos estados posibles resulta de esta interaccin, digamos e1 .
Inmerso en este nuevo estado del ambiente, el agente selecciona otra accin a ejecutar,
y as continua. Una corrida r de un agente en un ambiente es, por lo tanto, una
secuencia finita de estados y acciones intercalados:

u1

0
1
2
3
r = e0
e1
e2
e3
eu

Sea R el conjunto de todas las posibles secuencias finitas sobre E y Ac. Definimos
como el subconjunto de las corridas que terminan en una accin y RE como el
subconjunto de las corridas que terminan en un estado del ambiente.
Para modelar el efecto de una accin en el ambiente, usamos una funcin de transicin entre estados1 que mapea una corrida terminando en accin a un conjunto de
posibles estados del ambiente:
RAc

: RAc (E)
En esta forma, el ambiente se asume como sensible a su historia, esto es, su prximo
estado no est determinado exclusivamente por la accin ejecutada por el agente en
1 Vase Fagin, Halpern, Moses y col. [6], p. 154, pero aqu es aplicada a un solo agente.

11

arquitectura y programa agente

12

el estado actual. Las acciones ejecutadas por el agente en el pasado, tambin afectan
esta transicin. Esta definicin introduce un grado de indeterminismo en el ambiente,
y por lo tanto, incertidumbre sobre el resultado de una accin 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 funcin de
transicin de estados.
Los agentes se modelan como funciones que mapean corridas que terminan en un
estado del ambiente, a acciones:
Ag : RE Ac
Observen que mientras los ambientes se asumen no deterministas, asumimos que
los agentes son deterministas.
Un Sistema agente es una tupla conformada por un agente y un ambiente. El
conjunto de posibles corridas del agente Ag en el ambiente Env se denota como
R(Ag, Env). Por simplicidad, consideraremos por ahora solo corridas finitas. Una secuencia de la forma:

(e0 , 0 , e1 , 1 , e2 , . . . )
representa una corrida del agente Ag en el ambiente Env = hE, e0 , i si y slo si e0 es
el estado inicial del ambiente Env; 0 = Ag(e0 ); y para u > 0:

eu ((e0 , 0 , . . . , u1 ))
y

u = Ag((e0 , 0 , . . . , eu ))
Puesto que nuestra tarea es implementar programas de agente, podemos usar la
formalizacin propuesta para definir un programa de agente que acepte percepciones
de su ambiente y regrese acciones sobre ste. Como habamos mencionado, la forma
ms sencilla de implementar un programa de agente es a travs de su mapeo ideal. El
algoritmo 1 muestra la funcin que implementa un agente de este tipo.
Aunque sta es tambin la forma ms sencilla de fracasar en la construccin de
un agente inteligente. An para agentes en ambientes controlados como el ajedrez, la
tabla del mapeo alcanza ordenes de 10150 entradas. Si consideramos que el nmero
de tomos en el universo observable es menor que 1080 , entenderemos las razones
del fracaso ineludible de esta estrategia.

arquitectura y programa agente


Algorithm 1 Agente basado en mapeo ideal
1: function Agente-Mapeo-Ideal(p)
2:
push(p, perceps)
3:
accion
tabla(perceps)
4:
return accion

5: end function

. p es una percepcin del ambiente.


. perceps es una cola de percepciones.
. tabla : perceps acciones predefinida.

Algorithm 2 Ambiente
1: procedure Ambiente(e, , ags, fin)
2:
repeat
3:
for all ag ags do
4:
p(ag) percibir(ag, e)
5:
end for
6:
for all ag ags do
7:
accion(ag)

ag(p(ag))
8:
end for
S
9:
e ( agags accion(ag))

10:
until fin(e)
11: end procedure

. e es el estado inicial del ambiente.


. ags es un conjunto de agentes.

. es una funcin de transicin del ambiente.


. fin es un predicado de fin de corrida.

Podemos tambin implementar un programa bsico de ambiente que ilustre la relacin entre ste y los agentes situados en l. El algoritmo 2 muestra el programa
Ambiente. La historicidad del ambiente queda oculta en las percepciones del agente.
La funcin percibir/2 mapea estados del ambiente a alguna entrada perceptiva. Los
agentes con formas robticas, pueden implementar percibir/2 usando hardware, por
ejemplo, cmaras de vdeo, sensores infrarrojos, sonares, etc. Los agentes software
pueden implementar esta funcin usando comandos del sistema operativo. El ejemplo 4 muestra diferentes opciones de percepcin para el agente xbiff.
Ejemplo 4. Un agente del estilo de xbiff puede usar el comando de UNIX whoami para
determinar la identidad de su usuario y encontrar as su buzn de correo. Luego puede usar
el comando grep para contar el nmero total de mensajes, el nmero de mensajes ledos, y el
nmero de mensajes abiertos pero no ledos2 .
Sea Per un conjunto no vaco de percepciones, la funcin de percibir/2 se define
como el mapeo del conjunto de estados del ambiente E al conjunto de percepciones
posibles Per:
percibir : E Per
El ejemplo 5 muestra la diferencia entre percepcin 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 posibles como Per = {mensajesNuevos, noMensajesNuevos}, mientras que los estados posibles del ambiente en E son ms complejos, incluyendo como mencion, el login del usuario, el
nmero de cada tipo de mensaje en el buzn, etc.
2 Todas estas etiquetas para los mensajes de correo electrnico se encuentran especificadas por el el estndar de formato para mensajes de texto en ARPA Internet (RFC# 822).

13

14

arquitectura y programa agente


Levitin [12], en su libro sobre nuestro cerebro y la msica, ilustra esta diferencia.
La palabra tono se refiere a la representacin mental que un organismo tiene de la
frecuencia fundamental de un sonido. Un fenmeno enteramente psicolgico relacionado con la frecuencia de las molculas de aire vibrando a nuestro alrededor. Por
psicolgico entendemos que es resultado de una serie de procesos fsico qumicos en
el agente que percibe el tono; que dan lugar a esa representacin interna enteramente 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 construccin de nuestro cerebro. El
filsofo Georges Berkeley planteo esta curiosa pregunta: Si un rbol cae en el bosque
y nadie est ah para escucharlo caer Produjo algn sonido? La respuesta es no.
La funcin accion/1

se define entonces como el mapeo entre conjuntos de percepciones Per y el conjunto de acciones posibles Acc del agente:
accion
: Per Acc
Un agente puede definirse ahora como la tupla Ag = hpercibir, accioni.

Usando
esta extensin, es posible expresar interesantes propiedades sobre la percepcin de
los agentes. Supongamos dos diferentes estados del mismo ambiente, e1 E y e2 E,
tal que e1 6= e2 pero percibir(e1 ) = percibir(e2 ). Entonces tenemos dos estados
diferentes del ambiente que mapean a la misma percepcin, y desde el punto de vista
del agente e1 y e2 son indistinguibles.
Ejemplo 6. Observe que la definicin de Per para el agente estilo xbiff, oculta al agente la
identidad del usuario! Todo lo que el agente cree es que hay un buzn con o sin mensajes
nuevos. Si son mis mensajes o los mensajes del usuario que entr ms tarde al sistema, resulta
indistinguible para nuestro agente.
Dados dos estados del ambiente e, e 0 E, percibir(e) = percibir(e 0 ) ser abreviado
como e e 0 . Observen que es una relacin de equivalencia sobre E. El ambiente
es accesible para el agente, si y slo si |E| = | | y entonces se dice que el agente
es omnisciente. Si | | = 1 entonces se dice que el agente no tiene capacidad de
percepcin, es decir, el ambiente es percibido por el agente como si tuviera un estado
nico, porque todos los estados de ste son idnticos desde la perspectiva del agente.

2.1

agentes reactivos

Consideremos ahora nuestro primer programa de agente concreto. Los agentes reactivos [2], o reflex [9, 19], seleccionan sus acciones basados en su percepcin actual del
ambiente, ignorando el resto de su historia perceptiva. La figura 4 ilustra la interaccin de estos agentes con su ambiente. El ejemplo 7 nos muestra la formulacin del
programa xbiff como si fuese un agente reactivo.
Ejemplo 7. Los estados posibles del ambiente, las acciones y la funcin de seleccin de accin
para xbiff:
E = {correoNuevo}

2.2 agentes con estado

Agente
percepcin

sensado

accin

actuacin
Ambiente

Figura 4: Abstraccin de un agente reactivo.

Ac = {despliegaIconoCorreoNuevo, despliegaIconoCorreoViejo}

despliegaIconoCorreoNuevo Si e = correoNuevo
Ag(e) =
despliegaIconoCorreoViejo En otro caso
La manera ms sencilla de implementar este tipo de programa de agente es mediante reglas condicin-accin. El algoritmo 3 muestra la forma general de un programa
de agente reactivo.
Algorithm 3 Agente reactivo o reflex
1: function Agente-Reactivo(e)
2:
estado percibir(e)
3:
regla seleccionAcci

on(estado,

reglas)
4:
accion
cons(regla)
5:
return accion

6: end function

. reglas condicin-accin predefinidas.


. cons, el consecuente de la regla.

De manera que la formulacin de xbiff puede transformarse, utilizando reglas


condicin-accin, en:
1. If p = correoNuevo Then despliegaIconoCorreoNuevo.
2. If true Then despliegaIconoCorreoViejo.
Aunque hay otras maneras de implementar agentes reactivos, todas comparten una
limitacin formal: producen un comportamiento racional, slo si la decisin correcta
puede obtenerse a partir de la percepcin actual del agente. Esto es, su comportamiento es correcto si, y slo si, el ambiente es accesible o efectivamente accesible.

2.2

agentes con estado

La forma ms 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. Esto es, el agente debe mantener una forma
de estado interno que depende de su historia de percepciones y por lo tanto refleja
al menos algunos de los aspectos del ambiente no observados en la percepcin actual

15

16

arquitectura y programa agente

Ambiente
actuacin

sensado
Agente
percepcin

Siguiente

accin

Estado

Figura 5: Agente con un estado interno.

del agente. Sea I el conjunto de estados internos posibles de un agente. Redefinimos


la funcin accin para mapear estados internos a acciones posibles:
accion
: I Ac
Una nueva funcin siguiente/2, mapea estados internos y percepciones a estados
internos. Se usa para actualizar el estado interno del agente:
siguiente : I Per I
Un agente inicia con algn 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 accin 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 funcin siguiente/2 (lnea 2,
algoritmo 4) modifica el estado interno del agente interpretando su entrada perceptiva, usando el conocimiento que el agente tena sobre el ambiente.
Algorithm 4 Un programa de agente con estado
1: function Agente-Con-Estado(e)
2:
p percibir(e)
3:
estado siguiente(estado, p)
4:
regla seleccionAcci

on(estado,

reglas)
5:
accion
AccionRegla(regla)

6:
return accion

7: end function

2.3

agentes lgicos

La aproximacin tradicional de la Inteligencia Artificial a los sistemas inteligentes,


nos dice que el comportamiento racional puede obtenerse a partir de una representacin simblica del ambiente y el comportamiento deseado. El agente manipular

2.3 agentes lgicos


sintcticamente esta representacin para actuar. Llevada al extremo, esta aproximacin nos lleva a formular el estado de un agente como un conjunto frmulas lgicas
y la seleccin de accin como demostracin de teoremas o deduccin lgica.
El concepto de agente como un demostrador de teoremas es extremadamente seductor. Supongamos que disponemos de una teora que establece como debe comportarse
un agente racional. Tal teora debe explicar como un agente genera sus metas, como explota su comportamiento orientado por las metas y su reactividad, etc. Lo importante
es que esta teora puede considerarse como una especificacin del comportamiento
racional de un agente.
La manera tradicional de implementar un agente que cumpla con la especificacin
de la teora es refinar paso a paso la teora, concretando sus conceptos en estructuras
de datos y procedimientos computacionales ejecutables. Sin embargo, en el enfoque
basado en demostracin de teoremas, tal refinamiento no se lleva a cabo. La teora
se concibe como una especificacin ejecutable directamente por el agente.
Sea L el conjunto de frmulas bien formadas en la lgica de primer orden clsica. 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 , . . . El estado interno
del agente es siempre un miembro de D. El proceso de decisin del agente especifica
mediante un conjunto de reglas de inferencia . Escribimos ` si la fbf puede
ser probada en . Definimos la funcin siguiente/2 del agente como:

siguiente : D Per D

El algoritmo 5 muestra una funcin de seleccin de accin para un agente lgico.


La primera parte de esta funcin (lneas 2 a 6) iteran sobre las acciones del agente
para encontrar una accin a que valide ejecuta(a). Si tal accin no se encuentra, se
busca una accin a (lneas 7 a 11) que al menos sea consistente con el estado interno
del agente. Si no se encuentra ninguna accin, se regresa null para indicar el fallo.
Algorithm 5 Seleccin de accin en un agente lgico
1: function Seleccin-Accin( : 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, base de conocimientos.

17

18

arquitectura y programa agente

2.4

agentes basados en metas

En la tradicin de Inteligencia Artificial, las metas describen situaciones que son


deseables para un agente, y son definidas como cuerpos de conocimiento acerca de los
estados del medio ambiente que el agente desea ver realizados [15]. Esta concepcin
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; un espacio de estados
alcanzables a partir del estado inicial e0 al aplicar cualquier secuencia de operadores;
y un test para verificar si el estado alcanzado es una meta, por ej., pertenece a un subconjunto de E que incluye los estados meta o cumple con determinadas propiedades
especificadas en algn lenguaje lgico.
Implcita en la arquitectura del agente, est su intencin de ejecutar las acciones
que el cree le garantizan satisfacer cualquiera de sus metas. Esto se conoce en filosofa como silogismo prctico y constituye la definicin de racionalidad usada en
Inteligencia Artificial [13, 15].
Es posible especificar las metas que el agente debe satisfacer usando una especificacin basada en predicados. Un predicado en este contexto es definido como la
funcin:

: R {0, 1}
esto es, una funcin de las corridas del agente a 1 (verdadero) o 0 (falso). Se considerar que una corrida r R satisface la especificacin si y slo si (r) = 1. Un
ambiente de tareas se define entonces como el par hEnv, i. Dado un ambiente de
tareas:

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 . 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 especificacin 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 versin optimista de la definicin 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 especificar 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 definicin
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 ms 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


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 ms fcilmente como autnomo
si tiene un conjunto de metas de alto nivel (aquellas que no son submetas de otra
meta) y algunas de ellas son homeostticas (la satisfaccin 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 8. La meta de xbiff, comunicar que hay mensajes en el buzn, es homeosttica.
Cada vez que el estado del medio ambiente le indica al agente la presencia de mensajes, este
ejecutar la accin de cambiar su icono. Sin embargo, xbiff tiene una nica meta.

2.5

agentes basados en funciones de utilidad

Otra forma de comunicarle al agente que hacer, sin decirle como hacerlo, es definiendo sus metas indirectamente, por medio de alguna medida de desempeo, por ej.,
utilidades. Una utilidad es un valor numrico que denota la bondad de un estado
del ambiente. Implcitamente, un agente tiene la intencin de alcanzar aquellos estados que maximizan su utilidad a largo trmino. Por lo tanto, la especificacin de
una tarea en este enfoque corresponde simplemente a una funcin u : E < la cual
asocia valores reales a cada estado del ambiente. Para poder especificar una visin a
largo plazo del desempeo del agente, algunas veces las utilidades no se asignan a
los estados del ambiente, sino a las corridas del agente.
Ejemplo 9. Pensemos en un agente de correo electrnico ms 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:

u(r) =

SpamFiltrado(r)
SpamRecibido(r)

Esto da una medida normalizada del desempeo del agente en el rango de 0 (el agente no
logr filtrar ningn mensaje spam) a 1 (el agente filtr todo el spam recibido) durante la corrida
r.
Asumiendo que la funcin de utilidad u tiene algn lmite 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
rR(Ag,Env)

P(r|Ag, Env) = 1

19

20

arquitectura y programa agente


Entonces el agente ptimo Agopt entre el conjunto de agentes posibles AG en el
ambiente Env est definido como:

Agopt = arg max

AgAG

u(r)P(r|Ag, Env)

rR(Ag,Env)

Esta ecuacin es idntica a la nocin de maximizar la utilidad esperada, tal y como


lo expresan Von Neumann y Morgesten [22] en su libro sobre Teora de la Decisin.
La utilidad esperada se toma conforme a las creencias del agente, por lo que la racionalidad perfecta no requiere omnisciencia. De cualquier forma, como seala Simon
[20], los agentes enfrentan limitaciones temporales y tienen capacidades limitadas de
deliberacin, por lo que propone el estudio de una racionalidad acotada.
Russell y Subramanian [18], introducen el concepto de agente ptimo acotado,
donde el conjunto de agentes posibles AG es remplazado por un subconjunto de
l, identificado como AGm , que representa el conjunto de agentes que pueden ser
implementados en una mquina m con caractersticas especficas, por ej., memoria,
almacenamiento, velocidad de procesador, etc., de forma que las restricciones de optimizacin se imponen en el programa del agente y no en las funciones del agente, sus
deliberaciones o su comportamiento.
Esta concepcin de agente racional nos dice las propiedades del agente deseable
Agopt , pero no nos dice cmo implementar tal agente. En la prctica normalmente
resulta difcil derivar la funcin de utilidad u apropiada para un agente. Para una
descripcin ms detallada del uso de funciones de utilidad en la programacin de los
agentes, vase el Captulo 16 del texto de Russell y Norvig [19].

2.6

lecturas y ejercicios sugeridos

La formalizacin del concepto de agente est basada en el texto de Wooldridge [24],


aunque una fuente ms accesible a este material se encuentra en su libro introductorio
a los Sistemas Multi-Agente [25]. La clasificacin de los agentes y sus programas
est basada en el texto de Russell y Norvig [19]. El artculo de Covrigaru y Lindsay
[4] ofrece una discusin profunda sobre la autonoma en los agentes artificiales. El
antecedente directo al uso de funciones de utilidad en agentes se encuentra en el
trabajo de Von Neumann y Morgesten [22], donde queda de manifiesto una de las
principales ventajas de este enfoque: su formalizacin. El concepto de racionalidad
acotada fue introducido por Simon [20] siendo uno de sus temas preferidos. Una
discusin ms reciente sobre el tema de la racionalidad acotada, puede encontrarse el
artculo de Russell y Subramanian [18].

BIBLIOGRAFA
[1]

Aristteles, Prior analytics no 391, en Loeb Classical Library, Harvard University Press, 1960 (vid. pg. 2).

[2]

R. Brooks, Cambrian Intelligence: the Early History of the New AI. Cambridge, MA.,
USA: MIT Press, 1999 (vid. pgs. 6, 14).

[3]

C. Castelfranchi, Modelling social action for AI agents, Artificial Intelligence,


vol. 103, n.o 1998, pgs. 157-182, 1998 (vid. pg. 5).

[4]

A. Covrigaru y R. Lindsay, Deterministic autonomous systems, AI Magazine,


vol. Fall, pgs. 110-117, 1991 (vid. pgs. 5, 19, 20).

[5]

O. Etzioni, Intelligence without robots, AI Magazine, vol. 14, n.o 4, 1993 (vid.
pg. 6).

[6]

R. Fagin, J. Y. Halpern, Y. Moses y M. Y. Vardi, Reasoning about Knowledge. Cambridge, MA., USA: MIT Press, 1995 (vid. pg. 11).

[7]

L. Foner, Whats an agent, anyway? a sociological case study, MIT Media Lab,
Cambridge, MA., USA, inf. tc. Agents Memo 93-01, 1993 (vid. pg. 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. Wooldridge y N. Jennings, eds., Berlin, Germany: Springer-Verlag, 1997, pgs. 21-36
(vid. pg. 2).

[9]

M. Genesereth y N. Nilsson, Logical Foundations for Artificial Intelligence. Palo


Alto, CA., USA: Morgan Kauffman Publishers, Inc., 1987 (vid. pg. 14).

[10]

M. Huns y M. Singh, eds., Readings in Agents. San Mateo, CA., USA: Morgan
Kauffman Publisher, 1998 (vid. pg. 9).

[11]

J. Lanier, Agents of alienation, Interactions, vol. 2, n.o 3, pgs. 66 -72, 1995,


First published at the beginning of the 90s in Voyager e-zine (vid. pg. 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. pg. 14).

[13]

J. McCarthy, Programs with common sense, en Proceedings of the Symposium on


the Mechanization of Thought Processes, Teddington, England, 1959 (vid. pg. 18).

[14]

W. Muller-Freienfels, Agency, en Encyclopedia Britannica, Internet version, Encyclopedia Britannica, Inc., 1999 (vid. pg. 2).

[15]

A. Newell, The knowledge level, AI Magazine, vol. 2, pgs. 1-20, 1981 (vid.
pg. 18).

[16]

, Unified Theories of Cognition. Cambridge, MA., USA: Harvard University


Press, 1990 (vid. pg. 5).

[17]

J. Rawls, A Theory of Justice. New York, NJ., USA: Oxford University Press, 1973
(vid. pg. 5).

21

22

bibliografa
[18]

S. Russell y D. Subramanian, Provably bounded-optimal agents, Journal of


Artificial Intelligence Research, vol. 2, pgs. 575-609, 1995 (vid. pgs. 2, 20).

[19]

S. Russell y P. Norvig, Artificial Intelligence: A Modern Approach, Segunda, p.


Prentice Hall Series in Artificial Intelligence. USA: Prentice Hall, 2003 (vid.
pgs. 1, 2, 6, 8, 9, 14, 20).

[20]

H. Simon, Models of Bounded Rationality. Cambridge, MA., USA: MIT Press, 1982,
vol. 2 (vid. pg. 20).

[21]

F. Varela, Invitation aux Science Cognitives. Paris, France.: Editions du Seuil, 1989
(vid. pg. 1).

[22]

J. Von Neumann y O. Morgesten, Theory of Games and Economic Behavior. Princeton, USA.: Princeton University Press, 1947 (vid. pg. 20).

[23]

G. Wei, ed., Multiagent Systems, a modern approach to Distributed Artificial Intelligence. Cambridge, MA., USA: MIT Press, 1999 (vid. pg. 9).

[24]

M. Wooldridge, Reasoning about Rational Agents. Cambridge, MA., USA: MIT


Press, 2000 (vid. pgs. 11, 20).

[25]

, An Introduction to MultiAgent Systems. West Sussex, England: John Wiley


& Sons, LTD, 2002 (vid. pgs. 2, 9, 20).

[26]

M. Wooldridge y N. Jennings, Intelligent agents: theory and practice, The


Knowledge Engineering Review, vol. 10, n.o 2, pgs. 115-152, 1995 (vid. pgs. 2, 4,
8).

S-ar putea să vă placă și