Sie sind auf Seite 1von 17

Pontificia Universidad Javeriana. López. FedExpert: Federación de Sistemas Expertos.

FedExpert: Federación de Sistemas Expertos


López, Ricardo. lopez.ricardo@javeriana.edu.co


del servidor son enviadas de vuelta a los usuarios
Resumen— Este artículo presenta un estado del humanos.
arte de las herramientas diseñadas e implementadas
para la colaboración entre múltiples sistemas El conocimiento de diagnostico está distribuido a lo
expertos. largo de los agentes de diagnostico. Cada agente es
un experto autónomo de un cierto dominio de
Se genera un análisis integral comparativo a partir conocimiento de distintos pero parecidos dominios.
del estado del arte con las problemáticas detectadas
analizando sus posibles soluciones con sus ventajas Como se ilustra en la Figura 1 los agentes con los
y desventajas. que cuenta el sistema son:

Índice de Términos— Agentes, Cooperación,  Agente de Diagnostico: responsable de producir


Colaboración, Blackboard, Paginas amarillas. el diagnostico a partir de las observaciones
insertadas.
I.ESTADO DEL ARTE.  Agente de tratamiento: Responsable de
encontrar una recomendación a cierto desorden
o síntoma presentado.
A. Agriculture Expert system (Diagnosis and  Agente de la Interfaz de Usuario: Provee acceso
treatment for grapes) [1] a los agentes de sistemas expertos. Para la
portabilidad del sistema este programa es un
Desde el punto de vista arquitectónico el sistema applet de java.
provee un marco para coordinar el comportamiento  Agente de coordinación:
de varios agentes específicos. La sociedad de o Actúa como interfaz entre el agente de la
agentes en este sistema consiste en agentes de interfaz de usuario y los demás agentes.
Sistemas expertos (agentes de diagnostico y un o Responsable de establecer el link de
agente de tratamiento) que trabajan del lado del comunicación con el experto deseado a
servidor. partir de la petición del usuario.
o Realiza comunicación entre los agentes.
Los agentes de sistemas expertos incluyen un o Cada vez que el agente de la interfaz de
modulo de traducción bilingüe KQML (Knowledge usuario necesita comunicarse con los
Query Manipulation Language). Los mensajes otros agentes este envía un mensaje al
transferidos por el sistema utilizan el formato agente de coordinación.
KQML. Los agentes se comunican enviando o El agente de coordinación crea una
mensajes al agente de coordinación como se ilustra instancia de la clase dándole los nombres
en la figura 1, los clientes se comunican con el de host y los puertos de los agentes.
servidor mediante sockets por medio de Internet, del
lado del cliente el agente de la interfaz de usuario El sistema entero tiene la capacidad de resolver
envía peticiones de diagnostico o tratamiento a el problemas que requieren la experticia acumulativa
servidor y las respuestas que se generaron del lado de la comunidad de agentes y tiene como objetivo
principal simular lo que pasa en la vida real de
cómo operan los expertos.

Este documento fue realizado en el contexto del curso Proyecto Especial,
bajo la supervisión del Profesor Enrique González.

Proyecto Especial. 2009-I


Pontificia Universidad Javeriana. López. FedExpert: Federación de Sistemas Expertos. 2

Figura 1 Flujo de observación y desorden en una sesión de diagnostico.

Proyecto Especial. 2009-I


Pontificia Universidad Javeriana. López. FedExpert: Federación de Sistemas Expertos. 3

soporte para una solución es menor que cierto


B. COOP [2]
umbral el sistema experto decide buscar ayuda.
El ambiente COOP estructura la sociedad de La forma en que los agentes localizan a los
agentes como un set de organizaciones que proveen especialistas a consultar es por medio de páginas
infraestructuras y servicios necesitados por sistemas amarillas y para el establecer la comunicación con
expertos individuales. Una organización es un el sistema utilizan las páginas blancas.
grupo de agentes que proveen un único servicio. El
ambiente Coop provee un set de servicios y Una librería de rutinas es suministrada para dar
mecanismos para crear nuevas organizaciones. soporte a varias políticas y mecanismos de
comunicación. Varios sistemas expertos pueden
Cuando un experto decide buscar ayuda, el procede utilizar la librería para implementar políticas
a identificar los agentes acordes para cooperar. Esto específicas de cooperación para usar en un
requiere información acerca de la experticia de problema dado.
otros agentes en el ambiente. La información se
guarda en un agente servidor que sirve como El manejador de eventos de red provee un servicio
servicio de directorio. de mantenimiento de estado para recolectar el
estado global de la red. Este servidor colecciona los
Una manera para reducir el esfuerzo requerido para estados locales de maquinas individuales en la red y
entender y consultar la experticia existente es las fusiona. El manejador de eventos monitorea el
clasificando adecuadamente la colección de los estado de la base de datos y detecta la ocurrencia de
sistemas disponibles utilizando notaciones de diferentes eventos. Cuando ocurre un evento realiza
dominios y conceptos. Los dominios son los la acción apropiada.
nombres que se le dan a una clase de problemas.
Los dominios a menudo son sub divididos en sub El Worm mechanism es un servicio que ayuda en la
dominios más pequeños. iniciación. Controlar y terminar un grupo de
procesos en el clúster que está conectado por
Ethernet. Permite al agente ser tolerante a fallos.

Figura 3 Capas de la interfaz con Sistemas


Operativos distribuidos.
Figura 2 El ambiente Coop par sistemas expertos
cooperativos. La implementación de sistemas expertos
cooperativos necesita facilidades para iniciar
Como se ilustra en la figura 2 el ambiente Coop monitorear y controlar los procesos en la red. Para
provee los siguientes servicios: dar soportes a estas necesidades se diseñaron un set
de capas como se ilustra en la figura 3:
Cada regla en la base de reglas prolog esta anotada
con un par de numero que cuantifican la confianza Comunication Subsystem Layer: Establecer
en dicha regla que da soporte de la regla. Cuando el comunicación entre procesos. Clock
Synchronization: Garantiza que los relojes de todas

