7.3.2003 dammad reunión dammad grupo de inteligencia artificial dpto. de ciencias experimentales e...

23
DAMMAD 7.3.2003 Reunión DAMMAD Grupo de Inteligencia Artificial Dpto. de Ciencias Experimentales e Ingeniería Universidad Rey Juan Carlos Diseño y Aplicación de Modelos Multiagente para Ayuda a la Decisión SKADS

Upload: benita-caudillo

Post on 22-Jan-2016

219 views

Category:

Documents


0 download

TRANSCRIPT

DAMMAD7.3.2003

Reunión DAMMAD

Grupo de Inteligencia ArtificialDpto. de Ciencias Experimentales e Ingeniería

Universidad Rey Juan Carlos

Diseño y Aplicación de Modelos Multiagente para Ayuda a la Decisión

SKADS

DAMMAD7.3.2003

Control de Flujo

R1: ... -> ... R2: ... -> ... R3: ... -> ...

... Rn: ... -> ...

Consulta Médica(Enfermedades de origen infeccioso)

Diagnosticar(Presencia de enfermedades)

Recomendar Terapia(Tratamientos)

Abstraer Síntomas(Estado del Paciente)

Identificar Causa(Cuadros Clínicos)

Identificar Causa(Efect. Secundarios)

Proponer(Trat. Enfermedades)

Flujo de Datos

Proponer(Trat. Síntomas)

Revisar(Efect. Secundarios)

KSM

• Jerarquía de áreas de conocimiento

• Jerarquía de tareas

Funcionalidad

- Recomendar - Aceptar

Enfermedades deorigen infeccioso

Presencia deenfermedades

Tratamientos

Estado delPaciente

CuadrosClínicos

Efectos Secundariosde Drogas

Tratamientos deEnfermedades

Tratamientos deSíntomas

Conocimiento

- Efect. Secund. - Trat. Enferm. - Trat. Síntom.

Vocabulario Conceptual

DAMMAD7.3.2003

Utilidades de representación

• Bases de conocimiento Primitiva de representación

Componente software con:• Técnica general de representación• Mecanismos de inferencia

• Conocimiento de control Formalización y ejecución de métodos de razonamiento:

Lenguaje Link

• Terminología común Formalización de vocabularios conceptuales: Lenguaje

Concel

DAMMAD7.3.2003

Construcción de la versión ejecutable

Area de Conocimiento

Area de ConocimientoArea de Conocimiento

Area de Conocimiento Area de Conocimiento Area de Conocimiento

Primitiva(Reglas)

Primitiva(Marcos)

Primitiva(Restricciones)

DAMMAD7.3.2003

Primitivas KSM

• Programadas en C++ (Marcos, Reglas, ...)• Métodos principales

Cargar Base de Conocimiento Ejecutar una Tarea

una misma primitiva puede propocionar varias tareas se pasan entradas + parámetros y devuelve salidas + estado

de control

• Tipos de datos intercambiados en KSM: Booleanos, enteros, reales, símbolos, listas, hechos

discretos, ... ArgBool, ArgInt, ArgReal, ArgSymbol, ArgList,

ArgDiscreteFact, ...

DAMMAD7.3.2003

Software SKADS

• Sobre plataforma (FIPA) de agentes JADE• JAVA• Las primitivas se encapsulan en agentes JADE

Integración de C++ y JAVA (JNI) Envoltorio de agente

• Las Bases de Conocimiento y Vocabularios Conceptuales se mantienen internos a cada agente, pero “ocultos” a la plataforma JADE.

• En la ontología JADE (para la comunicación entre agentes) sí se definen los tipos de datos de KSM

• Comunicación mediante ACL y protocolos FIPA• Se utiliza Protegé-2000 como editor de ontologías

Permite generar ontología JADE, CLIPS, RDF, etc.

DAMMAD7.3.2003

Area de Conocimiento Area de Conocimiento Area de Conocimiento

Primitiva(Reglas)

Primitiva(Marcos)

Primitiva(Restricciones)

Comunicación en FIPA ACL

Agentificación de KSM

Agente 1 Agente 2 Agente 3

DAMMAD7.3.2003

Protocolos de Comunicación

• Cargar BC Protocolo: FIPA-Request Request con acción “Cargar

BC” con fichero de BC y VC Si se carga sin errores => inform-done

Si algún problema => failure/not-understood

DAMMAD7.3.2003

Protocolos de Comunicación

• Ejecutar Tarea Protocolo: FIPA-Query Query-ref preguntando por

valor del resultado de ejecutar una tarea

Las entradas se admiten en formato de datos y en modo string

Si no hay errores => inform con el resultado + estado control

Si algún problema => failure/not-understood

DAMMAD7.3.2003

Ejemplo

• Mensaje para carga de BC(REQUEST

:sender ( agent-identifier

:name [email protected]:1099/JADE

:addresses (sequence IOR:00000 ))

:receiver (set ( agent-identifier

:name [email protected]:1099/JADE) )

:content "((action (agent-identifier

:name [email protected]:1099/JADE

:addresses (sequence IOR:00000))

(CargaBC1 :FicheroBC baseConocimiento.in

:FicheroVoc vocabulario.in :FicheroErrores errores.out)))"

:language FIPA-SL

:ontology KSM-Ontology

)

DAMMAD7.3.2003

Ejemplo

• Mensaje para Ejecutar Tarea(QUERY-REF

:sender ( agent-identifier

:name [email protected]:1099/JADE

:addresses (sequence IOR:0000000 ))

:receiver (set ( agent-identifier

:name [email protected]:1099/JADE) )

:content

"((iota ?x (EjecutaTarea1 match \"[['subcuenca Casasola',

'lluvia ultimas cuatro horas', 50],['embalse Casasola',

'porcentaje de llenado', 60]]\" ?x)))"

