Introducció als agents i sistemes inte·ligents
Josep Lluís de la Rosa peplluis@eia.udg.es












1. Objetivos del curso

Estamos ante un nuevo método de enseñanza que puede tener dificultades de asimilarse por parte tanto del profesorado como del alumnado. Estamos en las puertas de un campus virtual donde el trabajo cooperativo se implementará mediante la mensajería electrónica que permitirá el trabajo coordinado alumno-profesor mejor que en universidades presenciales, si bien en las áreas tecnológicas todavía queda trabajo por conseguir el laboratorio virtual, el cual nadie todavía ha bien concebido. No es trivial como la cooperación de científicos puede funcionar sobre mensajería y web en internet.

Los cursos doctorales están orientados a la iniciación en investigación de futuros investigadores. Por lo tanto se insistirá mucho en el método de trabajo, el método científico, necesario para proceder a una investigación y generar conocimiento.

Se dará mucha importancia a la lectura de artículos, puesto que requiere de técnicas, paciencia y análisis orientados a captar la novedad de los artículos dentro de un espíritu crítico y analítico. La lectura de bibliografía es esencial en la formación doctoral puesto que la lectura de artículos científicos es más difícil que los libros especializados por contener conocimiento muy especializado y a menudo poco leíble para los no iniciados. En cambio debe ser minuciosamente leída y referenciada, en caso de ser utilizada de forma efectiva, en cada uno de los publicaciones que haga el investigador en formación.

2. Saber leer bibliografía científica.
 
Para leer bibliografía científica nos centraremos en la lectura de revistas científicas. Para todo trabajo de investigación la bibliografía debe ser abundante, variada y focalizada… y por ello debe tenerse algún hábito de lectura sistemático para la lectura científica.


3. El método científico.

El método científico se basa en la repetitividad de los experimentos obteniendo los mismos resultados de investigación de forma sistemática.
4. La lengua inglesa.
Sobre la lengua científica, actualmente predomina la inglesa, con lo que los futuros doctores deben ejercitarse en la lectura de artículos científicos en dicha lengua para familiarizarse con los términos, con la ayuda de los investigadores avanzados que les explicarán en su lengua vernácula.

Es importante producir ciencia en nuestra lengua para evitar su empobrecimiento. Pero al ya existir numerosa bibliografía en inglés hay que saber leer revistas y libros científicos en dicho idioma.

5. Método de evaluación.
El método de evaluación se basará en una apreciación del nivel de interacción conseguido entre alumno e investigador, apreciado sobre los comentarios de trabajos que se van a ir entregando a lo largo del curso. En el caso concreto de esta asignatura se procederá a desarrollar agentes en el JAVASOCCER para apreciar el nivel de dominio en el diseño de sistemas inteligentes que el estudiante haya conseguido.

La valoración final será (no aprobado, aprobado, notable, o sobresaliente.)

6. Qué es inteligencia? 6.1Definición de trabajo de la IA.

Cual de todas estas características por ella sola se podría llamar "inteligencia"?

Una posible definición de trabajo que particularmente me agrada es que todo sistema inteligente es aquel que es capaz de resolver de forma autónoma problemas en dominios poco estructurados.   El enfoque adecuado para hacer Ingeniería del Conocimiento es desarrollar "sistemas inteligentes" que serían programas que contienen una o varias de las características enumeradas aquí arriba para resolver problemas. Estos programas contienen "conocimiento" y por ésto se ha de explicar qué son los esquemas de representación de conocimiento.
 

6.2 Esquemas de Representación del Conocimiento.