Proyecto Especial. 2009-I


Pontificia Universidad Javeriana. López. FedExpert: Federación de Sistemas Expertos. 4

las máquinas estén sincronizados. Status


Maintenance layer: Es responsable de mantener el  Informar la necesidad de ayuda para demostrar
estado de las bases y recoger los reportes. una nueva tarea.
 Informar a los elementos de procesamiento
C. Framework for distributed theorem proving cuando empezar o terminar la tarea.
[3]  Informar a todos los elementos de
procesamiento la finalización de toda la
demostración.
El llamado theorem proving (demostración de
teoremas) es una técnica en un sistema de
El sistema propuesto está basado en multi agentes y
deducción, la cual trata de demostrar la exactitud de
se componen por los siguientes agentes ilustrados
un set de clausulas que describen un problema. El
en la figura 2:
hiper-linking proof procedure (HLPP) fue propuesto
para eliminar la duplicación de clausulas que
1. Proof Agents
ocurren en varios métodos de deducción y ha
Es un agente que reside en un Proof Factory y tiene
probado ser muy eficiente para demostrar algunos
las siguientes tareas:
problemas lógicos de primer orden.
 Ofrecer su ayuda cuando su carga no está
Esto motiva a los investigadores a explorar la pesada.
computación paralela y distribuida para generar  Invocar HLPP cuando un trabajo de
sistemas automatizados de deducción con alto demostración le fue asignado.
rendimiento. Para implementar un sistema con  Pedir ayuda cuando está
dichas características se tiene que tomar las sobrecargado.
siguientes consideraciones:
El Proof factory es un elemento de procesamiento
La partición de tareas: Las tareas que se van a con la habilidad de invocar HLPP. Cada proof agent
realizar de una manera distribuida deberían ser lo está asociado con una base de conocimiento que
más independiente posible de esta manera cada contiene respuestas esenciales y acciones
tarea puede ser realizada por un agente predefinidas para la colaboración o comunicación.
independiente.
2. System Agents
El balanceo de cargas: Las tareas que van a ser Se diseñaron para monitorear y controlar el estado
realizadas por los agentes tienen que ser distribuidas del marco multiagente presentado:
equitativamente.
Agent Manager: está en el agent dock el cual
Debe haber varios elementos de procesamiento nombra los agentes, monitorea la vida de los
encargados de monitorear el progreso de las agentes registrados y lista los agentes voluntarios
demostraciones y la confiabilidad del sistema para: para una petición especifica. El Agent dock es una
comunidad que está recolectando los proof agents
 Reconocer cuantos hosts disponibles hay en el disponibles. Antes de empezar la colaboración un
internet. proof factory tiene que registrarse en el agent dock.
 Decidir los tipos de colaboración a realizar.
Cuando un proof agent se registra en el agent dock
 Ajustar las clausulas/literales que se reenviaran
su nombre, su dirección IP, el sistema operativo y
a otros hosts.
el tiempo de registro son almacenados. Una lista de
 Monitorear el tráfico y predecir el tiempo de
espera es asociada con el agent dock la cual es una
giro de cara host.
lista de registros de los proof agents que se ofrecen
a diferentes peticiones que son puestas en el
Las siguientes señales pueden ser necesarias para
Blackboard. El que llama puede acceder a la lista de
realizar la comunicación con todos los elementos de
espera para obtener el nombre y la dirección IP y
procesamiento:

Proyecto Especial. 2009-I


Pontificia Universidad Javeriana. López. FedExpert: Federación de Sistemas Expertos. 5

reenviarle la información asociada a los voluntarios


directamente vía FTP.
Blackboard y Board Cleaner
Knowledge Manager
 En el Blackboard los agentes ponen sus  Esta diseñado en este marco para la
peticiones de ayuda y las respuestas administración del conocimiento y el control
correspondientes a las peticiones. de versiones.
 Los proof agents leen las peticiones que  Tiene dos tareas: Actualizar e instalar la
están en el Blackboard y si estiman que última versión del HLPP.
pueden realizar esa petición ellos se ofrecen
al agent dock. Comunicación basada en KQML

Figura 4 Arquitectura de alto nivel del sistema.


 Una petición en el Blackboard tiene 3  Los agentes pueden comunicarse unos con
estados: nuevo (posteado nuevo), servido otros por medio de KQML en una manera
(en procesamiento) y fuera de fecha (no ha Peer to Peer.
sido realizado por ningún agente en un
periodo largo de tiempo).  Cada agente es asociado con un motor de
 El board cleaner agent se encarga de la lista inferencia, una memoria funcionando y una
de voluntarios y mira los mensajes que son base de reglas con la cual analiza los
posteados en el Blackboard y rastrea sus mensajes KQML pasados de otros agentes y
estados. tener las acciones correspondientes.

Proyecto Especial. 2009-I


Pontificia Universidad Javeriana. López. FedExpert: Federación de Sistemas Expertos. 6

