Download Sin título de diapositiva - Grupo de Inteligencia Artificial
Document related concepts
no text concepts found
Transcript
Reunión DAMMAD Diseño y Aplicación de Modelos Multiagente para Ayuda a la Decisión SKADS Grupo de Inteligencia Artificial Dpto. de Ciencias Experimentales e Ingeniería Universidad Rey Juan Carlos DAMMAD 7.3.2003 KSM • Jerarquía de áreas de conocimiento • Jerarquía de tareas Enfermedades de origen infeccioso Consulta Médica (Enfermedades de origen infeccioso) Conocimiento - Efect. Secund. - Trat. Enferm. - Trat. Síntom. Presencia de enfermedades Flujo de Datos Funcionalidad R1: ... -> ... R2: ... -> ... R3: ... -> ... ... Rn: ... -> ... - Recomendar - Aceptar Tratamientos Diagnosticar (Presencia de enfermedades) Estado del Paciente Cuadros Clínicos Efectos Secundarios Tratamientos de de Drogas Enfermedades Tratamientos de Síntomas Abstraer Síntomas (Estado del Paciente) Recomendar Terapia (Tratamientos) Proponer Identificar Causa Identificar Causa (Cuadros Clínicos) (Efect. Secundarios) (Trat. Enfermedades) Proponer (Trat. Síntomas) Revisar (Efect. Secundarios) Vocabulario Conceptual DAMMAD Control de Flujo 7.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 DAMMAD 7.3.2003 Construcción de la versión ejecutable Area de Conocimiento Area de Conocimiento Area de Conocimiento Primitiva (Reglas) Area de Conocimiento Area de Conocimiento Primitiva (Marcos) DAMMAD Area de Conocimiento Primitiva (Restricciones) 7.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, ... DAMMAD 7.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. DAMMAD 7.3.2003 Agentificación de KSM Comunicación en FIPA ACL Area de Conocimiento Primitiva (Reglas) Agente 1 Area de Conocimiento Primitiva (Marcos) Agente 2 DAMMAD Area de Conocimiento Primitiva (Restricciones) Agente 3 7.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 DAMMAD 7.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 DAMMAD 7.3.2003 Ejemplo • Mensaje para carga de BC (REQUEST :sender ( agent-identifier :name validaPatrones@searle.escet.urjc.es:1099/JADE :addresses (sequence IOR:00000 )) :receiver (set ( agent-identifier :name KSMAgentPatrones@searle.escet.urjc.es:1099/JADE) ) :content "((action (agent-identifier :name validaPatrones@searle.escet.urjc.es:1099/JADE :addresses (sequence IOR:00000)) (CargaBC1 :FicheroBC baseConocimiento.in :FicheroVoc vocabulario.in :FicheroErrores errores.out)))" :language FIPA-SL :ontology KSM-Ontology ) DAMMAD 7.3.2003 Ejemplo • Mensaje para Ejecutar Tarea (QUERY-REF :sender ( agent-identifier :name validaPatrones@searle.escet.urjc.es:1099/JADE :addresses (sequence IOR:0000000 )) :receiver (set ( agent-identifier :name KSMAgentPatrones@searle.escet.urjc.es: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 ) DAMMAD 7.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 validaPatrones@searle.escet.urjc.es:1099/JADE1046964074662 :language FIPA-SL :ontology KSM-Ontology ) DAMMAD 7.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') ] DAMMAD 7.3.2003 Foto DAMMAD 7.3.2003 Reunión DAMMAD Diseño y Aplicación de Modelos Multiagente para Ayuda a la Decisión SKADS Grupo de Inteligencia Artificial Dpto. de Ciencias Experimentales e Ingeniería Universidad Rey Juan Carlos DAMMAD 7.3.2003 Reunión DAMMAD Diseño y Aplicación de Modelos Multiagente para Ayuda a la Decisión Gestión Autobuses Grupo de Inteligencia Artificial Dpto. de Ciencias Experimentales e Ingeniería Universidad Rey Juan Carlos DAMMAD 7.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, ... DAMMAD 7.3.2003 Arquitectura de agentes Bus Fleet Connection Bus Fleet Management Control Centre LMA 1 DA LMA 2 LMA AIA External Agents UIA n AMS DF DAMMAD TIA 1 ... TIA m ... 7.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) DAMMAD 7.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))) DAMMAD 7.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)))) DAMMAD 7.3.2003 Notificación de llegada a parada (inform :sender (agent-identifier :name da@foo.com :addresses (sequence iiop://foo.com/acc)) :receiver (set (agent-identifier :name lma1@foo.com :addresses (sequence iiop://foo.com/acc)) (agent-identifier :name lma2@foo.com :addresses (sequence iiop://foo.com/acc)) (agent-identifier :name uia@foo.com :addresses (sequence iiop://foo.com/acc)) (agent-identifier :name tia2@foo.com :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))) DAMMAD 7.3.2003 Reunión DAMMAD Diseño y Aplicación de Modelos Multiagente para Ayuda a la Decisión Gestión Autobuses Grupo de Inteligencia Artificial Dpto. de Ciencias Experimentales e Ingeniería Universidad Rey Juan Carlos DAMMAD 7.3.2003