Cuando queremos extraer el conocimiento del ingeniero experto (imaginemos un médico) lo podemos hacer a base de preguntas del tipo "Qué pasa si es presenta tal síntoma o indicio ?", "Que relación hay entre síntomas ?", "Si pasa esto que puedo hacer acto seguido ?", "Si la temperatura del paciente es pequeña y está sudando entonces deducir algo". Todas estas relaciones de evidencias, causas y efectos, para llegar al diagnóstico, se pueden codificar en forma de reglas. Las reglas son un tipo de esquema de representación del conocimiento del tipo lógica y que pueden ser encadenadas con un sistema deductivo. Los síntomas se pueden representar en forma de símbolos tales como temperatura y pequeña, se pueden cualificar mediante términos simbólicos, que son otro tipo de esquema de representación de conocimiento del tipo simbólico. El ordenador ha de poder utilizar un sistema informático que entienda el esquema de representación de conocimiento elegido para poder hacer razonamientos análogos a los que haría el experto humano que ha explicado su conocimiento, y que una persona llamada ingeniero de conocimiento, normalmente un informático, se ha d'encargar de codificar.

 
Cada esquema de representación de conocimiento se especializa en un tipo de característica de la IA de las que hemos descrito la lista de antes. No existe el esquema de representación de conocimiento global que pueda combinar todas las características aisladas de la IA y, si existiese, no se conoce el motor de inferencia que se encargaría de ejecutarlo de forma que se comportase como un sistema auténticamente inteligente.

Qué es la Inteligencia Artificial (IA)? La emulació de la forma de trabajar humana es la inspiración primera que la IA intenta formalizar.









7. Motivación de la investigación en inteligencia artificial distribuida.
 

Las nuevas tendencias

Las capacidades de aprendizaje de las redes neuronales dan una puerta abierta a representar el conocimiento de los expertos en forma de ejemplos y de ensayo y error. Los sistemas expertos con fuzzy representan el conocimiento abstracto, lógico y aproximado de los expertos. Los agentes (la IA distribuida) como sistemas distribuidos permiten representar el know-how (conocimiento) sobre los métodos de cooperación de un colectivo de expertos. Finalmente, las nuevas técnicas informáticas, juntamente con el Java (lenguaje orientado a objetos que trabaja sobre World Wide Web –WWW– y Internet) juntamente con sistemas inteligentes que intenten solucionar la percepción (por ejemplo, la percepción visual así como la no visual) dan nuevas esperanzas en la solución del problema de la accesibilidad informática a las fuentes de información y a las de conocimiento.

Notemos que las nuevas técnicas pueden tener una gran difusión por mor de internet, el Web y el Java, los cuales generan muchísimas expectativas de gran alcance general. En este curso hacemos especial incidencia en los sistemas expertos (SE) basados en lógica difusa, y agentes (SE cooperantes).



Grupo de expertos trabajando de forma cooperativa
Aplicaciones