Para la implementación del marco propuesto fue ágil, flexible y dinámica y permite su interacción en
utilizado para el HLPP Swi-Prolog, los agentes en una variedad de estilos que coincide con las
JATLITE y las reglas de la base de conocimiento en necesidades actuales y cambiantes de los objetivos
CLIPS. de diseño. Realiza la integración de agentes y
cooperación por medio de internet para poder tener
recursos reusables en línea.
D. CIDVS (Collaborative Injection-mold-
product Development Virtual Space) [4]
Los agentes propuestos para ello están clasificados
en tres categorías e ilustrados en la figura 5:
La disminución del tiempo en el que se realizan los
productos y el incremento de la complicación de Discipline-dependent application agent: Tiene la
estos requieren que expertos multidisciplinarios estructura más simple y provee solamente un
cooperen de forma dinámica y cercana en el ciclo mecanismo de comunicación por encima de la capa
de vida de desarrollo del producto. Se presenta un de encapsulación web.
diseño de arquitectura cooperativo utilizando
internet, agentes y tecnologías web. Con este Coordinate-oriented collaboration agent: No
ambiente cooperativo dinámico, todos los contiene la parte de interfaz de usuario pero tiene
participantes involucrados y su conocimiento más lógica de negocio compleja correspondiente a
distribuido pueden integrarse como un todo para la encapsulación de un servicio estático.
alcanzar un diseño cooperativo más eficiente y más
inteligente. Distributed user agent: Tiene más unidades
incluidas, junto con funciones dinámicas de
La naturaleza de la colaboración es la adquisición administración de servicios adicionalmente. El
de servicios, lo que permite adquirir los recursos y agente de usuario es responsable de construir y
conocimientos más apropiados que sean escalables, transferir las peticiones en mensajes SOAP y
modificables y reusables. La metodología propuesta después re direccionarlo al web service apropiado.
CIDVS (Collaborative Injection-mold-product
Development Virtual Space) es un sistema integrado
que permite la composición de recursos de manera

Proyecto Especial. 2009-I


Figura 5 Arquitectura del diseño cooperativo basado en agente y servicio por medio de internet.
Pontificia Universidad Javeriana. López. FedExpert: Federación de Sistemas Expertos. 7

Estos agentes sirven como el mediador y Service Management: Provee un mecanismo


encapsulador para los servicios locales y eficiente para integrar los servicios de
distribuidos. conocimiento independiente.

La arquitectura puede verse desde tres capas de 3) El resource application layer incluye todos los
despliegue: recursos distribuidos desplegados mundialmente
que necesitan ser organizados eficientemente por las
1. 1) El product development unit layer se compone capas intermedias.
por varios PDUs, el cual contiene un usuario de
desarrollo, un agente de usuario, varios agentes de Los servicios se comunican de manera peer to peer
interfaz y agentes de aplicación. y utilizan los conceptos de descubrimiento y
despliegue para publicar sus capacidades o atributos
 Los agentes de usuario construyen un ambiente sin importar su ubicación geográfica. La tecnología
de desarrollo integrado para los PDUs con de agentes se utiliza para coordinar y encapsular los
diferentes roles y derechos. servicios para asistir el diseño colaborativo en una
 Los agentes de interfaz: proveen interfaces manera más eficiente. Los agentes actúan como la
específicas para los usuarios. fuerza conductora para coordinar la utilización del
web service de internet, mientras que los Web
2) El collaborative function layer facilita la services existen como aplicaciones de fuentes de
colaboración entre los diferentes PDU. Las conocimiento.
funciones principales están compuestas por dos
categorías: La comunicación entre los diferentes componentes
es basado en los protocolos estándares web. La
Agent federation: Tiene como objetivo la comunicación entre agentes está basado principal
coordinación y el control de los comportamientos mente en los métodos HTTP GET y HTTP POST o
de los siguientes grupos de agentes: por medio de un subconjunto de KQML. Los
contenidos de KQML son encapsulados con el
 Comunication service agent: Construye el lenguaje XML.
modelo global del agente de servicio y guarda
los registros de las capacidades, nombres, Los web services pueden ser descubiertos
direcciones, y estados de todos los agentes dinámicamente e integrarlos en el sistema. Cuando
distribuidos. aparece una petición de descubrimiento, la petición
 Process management agent: Tiene procesos y los anuncios registrados son comparados y un
orientados al proyecto para la administración puntaje puede ser obtenido por medio de un
incluyendo definición de procesos, análisis, algoritmo de emparejamiento. El servicio con el
optimización y alteración. puntaje más alto se considera que es el servicio más
 User management agent: maneja toda la deseable para el caso.
información de los usuarios, roles y autoridades.
 Knowledge interaction agent: ayuda a la toma En la herramienta propuesta existen dos formas para
de decisiónes de las actividades para obtener el realizar la invocación de servicios:
consenso óptimo.  Invocación estática: Se invoca el servicio
 Conflict coordination agent: tiene la función de requerido por medio de la información de la
detectar y resolver conflictos entre los PDUs. configuración inicial.
 History agent: Adquiere la información histórica  Invocación dinámica: Se invoca un servicio
cooperativa. desconocido por medio de una búsqueda en
tiempo real.
 Graphic agent: conrola la presentacion y
operación grafica.
La implementación del ambiente es en .NET, el
servidor web es en IIS. Del lado del cliente para

Proyecto Especial. 2009-I


Pontificia Universidad Javeriana. López. FedExpert: Federación de Sistemas Expertos. 8

construir los componentes de agentes se utilizo:


applets de Java, controles ActiveX y Javascript.

E. CoopES [5]

La cooperación aparece cuando múltiples,