:language FIPA-SL

:ontology KSM-Ontology

)

DAMMAD7.3.2003

Ejemplo

• Resultado de la ejecución de la tarea(INFORM

...

:content "((= (iota ?x (EjecutaTarea1 match \"[['subcuenca Casasola',

'lluvia ultimas cuatro horas', 50],['embalse Casasola',

'porcentaje de llenado', 60]]\" ?x))

(ArgResult :Salidas (sequence (ArgList :Lista (sequence (ArgList

:Lista (sequence (ArgDiscreteFact :Objeto \"embalse Casasola\“

:Atributo gravedad

:ValorDiscreto (ArgSymbol :Simbolo nula)

:Certeza 100)))))

:reply-with [email protected]:1099/JADE1046964074662

:language FIPA-SL

:ontology KSM-Ontology

)

DAMMAD7.3.2003

Ejemplo

• Entradas[d-fact('NIII en PK_15070','velocidad','baja'),d-fact('NIII en PK_15070','ocupacion','alta'),d-fact('NIII en PK_15070','saturacion','baja'),d-fact('salida a Vertederos','ocupacion','alta'),d-fact('salida a Vertederos','saturacion','alta'),d-fact('NIII tras acceso a M40','velocidad','alta'),d-fact('NIII tras acceso a M40','ocupacion','baja'),d-fact('entrada desde M40','ocupacion','alta'),d-fact('entrada desde M40','saturacion','baja'),d-fact('salida a M30','velocidad','baja'),d-fact('salida a M30','ocupacion','alta'),d-fact('salida a M30','saturacion','media'),d-fact('NIII tras acceso a M30','velocidad','alta'),d-fact('NIII tras acceso a M30','ocupacion','baja'),d-fact('NIII tras acceso a M30','saturacion','baja')]

DAMMAD7.3.2003

Foto

DAMMAD7.3.2003

Reunión DAMMAD

Grupo de Inteligencia ArtificialDpto. de Ciencias Experimentales e Ingeniería

Universidad Rey Juan Carlos

Diseño y Aplicación de Modelos Multiagente para Ayuda a la Decisión

SKADS

DAMMAD7.3.2003

Reunión DAMMAD

Grupo de Inteligencia ArtificialDpto. de Ciencias Experimentales e Ingeniería

Universidad Rey Juan Carlos

Diseño y Aplicación de Modelos Multiagente para Ayuda a la Decisión

Gestión Autobuses

DAMMAD7.3.2003

Arquitectura basada en servicios

• El sistema está compuesto de agentes que proporcionan servicios: identificación de problemas, diagnosis, planificación,

estimación, datos (llegadas a paradas, averías, ...)

• Se anuncian/buscan en el DF (páginas amarillas)• Protocolos según cada servicio

Subcripción a llegadas de autobuses, ... Request para planificación de acciones, ...

DAMMAD7.3.2003

Arquitectura de agentes

AIA

TIA1

UIA

LMA1

LMA2

LMAn

DA

Bus Fleet Connection

ControlCentre

ExternalAgents

Bus Fleet Management

AMS DF ...TIA m

...

DAMMAD7.3.2003

Agentes

• Line Management Agents (LMA) Uno por línea Identificación de problemas, diagnosis, planificación y predicción Se subscribe a llegadas de autobuses, averías, ...

• User Interface Agent/s (UIA) Visualización de la localización de vehículos Visualización de problemas Interacción con usuario

• Data Agent (DA) Informa (mediante subscripción) de llegadas, saturación, averías

• Action Implementation Agent (AIA)• Otros:

FIPA Agents (AMS, DF) Traffic Information Agent (TIA)

DAMMAD7.3.2003

Ejemplo: descripción Info Datos

(service-description:name info-gathering-1:type information-gathering:protocol (set FIPA-Query FIPA-Subscribe):ontology (set BFM-Ontology):properties (set

(property:name events:value (set

(bus-arrival:lines (set L1 L2 L3))

(breakdown:lines (set L1 L2 L3))

(saturation:lines (set L1 L2 L3))

(demand:lines (set L1 L2 L3)):source historic)))

(property:name notification-mode:value instantaneous)))

DAMMAD7.3.2003

Descripción LMA

(service-description :name problem-identification-1 :type problem-identification :protocol (set FIPA-Request FIPA-Subscribe) :ontology (set BFM-Ontology) :properties (set (property :name problems :value (set individual-delay generalised-delay breakdown advance individual-saturation generalised-saturation) (property :name notification-mode :value instantaneous) (property :name lines :value (set L1))))

DAMMAD7.3.2003

Notificación de llegada a parada

(inform :sender (agent-identifier :name [email protected] :addresses (sequence iiop://foo.com/acc)) :receiver (set (agent-identifier :name [email protected] :addresses (sequence iiop://foo.com/acc)) (agent-identifier :name [email protected] :addresses (sequence iiop://foo.com/acc)) (agent-identifier :name [email protected] :addresses (sequence iiop://foo.com/acc)) (agent-identifier :name [email protected] :addresses (sequence iiop://foo.com/acc))) :language FIPA-SL :protocol FIPA_Subscribe :ontology BFM-Ontology :content (Arrival :bus b1 :stop s1 :time (Time :hh 9 :mm 41)))

DAMMAD7.3.2003

Reunión DAMMAD

Grupo de Inteligencia ArtificialDpto. de Ciencias Experimentales e Ingeniería

Universidad Rey Juan Carlos

Diseño y Aplicación de Modelos Multiagente para Ayuda a la Decisión

Gestión Autobuses