Programacion de Agentes y´ Sistemas Multi-Agentes · Gustavo Ortiz-Hernandez (Guerra-Hern´ andez...

22
Dr. Alejandro Guerra-Hern´ andez Programaci´ on de Agentes y Sistemas Multi-Agentes 9 de mayo de 2011 Departamento de Inteligencia Artificial

Transcript of Programacion de Agentes y´ Sistemas Multi-Agentes · Gustavo Ortiz-Hernandez (Guerra-Hern´ andez...

Page 1: Programacion de Agentes y´ Sistemas Multi-Agentes · Gustavo Ortiz-Hernandez (Guerra-Hern´ andez et al., ... 11 2. Arquitecturas y programas de agente..... 13 2.1. Arquitecturas

Dr. Alejandro Guerra-Hernandez

Programacion de Agentes ySistemas Multi-Agentes

9 de mayo de 2011

Departamento de Inteligencia Artificial

Page 2: Programacion de Agentes y´ Sistemas Multi-Agentes · Gustavo Ortiz-Hernandez (Guerra-Hern´ andez et al., ... 11 2. Arquitecturas y programas de agente..... 13 2.1. Arquitecturas
Page 3: Programacion de Agentes y´ Sistemas Multi-Agentes · Gustavo Ortiz-Hernandez (Guerra-Hern´ andez et al., ... 11 2. Arquitecturas y programas de agente..... 13 2.1. Arquitecturas

Universidad VeracruzanaDepartamento de Inteligencia Artificial

Sebastian Camacho No. 5, Xalapa., Ver.,Mexico 91000

Tel: +52 228 8172957

Fax: +52 228 8172855

Email: [email protected]

Page 4: Programacion de Agentes y´ Sistemas Multi-Agentes · Gustavo Ortiz-Hernandez (Guerra-Hern´ andez et al., ... 11 2. Arquitecturas y programas de agente..... 13 2.1. Arquitecturas
Page 5: Programacion de Agentes y´ Sistemas Multi-Agentes · Gustavo Ortiz-Hernandez (Guerra-Hern´ andez et al., ... 11 2. Arquitecturas y programas de agente..... 13 2.1. Arquitecturas

Prefacio

Estas notas constituyen el material de apoyo para el curso de Programacion deAgentes y Sistemas Multi-Agentes (SMA) de la Maestrıa en Inteligencia Artificialen la Universidad Veracruzana. El curso ha sido ofertado por la Facultad de Fısicae Inteligencia Artificial en cinco ocasiones, dando lugar a cinco tesis de maestrıa.Aunque se trata de un curso general sobre los SMA, el contenido del mismo esta in-fluenciado por las Lıneas de Generacion y Aplicaciom del Conocimiento del Depar-tamento de Inteligencia Artificial. Por ejemplo, asumimos una clara preferencia porel enfoque Belief-Desire-Intention (BDI) para la agencia racional.

El objetivo del curso es introducir el concepto de agente y los problemas asocia-dos a la concepcion de estos sistemas; ası como las diferentes tecnicas de programa-cion de agentes propuestas en el area de Inteligencia Artificial. Se propone tambienestudiar la comunicacion, colaboracion y otras interacciones entre agentes, desdela perspectiva de los Sistemas Multi-Agente (SMA). Para ello se utilizan diferentesformalismos y arquitecturas propuestos en la literatura.

Parte de este material ha sido elaborado en colaboracion con tesistas a mi car-go. Gustavo Ortiz-Hernandez (Guerra-Hernandez et al., 2008c; Guerra-Hernandezy Ortız-Hernandez, 2008) trabajo sobre la implementacion del protocolo de apren-dizaje intencional en AgentSpeak(L), con base en el interprete Jason (Bordini et al.,2007). La aportacion central de su trabajo fue portar parcialmente nuestro enfoquesobre el aprendizaje intencional de una arquitectura de agentes a un lenguaje de pro-gramacion orientado a agentes. Rosibelda Mondragon-Becerra (Guerra-Hernandezet al., 2006, 2008b), trabajo sobre un SMA embebido en WEKA, la concida herra-mienta de Minerıa de Datos, para estudiar un enfoque multi-agente a las interfacesinteligentes en ese contexto. Jose Martın Castro-Manzano (Guerra-Hernandez et al.,2008a, 2009; Castro-Manzano et al., 2009, 2010b,a) trabajo en la especificacionformal de las propiedades BDI en AgentSpeak(L) y propuso una logica con com-ponentes intencionales y temporales para poder verificar dichas propiedades. CarlosAlberto Gonzalez-Alarcon (Guerra-Hernandez et al., 2010a,b) trabajo en la imple-mentacion de una librerıa aprendizaje para Jason, incluido el un algoritmo inductivode arboles logicos de decision.

VII

Page 6: Programacion de Agentes y´ Sistemas Multi-Agentes · Gustavo Ortiz-Hernandez (Guerra-Hern´ andez et al., ... 11 2. Arquitecturas y programas de agente..... 13 2.1. Arquitecturas

VIII Prefacio

El curso cuenta tambien con la colaboracion del Dr. Francisco Grimaldo de laUniversidad de Valencia, Espana, quien ofrece un modulo de este curso sobre sulibrerıa para la toma de decisiones sociales multi-modales en Jason: Jmadem (Gri-maldo et al., 2010, 2011). En contrapartida, el curso se ve beneficidado de mi expe-riencia como profesor visitante en Valencia, en el master de Computacion Avanzaday Sistemas Inteligentes.

A continuacion encontran los detalles sobre la mecanica del curso 2011, inclu-yendo las evaluaciones y su calendario. Al final, encontraran una lista de referen-cias pertinentes para el mismo. Finalmente, el curso esta dedicado a Amal El FallahSeghrouchni y a Henry Soldano, con quienes desarrolle el concepto de aprendiza-je intencional (Guerra-Hernandez et al., 2001, 2004b,c,a) durante mi doctorado enParis 13.

Xalapa, Ver., Mexico AlejandroAbril 2011 Guerra-Hernandez

Evaluacion

El estudiante sera evaluado conforme a su participacion en clase, la calidad de sustareas y el resultado que obtenga en el examen final. La nota final, sera calculada,aproximadamente, de la siguiente forma:

4 tareas para el 50% de la nota final.La participacion en un debate y/o exposicion, ası como la participacion duranteel curso para el 10% de la nota final.El proyecto final para el 40% de la nota final.

Para obtener una nota aprobatoria, el alumno debera haber obtenido notas apro-batorias en cada uno de las tareas a realizar, el debate y el examen final, i.e., noaprobar cualquier elemento de la evaluacion, implica no aprobar el curso.

Tareas

Durante el curso, se asignaran 4 tareas. Las tareas deberan entregarse a las13:00am del dıa para ello designado. El merito del trabajo decrece 25% por cada24 horas de retraso. Las tareas pueden requerir investigacion bibliografica y experi-mentacion en la computadora (el estudiante es libre de elegir el lenguaje de imple-mentacion que utilizara en estos experimentos). Todos los trabajos deberan incluiral pie de cada pagina: i) el nombre del estudiante; ii) el nombre del curso; iii) elnumero de trabajo; y iv) el numero de la pagina. Solo se acepta papel carta 8’x11’.

Page 7: Programacion de Agentes y´ Sistemas Multi-Agentes · Gustavo Ortiz-Hernandez (Guerra-Hern´ andez et al., ... 11 2. Arquitecturas y programas de agente..... 13 2.1. Arquitecturas

Prefacio IX

En todas las partes que involucran codigo, este debera ser documentado apropiada-mente. Los trabajos son evaluados de la siguiente manera: Para que un ejercicio opregunta reciba creditos, mas del 50% debera estar resuelta de manera correcta ocompleta (es mas reduitable invertir el tiempo en contestar una pregunta de maneracorrecta y completa, que responder a dos de manera parcial).

La discusion entre los estudiantes es uno de los aspectos mas enriquecedores enun programa de maestrıa. Es sumamente importante que discutan entre ustedes lastareas, pero toda discusion al respecto debera ser de manera oral. En ningun mo-mento podra un estudiante consultar las notas de trabajo escrito de otro. Cualquieranomalıa en este sentido, causa expulsion definitiva del curso. La fecha de entregade las tareas aparece en la seccion de calendario de este documento.

Debates y Exposiciones

Cada alumno debera participar en una exposicion y/o debate, durante el curso.Tanto las exposiciones, como los debates, estan relacionados con lecturas suple-mentarias al contenido del curso. En el caso de los debates, la postura a defendersera asignada por el instructor del curso, quien fungira como moderador. El ganadorsera designado por el publico asistente (en principio, solo los asistentes al curso). Eltema para las exposiciones de est ano seran los lenguajes de programacion orienta-dos a agentes Bordini et al. (2005).

Proyecto final

Con los elementos de la primera parte del curso, se organizaran equipos de trespersonas para llevar a cabo un proyecto final que refleje alguno de los temas revi-sados en la primera parte del curso. Algunos proyectos que se han llevado a caboen el curso incluyen busquedas de informacion bibliografica en la web, interfacesinteligentes para el descubrimiento en bases de datos (que posteriormente se trabajocomo una tesis de maestrıa), busquedas en repositorios web como Amazon o Ebay,etc.

Calendario

Las sesiones del curso se llevaran a cabo los martes, los jueves y los viernes. Lassesiones seran de dos horas. El contenido de las mismas es como sigue:

Page 8: Programacion de Agentes y´ Sistemas Multi-Agentes · Gustavo Ortiz-Hernandez (Guerra-Hern´ andez et al., ... 11 2. Arquitecturas y programas de agente..... 13 2.1. Arquitecturas

X Prefacio

Fecha Tema Tarea25/04/2011 Conceptos basicos.29/04/2011 Arquitecturas y programas de agente. T102/05/2011 Agentes intencionales: razonamiento practico.06/05/2011 Agentes intencionales: modelos formales 1.09/05/2011 Agentes intencionales: modelos formales 2. T213/05/2011 AgentSpeak(L)16/05/2011 Jason20/05/2011 Acciones y Medios ambiente en Jason T323/05/2011 Metodologıa Prometheus y PDT27/05/2011 Interaccion y accion social.30/05/2011 Comunicacion y Actos de habla.03/06/2011 Interacciones y Utilidad.06/06/2011 Resolucion cooperativa de problemas. T410/06/2011 Acuerdos13/07/2011 Cooperacion17/07/2011 Aprendizaje Intencional Proyecto20/07/2011 Proyecto24/07/2011 Proyecto27/07/2011 Proyecto01/07/2011 Entrega de Proyectos finales04/07/2011 Decisiones Sociales Multimodales: JMadem08/07/2011 Aplicaciones: JMadem

Page 9: Programacion de Agentes y´ Sistemas Multi-Agentes · Gustavo Ortiz-Hernandez (Guerra-Hern´ andez et al., ... 11 2. Arquitecturas y programas de agente..... 13 2.1. Arquitecturas

Indice general

Parte I Agentes

1. Conceptos basicos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31.1. Agentes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31.2. Comportamiento flexible y autonomo . . . . . . . . . . . . . . . . . . . . . . . . . . 61.3. Medio Ambiente . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 71.4. Agentes Racionales y Robots . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 91.5. PEAS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 101.6. Lecturas y ejercicios sugeridos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11

2. Arquitecturas y programas de agente . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 132.1. Arquitecturas de Agente . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 132.2. Agentes reactivos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 172.3. Agentes con estado . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 182.4. Agentes logicos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 192.5. Agentes basados en Metas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 202.6. Agentes basados en funciones de utilidad . . . . . . . . . . . . . . . . . . . . . . . 222.7. Lecturas y ejercicios sugeridos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23

Parte II Agentes Intencionales BDI

3. Fundamentos: Intencionalidad y Computacion . . . . . . . . . . . . . . . . . . . . 313.1. Intencionalidad . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 323.2. Sistemas Intencionales . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 33

3.2.1. Posturas fısica, de diseno e Intencional . . . . . . . . . . . . . . . . . . 333.2.2. La postura Intencional . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 343.2.3. Escala de Intencionalidad . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 353.2.4. Teorıas Intencionales del Comportamiento . . . . . . . . . . . . . . . 353.2.5. Comunicacion y Estados Mentales . . . . . . . . . . . . . . . . . . . . . . 37

3.3. Actos de Habla . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 383.3.1. Actos de habla y estados Intencionales . . . . . . . . . . . . . . . . . . 39

XI

Page 10: Programacion de Agentes y´ Sistemas Multi-Agentes · Gustavo Ortiz-Hernandez (Guerra-Hern´ andez et al., ... 11 2. Arquitecturas y programas de agente..... 13 2.1. Arquitecturas

XII Indice general

3.3.2. Retomando los estados Intencionales . . . . . . . . . . . . . . . . . . . . 423.4. Intenciones, Planes y Razonamiento Practico . . . . . . . . . . . . . . . . . . . 43

3.4.1. Planes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 453.4.2. La tesis de asimetrıa . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 45

3.5. Intencionalidad, Agencia y Computacion . . . . . . . . . . . . . . . . . . . . . . . 463.5.1. Requisitos computacionales . . . . . . . . . . . . . . . . . . . . . . . . . . . 473.5.2. AOP vs OOP . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 48

3.6. Lecturas y ejercicios sugeridos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 49

Referencias . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 51

Page 11: Programacion de Agentes y´ Sistemas Multi-Agentes · Gustavo Ortiz-Hernandez (Guerra-Hern´ andez et al., ... 11 2. Arquitecturas y programas de agente..... 13 2.1. Arquitecturas

Parte IAgentes

Page 12: Programacion de Agentes y´ Sistemas Multi-Agentes · Gustavo Ortiz-Hernandez (Guerra-Hern´ andez et al., ... 11 2. Arquitecturas y programas de agente..... 13 2.1. Arquitecturas
Page 13: Programacion de Agentes y´ Sistemas Multi-Agentes · Gustavo Ortiz-Hernandez (Guerra-Hern´ andez et al., ... 11 2. Arquitecturas y programas de agente..... 13 2.1. Arquitecturas

Capıtulo 1Conceptos basicos

1.1. Agentes

La Inteligencia Artificial tiene como objetivo el estudio de las entidades inteli-gentes; pero a diferencia de la filosofıa, la psicologıa, las neurociencias, y demasdisciplinas cuyo objeto de estudio esta relacionado con la inteligencia, su meta notiene que ver unicamente con la comprension de estas entidades, sino con su cons-truccion. La construccion de agentes racionales como concepto unificador dentrode la Inteligencia Artificial, constituye el curiosamente llamado, nuevo enfoque dela Inteligencia Artificial, claramente definido en el texto introductorio de Russelly Norvig (2003). Incluso antagonistas de las tecnologıas basadas en agentes, co-mo Lanier1, coinciden en que el concepto de agente es inherente al de InteligenciaArtificial.

Por otra parte, Varela (1989) le da un lugar a la Inteligencia Artificial entrelas Ciencias Cognitivas, con base en una definicion de objetivos comparable a laaquı presentada. Resulta por lo tanto sorprendente, que no sea hasta mediados delos anos ochenta que el concepto de agente es incorporado como un tema que sepretende unificador.

Historicamente, fuera de la Inteligencia Artificial, el termino agente ha sido usa-do con dos acepciones. Primero, a partir de Aristoteles (1960) y hasta nuestros dıas,los filosofos usan el termino agente para referirse a una entidad que actua con unproposito dentro de un contexto social. Segundo, la nocion legal de agente, comola persona que actua en beneficio de otra con un proposito especıfico, bajo la de-legacion limitada de autoridad y responsabilidad, estaba ya presente en el derechoRomano y ha sido ampliamente utilizada en economıa (Muller-Freienfels, 1999).

1 Lanier (1995) argumenta que la interaccion de los agentes artificiales con los humanos, difıcil-mente pueden calificarse de inteligente. En su opinion nuestros actuales agentes resultan un ver-dadero peligro para la humanidad – Estos agentes no se volveran inteligentes, pero los humanosajustaran su comportamiento y sus expectativas al limitado comportamiento de algo que se les hapresentado como inteligente.

3

Page 14: Programacion de Agentes y´ Sistemas Multi-Agentes · Gustavo Ortiz-Hernandez (Guerra-Hern´ andez et al., ... 11 2. Arquitecturas y programas de agente..... 13 2.1. Arquitecturas

4 1 Conceptos basicos

En el contexto de la computacion (Wooldridge, 2002), el concepto de agente seconsolida como una solucion a las demandas actuales: ubicuidad, interconexion, in-teligencia, delegacion y homocentrismo. Esto es, en entornos donde tenemos unadiversidad de dispositivos de computo distribuidos en nuestro entorno e interco-nectados, los agentes inteligentes emergen como la herramienta para delegar ade-cuadamente nuestro trabajo y abordar esta problematica desde una perspectiva masfamiliar para usuarios, programadores y disenadores.

Franklin y Graesser (1997) argumentan que todas las definiciones del terminoagente en el contexto de la Inteligencia Artificial, se basan en alguna de estas dosacepciones historicas. Una definicion consensual de agente (Wooldridge y Jennings,1995; Russell y Norvig, 2003) puede ser:

Un agente es un sistema computacional capaz de actuar de manera autonoma para satisfacersus objetivos y metas, mientras se encuentra situado persistentemente en su medio ambiente.

Esta definicion que puede parecer demasiado general, provee una abstracciondel concepto de agente basada en su presencia e interaccion con el medio ambiente(Ver la Figura 1.1). Russell y Subramanian (1995) encuentran que esta abstraccionpresenta al menos tres ventajas:

1. Nos permite observar las las facultades cognitivas de los agentes al servicio deencontrar como hacer lo correcto.

2. Permite considerar diferentes tipos de agente, incluyendo aquellos que no se su-pone tengan tales facultades cognitivas.

3. Permite considerar diferentes especificaciones sobre los sub-sistemas que com-ponen los agentes.

Ambiente

agentePercepción

Acción

Figura 1.1 Abstraccion de un agente a partir de su interaccion con el medio ambiente.

Consideren el ejemplo 1. Es discutible concebir un daemon de sistema operativocomo un agente, pero tal sistema cumple con la definicion consensual de agente.Es mas, este agente se las arregla para identificar a su usuario, encontrar su buzonelectronico en la red, buscar mensajes nuevos y comunicar al usuario la presencia deestos. Las tres ventajas senaladas de tal definicion, se aplican en este caso. El resul-tado inmediato es que podemos aproximar la definicion de xbiff de una maneramas comprensible para el usuario.

Page 15: Programacion de Agentes y´ Sistemas Multi-Agentes · Gustavo Ortiz-Hernandez (Guerra-Hern´ andez et al., ... 11 2. Arquitecturas y programas de agente..... 13 2.1. Arquitecturas

1.1 Agentes 5

Ejemplo 1 El deamon de X Windows xbiff esta situado en un ambiente UNIX,vigilando constantemente el buzon de su usuario para avisarle cuando llegan men-sajes nuevos a traves de una interfaz grafica.

Si bien hemos presentado al xbiff como un agente, no hemos dicho que se tratede una entidad inteligente. Se dice que un agente es racional si hace lo correcto2.Una primera aproximacion a la definicion de lo “correcto” consiste en asumir queuna accion correcta es aquella que causa que el agente tenga un mayor exito. Estoreduce el problema de la racionalidad a definir como y cuando se debe evaluar el“exito” del agente.

El termino medida de desempeno se refiere al criterio usado para determinarel exito de un agente. Es preferible manejar una medida de desempeno objetivaimpuesta por alguna forma de autoridad. Esto es, nosotros como observadores es-tableceremos para cada agente, un estandar de lo que significa ser exitoso en unambiente dado, y usaremos ese estandar para medir el desempeno del agente. Bajoninguna circunstancia, el agente puede manipular3 tal estandar. El ejemplo 2 nosmuestra una medida de desempeno que cumple con las caracterısticas mencionadas.

Ejemplo 2 En el Concurso Nacional de Robots Limpiadores 2005 (Xalapa, Ver.), eldesempeno del agente es establecido por un estandar externo al agente, especificadomediante la formula de evaluacion disenada por los organizadores:

PT = ∑i(CLi ×DAi)× (T Max/TOper)

donde: PT es el puntaje total. El segundo termino evalua la persistencia del agente:T Max es el tiempo maximo de la prueba y TOper es el tiempo que el robot semantuvo en operacion. Si el robot trabaja durante toda la prueba no es penalizado,si no la puede terminar, si lo es. El primer termino evalua la capacidad del agente.Para ello el piso a limpiar, rectangular, se divide conceptualmente en celdas. CLies la i-esima celda limpiada con exito, o si se prefiere toma valor 1 si la celda selimpio, y 0 en caso contrario. DAi es el valor de dificultad de acceso a la i-esimacelda limpiada.

Es necesario precisar que la racionalidad de un agente se define en relacion con elexito esperado dado lo que el agente ha percibido. Esto es, no podemos exigir a unagente que tome en cuenta lo que no puede percibir, o haga lo que sus efectores nopueden hacer. Por lo tanto, la racionalidad de un agente a un tiempo dado dependede:

La medida de desempeno que define el estandar de exito.La secuencia de percepciones del agente, esto es, todo lo que el agente hallapercibido hasta el tiempo dado.El conocimiento del agente sobre el medio ambiente en el que esta situado.

2 En su ingles original, la frase tiene mayor peso –Do the right thing.3 Un agente que manipula la medida de desempeno, suele llegar a razonamientos del tipo –Al finy al cabo, quien diablos quiere una maestrıa.

Page 16: Programacion de Agentes y´ Sistemas Multi-Agentes · Gustavo Ortiz-Hernandez (Guerra-Hern´ andez et al., ... 11 2. Arquitecturas y programas de agente..... 13 2.1. Arquitecturas

6 1 Conceptos basicos

La habilidad del agente, esto es, las acciones que el agente puede llevar a cabocon cierta destreza.

Un agente racional ideal es aquel que para toda secuencia de percepciones posi-ble, selecciona y ejecuta una accion que se espera maximice la medida de desem-peno, con base en la informacion que proveen su percepcion y conocimiento sobreel ambiente.

Luego entonces, es posible describir un agente por medio de una tabla con lasacciones que el agente toma en respuesta a cada posible secuencia de percepciones.Esta tabla se conoce como el mapeo percepcion-accion. Por lo tanto un mapeoideal describe a un agente ideal y define el diseno de un agente ideal. A la busquedade un mecanismo que aproxime este mapeo ideal, se le conoce como el problemade seleccion de accion. El ejemplo 3 muestra el mapeo ideal de xbiff.

Ejemplo 3 En el caso de xbiff el mapeo ideal es muy sencillo. Si el buzon con-tiene al menos un mensaje con la etiqueta “nuevo”, desplegar el icono de mensajenuevo; en cualquier otro caso, desplegar el icono de mensajes leıdos.

1.2. Comportamiento flexible y autonomo

Independientemente de la implementacion usada para construir a xbiff, no re-sulta natural identificar a los daemons de UNIX como agentes y menos aun comoagentes inteligentes. Foner (1993) argumenta que para ser percibido como inteligen-te, un agente debe exhibir cierto tipo de comportamiento, caracterizado mas tardepor Wooldridge y Jennings (1995), como comportamiento flexible y autonomo.Este tipo comportamiento se caracteriza por su:

Reactividad. Los agentes inteligentes deben ser capaces de percibir su medioambiente y responder a tiempo a los cambios en el, a traves de sus acciones.Iniciativa. Los agentes inteligentes deben exhibir un comportamiento orientadopor sus metas, tomando la iniciativa para satisfacer sus objetivos de diseno (pro-activeness).Sociabilidad. Los agentes inteligentes deben ser capaces de interaccionar conotros agentes, posiblemente tan complejos como los seres humanos, con miras ala satisfaccion de sus objetivos.

Una caracterizacion mas detallada de autonomıa es presentada por Covrigaru yLindsay (1991). Su desiderata, que incluye algunos de los aspectos ya mencionados,expresa que un agente se percibe como autonomo en la medida en que:

1. Su comportamiento esta orientado por sus metas y es capaz de seleccionar quemeta va a procesar a cada instante.

2. Su existencia se da en un perıodo relativamente mayor al necesario para satisfacersus metas.

Page 17: Programacion de Agentes y´ Sistemas Multi-Agentes · Gustavo Ortiz-Hernandez (Guerra-Hern´ andez et al., ... 11 2. Arquitecturas y programas de agente..... 13 2.1. Arquitecturas

1.3 Medio Ambiente 7

3. Es lo suficientemente robusto como para seguir siendo viable a pesar de los cam-bios en el ambiente.

4. Puede interaccionar con su ambiente en la modalidad de procesamiento de infor-macion.

5. Es capaz de exhibir una variedad de respuestas, incluyendo movimientos deadaptacion fluidos; y su atencion a los estımulos es selectiva.

6. Ninguna de sus funciones, acciones o decisiones, esta totalmente gobernada porun agente externo.

7. Una vez en operacion, el agente no necesita ser programado nuevamente por unagente externo.

De entre todos estos puntos, el sexto requiere una defensa rapida puesto que ladimension social de los agentes sera abordada hasta la tercera parte de este tex-to4. En filosofıa polıtica liberal, es aceptado que los agentes solo pueden llegar aser autonomos si se da un conjunto de condiciones necesarias para ello. Diferentescondiciones son consideradas, por ejemplo Rawls (1973) habla de bienes primarios,bienes que son medios necesarios para que el agente tenga mayor exito para satisfa-cer sus “intenciones” y avanzar en su plan de vida a largo termino. Es necesaria unapluralidad de tales bienes para configurar lo que el llama contexto de eleccion. Estapluralidad es posible unicamente si el agente tiene una relacion cercana con su am-biente social y cultural. En el contexto de Inteligencia Artificial, es Newell (1990)en su Unified Theories of Cognition (p. 20), quien ofrece argumentos similares.

Covrigaru y Lindsay argumentan que ser autonomo, depende no solo de la ha-bilidad para seleccionar metas u objetivos de entre un conjunto de ellos, ni de lahabilidad de formularse nuevas metas, sino de tener el tipo adecuado de metas. Losagentes artificiales son usualmente disenados para llevar a cabo tareas por nosotros,de forma que debemos comunicarles que es lo que esperamos que hagan. En unsistema computacional tradicional esto se reduce a escribir el programa adecuadoy ejecutarlo. Un agente puede ser instruido sobre que hacer usando un programa,con la ventaja colateral de que su comportamiento estara libre de incertidumbre.Pero programar un agente de esta forma, atenta contra su autonomıa, teniendo co-mo efecto colateral la incapacidad del agente para enfrentar situaciones imprevistasmientras ejecuta su programa. Las metas y las funciones de utilidad son dos manerasde indicarle a un agente lo que hacer, sin decirle como hacerlo.

1.3. Medio Ambiente

Por medio ambiente, entendemos el espacio donde un agente, o un grupo de ellos,se encuentra situado. Brooks (1999) argumenta que el medio ambiente por excelen-cia es el mundo real, y en su propuesta todo agente toma una forma robotica. Porel contrario, Etzioni (1993), considera que no es necesario que los agentes tengan

4 Castelfranchi (1998) presenta una excelente introduccion a las interacciones sociales entre agen-tes.

Page 18: Programacion de Agentes y´ Sistemas Multi-Agentes · Gustavo Ortiz-Hernandez (Guerra-Hern´ andez et al., ... 11 2. Arquitecturas y programas de agente..... 13 2.1. Arquitecturas

8 1 Conceptos basicos

implementaciones roboticas porque los ambientes virtuales, como los sistemas ope-rativos y el web, son igualmente validos que el mundo real. En esta presentacionasumimos la posicion de Etzioni, resaltando que lo importante es que la interacciondel agente con su ambiente se de en los terminos senalados en nuestra definicionde agente, esto es, en forma autonoma bajo persistencia temporal. Russell y Nor-vig (2003) senalan que, mas alla de esta controversia, es importante identificar queexisten diferentes tipos de ambientes:

Observable vs. Parcialmente observable. Si los sensores de un agente le per-miten percibir el estado completo del ambiente en cada punto en el tiempo, de-cimos que el ambiente es observable. Un ambiente es efectivamente observablesi los sensores del agente detectan todos los aspectos relevantes para decidir queaccion debe llevarse a cabo. Relevancia aquı depende de la definicion de fun-cion de desempeno. Los ambientes observables son convenientes debido a queen ellos, un agente no necesita mantener el historial de estados del ambiente paraser efectivo. Un ambiente puede ser parcialmente observable debido a la impre-cision y el ruido en los sensores; o bien porque algunos aspectos del ambientecaen fuera del rango de lectura de los sensores.Determinista vs. Estocastico. Si el proximo estado del ambiente esta determi-nado por la accion que ejecuta el agente, se dice que el ambiente es determinista.Si otros factores influyen en el proximo estado del ambiente, este es estocastico.Si el ambiente es parcialmente observable, entones aparecera como no estocasti-co. Esto es particularmente cierto en el caso de ambientes complejos, donde esdifıcil dar seguimiento a los aspectos no observables del ambiente. Generalmentees mejor considerar estas propiedades del ambiente, desde el punto de vista delagente. El caracter estocastico 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 resul-tado deseado por el agente.

Por ello, es mas sencillo construir agentes en ambientes deterministas. Si el am-biente es determinista, excepto para las acciones de otros agentes, se dice que elambiente es estrategico.Episodico vs. Secuencial. En un ambiente episodico, la experiencia de un agentepuede evaluarse en rondas. Las acciones se evaluan en cada episodio o ronda ,esto es, la calidad de la accion en los episodios subsecuentes, no depende de lasacciones ocurridas en episodios previos. Por ejemplo, el detector de basura en lasbotellas de una cervecerıa es episodico: la decision de si una botella esta suciao no, no depende de los casos anteriores. Dada la persistencia temporal de losagentes, estos tienen que hacer continuamente decisiones locales que tienen con-secuencias globales. Los episodios reducen el impacto de estas consecuencias, ypor lo tanto es mas facil construir agentes en ambientes episodicos. Un programaque juega ajedrez esta en un ambiente secuencial.Estatico vs. Dinamico. Si el ambiente puede cambiar mientras el agente se en-cuentra deliberando, se dice que es dinamico; de otra forma, se dice estatico. Si

Page 19: Programacion de Agentes y´ Sistemas Multi-Agentes · Gustavo Ortiz-Hernandez (Guerra-Hern´ andez et al., ... 11 2. Arquitecturas y programas de agente..... 13 2.1. Arquitecturas

1.4 Agentes Racionales y Robots 9

el ambiente no cambia con el paso del tiempo, pero si lo hace con las accionesdel agente si lo hace, se dice que el ambiente es semi-dinamico. Los ambientesdinamicos tienen dos consecuencias importantes: Un agente debe percibir conti-nuamente, porque aun si no ha ejecutado ninguna accion entre los tiempos t0 y t1,el agente no puede asumir que el estado del ambiente sea el mismo en t0 que ent1; Otros procesos en el ambiente pueden interferir con las acciones del agente,incluyendo las acciones de otros agentes. Por lo tanto, es mas sencillo disenaragentes en ambientes estaticos.Discreto vs. Continuo. Si hay un numero limitado de posibles estados del am-biente, distintos y claramente definidos, se dice que el ambiente es discreto; deotra forma se dice que es continuo. Esta propiedad puede aplicarse al estado delambiente; a la forma en que se registra el tiempo y; a las percepciones y accionesde los agentes.Es mas facil construir agentes en ambientes discretos, porque lascomputadoras tambien son sistemas discretos y aunque es posible simular siste-mas continuos con el grado de precision deseado, una parte de la informaciondisponible se pierde al hacer esta aproximacion. Por lo tanto, la informacion quemanejan los agentes discretos en ambientes continuos es inherentemente aproxi-mada.Mono vs. Multi-Agente A pesar de que esta categorizacion de los ambientesparece obvia, esconde una cuestion en extremo relevante: ¿Que entidades en elsistema son considerados por el agente como agentes? En general, un agenteconsiderara a otra entidad como un agente si su desempeno depende del com-portamiento de esa entidad. La clave aquı es el concepto de interaccion que dalugar a ambientes competitivos y cooperativos.

Esta categorizacion sugiere que es posible encontrar diferentes clases de ambien-tes. Russell y Norvig (2003) presentan algunos ejemplos de ambientes bien estudia-dos en Inteligencia Artificial y sus propiedades (ver Cuadro 1.1). Cada ambiente,o clase de ambientes, requiere de alguna forma agentes diferentes para que estostengan exito. La clase mas compleja de ambientes corresponde a aquellos que soninaccesibles, no episodicos, dinamicos, continuos y multi-agente, lo que desgracia-damente corresponde a nuestro ambiente cotidiano.

1.4. Agentes Racionales y Robots

Con los elementos discutidos hasta ahora, es posible definir a un agente racionalcomo aquel que exhibe un comportamiento flexible y autonomo, mientras esta si-tuado en un sistema de informacion, por ej., un sistema operativo o el web. Estoconstituye lo que Wooldridge y Jennings (1995) llaman la nocion debil de agente,como contra parte de una nocion fuerte que ademas de las propiedades menciona-das hasta ahora, utiliza terminos que hacen referencia a propiedades que solemosaplicar exclusivamente a los seres humanos y que he entrecomillado hasta ahoraen el texto: creencias, deseos, intenciones. Si descartamos que el medio ambiente

Page 20: Programacion de Agentes y´ Sistemas Multi-Agentes · Gustavo Ortiz-Hernandez (Guerra-Hern´ andez et al., ... 11 2. Arquitecturas y programas de agente..... 13 2.1. Arquitecturas

10 1 Conceptos basicos

Ambiente Observable Determinista Episodico Estatico Discreto SMACrucigrama si si no si si monoAjedrez con reloj si estrategico no semi si multiBackgammon si estocastico no si si multiPoker parcial estocastico no si si multiTutor ingles parcial estocastico no no si multiRobot toma piezas efectivo estocastico si no no monoControlador refinerıa parcial estocastico no no no monoRobot navegador parcial estocastico no no no monoAnalisis imagenes si si si semi no monoConductor de autos parcial estocastico no no no multiDiagnostico medico parcial estocastico no no no mono

Cuadro 1.1 Ejemplos de ambientes estudiados en Inteligencia Artificial y sus propiedadessegun Russell y Norvig (2003).

sea un sistema de informacion necesariamente, los robots pueden ser caracterizadoscomo agentes racionales.

1.5. PEAS

Hasta el momento hemos hablado de los agentes en terminos de su compor-tamiento. En algun momento tendremos que discutir los detalles internos de losagentes. Nuestro trabajo consistira en disenar un programa de agente: una funcionque implemente la seleccion de accion. Asumimos que tal programa se ejecutara enalgun dispositivo de computo, identificado como la arquitectura del agente. La ar-quitectura de un agente puede ser una simple computadora, o puede incluir disposi-tivos hardware especiales, como camaras de vıdeo, sonares, etc. Ademas, la arqui-tectura puede proveer software que funcione como el sistema operativo del agente,por ejemplo, que facilite la interaccion del programa de agente con la computadoradonde se ejecuta, de forma que el agente pueda ser programado a un nivel mas alto.La siguiente expresion resume la relacion entre agente, arquitectura y programa:

agente = arquitectura+ programa

Antes de disenar al programa de un agente, debemos tener una idea clara de lasposibles percepciones, acciones, medida de desempeno a satisfacer y la clase deambiente en la que el agente estara situado. Por sus siglas en ingles, a esta descrip-cion se le conoce como PEAS (performance, environment, actuators, sensors). ElCuadro 1.2 muestra un caso de estudio.

Page 21: Programacion de Agentes y´ Sistemas Multi-Agentes · Gustavo Ortiz-Hernandez (Guerra-Hern´ andez et al., ... 11 2. Arquitecturas y programas de agente..... 13 2.1. Arquitecturas

1.6 Lecturas y ejercicios sugeridos 11

Agente Desempeno Ambiente Actuadores SensoresSistema salud paciente, paciente, hospital, preguntas, lecturas,diagnostico minimizar costos y persona, pruebas reportes,medico demandas tratamientos diagnosticos, respuestas

Cuadro 1.2 Ejemplos de agentes y su descripcion PAGE segun Russell y Norvig (2003).

1.6. Lecturas y ejercicios sugeridos

Actualmente contamos con referencias bibliograficas coherentes y completas so-bre el tema de la programacion de agentes y los Sistemas Multi-Agente. Se sugiereuna lectura rapida de los capıtulos uno y dos del libro de Russell y Norvig (2003) pa-ra una panoramica del tema de los agentes racionales con respecto a la InteligenciaArtificial. Huns y Singh (1998) ofrecen una coleccion de artıculos fundamentales enel area, algunos de los cuales seran revisados en las tareas del curso. Weiß (1999)estructuro el primer texto completo y coherente sobre el estudio de los SistemasMulti-Agentes. Su introduccion al libro es altamente recomendable como una revi-sion de los problemas propios del area. Finalmente Wooldridge (2002) nos ofrece untexto de introduccion basico a los Sistemas Multi-Agentes, imprescindible de leer alo largo del curso, por su cobertura y complejidad moderada.

Page 22: Programacion de Agentes y´ Sistemas Multi-Agentes · Gustavo Ortiz-Hernandez (Guerra-Hern´ andez et al., ... 11 2. Arquitecturas y programas de agente..... 13 2.1. Arquitecturas