separados procesos con diferentes propósitos
interactúan para construir una solución a un
problema común.
Figura 6 Prototipo CoopES
La coordinación en esta aplicación se realiza de dos
formas: El prototipo CoopES actualmente utiliza tres
agentes de aplicación: Un shuttle propulsión
Los agentes pueden ofrecer voluntariamente controller, unShuttle electrical system controller y
información o requerirla. Para ofrecer información un system monitor el cual es responsable de
útil, el agente necesita saber para quien es coordinar los otros dos agentes. Cada agente tiene
importante la información que el maneja. Para una interfaz grafica de usuario que describe sus
requerir información y evitar transmisiones estados internos.
costosas, un agente necesita saber quien tiene el
control sobre los recursos que tienen influencia F. Frameworks for Cooperation in Distributed
sobre su propio sistema. Problem Solving [6]
La comunicación durante la iniciación cada agente
solicita dos sockets sin conexión y envía su Podemos observar el problema de la solución de
dirección IP al servidor. Un socket es utilizado para problemas en un procesamiento distribuido como un
enviar mensajes y el otro es para recibir. grupo de expertos humanos con experiencia
trabajando juntos, tratando de completar una tarea
La interfaz de usuario consulta la red actual para grande. Como lo realizan los expertos humanos con
determinar que maquinas están disponibles y para los sistemas expertos se trata de dividir la carga de
probar limitaciones en maquinas con agentes. trabajo entre ellos y cada nodo independientemente
Multiples agentes pueden correr en todas las puede resolver algunos sub problemas del
maquinas. Cuando un agente se sube, el envía su problema grande.
dirección al servidor, el servidor después informa a
todos en la red la dirección del nuevo agente.

El heartbeat agent administra todos los agentes


dinámicamente. Como parte de las primitivas de
comunicación en cada agente esta la habilidad de
responder a un mensaje de latido del corazón. Un
latido de corazón es enviado cada 10 segundos a
cada agente. Cuando un latido de corazón no es
devuelto en 30 segundos, el heartbeat agent asume
que el agente que no responde esta desactivado y
empieza a buscar un nuevo host en el cual puede
reiniciar dicho agente. Figura 7 Fases de la solución de problemas
distribuidos.

Como se ilustra en la figura 7 en la primera fase el


problema se descompone en sub problemas. La

Proyecto Especial. 2009-I


Pontificia Universidad Javeriana. López. FedExpert: Federación de Sistemas Expertos. 9

descomposición sigue hasta que se generan G. KAMET [7]


problemas que no se pueden descomponer. En la
segunda fase se solucionan los sub problemas. Como múltiples expertos pueden tener diferente
Puede necesitar comunicación y cooperación entre experiencia y conocimiento en el dominio de la
los nodos que intentan resolver los sub problemas misma aplicación es necesario obtener e integrar
individuales. En la tercera fase se realiza la ese conocimiento de múltiples expertos para
integración de los resultados de los sub problemas construir un sistema experto efectivo. Para hacer
para llegar a la solución general del problema. frente con este problema, se propone un
acercamiento basado en Delphi para obtener
Para cumplir con el requerimiento principal que es conocimiento de múltiples expertos.
solución de problemas a alta velocidad
El desempeño depende en la arquitectura de Es muy difícil obtener e integrar conocimiento de
solución de problemas múltiples expertos en especial en los dominios de
aplicación donde varias escalas de tiempo de los
Dos formas de cooperación en la solución de elementos tienen que tenerse en cuenta. Para
problemas distribuidos son considerados: solucionar este problema se propone KAMET
(Knowledge Acquisition for Multiple Experts with
Task Sharing: Los expertos deciden quien hace cual Time scales). En el cual se tienen en cuenta las
tarea. Si el experto sabe que otro experto tiene los escalas de tiempo mientras se obtiene la experticia
conocimientos necesarios para resolver el problema de los múltiples expertos.
él le notifica directamente. Si no sabe quien en
particular sabe cómo hacer el trabajo le avisa a todo Cada entrada KAMET es una tripleta que consiste
el grupo sobre la tarea y espera que le responda de tres valores:
quien lo sabe hacer. Es una forma de cooperación
dirigido a metas en la cual los nodos individuales  Puntaje: Grado de relevancia del elemento. El
trabajan independientemente con comunicación rango es de 1-5.
mínima entre si y se asisten entre ellos  Certeza: Grado de certeza del puntaje dado.
compartiendo la carga computacional para la Puede ser S (Seguro) o N (No Seguro).
ejecución de sub tareas de un problema en general.  Factor de Impacto: Grado de importancia del
elemento.
La clave a resolverse en el task-sharing es como son
distribuidas las tareas entre los nodos de KAMET emplea el método Delphi en las etapas
procesamiento. El problema de conexión consiste iníciales de negociación. Delphi se define como: Un
en encontrar el nodo disponible más apropiado para método para realizar solicitación sistemática y
ejecutar la tarea. Para resolver el problema de colección para juzgamientos en un particular tema
conexión se considera la negociación como por medio de un set de cuestionarios entremezclado
mecanismo que puede ser usado para estructurar las con información resumida y retroalimentación de
interacciones de los nodos y resolver el problema de opiniones entregadas de respuestas anteriores.
conexión en los sistemas task-shared. Contract net
puede servir como aproximación para resolver el Delphi tiene las siguientes tres características:
problema de conexión. Grupos anónimos de interacciones y respuestas,
múltiples iteraciones o rondas de cuestionarios,
Result sharing: Los expertos periódicamente presentación de estadísticas de las respuestas de
reportan entre si los resultados parciales que han grupo.
obtenido durante la ejecución de las tareas
individuales con diferentes perspectivas del Cuando un número predeterminado de expertos
problema en general. Depende de la información están de acuerdo a participar, el investigador usa
que está disponible. La solución es construida múltiples iteraciones o rondas de cuestionarios para
mediante la agregación incremental de soluciones recolectar la información:
parciales.

Proyecto Especial. 2009-I


Pontificia Universidad Javeriana. López. FedExpert: Federación de Sistemas Expertos. 10

 El cuestionario de la primera ronda utiliza un Después de que todos los expertos proveen los
formato amplio para obtener los juicios elementos de una aplicación de dominio especifica;
individuales u opiniones de cada miembro del KAMET genera una unión de set de elemento por
panel acerca de un asunto particular o problema medio de la integración de los sets de elementos
bajo estudio. obtenidos por los expertos individuales y
 En el cuestionario de la segunda ronda el removiendo los elementos redundantes. KAMET
