• No se han encontrado resultados

Programación de Agentes y Sistemas Multi-Agentes

N/A
N/A
Protected

Academic year: 2021

Share "Programación de Agentes y Sistemas Multi-Agentes"

Copied!
22
0
0

Texto completo

(1)

Dr. Alejandro Guerra-Hern´andez

Programaci´on de Agentes y

Sistemas Multi-Agentes

9 de mayo de 2011

(2)
(3)

Universidad Veracruzana

Departamento de Inteligencia Artificial

Sebasti´an Camacho No. 5, Xalapa., Ver.,

M´exico 91000

Tel:

+52 228 8172957

Fax:

+52 228 8172855

(4)
(5)

Prefacio

Estas notas constituyen el material de apoyo para el curso de Programaci´on de Agentes y Sistemas Multi-Agentes (SMA) de la Maestr´ıa en Inteligencia Artificial en la Universidad Veracruzana. El curso ha sido ofertado por la Facultad de F´ısica e 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 est´a in-fluenciado por las L´ıneas de Generaci´on y Aplicaci´om del Conocimiento del Depar-tamento de Inteligencia Artificial. Por ejemplo, asumimos una clara preferencia por el 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 concepci´on de estos sistemas; as´ı como las diferentes t´ecnicas de programa-ci´on de agentes propuestas en el ´area de Inteligencia Artificial. Se propone tambi´en estudiar la comunicaci´on, colaboraci´on y otras interacciones entre agentes, desde la perspectiva de los Sistemas Multi-Agente (SMA). Para ello se utilizan diferentes formalismos y arquitecturas propuestos en la literatura.

Parte de este material ha sido elaborado en colaboraci´on con tesistas a mi car-go. Gustavo Ortiz-Hern´andez (Guerra-Hern´andez et al., 2008c; Guerra-Hern´andez y Ort´ız-Hern´andez, 2008) trabaj´o sobre la implementaci´on del protocolo de apren-dizaje intencional en AgentSpeak(L), con base en el int´erprete Jason (Bordini et al., 2007). La aportaci´on central de su trabajo fue portar parcialmente nuestro enfoque sobre el aprendizaje intencional de una arquitectura de agentes a un lenguaje de pro-gramaci´on orientado a agentes. Rosibelda Mondrag´on-Becerra (Guerra-Hern´andez et al., 2006, 2008b), trabaj´o sobre un SMA embebido en WEKA, la concida herra-mienta de Miner´ıa de Datos, para estudiar un enfoque multi-agente a las interfaces inteligentes en ese contexto. Jos´e Mart´ın Castro-Manzano (Guerra-Hern´andez et al., 2008a, 2009; Castro-Manzano et al., 2009, 2010b,a) trabaj´o en la especificaci´on formal de las propiedades BDI en AgentSpeak(L) y propus´o una l´ogica con com-ponentes intencionales y temporales para poder verificar dichas propiedades. Carlos Alberto Gonz´alez-Alarc´on (Guerra-Hern´andez et al., 2010a,b) trabaj´o en la imple-mentaci´on de una librer´ıa aprendizaje para Jason, incluido el un algoritmo inductivo de ´arboles l´ogicos de decisi´on.

(6)

VIII Prefacio

El curso cuenta tambi´en con la colaboraci´on del Dr. Francisco Grimaldo de la Universidad de Valencia, Espa˜na, quien ofrece un m´odulo de este curso sobre su librer´ı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 m´aster de Computaci´on Avanzada y Sistemas Inteligentes.

A continuaci´on encontr´an los detalles sobre la mecanica del curso 2011, inclu-yendo las evaluaciones y su calendario. Al final, encontrar´an una lista de referen-cias pertinentes para el mismo. Finalmente, el curso est´a dedicado a Amal El Fallah Seghrouchni y a Henry Soldano, con quienes desarroll´e el concepto de aprendiza-je intencional (Guerra-Hern´andez et al., 2001, 2004b,c,a) durante mi doctorado en Paris 13.

Xalapa, Ver., M´exico Alejandro

Abril 2011 Guerra-Hern´andez

Evaluaci´on

El estudiante ser´a evaluado conforme a su participaci´on en clase, la calidad de sus tareas y el resultado que obtenga en el examen final. La nota final, ser´a calculada, aproximadamente, de la siguiente forma:

4 tareas para el 50% de la nota final.

La participaci´on en un debate y/o exposici´on, as´ı como la participaci´on durante el 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 deber´a haber obtenido notas apro-batorias en cada uno de las tareas a realizar, el debate y el examen final, i.e., no aprobar cualquier elemento de la evaluaci´on, implica no aprobar el curso.

Tareas

Durante el curso, se asignar´an 4 tareas. Las tareas deber´an entregarse a las 13:00am del d´ıa para ello designado. El m´erito del trabajo decrece 25% por cada 24 horas de retraso. Las tareas pueden requerir investigaci´on bibliogr´afica y experi-mentaci´on en la computadora (el estudiante es libre de elegir el lenguaje de imple-mentaci´on que utilizar´a en estos experimentos). Todos los trabajos deber´an incluir al pie de cada p´agina: i) el nombre del estudiante; ii) el nombre del curso; iii) el n´umero de trabajo; y iv) el n´umero de la p´agina. S´olo se acepta papel carta 8’x11’.

(7)

Prefacio IX

En todas las partes que involucran c´odigo, ´este deber´a ser documentado apropiada-mente. Los trabajos son evaluados de la siguiente manera: Para que un ejercicio o pregunta reciba cr´editos, m´as del 50% deber´a estar resuelta de manera correcta o completa (es m´as reduitable invertir el tiempo en contestar una pregunta de manera correcta y completa, que responder a dos de manera parcial).

La discusi´on entre los estudiantes es uno de los aspectos m´as enriquecedores en un programa de maestr´ıa. Es sumamente importante que discutan entre ustedes las tareas, pero toda discusi´on al respecto deber´a ser de manera oral. En ning´un mo-mento podr´a un estudiante consultar las notas de trabajo escrito de otro. Cualquier anomal´ıa en este sentido, causa expulsi´on definitiva del curso. La fecha de entrega de las tareas aparece en la secci´on de calendario de este documento.

Debates y Exposiciones

Cada alumno deber´a participar en una exposici´on y/o debate, durante el curso. Tanto las exposiciones, como los debates, est´an relacionados con lecturas suple-mentarias al contenido del curso. En el caso de los debates, la postura a defender ser´a asignada por el instructor del curso, qui´en fungir´a como moderador. El ganador ser´a designado por el p´ublico asistente (en principio, s´olo los asistentes al curso). El tema para las exposiciones de est a˜no ser´an los lenguajes de programaci´on orienta-dos a agentes Bordini et al. (2005).

Proyecto final

Con los elementos de la primera parte del curso, se organizar´an equipos de tres personas 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 cabo en el curso incluyen b´usquedas de informaci´on bibliogr´afica en la web, interfaces inteligentes para el descubrimiento en bases de datos (que posteriormente se trabajo como una tesis de maestr´ıa), b´usquedas en repositorios web como Amazon o Ebay, etc.

Calendario

Las sesiones del curso se llevar´an a cabo los martes, los jueves y los viernes. Las sesiones ser´an de dos horas. El contenido de las mismas es como sigue:

(8)

X Prefacio

Fecha Tema Tarea

25/04/2011 Conceptos b´asicos.

29/04/2011 Arquitecturas y programas de agente. T1

02/05/2011 Agentes intencionales: razonamiento pr´actico. 06/05/2011 Agentes intencionales: modelos formales 1. 09/05/2011 Agentes intencionales: modelos formales 2. T2 13/05/2011 AgentSpeak(L)

16/05/2011 Jason

20/05/2011 Acciones y Medios ambiente en Jason T3

23/05/2011 Metodolog´ıa Prometheus y PDT 27/05/2011 Interacci´on y acci´on social. 30/05/2011 Comunicaci´on y Actos de habla. 03/06/2011 Interacciones y Utilidad.

06/06/2011 Resoluci´on cooperativa de problemas. T4

10/06/2011 Acuerdos 13/07/2011 Cooperaci´on

17/07/2011 Aprendizaje Intencional Proyecto

20/07/2011 Proyecto 24/07/2011 Proyecto 27/07/2011 Proyecto

01/07/2011 Entrega de Proyectos finales

04/07/2011 Decisiones Sociales Multimodales: JMadem 08/07/2011 Aplicaciones: JMadem

