Clase 7 — Repaso estructurado, banco de preguntas tipo examen y actividad 2
Resumen Ejecutivo
Sesión de repaso intensivo del temario visto (tema 1 sistemas multiagente, tema 2 FIPA, tema 3 JADE) con banco de preguntas tipo test reales resueltas en directo, un ejemplo de pregunta de desarrollo y explicación de la actividad 2 (mismo stack JADE que la actividad 1, nueva rúbrica). ⚠️ EXAMEN: toda la clase es oro para examen — el profesor va destilando qué conceptos caen y cómo se formulan.
Conceptos Clave (consolidado)
Tipos de agente — memoriza las 4 definiciones ⚠️ EXAMEN
| Tipo | Definición que preguntan en test |
|---|---|
| Autónomo | Actúa sin intervención humana |
| Proactivo | Toma la iniciativa para realizar tareas sin necesidad de un estímulo externo |
| Reactivo | Responde a cambios del entorno que detecta en tiempo real (necesita estímulo) |
| Social | Coopera con otros agentes o usuarios |
| Deliberativo | Antes de actuar, razona y evalúa lo que tiene que hacer |
Regla mnemónica profesor: "Yo llego a la oficina y hago una tarea sin que mi jefe me la pida" = proactivo. Reactivo = necesita input. Deliberativo = razona antes.
Arquitecturas de agente ⚠️ EXAMEN
- Simbólica (lógica): representación simbólica del entorno, razonamiento basado en conocimiento, fácil de entender para humanos.
- Reactiva: estímulo → respuesta directa, sin modelo simbólico central, más rápida en entornos dinámicos, no aprende de la experiencia.
- BDI (Beliefs, Desires, Intentions): creencias + deseos + intenciones. Capaz de razonar. Mayor complejidad. JADE implementa BDI y es compatible con FIPA.
- Híbrida en capas: combina reactiva + deliberativa. Ventaja clave: reacción en tiempo real ante urgencias + deliberación para objetivos a largo plazo. Típica de sistemas edge.
Comunicación entre agentes ⚠️ EXAMEN
Dos formas fundamentales: 1. Directa: agente envía mensaje a agente (A2A), ACL. 2. Indirecta: actuando sobre un entorno compartido (pizarras, BBDD compartidas, páginas amarillas).
Teoría que subyace: acto del habla (speech act theory) — los mensajes representan acciones comunicativas con efectos sobre las actitudes mentales de los agentes. No son "meros datos".
FIPA
- Fundada en 1996. Objetivo: estandarizar la infraestructura y lenguaje para interoperabilidad entre plataformas de agentes. ⚠️ EXAMEN: no es "crear una plataforma única", es estandarizar.
- Pila de comunicación FIPA (7 subniveles): ⚠️ EXAMEN
- Transporte
- Codificación
- Mensajería
- Ontología
- Expresión de contenido
- Acto comunicativo
- IP (Protocolo de interacción) ← pregunta: dónde se especifican los IPs → subnivel 7.
- Regla: niveles bajos → transporte/comunicación, niveles medios → conversación, nivel alto → secuenciación de mensajes.
- Único parámetro obligatorio en un mensaje ACL:
performative. - Protocolos de interacción típicos: Request, Contract Net, Query.
Gestión de agentes FIPA
| Componente | Obligatorio | Función |
|---|---|---|
| AMS (Agent Management System) | ✅ sí | Gestiona creación, eliminación, migración, ciclo de vida. Páginas blancas (localización por identidad). |
| DF (Directory Facilitator) | ❌ opcional | Páginas amarillas (localización por servicio ofrecido). Permite búsquedas y federación. |
| MTS (Message Transport Service) | ✅ sí | Transporte de mensajes FIPA entre agentes. |
Ejemplo clave en clase: un agente pregunta "¿quién ofrece el servicio de traducción?" → páginas amarillas (DF). "¿dónde está el agente llamado Luis?" → páginas blancas (AMS).
Ciclo de vida: cuando un agente finaliza, el AMS borra el registro del directorio y su AID queda disponible para otros agentes. (Analogía del profesor: "como el número de teléfono cuando te das de baja".) ⚠️ EXAMEN
JADE
- Plataforma Java open source, licencia LGPL (permite uso comercial).
- Cumple FIPA, comunicación asíncrona entre agentes.
- Contenedores: procesos sobre JVM que albergan agentes. Distribuidos en red.
- Main Container: ⚠️ EXAMEN
- Es el primer contenedor que se lanza.
- Alberga AMS y DF.
- Mantiene la tabla global (referencias + direcciones) de todos los contenedores/agentes de la plataforma.
- Identificador único global por agente (AID) → API independiente de ubicación ("ubicuidad").
- Movilidad: soporta migración de código + estado de agente entre contenedores.
Tipos de comportamiento (Behaviour) en JADE ⚠️ EXAMEN
| Clase | Cuándo se ejecuta |
|---|---|
OneShotBehaviour |
Una sola vez |
CyclicBehaviour |
Indefinidamente |
Genérico (Behaviour) |
Según el estado — se define action() y done() |
WakerBehaviour |
Una sola vez tras expirar un timeout (onWake) |
TickerBehaviour |
Periódicamente con intervalos fijos (onTick) |
Regla de oro: action() nunca retorna hasta terminar (mejor dicho, bloquea al resto de comportamientos del mismo agente mientras se ejecuta). Evitar bucles largos dentro de action(). ⚠️ EXAMEN
Métodos clave al crear un agente
setup()— invocado al crear el agente; inicialización.doDelete()/takeDown()— terminar el agente.getArguments()— recuperar argumentos de entrada comoObject[].getAID()/getLocalName()— identificador único en la plataforma.
Herramientas gráficas de JADE
- Console de gestión: árbol de plataformas/contenedores/agentes, control de ciclo de vida, suscripción a eventos del AMS.
- Sniffer Agent: depura conversaciones entre agentes (captura los mensajes ACL que circulan).
- Dummy Agent: envía mensajes ACL personalizados a agentes para probar comportamiento ante estímulos.
- Introspector Agent: monitoriza ciclo de vida + ejecuta paso a paso los comportamientos.
Comunicación asíncrona vs síncrona
- Síncrona: el emisor se queda bloqueado esperando la respuesta.
- Asíncrona: el emisor envía y sigue ejecutando; la respuesta llega cuando llega. ⚠️ EXAMEN: ventaja clave — permite enviar aunque el receptor no esté disponible, sin bloquear la ejecución.
Historia de FIPA (no se pregunta el año, sí los hitos) ⚠️ EXAMEN
- 1996: se funda la asociación sin ánimo de lucro.
- 1997: gestión de agentes.
- 1998: movilidad + nuevos protocolos de integración.
- 2000: arquitecturas abstractas, ciclos de vida. Primera liberación de JADE.
- 2002: arquitectura abstracta definitiva para evitar cambios iterativos.
- 2005: incorporada a IEEE.
Banco de preguntas tipo test (resueltas en clase)
Las respuestas marcadas son las que el profesor validó. Regla de examen comentada por el profesor: "ante la duda entre dos, la B" (broma, pero algo hay).
- Un agente se considera proactivo cuando… → (B) toma la iniciativa para realizar tareas sin necesidad de un estímulo externo.
- En un sistema multiagente, los agentes pueden interactuar… → (A) directamente mediante comunicación, o indirectamente actuando sobre el entorno compartido.
- La arquitectura BDI estructura el comportamiento en torno a 3 elementos. → Beliefs, Desires, Intentions (creencias, deseos, intenciones).
- Ventaja principal de las arquitecturas híbridas en capas: → (B) permiten comportarse de forma reactiva ante situaciones urgentes y deliberativa para objetivos a largo plazo.
- Objetivo al fundar FIPA (1996): → (B) estandarizar la infraestructura y lenguaje para interoperabilidad entre plataformas. No era crear una plataforma única.
- Teoría del acto del habla en FIPA implica… → (B) los mensajes representan acciones comunicativas con efectos sobre las actitudes mentales de los agentes.
- Dentro de la pila FIPA, los IP se especifican en el subnivel… → (7) protocolo de interacción.
- Facilitador de directorios (DF) es el servicio de… → (B) páginas amarillas.
- ¿Qué ocurre cuando un agente finaliza su ciclo de vida? → (A) el AMS borra el registro del directorio y su AID queda disponible para otros agentes.
- ¿Qué es el Main Container en JADE? → (B) el contenedor que se lanza primero, alberga AMS y DF y mantiene la tabla global de todos los agentes.
- Diferencia entre páginas blancas y amarillas: → blancas localizan agentes (¿dónde está Luis?), amarillas registran servicios (¿quién traduce?).
- Ventaja de la comunicación asíncrona en JADE: → (D) permite que el emisor envíe un mensaje aunque el receptor no esté disponible, sin bloquear su ejecución.
Ejemplo de pregunta de desarrollo (tema no impartido aún)
Enunciado modelo. Un sistema de vigilancia urbana captura imágenes de la calle mediante cámaras. Describe el proceso completo que seguiría el sistema para detectar objetos, respondiendo a estas tres preguntas:
a) ¿En qué se diferencia una aplicación de visión por computador de una aplicación de procesamiento de imágenes, y cuál de las dos se debería recomendar para este sistema?
b) Describe las tres etapas del pipeline de procesamiento de imágenes.
c) ¿Qué ventajas aporta trabajar en el dominio de la frecuencia frente al dominio espacial para filtrar el ruido de las imágenes?
Estructura del examen confirmada: ⚠️ EXAMEN - 10 puntos totales. - 4 puntos — 10 preguntas tipo test (0,4 cada una). No restan los errores. - 6 puntos — 1 pregunta de desarrollo con 3 subpreguntas × 2 puntos. - "Desarrollo" NO significa necesariamente código; puede haberlo en alguna subpregunta.
Advertencia del profesor: "yo solo puedo calificar lo que veo". Aunque participes mucho en clase, el examen lo escribes tú solo. Escribe todo lo que sepas, aunque dudes.
Actividad 2
- Stack: JADE + Java (igual que actividad 1). Actividad 3 (Python) llega más adelante.
- Formato: desarrollo en JADE de un nuevo reto + simulación.
- Rúbrica (peso orientativo): ⚠️ EXAMEN / actividad
- Pruebas: ~30% (captura de pantalla + simulaciones explícitas, incluyendo casos en los que falla — muchos agentes simultáneos, objetivos en conflicto, etc.).
- Formato APA: ~20% (portada, índice, introducción, desarrollo, conclusiones, bibliografía).
- Entrega: PDF con la aplicación + código.
- Libertad de diseño: cada equipo elige el reto/objetivos. No es imprescindible usar RoboCode u otras librerías concretas; sí que se expliquen las decisiones ("por qué elegí esto").
- Pregunta recurrente de alumnos: ¿llevar ordenador al examen? El profesor responde que sí, facilita; a mano es más fácil equivocarse. Confirmará oficialmente las herramientas permitidas.
Preguntas de Autoevaluación (adicionales a las anteriores)
- ¿Qué diferencia hay entre un agente proactivo y un agente deliberativo? El proactivo actúa por iniciativa propia sin estímulo; el deliberativo razona/evalúa antes de actuar.
- ¿Qué significa que JADE tenga una API independiente de la ubicación? Que puedo invocar un agente vía la API sin saber físicamente en qué contenedor/máquina se está ejecutando (ubicuidad).
- ¿Por qué la arquitectura en capas híbrida es típica en sistemas edge? Porque combina reacción rápida a eventos (reactiva) con decisiones informadas a largo plazo (deliberativa), lo que edge requiere.
- ¿Qué se registra en las páginas blancas y qué en las amarillas? Blancas = identidad/dirección de los agentes. Amarillas = servicios que ofrecen.
- ¿Qué diferencia hay entre
OneShotBehaviouryWakerBehaviour? Ambas ejecutan una vez, peroWakerBehaviourespera a que expire un timeout. - ¿Qué significa que los agentes JADE estén "débilmente acoplados"? Que pueden declinar una invocación ("decir no") y que no requieren referencia directa de objeto, solo identidad.
- ¿Por qué
action()de unBehaviourno debe bloquear indefinidamente? Porque bloquea al resto de comportamientos del mismo agente.
Compromisos pendientes del profesor
- Publicar transparencias de todas las clases.
- Publicar notas actividad 1 (todas a la vez).
- Compartir ejemplos de desarrollo de código como los de preguntas tipo test.
- Confirmar oficialmente herramientas permitidas en examen.