investigador requiere que el panel de expertos después emplea la tecnología Delphi para analizar
considere puntuar, calificar, editar y comentar cada opinión y comentario de cada experto.
acerca de las respuestas dadas en la primera KAMET resume las respuestas dadas por los
ronda. expertos en la primera ronda y muestra el análisis
 La meta de la tercera ronda o cualquier otra de los resultados a los expertos antes de empezar la
ronda de cuestionarios es de obtener un segunda ronda.
consenso o estabilidad en las respuestas del
panel de miembros. La implementación de KAMET se llevo a cabo en
 Cuando se consigue la estabilidad o consenso el Windows 2000 Server.
procedimiento Delphi se completa.
H. Organizations for Cooperationg Expert
Cuando se desarrolla un sistema experto una de las Systems [8]
más difíciles tareas es recolectar los dominios de
conocimiento de múltiples expertos. Por eso se Grupos de expertos que colectivamente resuelven
necesita una tecnología de integración. los sub problemas de un problema estructurado
cooperan entre sí. Cada sub problema debe ser
KAMET consiste en 4 componentes principales: escogido para que el sub problema pueda resolverse
de manera independiente.
 Modulo de obtención de conocimiento: Es una
herramienta de obtención de conocimiento El planeamiento es el proceso en el que un set de
basada en web con la aproximación KAMET, la expertos colectivamente selecciona los sub
cual provee facilidades de recuperar, mantener, problemas o metas a cumplir. El protocolo a seguir
crear y almacenar el conocimiento. por los expertos cuando planean será designado
para garantizar la coordinación y cooperación entre
 Modulo de transformación de conocimiento: los expertos. Cada experto escoge la mejor meta
Puede transformar experticia en un dominio en posible sin forzar a otro experto a tomar la decisión
un formato de conocimiento basado reglas de errada.
algún motor de inferencia.
La información compartida por los expertos puede
 Modulo Toma de decisiones en grupo basado en ser organizada en el Blackboard con diferentes
Delphi: Es implementado basado n la tecnología niveles de abstracción. Cada experto manda una
Delphi. Emplea procedimientos para asistir a señal cuando puede ejecutar una tarea. Los expertos
múltiples expertos en determinar elementos, realizan las tareas oportunamente explotando nueva
síntomas y el número de escalas de tiempo para información que aparece en el Blackboard.
cada elemento durante el proceso de adquisición
del conocimiento. Una organización de expertos para resolver
problemas estructurados debe tener en
 Modulo de integración de experticia: Emplea un consideración la planeación y ejecución de fases de
set de reglas de integración de conocimiento la solución de problemas. La estructura de
para integrar los puntajes, los grados de certeza coordinación determina el patrón de interacción
y los grados de importancia correspondiente a entre los expertos cuando determinan que metas se
los elementos y los síntomas. van a lograr. Dicta que fracción de toda la

Proyecto Especial. 2009-I


Pontificia Universidad Javeriana. López. FedExpert: Federación de Sistemas Expertos. 11

información disponible para la organización estará experto a desarrollar sus tareas con información
disponible para cada experto. incompleta. La información disponible para los
expertos cuando utilizan el protocolo de consenso
Los expertos pueden interactuar de dos maneras: incrementara a la ventana combinada de todos los
expertos en el grupo.
 Peer to Peer: Requiere un consenso entre los
expertos durante la fase de selección de meta del I.CPS-ID [9]
planeamiento.
 Jerárquicamente: Permite que un experto
El diseño integrado representa un acercamiento para
decrete un set de metas que otro agente debe
producir diseños que tienen en cuenta
cumplir.
requerimientos para un producto. Tiene la ventaja
de ser un medio más unificado para la
El protocolo de consenso asegura que los expertos
comunicación y cooperación.
participantes escojan una meta de acuerdo a
clasificación conjunta. Cuando un experto no puede
El solucionador de problemas cooperativos provee
completar su parte del plan o se completo el plan
un marco natural para el desarrollo de diseño
tiene que enviar una señal a los demás expertos. Los
integrado. El CPS puede ser caracterizado como la
expertos mediante el Blackboard intercambian sus
solución cooperativa de problemas por un set de
planes preferidos de acción. Los expertos examinan
unidades solucionadoras de problemas que están
los planes propuestos y sus puntuaciones para
lógicamente o físicamente separadas llamadas
determinar cuál es el mejor.
fuentes de conocimiento. Es diferente al
procesamiento distribuido. Puede haber múltiples
El protocolo de decreto le da a un experto la
fuentes de conocimiento que tienen cierta experticia
habilidad de dictar a uno o a un grupo de expertos
para resolver la mayoría de sub problemas.
que metas debe buscar. La estructura organizacional
determina las tareas que pueden ser realizadas por
Características del Modelo Solucionador de
los expertos individuales y el flujo de datos entre
Problemas Cooperativo:
ellos. Se propone que como parte de la estructura de
coordinación una “ventana” o campo de vista debe
La base principal es el uso de múltiples fuentes de
ser específico para cada experto como se muestra en
conocimiento cooperativas con diferentes áreas de
la Figura 8.
conocimiento. Cada fuente de conocimiento es
independiente y puede estar instalada en diferentes
maquinas, se comunican con otras fuentes de
conocimiento en un lenguaje común y entendible.
El uso de múltiples, separados, identificables
fuentes de conocimiento en la solución de
problemas cooperativos hace el desarrollo y la
validación más fácil.

La integración se lleva a cabo de la siguiente


manera: Las fuentes de conocimiento interactúan
modificando y evolucionando una solución
Figura 8 Estructura de coordinación para una guardada en el Blackboard. Cada fuente de
organización con tres agentes. conocimiento afirma y propaga las limitaciones de
la solución. Los conflictos pueden surgir cuando
La ventana del experto indica que porción de la hay diferentes puntos de vista entre los diferentes
información disponible a la organización puede solucionadores de problemas.
utilizar cuando va a desarrollar las tareas. La
asignación de una ventana a un experto fuerza al