(9)

´Indice general

Parte I Agentes

1. Conceptos b´asicos . . . 3

1.1. Agentes . . . 3

1.2. Comportamiento flexible y aut´onomo . . . 6

1.3. Medio Ambiente . . . 7

1.4. Agentes Racionales y Robots . . . 9

1.5. PEAS . . . 10

1.6. Lecturas y ejercicios sugeridos . . . 11

2. Arquitecturas y programas de agente . . . 13

2.1. Arquitecturas de Agente . . . 13

2.2. Agentes reactivos . . . 17

2.3. Agentes con estado . . . 18

2.4. Agentes l´ogicos . . . 19

2.5. Agentes basados en Metas . . . 20

2.6. Agentes basados en funciones de utilidad. . . 22

2.7. Lecturas y ejercicios sugeridos . . . 23

Parte II Agentes Intencionales BDI 3. Fundamentos: Intencionalidad y Computaci´on . . . 31

3.1. Intencionalidad . . . 32

3.2. Sistemas Intencionales . . . 33

3.2.1. Posturas f´ısica, de dise˜no e Intencional . . . 33

3.2.2. La postura Intencional . . . 34

3.2.3. Escala de Intencionalidad . . . 35

3.2.4. Teor´ıas Intencionales del Comportamiento . . . 35

3.2.5. Comunicaci´on y Estados Mentales . . . 37

3.3. Actos de Habla . . . 38

3.3.1. Actos de habla y estados Intencionales . . . 39

(10)

XII ´Indice general

3.3.2. Retomando los estados Intencionales . . . 42

3.4. Intenciones, Planes y Razonamiento Pr´actico . . . 43

3.4.1. Planes. . . 45

3.4.2. La tesis de asimetr´ıa . . . 45

3.5. Intencionalidad, Agencia y Computaci´on . . . 46

3.5.1. Requisitos computacionales . . . 47

3.5.2. AOP vs OOP . . . 48

3.6. Lecturas y ejercicios sugeridos . . . 49

(11)

Parte I

(12)
(13)

Cap´ıtulo 1

Conceptos b´asicos

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 dem´as disciplinas cuyo objeto de estudio est´a relacionado con la inteligencia, su meta no tiene que ver ´unicamente con la comprensi´on de estas entidades, sino con su cons-trucci´on. Laconstrucci´on 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 (2003). Incluso antagonistas de las tecnolog´ıas basadas en agentes, co-mo Lanier1, coinciden en que el concepto de agente es inherente al de Inteligencia

Artificial.

Por otra parte, Varela (1989) le da un lugar a la Inteligencia Artificial entre las Ciencias Cognitivas, con base en una definici´on de objetivos comparable a la aqu´ı presentada. Resulta por lo tanto sorprendente, que no sea hasta mediados de los a˜nos ochenta que el concepto de agente es incorporado como un tema que se pretende unificador.

Hist´oricamente, fuera de la Inteligencia Artificial, el t´ermino agente ha sido usa-do con usa-dos acepciones. Primero, a partir de Arist´oteles (1960) y hasta nuestros d´ıas, los fil´osofos usan el t´ermino agente para referirse a una entidad que act´ua con un prop´osito dentro de un contexto social. Segundo, la noci´on legal de agente, como la persona que act´ua en beneficio de otra con un prop´osito espec´ıfico, bajo la de-legaci´on limitada de autoridad y responsabilidad, estaba ya presente en el derecho Romano y ha sido ampliamente utilizada en econom´ıa (Muller-Freienfels, 1999).

1Lanier (1995) argumenta que la interacci´on de los agentes artificiales con los humanos,

dif´ıcil-mente pueden calificarse de inteligente. En su opini´on nuestros actuales agentes resultan un ver-dadero peligro para la humanidad – Estos agentes no se volver´an inteligentes, pero los humanos ajustar´an su comportamiento y sus expectativas al limitado comportamiento de algo que se les ha presentado como inteligente.

(14)

4 1 Conceptos b´asicos

