UPC Universitat Politècnica de Catalunya ...bejar/ecsdi/Teoria/ECSDI03c...Conocimiento Actualizado...

39
Diseño de sistemas multiagente Prometheus - PACMAN ECSDI Curso 2020/2021 CS-FIB-UPC cbea

Transcript of UPC Universitat Politècnica de Catalunya ...bejar/ecsdi/Teoria/ECSDI03c...Conocimiento Actualizado...

  • Diseño de sistemas multiagentePrometheus - PACMAN

    ECSDI

    Curso 2020/2021

    CS-FIB-UPC cbea

  • Especificación del sistema

  • Especificación - Descripción de alto nivel

    } PACMAN tiene como objetivos comer todas las píldoras que hay en el laberintosin ser capturado más de n veces.

    } Los fantasmas tienen como objetivo capturar a PACMAN más de n veces.

    } Hay píldoras especiales que hacen a los fantasmas vulnerables y que puedan sercapturados durante s1 segundos, PACMAN puede decidir capturar a los fantasmastras comer una de estas píldoras

    } Un fantasma capturado puede volver al juego en modo normal tras s2 segundos.

    } Un fantasma en modo vulnerable evita ser capturado

    2

  • Especificación - Descripción de alto nivel

    } Elementos adicionales:◦ PACMAN y los fantasmas solo pueden ver hasta el muro más próximo en todas

    direcciones.

    ◦ PACMAN puede elegir entre comer una píldora o no cuando pasa sobre ella,asumiendo que el detenerse a comerla le toma un tiempo y por lo tanto le retrasa.

    ◦ Los fantasmas si ven a PACMAN le persiguen activamente.

    ◦ Los fantasmas pueden comunicarse entre ellos su posición y la posición dePACMAN si lo ven.

    3

  • Especificación - Descripción de alto nivel

    } Otras consideraciones◦ Modelaremos únicamente los agentes que controlan los personajes

    ◦ Asumiremos que el sistema que controla todo el juego es el entorno externo

    ◦ El entorno externo se encargará de enviar las percepciones que reciben los agentes yrecibir las acciones

    4

  • Especificación - Actores

    } Podemos distinguir tres actores:◦ El sistema que controla el entorno (que no modelaremos)

    ◦ El PACMAN

    ◦ Los Fantasmas

    5

  • Especificación- Escenarios

    } Podemos distinguir dos escenarios en los que participan los actores◦ Escenario normal (el PACMAN come pildoras y huye de los fantasma, los fantasmas

    persiguen a PACMAN)

    ◦ Escenario súper (el PACMAN también se preocupa de perseguir a los fantasmas ylos fantasmas huyen de PACMAN)

    } Podemos subdividir cada escenario en la visión que tienen los actores de cada unode ellos

    6

  • Especificación - Escenarios

  • Especificación del sistema - Objetivos

    } Podemos dividir todos los objetivos del sistema en dos grupos, los que sepersiguen en el escenario normal y en el súper

    } A su vez los objetivos se organizan según los actores que los persiguen, ya seaPACMAN o los fantasmas

    } Los objetivos incluyen: Buscar y comer píldoras, buscar y comer PACMAN yFantasmas, informarse entre fantasmas

    8

  • Especificación del sistema - Objetivos

  • Especificación - Roles/acciones/percepciones

    } Podemos distinguir cuatro roles que se corresponden con los diferentessubescenarios identificados

    } Como percepciones externas tenemos la activación de los modos normal y super,la visión que reciben PACMAN y Fantasma de su entorno y cuando PACMAN yfantasmas son comidos (esta última percepción podría formar parte de la visión)

    } Como acciones podemos identificar el comer píldoras, PACMAN y fantasmas(podrían ser acciones separadas o una genérica) y la acción de movimiento dePACMAN y fantasmas

    10

  • Especificación - Roles

  • Especificación - Roles

    RolNombre PACMAN NormalDescripción Se encarga de mover a PACMAN por el laberinto comien-

    do píldoras y huyendoEvento Iniciador Modo normal activadoAcciones Comer píldoras/MovimientoInformación usada LaberintoInformación Producida Estado internoObjetivos PACMAN normal

    12

  • Especificación del sistema - Escenarios

    EscenarioNombre PACMAN NormalDescripción PACMAN busca píldoras y huyeEvento Activación modo normalPasosTipo Nombre Rol DatosPercepción Modo normal Pacman NormalPercepción Visión Pacman NormalObjetivo Comer píldoras Pacman NormalObjetivo Evitar Fantasmas Pacman NormalAcción Comer píldora Pacman Normal LaberintoAcción Moverse Pacman Normal Laberinto

    13

  • Especificación - Percepciones

    PercepciónNombre VisiónDescripción Evento que permite obtener información del entorno

    en la posición actualInformación Elementos del laberinto visiblesConocimiento Actualizado Posición de píldoras/Fantasmas/PACMANFuente EntornoProcesamiento NingunoAgentes que responden Por determinarFrecuencia Cada paso de reloj

  • Especificación - Acciones

    AcciónNombre MoverseDescripción Actualiza la posición de PACMAN/Fantasma en el laberintoParámetros Dirección de movimientoDuración Paso de relojFallo NingunoEfectos Laterales Ninguno

    15

  • Especificación - Visión General

    16

  • Diseño Arquitectónico

  • Diseño Arquitectónico - Diagrama roles/agentes

    } Identificamos que harán falta dos agentes en el sistema y agrupamos los rolessegún su coherencia semántica

    ◦ Agente PACMAN: rol PACMAN normal, rol PACMAN súper◦ Agente FANTASMA: rol Fantasma normal, rol Fantasma asustado

  • Diseño Arquitectónico - Diagrama acoplamiento datos

    } Las fuentes de datos provienen de:◦ La estructura de datos que guarda la descripción del laberinto◦ La información del estado interno de los agentes que actualizan con las

    percepciones y las acciones

    19

  • Diseño Arquitectónico - Diagrama de relacióno

    } Los dos tipos de agentes no se comunican en entre sí

    } Los fantasmas sí que lo hacen, pero la comunicación entre agentes del mismo tipono se representa

    20

  • Diseño Arquitectónico - Agentes

    AgenteNombre FantasmaDescripción Se encarga de perseguir a/huir de PACMANCardinalidad mínima 4 Cardinalidad máxi-

    ma4

    Duración ilimitada Inicialización Posición inicial de fantasmasEn caso de fallo Nada Percepciones Visión, ...Acciones Moverse/Comer Usa datos Laberinto, estado internoProduce datos Ninguno Datos internos Por definirObjetivos Buscar PACMAN, Comer

    PACMAN, ...Roles Fantasma normal, asustado

    Protocolos Protocolo Informar Fan-tasmas

  • Diseño Arquitectónico - Protocolos

    ProtocoloNombre Informar FantasmasDescripción Informa a otros fantasmas de la posición de

    PACMANMensajes Enviar PosiciónEscenarios Escenario normal/superAgentes Fantasma

    22

  • Diseño Arquitectónico - Mensajes

    MensajeNombre Posición PACMANDescripción Informa de la posición de PAC-

    MANDistribución De Fantasma a FantasmaPropósito Informar de posición PACMANInformación contenida Posición actual de PACMAN

    23

  • Diseño Arquitectónico - Visión general

    24

  • Diseño Detallado

  • Diseño Detallado - Capacidades PACMAN

    } Identificamos en el agente PACMAN tres capacidades1. Evitar Fantasmas

    2. Perseguir

    3. Comer Píldoras

    } Detallamos para cada capacidad los planes en los que se descomponen

    26

  • Diseño Detallado - Capacidades PACMAN

    27

  • Diseño Detallado - Planes PACMAN - Comer pildoras

    28

  • Diseño Detallado - Planes PACMAN - Perseguir fantasmas

    29

  • Diseño Detallado - Planes PACMAN - Evitar fantasmas

    30

  • Diseño Detallado - Capacidades Fantasmas

    } Identificamos en el agente Fantasma tres capacidades1. Perseguir PACMAN

    2. Huir de PACMAN

    3. Comunicarse con otros fantasmas

    } Detallamos para cada capacidad los planes en los que se descomponen

    31

  • Diseño Detallado - Capacidades Fantasma

    32

  • Diseño Detallado - Planes Fantasmas - Normal

    33

  • Diseño Detallado - Planes Fantasmas - Asustado

  • Diseño Detallado - Planes Fantasmas - Comunicar fantasmas

    35

  • Diseño Detallado - Capacidades

    CapacidadNombre Evitar FantasmasDescripción Evita ser comido por los fantasmasObjetivos Evitar fantasmaProtocolos NingunoMensajes Entrantes NingunoMensajes Salientes NingunoMensajes Internos ningunoPercepciones visión, comidoAcciones moverseDatos usados Laberinto, estado internoDatos producidos ningunoDatos Internos Por definirPlanes incluidos Plan evitar fantasmaCapacidades incluidas Ninguna

    36

  • Diseño Detallado - Planes

    PlanNombre Plan evitar fantasmaDescripción Desarrolla las acciones necesarias no ser alcanzado por un

    fantasmaIniciador modo normalMensajes Entrantes NingunoMensajes Salientes ningunoDatos usados Laberinto, estado internoDatos producidos NingunoFallo ningunoRecuperación de fallo innecesarioProcedimiento Código del plan

  • Diseño Detallado - Datos

    DatosNombre Estructura laberintoDescripción Representa como es el laberintoTipo de datos grafoCampos nodos, conexionesPersistente SíExterna al sistema NoIncialización Laberinto por defectoProducida por Sistema externoUsada por PACMAN, FantasmasUsada cuando ...

    38

    Especificación del sistemaDiseño ArquitectónicoDiseño Detallado