Proyecto Especial. 2009-I


Pontificia Universidad Javeriana. López. FedExpert: Federación de Sistemas Expertos. 12

Diseño serial vs. Diseño paralelo II. ANÁLISIS INTEGRAL COMPARATIVO

Limitaciones diseño serial:


 Estaciones sucesivas A. Recuperación de los diagnósticos (Historial
 Las metas son dadas por el estado anterior de médico)
los procesos.
 Solamente un experto esta activado al tiempo. Esta problemática apareció en el articulo SHAO
 La calidad de integración de múltiples expertos 2007 y la solución que se propone para ese
está limitado. problema es utilizar un History agent. La ventaja de
implementar un agente de historial es que el sistema
Paralelismo adquiere toda la historia de cooperación cuando se
necesite.
 Múltiples fuentes de conocimiento activadas en
paralelo Oportunidades: 1) Tener historia clínica con dos
niveles, historial actual e historial a largo plazo. 2)
 Comunicación directa
Poner disponible la información que ya está en una
 La calidad de la solución integrada es mejor que
base de datos a los sistemas expertos. 3) Integrar
la del método secuencial.
varias historias en una sola para poner a
 Las tareas asignadas a los expertos pueden ser disposición.
modificadas sin requerir mayor interacción.

B. Medida de la calidad de los diagnósticos


(Grado de certeza)

Esta problemática apareció en los artículos:


CHUN2007, GROS1990. Las soluciones posibles
son: CHUN2007 Utiliza una tripleta que consiste de
tres valores: puntaje, certeza y factor de impacto. La
ventaja de utilizar este sistema de puntuación es que
se toman en cuenta 3 factores a la hora de decidir
cual resultado escoger. La desventaja es que el
experto tiene que tener disponible la opción de
ofrecer los 3 factores de puntuación a la hora de
entregar el diagnostico.

GROS1990 - Los expertos intercambian por medio


del Blackboard los planes preferidos de acción
acompañado de un puntaje de cada plan. La ventaja
Figura 9 Arquitectura de CPS-ID.
es que cada experto da a conocer su metodología
para resolver el problema y un grado de certeza con
El CPS-ID está basado en una comunidad de
la metodología propuesta.
arquitectura CPS. Consiste en la colección de
fuentes de conocimiento que se comunican por
Oportunidades: 1) Como darle una especie de
medo de poner afirmaciones en un Blackboard
calificación a diferentes elementos del sistema. 2)
central. Las fuentes de conocimiento al ser
Valor de confianza se tiene en cuenta al momento
implementadas son cajas negras unas con otras. La
de calificar una oferta.
arquitectura del sistema se ilustra en la figura 9.

Proyecto Especial. 2009-I


Pontificia Universidad Javeriana. López. FedExpert: Federación de Sistemas Expertos. 13

C. Explicación de cómo llego a la solución F. Necesidad de un traductor

Esta problemática apareció en los artículos: Esta problemática se relaciona con la problemática
SHAA2004, SHEK1989 y HUNG2005. Los tres de la necesidad de un lenguaje común de
utilizan un agente que se encarga de generar un conocimiento y apareció en el articulo SHAA2004
flujo de información con la recopilación de los y la solución que se le da a este problema es incluir
pasos que se siguieron para llegar a un diagnostico. un componente de traducción en cada agente. La
La ventaja es que se tiene la manera de justificar los ventaja de incorporar un elemento de traducción en
resultados que arrojo el experto. Es muy útil en el agente es que permite a los agentes hacer sus
casos en los que la herramienta es para asistir a la inferencias con la base de conocimiento en
toma de decisiones. cualquier lenguaje de programación.

D. Necesidad de tener un lenguaje común de G. Tolerancia a Fallas


conocimiento
Esta problemática apareció en el articulo
Esta problemática apareció en los artículos: SHEK1989 y la solución que se le da a este
HUNG2005, SHAA2004, SHAO2007. Los tres problema es asignarle a cada agente un mecanismo
autores proponen utilizar KQML como lenguaje de worm el cual permite al agente ser tolerante a
comunicación común. SHAO2007 además fallos. La ventaja de usar el mecanismo worm es
encapsulada KQML en el lenguaje XML. La que le da al agente la posibilidad de ser tolerante a
ventaja que se obtiene al implementar este lenguaje fallos internamente.
de comunicación común es que es ampliamente
utilizado en aplicaciones de esta categoría. Oportunidad: Detección de fallos y mecanismos
para recuperación.
E. Ontologías
H. Mecanismos de negociación
Esta problemática apareció en los artículos:
SHAA2004 y SHAO2007. Las soluciones posibles Esta problemática apareció en los artículos:
son: En SHAA2004 los agentes utilizan la misma GROS1990, SHECK1989 y SMIT2001. Los tres
ontología y entienden el mismo lenguaje de autores utilizaron el mecanismo de negociación
comunicación. La desventaja es que hay que instalar Contract net.
las ontologías en todos los agentes y al momento d
realizar las actualizaciones se tendrían que I.Forma de responder
actualizar todas.

En SHAO2007 se utiliza un repositorio que guarda Esta problemática apareció en el articulo


la información de los servicios de ontología. La RUFA1990 y la solución que le da es responder en
ventaja de usar un repositorio es que solo hay una tiempo real.
fuente con los servicios de ontología y para la
actualización e instalación es mejor. La desventaja Oportunidad: Como se va a manejar ese concepto
es que si deja de funcionar el repositorio todos los de tiempo real en este contexto.
agentes pierden la capacidad de utilizar las
ontologías. J. Interacción del usuario con el sistema