En el contexto de la computaci´on (Wooldridge, 2002), el concepto de agente se consolida como una soluci´on a las demandas actuales: ubicuidad, interconexi´on, in-teligencia, delegaci´on y homocentrismo. Esto es, en entornos donde tenemos una diversidad de dispositivos de c´omputo distribuidos en nuestro entorno e interco-nectados, los agentes inteligentes emergen como la herramienta para delegar ade-cuadamente nuestro trabajo y abordar esta problem´atica desde una perspectiva m´as familiar para usuarios, programadores y dise˜nadores.

Franklin y Graesser (1997) argumentan que todas las definiciones del t´ermino agente en el contexto de la Inteligencia Artificial, se basan en alguna de estas dos acepciones hist´oricas. Una definici´on consensual deagente (Wooldridge y Jennings, 1995; Russell y Norvig, 2003) puede ser:

Un agente es un sistema computacional capaz de actuar de manera aut´onoma para satisfacer sus objetivos y metas, mientras se encuentra situado persistentemente en su medio ambiente.

Esta definici´on que puede parecer demasiado general, provee una abstracci´on del concepto de agente basada en su presencia e interacci´on con el medio ambiente (Ver la Figura 1.1). Russell y Subramanian (1995) encuentran que esta abstracci´on presenta al menos tres ventajas:

1. Nos permite observar las las facultades cognitivas de los agentes al servicio de encontrar c´omo 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

agente Percepción

Acción

Figura 1.1 Abstracci´on de un agente a partir de su interacci´on con el medio ambiente.

Consideren el ejemplo 1. Es discutible concebir un daemon de sistema operativo como un agente, pero tal sistema cumple con la definici´on consensual de agente. Es m´as, este agente se las arregla para identificar a su usuario, encontrar su buz´on electr´onico en la red, buscar mensajes nuevos y comunicar al usuario la presencia de ´estos. Las tres ventajas se˜naladas de tal definici´on, se aplican en este caso. El resul-tado inmediato es que podemos aproximar la definici´on de xbiff de una manera m´as comprensible para el usuario.

(15)

1.1 Agentes 5

Ejemplo 1 El deamon de X Windows xbiff est´a situado en un ambiente UNIX, vigilando constantemente el buz´on de su usuario para avisarle cuando llegan men-sajes nuevos a trav´es de una interfaz gr´afica.

Si bien hemos presentado al xbiff como un agente, no hemos dicho que se trate de una entidad inteligente. Se dice que un agente esracional si hace lo correcto2.

Una primera aproximaci´on a la definici´on de lo “correcto” consiste en asumir que una acci´on correcta es aquella que causa que el agente tenga un mayor ´exito. Esto reduce el problema de la racionalidad a definir c´omo y cuando se debe evaluar el “´exito” del agente.

El t´erminomedida de desempe˜no se refiere al criterio usado para determinar el ´exito de un agente. Es preferible manejar una medida de desempe˜no objetiva impuesta por alguna forma de autoridad. Esto es, nosotros como observadores es-tableceremos para cada agente, un est´andar de lo que significa ser exitoso en un ambiente dado, y usaremos ese est´andar para medir el desempe˜no del agente. Bajo ninguna circunstancia, el agente puede manipular3tal est´andar. El ejemplo 2 nos

muestra una medida de desempe˜no que cumple con las caracter´ısticas mencionadas. Ejemplo 2 En el Concurso Nacional de Robots Limpiadores 2005 (Xalapa, Ver.), el desempe˜no del agente es establecido por un est´andar externo al agente, especificado mediante la formula de evaluaci´on dise˜nada por los organizadores:

PT =

i

(CLi× DAi)× (T Max/TOper)

donde: PT es el puntaje total. El segundo t´ermino eval´ua la persistencia del agente: T Max es el tiempo m´aximo de la prueba y TOper es el tiempo que el robot se mantuvo en operaci´on. Si el robot trabaja durante toda la prueba no es penalizado, si no la puede terminar, si lo es. El primer t´ermino eval´ua la capacidad del agente. Para ello el piso a limpiar, rectangular, se divide conceptualmente en celdas. CLi

es la i-´esima celda limpiada con ´exito, o si se prefiere toma valor 1 si la celda se limpio, y 0 en caso contrario. DAies el valor de dificultad de acceso a la i-´esima

celda limpiada.

Es necesario precisar que la racionalidad de un agente se define en relaci´on con el ´exito 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:

Lamedida de desempe˜no que define el est´andar de ´exito.