Aplicaciones a entornos distribuidos tanto espacialmente (dispersión geográfica) como funcionalmente (dispersión de expecialistas) como temporalmente (accesos asíncronos típicos del web y la telefonía).

  • Control de tráfico en redes telefónicas (France Telecom, etc).
  • Supervisión de transporte de energía eléctrica (IBERDROLA, etc)
  • Diseño de circuitos VLSI.
  • PDA (Personal Assistants).
  • WEB.
  • Control de tráfico en aeropuertos.
  • Aplicaciones médicas al diagnóstico.
  • Fábricas de fabricación flexible.
  • Robots autónomos…
  • La investigación en la DAI (Inteligencia Artificial Distribuida), en particular los agentes, está actualmente en auge explosivo en número de desarrollos, investigación práctica, aplicada, publicaciones y congresos.


    8. Introducción intuitiva de agente.
     

    Representación de Creencias
    La creencia se basa en una afirmación como "yo sé aquello que me has explicado", es decir, que todo sistema cuando recibe información se construye un mundo que intenta representar el mundo exterior.

    Por ejemplo,

    Aquí vemos que A pide una información sobre el tiempo que hace. El agente A está al interior de la casa y no tiene ninguna ventana para comprobar el tiempo, entonces tiene que pedir esta información al agente B. El agente B le puede decir que hace_buen_tiempo, o bien que hace_mal_tiempo.

    El agente A, cuando recibe esa información lo que tiene es una creencia que hace_buen_tiempo. Entonces este agente, construido como un SE, razona sobre esta creencia juntament con otras informaciones que contien en su base de conocimiento. Veamos entonces la diferencia que hay entre hacer una medida o inspección directa (de lo que puede ser información o evidencia como, por ejemplo, medir una temperatura, ponderar el buen tiempo, ver las nubes, etc) y una creencia.

    Podriamos entonces decir, sin ser del todo general, que las medidas de sensores se podrían considerar evidencias, y en cambio las informaciones de otros agentes no se podrían considerar evidencias sinó creencias.

    Desde el punto de vista de ingeniería del software
    Desde el punto de vista de ingeniería del software se puede considerar que un agente es o bien un caso especial de objetos o bien un superobjeto.

    La evolución en la ingeniería del software indica que el mayor grado de abstracción en el análisis y diseño de software produce mejor código informático. Luego, esta es la expectativa de los lenguajes orientados a agente, que se puede dar una idea intuitiva mediante la enumeración de la evolución de los lenguajes de programación, que es la que sigue:

  • Hardware con lógica cableada.
  • Hardware con lógica microprogramada (firmware).
  • Lenguaje binario a mayor nivel que el firmware.
  • Lenguaje Ensamblador.
  • Lenguaje científico procedural Fortran, RPG o declarativo LISP
  • Lenguaje estructurado Pascal / C / COBOL / otros.
  • Lenguaje orientados a objeto C++ / Smalltalk / CORBA / JAVA
  • Lenguaje orientados a agente AGENT0 / KQML / otros.
  • En esta evolución ha aumentado continuamente el nivel de abstracción y declaración de los lenguajes, separándoles progresivamente del hardware. Los lenguajes agentes se plantean como la nueva generación de lenguajes.


    9. Introducción a agentes físicos y bibliografía del curso.
     
     






    Antecedentes y estado actual de los aspectos científico-técnicos, incluyendo la bibliografía más relevante.

    Este curso de doctorado busca la motivación en el estudio de agentes físicos. Entendemos por agente físico un agente software que tiene un fundamento físico, que a su vez lo entendemos como un sistema dinámico (ya sea mecánico, eléctrico, electrónico, térmico, químico, como otro soporte) de variable continua (tiempo y estado continuos) [Asada, 1997]. Dicho fundamento físico está regido por leyes de control automático (implementadas en la actualidad con la teoría de sistemas lineales principalmente) supervisado por un autómata secuencial (implementado en la actualidad con lógica secuencial o bien con sistemas basados en el conocimiento, como por ejemplo sistemas expertos), y que se coordina (compite o coopera) con otros sistemas físicos.

    Los agentes físicos son excelentemente representados por robots móviles, especialmente cuando poseen autonomía suficiente (en decisión y ejecución) y deben desarrollar tareas que requieran de su cooperación. Esto justifica la coordinación con otros grupos de investigación cuya motivación sea más ligada a los aspectos tecnológicos de creación de robots móviles autónomos, como presentamos en este proyecto. Finalmente, cuando dichos robots deben desarrollar su actividad en entornos cambiantes y poco estructurados debido a la presencia de otros robots en el campo de trabajo o cuando los objetos que deben desplazar no están, por razones varias, en posiciones prefijadas o conocidas, toda esta complejidad que aparece en actividades industriales poco convencionales es la que representa a los agentes físicos de interés en este proyecto.

    9.1 La IA distribuida

    La inteligencia artificial distribuida (IAD) es una disciplina dirigida al desarrollo de métodos y técnicas para la solución de problemas complejos por medio del comportamiento inteligente de un sistema integrado por unidades llamadas agentes. Podemos distinguir dos líneas dentro de la IAD, la solución distribuida de problemas (SDP) y los sistemas multi-agente (SMA). La investigación dentro de la SMA está dirigida a buscar la solución de un problema dividiendo el problema entre un número de agentes cooperativos, y decidiendo cómo se debe compartir el conocimiento de manera que los agentes puedan trabajar conjuntamente. Los agentes pueden estar distribuidos desde un punto de vista geográfico, funcional o conceptual. Durante muchos años ésta ha sido la línea seguida dentro de la IAD [Durfee et al., 1989].

    Por su naturaleza interdisciplinaria la IAD ha estado influenciada por áreas interesadas en la interacción entre grupos de individuos inteligentes. Muchas veces en la investigación sobre SMA el énfasis no se ha puesto en los problemas a resolver sino en los agentes que se verán implicados en la interacción que conduce a la solución de los mismos.

    Existen distintas definiciones de la noción de agente dadas por diversos autores (véase [Wooldridge, 1995]), por lo que a continuación damos una lista de las características más habituales que aparecen en la bibliografía:

    • Los agentes son entidades que relacionan percepciones de su entorno con acciones en su entorno, es decir, son reactivos.

    • Son objetos computacionales con un grado variable de autonomía

    • Los agentes toman iniciativas, es decir, no actúan simplemente en respuesta a su entorno sino que pueden actuar en base a unos objetivos propios.

    • Interactúan y se comunican mediante un lenguaje de comunicación que incorpora actos de habla (speech acts) como informar, preguntar, prometer y requerir.

    • Son racionales, es decir, actúan de "forma correcta", lo cual se interpreta como que el estado mental del agente es coherente con su comportamiento.

    Estas características de los agentes pueden sugerir diferentes modelos de SMA, de mayor o menor complejidad. Por ejemplo, en informática, la idea de agente como un proceso software que se ejecuta de forma concurrente, que tiene una noción de estado y es capaz de comunicarse con otros agentes por pase de mensajes, es algo que se considera como un resultado natural del desarrollo del paradigma de programación concurrente orientada a objeto. Esta noción de agente es la que también se usa en la llamada "ingeniería de software basada en agentes", cuyos productos, llamados "software agents" o "softbots", son agentes que interaccionan con un entorno software mediante comandos que usan para obtener información o cambiar el estado del entorno.

    En cambio, dentro de la IA, la noción de agente parece adecuarse más a un sistema computacional que además se conceptualiza usando nociones mentales, como pueden ser las nociones de conocimiento, creencia, intención u obligación. Así pues, dado que nuestro interés sobre los agentes se centra en el ámbito de la IA y los robots móviles autónomos y cooperantes, añadiremos a la lista anterior la siguiente característica:

    • Los agentes son unidades que se pueden describir en términos de estados mentales: conocimientos, intenciones, creencias, deseos, etc...
    Finalmente, cuando los agentes son aplicados en la industria aparece el concepto de agente físico que explicamos más en detalle en los siguientes apartados.

    9.2 Estado Actual en Sistemas Multi-Agente

    Para dar una visión más detallada de cual es el estado actual del tema haremos un repaso de las contribuciones más destacadas en los cuatro niveles a los que se puede hacer referencia cuando se trata de construir agentes, esto es: a nivel de teorías formales, a nivel de arquitecturas, a nivel de lenguajes de programación y a nivel de aplicaciones [Wooldridge, 95]:

    i) Teorías formales sobre Agentes. Son básicamente especificaciones formales, es decir, estudios formales acerca de las propiedades de los agentes, su representación y cómo razonar sobre ellas. La principal línea de investigación que se ha seguido es la de considerar a los agentes como sistemas intencionales, atribuyéndoles creencias, deseos y comportamiento racional [Rosenschein, 1986] [Shoham, 1990]. La representación de objetivos y deseos ha tenido enfoques basados en la semántica de mundos posibles [Kripke, 1963]. En esta línea, uno de los trabajos más importantes es el de Cohen y Levesque [Cohen, 1990] sobre la formalización lógica de una teoría sobre intenciones, definidas a partir de dos primitivas básicas como son la creencia y los objetivos. Esta lógica ha sido también usada para análisis de conflictos y cooperación en sistemas multi-agente así como en resolución de problemas cooperativos.
     
    ii) Arquitecturas de Agente. Representan el paso de las especificaciones del punto anterior a las implementaciones, es decir, cómo construir sistemas computacionales reales que den cuenta de teorías o modelos particulares de agentes. A este respecto han habido :
      Arquitecturas Deliberativas: son arquitecturas que contienen un modelo simbólico, explícitamente representado, del entorno, en el cual las decisiones se toman mediante razonamiento (pseudo-) lógico, basado en manipulaciones simbólicas. Una arquitectura en esta línea es [Jennings, 1993]. Ésta es una arquitectura estratificada donde los agentes se dividen en dos partes: un sistema a nivel de dominio y un sistema de cooperación y control. El sistema de control se encarga de coordinar las actividades del agente a nivel de dominio con las de los otros agentes de la comunidad. El sistema de cooperación especifica cómo el agente ha de interactuar en el marco de una resolución cooperativa de tareas.

    Arquitecturas Reactivas: son arquitecturas que no incluyen ningún tipo de representación simbólica del mundo y no usan razonamiento simbólico, y han sido propuestas como una alternativa para evitar los serios problemas que plantea la IA simbólica [Steels, 1990; Maes, 1989]. Por ejemplo, Patti Maes ha desarrollado una arquitectura en la cual un agente se define como un conjunto de módulos, siendo cada módulo determinado por una serie de pre y post condiciones y por un nivel de activación, que indica el grado de relevancia del módulo en una situación particular, y por tanto el grado en que dicho módulo va a influir en el comportamiento del agente. Finalmente, dichos módulos se integran en una red de activación, donde los módulos se interconectan de acuerdo a sus pre y post condiciones.
     
     

    iii) Lenguajes de Agentes. Un lenguaje de agentes es un sistema que permite programar sistemas computacionales, software o hardware, en términos de algunos conceptos desarrollados en teorías o modelos formales de agentes. Los predecesores de estos lenguajes son los lenguajes concurrentes orientados a objeto, tales como "Actor model" [Hewitt, 1977; Agha, 1986]. El primero que propuso un nuevo paradigma para la programación de agentes fue Shoham [Shoham, 1990]. La idea principal es la de programar agentes directamente en términos de nociones mentalistas e intencionales. Shoham propone un paradigma de programación orientado a agente basado en tres componentes: un sistema lógico para definir estados mentales, un lenguaje de programación interpretado, y un proceso de "agentificación" para compilar programas de agente en sistemas ejecutables de bajo nivel. Algunos intentos de desarrollar lenguajes para agentes son Agent0 [Shoham, 1990] y Concurrent METATEM [Fisher, 1994].

    iv) Aplicaciones. Las principales áreas en las cuales se han aplicado la tecnología de sistemas multi-agente son

     
    Resolución Cooperativa de Problemas e Inteligencia Artificial Distribuida: existen algunas aplicaciones en dominios como gestión de plantas eléctricas, control de tráfico aéreo, recuperación inteligente de documentos y gestión de redes de telecomunicación, por ejemplo ARCHON [Wittig 91; Corera 96; Jennings 96].

    Agentes Interfaz: sistemas que emplean técnicas de inteligencia artificial para proporcionar ayuda a usuarios de una aplicación determinada. Existen muchas aplicaciones a nivel de prototipo, por ejemplo el sistema NEWT [Maes, 1994].

    Agentes Especializados en Información y Sistemas de Información Cooperativos: sistemas que tienen acceso a fuentes de información y que son capaces de sintetizar y manipular la información obtenida de estas fuentes para dar respuesta a los requerimientos de usuarios y otros agentes. Ejemplo de tales sistemas puede ser IRA [Voorhess, 1994].

     
    9.3 Problemática en la aplicación de agentes

    Una posible explicación de la dificultad de implantación de las técnicas de IAD y en especial en el área de robótica móvil es la constatación de la imposibilidad de realizar investigación en inteligencia artificial en robótica móvil de forma aislada. Los trabajos se entienden actualmente como elementos del área más amplia del control automático e IA. Por lo tanto, los investigadores en IAD conocen un área más amplia y están dispuestos a trabajar en su integración con otros sistemas informáticos (en nuestro proyecto proponemos integrar el paradigma agente en herramientas CACSD [de la Rosa, 1997] ). La tendencia es en la definición de herramientas, o componentes de programa, que permitan desarrollar aplicaciones robóticas a través de un entorno amigable. Un proyecto Europeo (HELIOS-2, AIM A2014) propone un entorno basado en objetos que permite la integración de diferentes servicios: de tratamiento de imágenes, de procesamiento de lenguaje natural, de sistemas de soporte a la decisión, etc.

    Recientemente han aparecido propuestas de arquitecturas como ARCHON [Wittig, 1991, Corera, 1996; Jennings, 1996] en aplicaciones de distribución de energía eléctrica, ejecutado como un sistema experto distribuido que supervisa la operación de la red eléctrica a nivel de subestación (media-alta tensión). Dicho proyecto ha sido sufragado con financiación ESPRIT junto con la empresa IBERDROLA, y es el auténtico referente a nivel internacional de la aplicación real de agentes en entornos industriales complejos distribuidos. A pesar de estas iniciativas, son escasos los trabajos que adoptan una aproximación basada en sistemas multi-agente en todas sus consecuencias debido a la dificultad de aplicar los agentes software sobre sistemas reales, que los entendemos como sistemas físicos. Este nuevo tipo de agentes se discute en el punto 1.5.

    9.4 Los Sistemas Computer Aided Control Systems Design (CACSD)

    El sistema de supervisión contiene un conjunto de reglas de identificación de estados de operación anormal y de generación de acciones correctivas. La misión del sistema de supervisión puede ser, además, la de generar conjuntos de valores de consigna para los controladores locales. Los sistemas de supervisión actuales se caracterizan por su escasa generalidad y su limitado dominio de aplicación al propio sistema para el cual fue concebido. La implantación de sistemas dotados de IA en los entornos industriales de producción, hasta el momento, se ha reducido a pequeñas aplicaciones de control (controladores fuzzy) o al desarrollo de complejos sistemas expertos (SE) para el diagnóstico de procesos muy concretos (aplicaciones hechas a medida) de difícil mantenimiento. En ambos casos, pero especialmente en el caso de los SE, son soluciones a problemas concretos, cerrados, de difícil reconfigurabilidad y que carecen de una visión global de los problemas de automatización debido a la difícil funcionalidad integrada. Sin embargo, continuar trabajando con la IA junto con los soportes informáticos que la permiten en proyectos de automatización es un aspecto justificado científicamente. A partir de un diseño de un supervisor debe procederse a una implementación funcional en un tiempo razonable.

    Por consiguiente, al igual que ha sucedido con los entornos de ayuda al diseño de sistemas de control (CACSD), se ha hecho necesario disponer de un entorno de ayuda al desarrollo e implantación de sistemas de supervisión que permitiese la integración de diferentes herramientas de forma abierta, y que permita diseñar sistemas de control y sistemas de supervisión como un todo en proyectos de automatización. Es lo que denominaremos CAD de supervisión. La solución de esta deficiencia tecnológica es un aspecto prioritario debido a la creciente necesidad de un tratamiento global de los problemas de automatización basado en una visión global del ciclo de un producto, dado que en un mismo entorno CACSD que soporta el diseño de soluciones de control de un proceso se integra un CAD de supervisión que soporta el diseño de soluciones de monitorización avanzada y supervisión. Así se pretende tratar de una forma global el diseño de los niveles 1, 2 y 3 (Control, Monitorización-Supervisión, y Supervisión-programación-coordinación-cooperación) dentro de la pirámide CIM (Computer Integrated Manufacturing).

    Existen una serie de entornos de ayuda al diseño de sistemas de control (CACSD) que han ido evolucionando hacia sistemas abiertos basados en la integración de herramientas. El ejemplo más claro nos lo da MATLAB/SIMULINK de MathWorks el cual dispone de un entorno al que se añaden herramientas de análisis y ayuda al diseño de sistemas de control (Toolboxes) según las necesidades, y que dentro de un entorno Windows se puede utilizar de forma abierta aplicando la filosofía de cliente-servidor con las DDE (Dynamic Data Exchange), que igualmente es extrapolable en un entorno UNIX. Ambos son ejemplos de entornos comerciales, ampliamente utilizados por la comunidad científico-técnica de todo el mundo tanto a nivel de investigación como en el desarrollo de aplicaciones industriales, que a pesar de sus ventajas no ofrecen facilidades reales para las fases finales de diseño e implantación de sistemas de supervisión tal como [Rakoto y Aguilar-Martin, 1995] y la experiencia de nuestro grupo de investigación revelan.

    Esta experiencia obtenida de aplicar el concepto CACSD a la supervisión pretendemos que puede ser aportada a la ayuda del diseño de agentes físicos, los cuales se explican en la siguiente sección. De hecho, las primeros fundamentos de la cooperación de sistemas expertos en tareas de supervisión que desarrollamos en el grupo vienen desde 1992 con trabajos como [de la Rosa, 1992, 1995; Aguilar 1994]

    9.5 Agentes físicos

    Los agentes físicos incorporan a los agentes software la problemática de la interface numérico-simbólica y simbólico-numérica que caracteriza los sistemas físicos que, de acuerdo a [Asada, 1997], están sometidos a restricciones del mundo real tales como imprecisión, incertidumbre, variabilidad en el tiempo, entre otras características. Una realización común, aunque no es la única, de los agentes físicos son los robots móviles que se les incorpora en la investigación actual una alta autonomía y capacidad de trabajar de forma cooperativa. La IA tradicional ha estado principalmente buscando la metodología para manipular símbolos usados en la adquisición y representación de conocimiento, y su razonamiento, gastando poca o nula atención en sus aplicaciones a mundos dinámicos reales. Mientras, en robótica se ha puesto mucho énfasis en los temas de diseño y construcción de hardware y su control. Actualmente, los tópicos recientes cubren dos áreas que incluyen los principios del diseño de agentes autónomos, colaboración multi-agente, adquisición de estrategias, razonamiento a tiempo real y planificación, robótica inteligente, sensor-fusion, y aprendizaje de comportamientos. Estos tópicos exponen nuevos aspectos que son difíciles de resolver con los enfoques tradicionales.

    Para la solución de estos nuevos aspectos y finalmente alcanzar el objetivo último de la IA y la robótica consistente en construir sistemas inteligentes que resuelven de forma emergente tareas complejas en un mundo real dinámico (aquí dinámico entendido como un mundo altamente cambiante), los cuerpos físicos tienen un rol importante de conducir el sistema agente a una interacción significativa con el entorno físico, complejo, incierto, pero que es regido por un conjunto de restricciones. El significado de "tener un cuerpo físico" puede resumirse como sigue:
     

  • Las capacidades sensoriales y las de actuación están altamente ligadas.

  • Bibliografía

    En la memoria aparecen referenciadas y subrayadas para distinguirlas de otras más accesorias.

    Asada M., Kuniyoshi Y., et al. (1997): The RoboCup Physical Agent Challenge, First RoboCup Workshop in the XV IJCAI-97 International Joint Conference on Artificial Intelligence, pp.51-56

    Cohen P. and Levesque H. (1990): Intention is choice with commitment. Artificial Intelligence, 42:213-261.

    Corera J. M., et al (1996): Using Archon, Part 2: Electricity Transportation Management, IEEE Expert and Intelligent Systems, Vol 11, n. 6, pp. 70-79

    Jennings N.R. et al (1996): Using Archon to Develop Real-World DAI Applications, Part 1, IEEE Expert and Intelligent Systems, Vol 11, n. 6, pp. 64-70

    Kitano H., Veloso M., et al. (1997): The RoboCup Synthetic Agent Challenge 97, XV IJCAI-97 International Joint Conference on Artificial Intelligence, Vol 1, pp.24-29

    de la Rosa J. Ll., Oller A., et al. (1997): Soccer Team based on Agent-Oriented Programming, Robotics and Autonomous Systems. Ed. Elsevier, Vol 21, pp. 167-176. October 1997.

    Rakoto, N. and Aguilar-Martin J. (1995) : Supervision de processus à l'aide du système expert G2, Ed. Hermès-1995, ISBN 2-86601-499-5.

    Shoham Y. (1990): Agent-oriented programming. Technical Report STAN-CS-1335-90, Computer Science Department, Stanford University, Stanford, CA.

    Stone P. and Veloso M. (1997): A layered approach to learning client behaviors in the robocup soccer server, to appear in Applied Artificial Intelligence.

    Varaiya P. and Deshpande A. (1995): Viable Control of Hybrid Systems: Hybrid Systems II, Lecture Notes in Computer Science, Springer Verlag. 1995.

    Wittig T. (1991) "Sistemas Expertos Cooperantes", Workshop La inteligencia Artificial y el Control en Tiempo Real, Santander, 25-28 June 1991

    Wooldridge M., Jennings N.R. (1995): Intelligent Agents: Theory and Practice, The Knowledge Engineering Review, Vol 10:2, pp. 115-152
     
     

    Agha, G. (1986): ACTORS: A Model of Concurrent Computation in Distributed Systems. The MIT Press. Cambridge, MA.

    Aguilar J. (1994): Knowledge-based Real Time Supervision of Dynamic Processes: Basic Principles and Methods, Applied Control: Current Trends and Applied Methodologies, Ed. Marcel Dekker, Inc., 1993.

    Del Acebo E., Oller A., de la Rosa J. L. (1997): Three Criteria for Fuzzy Systems Quality Evaluation, Workshop on Automation 2001, pp. 265-274, June 12-15, 1997, Viena, Austria.

    Cohen, P. R. and Levesque, H. J. (1990): Intention is choice with commitment. Artificial Intelligence, 42:213-261.

    Durfee E.E., Lesser V.R., and Corkill D.D.. "Trends in cooperative distributed problem solving". IEEE Transactions on Knowledge and Data Engineering, 1(1):63-83, 1989.

    Fisher, M. (1994): A survey of Concurrent MetateM - The language and its applications. In Gabbay, D. M. and Ohlbach, H. J., editors, Temporal Logic - Proceedings of the first International Conference (LNAI Volume 827), pages 480-505. Springer-Verlag: Heidelberg, Germany.

    Hewitt, C. (1977): Viewing control structures as patterns of passing messages. Artificial Intelligence, 8(3):323-364.

    Jennings, N. R. (1993): Commitments and conventions: The foundation of coordination in multi-agent systems. Knowledge Engineering Review, 8(3):223-250.

    Kripke, S. (1963): Semantical analisis of modal logic. Zeitschrift für Matematsche Logik und Grudlagen der Mathematik, 9:67-96.

    Maes P. (1994): Social interface agents: Acquiring competence by learning from users and other agents. In Etzoni O. editor, Software Agents - Papers from the 1994 Spring Symposium, pp. 71-78, AAAI press.

    Maes P. (1989): The dunamics of action selection. In Proceedings of the Eleventh International Joint Conference on Artificial Intelligence (IJCAI-89), pages 991-997, Detroit, MI.

    Meléndez J., de la Rosa J. Ll., et al (1995): Embedding Objects into Matlab/Simulink for process Supervision, IEEE International Symposium on CACSD, pp: 20-25, Dearborn, Michigan, USA, Sept. 15-18, 1996.

    Oller A., García R., Ramon J. A., Figueras A., de la Rosa J. L. (1997): Co-operation among Robots by Means of Multi-Agent Decision Making Framework under MATLAB-SIMULINK, Workshop on Automation 2001, pp. 71-80, June 12-15, 1997, Vienna, Austria

    de la Rosa J. Ll., Serra I., and Aguilar-Martin J. (1992): Outline of a Heuristic Protocol among Cooperative Expert Systems, IEEE Conference on Systems, Man, and Cybernetics, Vol. 2 pp. 905-910, September 1992

    de la Rosa J. Ll., Serra I., and Aguilar-Martin J. (1994): Heuristics for Co-operation of Expert Systems. Application to Process Control, Ed. PIAR.

    de la Rosa J. Ll., J. Meléndez, J. Colomer et al. (1995): An Application of heuristic co-operation to process control, 3rd IEEE Mediterranean Symposium on New Directions in Control and Automation, Limassol, Vol 1, pp 232-237 (Cyprus), July 1995.

    Rosenschein, S. and Kaelbling, L. P. (1986): The synthesis of digital machines with provable epistemic properties. In Halpern, J. Y., editor, Proceedings of the 1986 Conference on Theoretical Aspects of Reasoning About Knowledge, pages 83-98. Margan Kaufmann Publishers. San Mateo, CA.

    Steels, L. (1990): Cooperation between distributed agent through self organization. In Demazeau, Y. and Müller, J.-P., editors, Decentralized AI - Proceedings of the Third European Workshop on Modelling Autonomous Agents and Multi-Agent Worlds (MAAMAW-91), pages 175-196. Elsevier Science Publishers B. V. Amsterdam, The Netherlands.

    Voorhees E.M. (1994): Software agents for information retrieval. In Etzioni O. Editor Software Agents - Papers from the 1994 Spring Symposium, pp. 126-129, AAAI Press.
     
     

    download this document