Oportunidad: Como manejar la consistencia con los Esta problemática apareció en el articulo SHA2004
términos en una plataforma distribuida. y la solución que se le da a este problema es
realizarle preguntas al usuario por medio de una
interfaz grafica. La ventaja que ofrece esta interfaz

Proyecto Especial. 2009-I


Pontificia Universidad Javeriana. López. FedExpert: Federación de Sistemas Expertos. 14

es darle al usuario del sistema una forma fácil de interno dentro del agente confrontando con su
responder las preguntas del sistema. propia información.

K. Forma de cómo recluto o selecciono al L. Transferencia de información ya captada


especialista
Esta problemática apareció en el articulo
Esta problemática apareció en los artículos: HUNG2005 y propone que los agentes que aceptan
HUNG2005, SHEK1989, SMIT2001, HUNG2005, ayudar se contacten con el que pidió la ayuda y
SHAA2004, SHAO2007, CHUN2007, GROS1990, hagan la transferencia de la información ya captada.
BASK1989. Las soluciones posibles son: La ventaja de transferir la información captada es
SHAA2004 propone utilizar un coordinador o que el agente nuevo no tenga que captar de nuevo la
medico general. La ventaja de utilizar un información.
coordinador es que no hay necesidad de
preguntarles a todos, el coordinador sabe a quién Oportunidad: Quien toma la iniciativa de transferir
preguntarle. la información.
M. Concepto de Excepción
SHEK1989 propone utilizar páginas amarillas. La
ventaja de utilizar páginas amarillas es que la
información de los especialistas y sus capacidades Esta problemática apareció en el articulo
están almacenadas ordenadamente, facilita la HUNG2005 y propone utilizar un Board cleaner
búsqueda del especialista. agent. La ventaja de utilizar un Board cleaner agent
es que se encarga de revisar los estados de los
CHUN2007 y SMIT2001 les pregunta a todos. La agentes encargados de realizar tareas y de esta
ventaja de preguntarle a todos es que cada experto forma mantenerlos todos funcionando.
tiene la opción de responder si es capaz o no es
capaz de realizar la tarea. La desventaja es que una N. Interfaz de Usuario
petición le puede llegar a un experto que no tiene ni
idea y esto genera tráfico. Esta problemática apareció en los artículos:
QIU2005, SHAA2004, HUNG2005, CHUN2008 y
GROS1990, BASK1989 y HUNG2005 utilizan RUFA1990. Las soluciones posibles son: QIU2005,
Blackboard. La ventaja de utilizar Blackboard es SHAA2004, CHUN2008 proponen utilizar como
que los expertos tienen dónde poner las solicitudes interfaz grafica de usuario un explorador web. La
si no saben a quién preguntarle. La desventaja es ventaja de utilizar un explorador web como medio
que puede pasar mucho tiempo antes de que le den para utilizar el sistema es que permite a los clientes
respuesta. acceder a este en cualquier parte del mundo y en
una gran variedad de dispositivos.
SHAO2007 realiza una invocación estática o HUNG2005 y RUFA1990 proponen utilizar como
invocación dinámica de web services. La ventaja es interfaz de usuario una aplicación stand alone.
que cuando realiza una invocación dinámica no se
necesita saber quién sabe hacer alguna tarea a la
hora de buscar algún especialista. O. Necesidad de atender más usuarios al
tiempo
Oportunidades: 1) Cada experto contesta a su
propio juicio y con esos resultados el coordinador Oportunidades: 1) Pipeline. 2) Múltiples instancias
genera su respuesta. 2) Posibilidad de filtrar a quien por medio de un Pool de instancias o creadas
se le manda. 3) Directorio de páginas amarillas un dinámicamente.
poco más avanzado. 4) Al momento del registro del
especialista en las páginas amarillas se llena una
ficha con un poco mas de detalle. 5) Tratamiento

Proyecto Especial. 2009-I


Pontificia Universidad Javeriana. López. FedExpert: Federación de Sistemas Expertos. 15

P. Organización del conocimiento de los T. Múltiples especialistas con el mismo


expertos conocimiento

Esta problemática apareció en el articulo Oportunidad: Mecanismos para recoger esas


SHEK1989 y proponen utilizar notaciones de soluciones y presentarlas de forma coherente.
domino y conceptos. La ventaja es que al momento
de localizar algún experto se puede utilizar U. Cooperación entre especialistas
notaciones lo que facilita la búsqueda.
Se relaciona con la problemática de cuando buscar
Q. Cuando buscar ayuda ayuda.

Esta problemática apareció en los artículos: Oportunidad: Dos clases de cooperación entre
SHEK1989 y HUNG2005. Las soluciones posibles especialistas: una y otra horizontal.
son: SHEK1989 propone que cuando el soporte
para una solución es menor que cierto umbral el V. Contexto aplica para Web Services
sistema experto decide buscar ayuda. La ventaja es
que se maneja un umbral con un mínimo puntaje
con el cual se puede trabajar. Oportunidad: Se quiere que el usuario fácilmente
conozca los servicios que presta el sistema por
HUNG2005 propone que un proof agent debe medio de web services.
pedir ayuda cuando esta sobre cargado. La ventaja
es que el agente tiene la capacidad de pedir ayuda W. Lenguaje técnico
cuando él lo considere pertinente.
Oportunidad: El sistema está hecho para alguien
R. Monitoreo con conocimiento técnico medico.

Esta problemática apareció en los artículos: X. División de tareas