Lasecuencia de percepciones del agente, esto es, todo lo que el agente halla percibido hasta el tiempo dado.

Elconocimiento del agente sobre el medio ambiente en el que est´a situado. 2En su ingl´es original, la frase tiene mayor peso –Do the right thing.

3Un agente que manipula la medida de desempe˜no, suele llegar a razonamientos del tipo –Al fin

(16)

6 1 Conceptos b´asicos

Lahabilidad del agente, esto es, las acciones que el agente puede llevar a cabo con cierta destreza.

Un agente racionalideal es aquel que para toda secuencia de percepciones posi-ble, selecciona y ejecuta una acci´on que se espera maximice la medida de desem-pe˜no, con base en la informaci´on que proveen su percepci´on 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 elmapeo percepci´on-acci´on. Por lo tanto un mapeo ideal describe a un agente ideal y define el dise˜no de un agente ideal. A la b´usqueda de un mecanismo que aproxime este mapeo ideal, se le conoce como el problema deselecci´on de acci´on. 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´on con-tiene 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.

1.2. Comportamiento flexible y aut´onomo

Independientemente de la implementaci´on usada para construir a xbiff, no re-sulta natural identificar a los daemons de UNIX como agentes y menos a´un como agentes inteligentes. Foner (1993) argumenta que para ser percibido como inteligen-te, un agente debe exhibir cierto tipo de comportamiento, caracterizado m´as tarde por Wooldridge y Jennings (1995), comocomportamiento flexible y aut´onomo. 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 ´el, a trav´es de sus acciones. Iniciativa. Los agentes inteligentes deben exhibir un comportamiento orientado por sus metas, tomando la iniciativa para satisfacer sus objetivos de dise˜no (pro-activeness).

Sociabilidad. Los agentes inteligentes deben ser capaces de interaccionar con otros agentes, posiblemente tan complejos como los seres humanos, con miras a la satisfacci´on de sus objetivos.

Una caracterizaci´on m´as detallada de autonom´ıa es presentada por Covrigaru y Lindsay (1991). Su desiderata, que incluye algunos de los aspectos ya mencionados, expresa que un agente se percibe comoaut´onomo en la medida en que:

1. Su comportamiento est´a orientado por sus metas y es capaz de seleccionar que meta va a procesar a cada instante.

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

(17)

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-maci´on.

5. Es capaz de exhibir una variedad de respuestas, incluyendo movimientos de adaptaci´on fluidos; y su atenci´on a los est´ımulos es selectiva.

6. Ninguna de sus funciones, acciones o decisiones, est´a totalmente gobernada por un agente externo.

7. Una vez en operaci´on, el agente no necesita ser programado nuevamente por un agente externo.

De entre todos estos puntos, el sexto requiere una defensa r´apida puesto que la dimensi´on social de los agentes ser´a abordada hasta la tercera parte de este tex-to4. En filosof´ıa pol´ıtica liberal, es aceptado que los agentes solo pueden llegar a

ser aut´onomos si se da un conjunto de condiciones necesarias para ello. Diferentes condiciones 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 t´ermino. Es necesaria una pluralidad de tales bienes para configurar lo que ´el llamacontexto de elecci´on. Esta pluralidad es posible ´unicamente si el agente tiene una relaci´on 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 aut´onomo, depende no s´olo de la ha-bilidad 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 dise˜nados 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´a 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 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 c´omo 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 rob´otica. Por el contrario, Etzioni (1993), considera que no es necesario que los agentes tengan 4Castelfranchi (1998) presenta una excelente introducci´on a las interacciones sociales entre

(18)

8 1 Conceptos b´asicos

implementaciones rob´oticas porque los ambientes virtuales, como los sistemas ope-rativos y el web, son igualmente v´alidos que el mundo real. En esta presentaci´on asumimos la posici´on de Etzioni, resaltando que lo importante es que la interacci´on del agente con su ambiente se de en los t´erminos se˜nalados en nuestra definici´on de agente, esto es, en forma aut´onoma bajo persistencia temporal. Russell y Nor-vig (2003) se˜nalan que, m´as all´a de esta controversia, es importante identificar que existen 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 observable si los sensores del agente detectan todos los aspectos relevantes para decidir que acci´on debe llevarse a cabo.Relevancia aqu´ı depende de la definici´on de fun-ci´on de desempe˜no. 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 impre-cisi´on y el ruido en los sensores; o bien porque algunos aspectos del ambiente caen fuera del rango de lectura de los sensores.