HUNG2005, SHEK1989 y SMIT2001. Los tres
autores proponen colocar un agente que se encargue Oportunidad: Dividir una tarea principal en sub
de monitorear los agentes que están realizando las tareas para que se puedan resolver
tareas. La ventaja de tener un agente que este independientemente.
monitoreando los procesos le da al sistema un grado
más de fiabilidad.
Y. Posibilidad de interface humana
S. Necesidad de agregar agentes
Oportunidad: Permitir que sea un humano experto
dinámicamente a la federación
interactuando con el sistema desde una interfaz.
Esta problemática apareció en los artículos:
SHAO2007 y HUNG2005. Las soluciones posibles
son: SHAO2007 propone integrar dinámicamente al III. CONCLUSIONES GENERALES DEL ESTADO
sistema web services descubiertos. HUNG2005 DEL ARTE
menciona que cualquier computador puede
contribuir a la demostración siendo voluntario en el La recuperación de los diagnósticos es un punto
proof factory. crítico en la aplicación a desarrollar debido a que
por medio de este se logra evitar diagnósticos
innecesarios. La medida de calidad de los
diagnósticos permite que se tenga conocimiento de

Proyecto Especial. 2009-I


Pontificia Universidad Javeriana. López. FedExpert: Federación de Sistemas Expertos. 16

la calidad de respuestas de ciertos expertos antes de rápido y aprovechar los recursos con que se cuenta.
hacer la consulta. La explicación de cómo se llego a
una solución sirve como referencia para justificar Los expertos pueden tener la necesidad de buscar
una respuesta de un experto, es de gran utilidad para ayuda para eso se debe brindar un mecanismo para
el médico general que usara la herramienta. que este pueda localizar la ayuda pertinente en su
caso. La necesidad de agregar agentes
Tener un lenguaje de comunicación común permite dinámicamente a la federación permite al sistema
a los agentes comunicarse en el mismo lenguaje de ser más escalable con la posibilidad de manejar
una manera transparente. Las ontologías permiten a nuevos dominios de conocimiento y nuevos
los expertos manejar los mismos términos sin componentes de computo. Utilizar múltiples
importar las palabras que se utilizan facilitando el especialistas con el mismo o similar conocimiento
entendimiento entre estos. El componente de permite tener segundas opiniones sobre un mismo
traductor es importante en el momento que se diagnostico. El contexto para web services permite
implementen sistemas expertos con diferentes a la aplicación no solo funcionar como satnd alone
lenguajes de programación facilitando la o por medio de un browser si no que otros usuarios
comunicación entre ellos. El tema de tolerancia de pueden conocer los servicios que este ofrece para
fallos juega un papel importante en el momento de consumirlos.
implementar la aplicación para asegurar su correcto
funcionamiento a lo largo del tiempo. El sistema será desarrollado para usuarios con
conocimiento medico en especial Médicos
Los mecanismos de negociación son útiles en el generales. La división de tareas permite coger un
momento de que los agentes requieren hacer problema grande y dividirlo en sub problemas que
distribución de tareas o selección de otros agentes pueden ser solucionados por agentes independientes
para cooperar. La forma de responder permite dar sin necesidad de comunicarse entre sí. La
una cantidad de tiempo para la respuesta que le da posibilidad de tener una interface humana permite
el sistema al usuario que la requiere. La interacción al sistema que un experto humano pueda trabajar
del usuario con el sistema es importante debido a como si fuera un sistema experto realizando
que el sistema puede realizar preguntas al usuario diagnósticos.
para completar su diagnostico. El requerimiento
quizás más importante en el concepto de
cooperación es la forma como se selecciona al REFERENCIAS
especialista debido a que la mejor forma [01] K. Shaalan, M. El-Badry y A. Rafea. “A
implementada para la selección garantiza un buen multiagent approach for diagnostic expert
diagnostico por parte del sistema. systems via the internet”. Department of
Computer Science, Cairo University. SHAA2004.
Transferir la información ya captada permite a los
[02] S. Shekhar. “Coop: A Shell for Cooperating
expertos evitar realizar el mismo diagnostico y tener
Expert Systems”. Computer Science division,
información base para dar respuestas. Manejar un
University of California. SHEK1989.
concepto de excepción nos permite tener una
especie de monitoreo sobre los agentes que están [03] C. Wu. “A multi-agent framework for
corriendo en el momento permitiendo saber su distributed theorem proving” Department of
estado actual y para efectuar medidas. La interfaz Electrical Engineering, National University of
de usuario le permite al usuario poder interactuar de Kaohsiung. HUNG2005.
una manera más fácil y practica utilizando todo el [04] H. Qiu, X. Shao, P. Li y L. Gao. “An agent-
potencial y las características de la herramienta. La and service-based collaborative design
necesidad de atender más usuarios al tiempo nos architecture under a dynamic integration
permite utilizar los conceptos de paralelismo y así environment”. School of Mechanical Science and
poder atender las peticiones de los usuarios más

Proyecto Especial. 2009-I


Pontificia Universidad Javeriana. López. FedExpert: Federación de Sistemas Expertos. 17

Engineering, Huazhong University of Science and


Technology. SHAO2007.
[05] J. Rufat, G. Watts, O. Carey y W. Parrott.
“Distributed cooperative systems for advanced
automation: Tradeoffs”. McDonnell Douglas
Space Systems Company. RUFA1990.
[06] R. Smith, R. Davis. “Frameworks for
Cooperation in Distributed Problem Solving”.
Defense Research Establishment Atlantic, Artificial
Intelligence Laboratory. SMIT2001.
[07] H. Chu y G. Hwang. “A Delphi-Based
approach to developing expert systems with the
cooperation of multiple experts”. Department of
Information and learning Technology, National
University of Tainan. CHUN2007.
[08] C. Grossner y T. Radhakrishnan.
“Organizations for Cooperating Expert
Systems”. Computer Science Dept. Concordia
University. GROS1990.
[09] A. Baskin, S. Lu, R. Stepp y M. Klein.
“Integrated Design as a Cooperative Problem
Solving Activity”. University of Illinois.
BASK1989.

Proyecto Especial. 2009-I

Das könnte Ihnen auch gefallen