Determinista vs. Estoc´astico. Si el pr´oximo estado del ambiente est´a determi-nado por la acci´on que ejecuta el agente, se dice que el ambiente es determinista. Si otros factores influyen en el pr´oximo estado del ambiente, ´este es estoc´astico. Si el ambiente es parcialmente observable, entones aparecer´a como no estoc´asti-co. Esto es particularmente cierto en el caso de ambientes complejos, donde es dif´ıcil dar seguimiento a los aspectos no observables del ambiente. Generalmente es mejor considerar estas propiedades del ambiente, desde el punto de vista del agente. El car´acter estoc´astico 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 m´as sencillo construir agentes en ambientes deterministas. Si el am-biente es determinista, excepto para las acciones de otros agentes, se dice que el ambiente esestrat´egico.

Epis´odico vs. Secuencial. En un ambiente epis´odico, la experiencia de un agente puede evaluarse en rondas. Las acciones se eval´uan en cada episodio o ronda , esto es, la calidad de la acci´on en los episodios subsecuentes, no depende de las acciones ocurridas en episodios previos. Por ejemplo, el detector de basura en las botellas de una cervecer´ıa es epis´odico: la decisi´on 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 con-secuencias globales. Los episodios reducen el impacto de estas concon-secuencias, y por lo tanto es m´as f´acil construir agentes en ambientes epis´odicos. Un programa que juega ajedrez est´a en un ambiente secuencial.

Est´atico vs. Din´amico. Si el ambiente puede cambiar mientras el agente se en-cuentra deliberando, se dice que esdin´amico; de otra forma, se dice est´atico. Si

(19)

1.4 Agentes Racionales y Robots 9

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 essemi-din´amico. Los ambientes din´amicos tienen dos consecuencias importantes: Un agente debe percibir conti-nuamente, porque a´un si no ha ejecutado ninguna acci´on entre los tiempos t0y t1,

el agente no puede asumir que el estado del ambiente sea el mismo en t0que en

t1; Otros procesos en el ambiente pueden interferir con las acciones del agente,

incluyendo las acciones de otros agentes. Por lo tanto, es m´as sencillo dise˜nar agentes en ambientes est´aticos.

Discreto vs. Continuo. Si hay un n´umero 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´as f´acil construir agentes en ambientes discretos, porque las computadoras tambi´en son sistemas discretos y aunque es posible simular siste-mas continuos con el grado de precisi´on deseado, una parte de la informaci´on disponible se pierde al hacer esta aproximaci´on. Por lo tanto, la informaci´on que manejan los agentes discretos en ambientes continuos es inherentemente aproxi-mada.

Mono vs. Multi-Agente A pesar de que esta categorizaci´on de los ambientes parece obvia, esconde una cuesti´on en extremo relevante: ¿Qu´e entidades en el sistema son considerados por el agente como agentes? En general, un agente considerara a otra entidad como un agente si su desempe˜no depende del com-portamiento de esa entidad. La clave aqu´ı es el concepto deinteracci´on que da lugar a ambientescompetitivos y cooperativos.

Esta categorizaci´on 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 estos tengan ´exito. La clase m´as compleja de ambientes corresponde a aquellos que son inaccesibles, no epis´odicos, din´amicos, 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 unagente racional como aquel que exhibe un comportamiento flexible y aut´onomo, mientras est´a si-tuado en un sistema de informaci´on, por ej., un sistema operativo o el web. Esto constituye lo que Wooldridge y Jennings (1995) llaman lanoci´on d´ebil de agente, como contra parte de unanoci´on fuerte que adem´as de las propiedades menciona-das hasta ahora, utiliza t´erminos 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

(20)

10 1 Conceptos b´asicos Ambiente Observable Determinista Epis´odico Est´atico Discreto SMA Crucigrama si si no si si mono Ajedrez con reloj si estrat´egico no semi si multi Backgammon si estoc´astico no si si multi Poker parcial estoc´astico no si si multi Tutor ingl´es parcial estoc´astico no no si multi Robot toma piezas efectivo estoc´astico si no no mono Controlador refiner´ıa parcial estoc´astico no no no mono Robot navegador parcial estoc´astico no no no mono An´alisis im´agenes si si si semi no mono Conductor de autos parcial estoc´astico no no no multi Diagn´ostico m´edico parcial estoc´astico no no no mono Cuadro 1.1 Ejemplos de ambientes estudiados en Inteligencia Artificial y sus propiedades seg´un Russell y Norvig (2003).

sea un sistema de informaci´on necesariamente, los robots pueden ser caracterizados como agentes racionales.

1.5. PEAS

Hasta el momento hemos hablado de los agentes en t´erminos de su compor-tamiento. En alg´un momento tendremos que discutir los detalles internos de los agentes. Nuestro trabajo consistir´a en dise˜nar un programa de agente: una funci´on que implemente la selecci´on de acci´on. Asumimos que tal programa se ejecutar´a en alg´un dispositivo de c´omputo, 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 c´amaras de v´ıdeo, sonares, etc. Adem´as, la arqui-tectura puede proveer software que funcione como el sistema operativo del agente, por ejemplo, que facilite la interacci´on del programa de agente con la computadora donde se ejecuta, de forma que el agente pueda ser programado a un nivel m´as alto. La siguiente expresi´on resume la relaci´on entre agente, arquitectura y programa:

agente = arquitectura + programa

Antes de dise˜nar al programa de un agente, debemos tener una idea clara de las posibles percepciones, acciones, medida de desempe˜no a satisfacer y la clase de ambiente en la que el agente estar´a situado. Por sus siglas en ingl´es, a esta descrip-ci´on se le conoce como PEAS (performance, environment, actuators, sensors). El Cuadro 1.2 muestra un caso de estudio.

(21)

1.6 Lecturas y ejercicios sugeridos 11 Agente Desempe˜no Ambiente Actuadores Sensores

Sistema salud paciente, paciente, hospital, preguntas, lecturas, diagn´ostico minimizar costos y persona, pruebas reportes, m´edico demandas tratamientos diagn´osticos, respuestas Cuadro 1.2 Ejemplos de agentes y su descripci´on PAGE seg´un Russell y Norvig (2003).

1.6. Lecturas y ejercicios sugeridos

Actualmente contamos con referencias bibliogr´aficas coherentes y completas so-bre el tema de la programaci´on de agentes y los Sistemas Multi-Agente. Se sugiere una lectura r´apida de los cap´ıtulos uno y dos del libro de Russell y Norvig (2003) pa-ra una panor´amica del tema de los agentes pa-racionales con respecto a la Inteligencia Artificial. Huns y Singh (1998) ofrecen una colecci´on de art´ıculos fundamentales en el ´area, algunos de los cuales ser´an revisados en las tareas del curso. Weiß (1999) estructur´o el primer texto completo y coherente sobre el estudio de los Sistemas Multi-Agentes. Su introducci´on al libro es altamente recomendable como una revi-si´on de los problemas propios del ´area. Finalmente Wooldridge (2002) nos ofrece un texto de introducci´on b´asico a los Sistemas Multi-Agentes, imprescindible de leer a lo largo del curso, por su cobertura y complejidad moderada.

(22)

Referencias

Documento similar

Where possible, the EU IG and more specifically the data fields and associated business rules present in Chapter 2 –Data elements for the electronic submission of information

The 'On-boarding of users to Substance, Product, Organisation and Referentials (SPOR) data services' document must be considered the reference guidance, as this document includes the

In medicinal products containing more than one manufactured item (e.g., contraceptive having different strengths and fixed dose combination as part of the same medicinal

Products Management Services (PMS) - Implementation of International Organization for Standardization (ISO) standards for the identification of medicinal products (IDMP) in

Products Management Services (PMS) - Implementation of International Organization for Standardization (ISO) standards for the identification of medicinal products (IDMP) in

This section provides guidance with examples on encoding medicinal product packaging information, together with the relationship between Pack Size, Package Item (container)

Package Item (Container) Type : Vial (100000073563) Quantity Operator: equal to (100000000049) Package Item (Container) Quantity : 1 Material : Glass type I (200000003204)

Debido al riesgo de producir malformaciones congénitas graves, en la Unión Europea se han establecido una serie de requisitos para su prescripción y dispensación con un Plan