Está en la página 1de 20

GUÍA RÁPIDA PARA CONSTRUIR UN SISTEMA EXPERTO

Dr. Nicolás Kemper Valverde


Laboratorio de Sistemas Inteligentes
Centro de Ciencias Aplicadas y Desarrollo Tecnológico
Apartado Postal 70-470, C.P. 04511
Coyoacán , México D.F.
MEXICO

Email: kemper@servidor.unam.mx

RESUMEN

Esta guía ha sido diseñada como tutorial para desarrollar de manera rápida un
Sistema Experto y provee principalmente una perspectiva básica del diseño y
desarrollo de la base de conocimiento. Como premisa hay que mencionar que la
aplicación de un sistema experto es más eficiente cuando el dominio de aplicación
es suficientemente específico para poder delimitar con claridad los alcances del
trabajo del sistema experto.

1. DESCRIPCION DEL DOMINIO DE APLICACION

El área de servicios de salud ha sido seleccionada para la explicación de esta guía


rápida para el desarrollo de un sistema experto. El rápido aumento en los costos
en los cuidados de salud combinada con la creciente competitividad, ha generado
un gran interés en métodos alternativos para financiar y lograr estos servicios. Se
han desarrollado muchas formas para manejar los problemas de aumento de
costos en los servicios de salud. Una de éstas alternativas es el pago previo por
los servicios, otra es pago de cuota por servicio.

Una variación del servicio de prepago en la Organización de Servicios de Salud


(Health Maintenance Organization, HMO) que provee servicios médicos a sus
miembros a cambio de impuestos de prepago, lo que ha sido beneficioso para el
control de sus costos para ésta organización.

Generalmente, organizaciones como esta han tenido éxito ofreciendo sus servicios
basados en las necesidades de sus miembros. Han disminuido sus costos de
hospitalización y son menores que aquéllos que basan sus servicios en pago por
servicio. Para contener los costos, la HMO debe limitar la capacidad de servicio de
ambulancias. Este servicio es usado más frecuentemente en los planes de
organizaciones de servicios de salud de prepago que en las de planes por cuota.
Para asegurar que los problemas serios de salud tengan prioridad de obtener
tratamiento, el administrador de servicios de salud, en este ejemplo, es necesario
que tenga como asistente personal a un SISTEMA EXPERTO para que haga el
chequeo para decidir al respecto. En esta situación, el criterio pertinente para
diagnosticar el tratamiento puede ser incorporado al SISTEMA EXPERTO.

El personal que hace el diagnóstico médico puede actuar rápidamente de acuerdo


al procedimiento de chequeo contestando unas preguntas sobre el SISTEMA
EXPERTO. Después, el sistema hará otras preguntas de acuerdo a las respuestas
recibidas. Un desarrollo completo del sistema debe cubrir todos los estándares
generalizados para establecer un nivel apropiado de servicio dada la aparente
seriedad de la condición del individuo.

El problema de diagnóstico de la HMO es similar al que se enfrentan otras


organizaciones. Por ejemplo, los sistemas basados en conocimiento construidos
para tomar decisiones satisfactorias relacionadas con el diagnóstico para la
solicitud de préstamo de un cliente, así como para la solicitud de servicios médicos
en un empleo. Todos los problemas de diagnóstico son similares de algún modo,
el diagnóstico de HMO tiene requerimientos únicos, porque pueden surgir riesgos
de salud e incluso riesgos de vida.

La aplicación de la tecnología de SISTEMA EXPERTO al problema de la HMO


provee potencialmente estos beneficios:

 Un nivel consistente de diagnóstico independientemente de quien lo haga.


 El SISTEMA EXPERTO hace posible la toma de decisiones del personal
que no estaba autorizado para tomarlas.
 El SISTEMA EXPERTO asegura que el diagnóstico es siempre hecho
usando los mismos criterios. Se eliminan las posibilidades de tratos
inapropiados a los pacientes (discriminación por raza, sexo, afiliación
política, por ejemplo), y en caso de conflicto, los criterios para una decisión
pueden ser juzgados.
 El SISTEMA EXPERTO puede ser usado para entrenar personal en los
diagnósticos médicos, lo cual libera a personal con más experiencia para
otras actividades.
 EL SISTEMA EXPERTO puede ser duplicado y usado donde sea que los
miembros den el servicio, asegurando un nivel consistente de servicio a la
organización.
 El SISTEMA EXPERTO puede ser fácilmente modificado para reflejar
nuevas políticas o cambios en éstas y es rápidamente duplicable y
distribuible para implementar los cambios uniformemente sin necesidad de
gastos de readaptación.

Estos beneficios son similares a los que tienen muchas organizaciones que han
usado tecnologías de SISTEMA EXPERTO para solucionar sus problemas de
negocios.
1.1.Pasos para desarrollar un primer SISTEMA EXPERTO

El procedimiento para el desarrollo rápido de un SISTEMA EXPERTO está dado


en la figura 1.1. El ejemplo de la figura 1.2, es un diagrama de bloques para una
hipotética HMO. Como se aprecia en la figura, el objetivo central es la facilidad de
administración del servicio de la HMO.

Paso Acción
1 Crear un diagrama de bloques sobre el área de estudio. Esto indicará
la subárea (dominio específico) seleccionada para el prototipo inicial
del SISTEMA EXPERTO.
2 Crear un diagrama de bloques de la situación exacta de la que se
decidió hacer el prototipo. Esto deberá indicar los factores críticos
necesarios para hacer la recomendación (ver figura 1.3).
3 Convertir el diagrama final de bloques a un diagrama de dependencia.
Esto deberá indicar todas las preguntas iniciales, reglas, valores y
recomendaciones hechas por el prototipo del SISTEMA EXPERTO (ver
figura 1.4)
4 Crear tablas de decisión para todos los triángulos del diagrama de
dependencias (ver ejemplos en las figuras 1.5, 1.7 y 1.9).
5 Convertir la tabla de decisión reducida a reglas IF-THEN (ver ejemplos
en figuras 1.6, 1.8 y 1.10), creando así la Base de Conocimientos.
6 Construir una interfaz de usuario del SISTEMA EXPERTO. Estas son
partes que el usuario ve cuando corre la consulta. Consiste en un
mensaje inicial, mensaje de término de la sesión de consulta, así como
las preguntas realizadas durante la sesión (ver 2-15).
7 Usar un procesador de palabras o un “editor” en un sistema experto,
para escribir los elementos que constituyen la “base de conocimiento”
en un archivo en la computadora (ver ejemplo en la figura 2-15).
8 Ejecutar una consulta de prueba (ver figura 2-14). Si se encuentran
errores, se revisan paso a paso usando el editor. Este proceso de
seguimiento de errores a menudo toma varias repeticiones para
encontrar todos los defectos. Esto es normal.
Figura 1.1. Pasos para el desarrollo rápido de SISTEMA EXPERTO.

Paso 2: Aislar el área de desarrollo del SISTEMA EXPERTO.

Aunque el diagrama de bloques del área de estudio está compactada en la figura


2-2, muchos casos de desarrollo requieren muchas capas en la descripción gráfica
para mover de la amplia perspectiva de la industria a aislar el área funcional del
prototipo seleccionado de desarrollo.
Existen muchas oportunidades para desarrollar un SISTEMA EXPERTO en
muchas organizaciones. Generalmente, un sector puede ser aislado de la fase de
conceptualización inicial o prototipo.
En el ejemplo de la HMO, la función de servicio de miembros es seleccionada para
estudiarse porque es una estrategia importante para el éxito de la organización.
En el caso del ejemplo, la solución desarrollada por el SISTEMA EXPERTO puede
ser más relacionada con conceptos ilustrativos en el proceso incremental de
conocimiento que con dar una solución amplia para algún problema real. Por tal
motivo, los aspectos seleccionados del sistema son asilados para ser examinados
mientras que otros aspectos son ignorados intencionalmente aunque podrían no
ser tratados así en el caso actual del desarrollo completo.

Sin embargo, el potencial del ejemplo del SISTEMA EXPERTO evoluciona en un


sistema más amplio que después ayude a hacer más eficaz la función de servicio
mediante un vínculo a la base de datos de miembros, así como un vínculo al
desplegado de control de servicios.

(a) Diagrama de bloque del área de estudio

Organización HMO

Solicitudes de Inscripción de Facilidades de


membresía miembros Administración

Funciones de Funciones
Área } servicio administrativas
seleccionada
para el
prototipo
inicial

(b) Enfoque conceptual del prototipo del SISTEMA EXPERTO.

Servicios de
HMO

Seguimiento de Información
Caso nuevo
caso Otros
Sin membresía

Caso nuevo o
Caso nuevo: seguimiento Seguimiento de caso: Información Atención para personas
No serio de caso: serio No serio Otros servicios sin membresía
(Atención nivel 2) (Atención nivel 2) (Atención nivel 3)

Figura 2-2 Diagramas de bloques.


Paso 2: Decidir un objetivo para ser el prototipo.

Una vez en el área, como el servicio de la HMO, es aislado para su estudio, la


oportunidad precisa o el problema en el área es asignado como objetivo para la
aplicación del SISTEMA EXPERTO. En el caso del ejemplo, el intento inicial es
construir un asistente personal con SISTEMA EXPERTO independiente quien
revisa a los clientes para obtener atención del HMO. Por lo general los clientes
requieren atención médica para casos nuevos o seguimiento de casos.
Mientras que algunos clientes requieren información u otros servicios, los que no
son miembros son los primeros candidatos a la solicitud de membresías de la
HMO.
El diagrama de bloque de la figura 2-3 ayuda a definir los factores críticos en la
decisión de objetivos en el área del prototipo. Los tres factores críticos
seleccionados para este primer intento del SISTEMA EXPERTO en el diagnóstico
médico son:

 Estado de la HMO: ¿El cliente tiene membresía de servicios? Esto está


influenciado por dos cosas: la declaración del cliente como miembro
seguido por una verificación en el número de identificación de miembro en
un libro de control (más adelante un vínculo automático a la base de datos
de miembros de la HMO hará que manualmente esta fase sea obsoleta).
 Razones: ¿Cuál es la razón por la que el paciente busca el servicio? ¿Es
un caso nuevo, seguimiento de caso u “otro” tipo de visita?
 Problema: ¿Qué tan seria es la condición del paciente? Dos aspectos se
involucran. ¿Temperatura anormal o presenta otros síntomas que requieran
servicios de primeros auxilios?

Figura 2-3. Diagrama de bloque de la situación decidida del prototipo inicial: Asistente de
Diagnóstico Médico de la HMO

Dependiendo de la respuesta, el paciente puede ser atendido:

 Atención de nivel 1.
 Atención de nivel 2.
 Atención de nivel 3.
 Información u otros servicios.
 Atención a pacientes que no son miembros.

Los requerimientos del ejemplo han sido simplificados para permitir enfocar
situaciones que ilustren aspectos del software desarrollado.

Paso 3: Crear un diagrama de dependencias.

Este paso consiste en transformar el diagrama de bloques del paso 2 a un


diagrama de dependencia, como se muestra en la figura 2-4. Un diagrama de
dependencia indica las relaciones (dependencias) entre factores críticos, las
preguntas, reglas, valores y recomendaciones hechas por el prototipo del
SISTEMA EXPERTO. Es una gráfica completa de los enunciados del SISTEMA
EXPERTO. Funciona como el modelo en papel de cómo escribir o codificar la base
de conocimientos actual.
Para comenzar a crear el diagrama de dependencia, es útil colocar
horizontalmente el diagrama de bloques terminado en el paso anterior. Esto hace
aparente una relación entre el diagrama de bloques obtenido y el resultado
deseado en el paso 3.
Para crear el diagrama de este paso, inicie dibujando cajas con triángulos
anexados de cualquier factor crítico hallado en el paso 2. En este caso, estos
factores son los estados del mimbro, razones y el problema. Porque “razones”
alimenta directamente a recomendación final, la caja intermediaria puede ser
eliminada del diagrama de dependencia. Luego, con líneas rectas proviniendo de
los triángulos escriba una frase o palabra que describa mejor el elemento que
influenciará la salida del factor crítico. Este elemento puede ser llamado “variable”.
Bajo la línea escriba todos los posibles valores que esa variable pueda tener.
Además, escriba nombres para los valores que puede tener bajo cada caja que
representa un factor crítico. Haga lo mismo para la caja de recomendación.
En este punto, se acostumbra etiquetar los triángulos de derecha a izquierda con
números para identificar sus estados posteriores en el conjunto de reglas del
SISTEMA EXPERTO. Comience con el triángulo final que une todas las líneas de
entrada con la caja de recomendación final. (ver figura 2-4)
Este sencillo modelo obliga una evaluación de cada pieza del rompecabezas del
SISTEMA EXPERTO. La evaluación a menudo causa un proceso de modelado
que se repite varias veces (con varios regresos al paso 2) hasta modelar una
solución correcta. Esto es normal. El hecho de poner líneas, palabras en papel y
buscar resultados origina un proceso creativo y crítico. Generalmente, después de
varias pasadas se logra obtener un diagrama de dependencias convincente.
En la práctica, comúnmente se tiene un conjunto de diagramas de dependencia
ligados jerárquicamente. Uno de ellos se muestra en la figura 2-4 puede
representar el diagrama del nivel más alto.
Paso 4: Crear las tablas de decisión.

Crear una tabla de decisión, como la que se muestra en la figura 2-5, cada
triángulo en el diagrama de dependencia es el paso principal de este modelado.
La tabla de decisión es necesaria para mostrar las relaciones internas de los
valores de salidas con cualquier fase intermedia o la recomendación final del
SISTEMA EXPERTO.
Preparar la tabla de decisión es el resultado directo de comparar las figuras 2-5, 2-
7 y 2-9. El proceso comienza con la planeación del número de renglones
necesarios en la tabla. Esto puede ser determinado por el listado de todos los
factores, ahora llamados condiciones, que llegan al triángulo bajo consideración.
En la figura 2-5, la planeación de la tabla de decisión surge del conjunto de reglas,
en la que intervienen las tres condiciones, cada una de ellas puede tomar un
número diferente de valores. El estado de membresía, la primera condición sólo
puede tomar dos valores, estos son miembro y no_miembro.
La información proviene del diagrama de dependencia y puede ser llevado a la
tabla de decisión fácilmente.
Cuando los valores y condiciones estén totalmente listadas, puede determinarse el
número de renglones de la tabla de decisión. En este caso hay 12 renglones: dos
posibilidades para el estado de membresía, por tres posibilidades para razones,
por dos opciones para el problema. Este número representa todas las posibles
combinaciones de las condiciones que pueden ocurrir hasta este punto en el
SISTEMA EXPERTO.
Los 12 renglones son organizados como se ve en la tabla completa de decisión de
la figura 2-5. La creación de esta tabla comienza con dibujar una tabla vacía que
consta solo de los renglones que serán las reglas de la base de conocimiento, y
las etiquetas de los renglones. Estas etiquetas son los nombres de las condiciones
y el encabezado es agregado en un renglón extra para identificar las posibles
combinaciones de los valores de salida. Este modelo permite evaluar todos los
valores de las diferentes condiciones.
Para simplificar la inserción de valores en cada casilla de la tabla, es conveniente
dibujar líneas horizontales dividiendo los renglones.
El lugar donde deberá dibujarse una línea divisoria está determinado por el
número de valores de la fase de planeación anterior. Por ejemplo, la primera
condición, estado de membresía, tiene sólo dos valores posibles. Así que la
primera línea divide el renglón en mitades entre el renglón 6 y 7. Cada mitad ahora
está separada y será considerada en la siguiente división de los renglones para la
condición 2.
La segunda condición, razones, tienes tres posibles valores, por lo que se dividirá
en 3 partes. Este corte en tres debe hacerse dos veces, una para la mitad superior
de los renglones y otra para la mitad inferior.
La condición final, problema, requiere dos secciones y tiene que hacerse para
cada una de las seis subdivisiones. Entonces el último corte divide en dos partes
los renglones. Los valores ahora son insertados en las celdas vacías. Como es
evidente el valor miembro de la columna del estado de membresía es repetida en
la mitad de las celdas. La siguiente columna, tiene tres valores para la segunda
condición y se repiten en las dos mitades originalmente construidas en la tabla.
Una columna más a la derecha, se repiten los dos valores para la tercera
condición en cada par de renglones.
Con todas las celdas llenas, sigue evaluando cada combinación de valores y
escribe el valor de salida en la ultima columna. No hay una fórmula sencilla para
hacer esto. Esto requiere analizar cuidadosamente cada renglón, o en este caso,
evaluar todos los valores listados, y tener un experto para determinar que se
puede concluir de la evidencia dada. Una evaluación de los primero cuatro
renglones se lee como sigue:

1. Si estado de membresía es miembro, razones es caso nuevo y problema


es serio, entonces la persona debe ser atendida en el nivel 1 (este nivel es
para pacientes cuyos casos son problemas serios).
2. Si estado de membresía es miembro, razones es caso nuevo y problema
no es serio, entonces la persona debe ser atendida en el nivel 2 (para
pacientes con problemas no serios).
3. Si estado de membresía es miembro, razones es seguimiento de caso y
problema es serio, entonces la persona debe ser atendida en el nivel 1
(este nivel es para pacientes cuyos casos son problemas serios).
4. Si estado de membresía es miembro, razones es seguimiento de caso y
problema es serio, entonces la persona debe ser atendida en el nivel 3
(pacientes con seguimiento de casos no serios).
Reduciendo una tabla de decisión.
Para continuar con una evaluación del siguiente renglón, es evidente que algunas
condiciones no tienen sentido en cierto contexto. Esto ocasiona la reducción de
algunos renglones de la tabla de decisión.
En el renglón A5, el caso evaluado es un miembro que requiere información u
otros servicios no médicos. No hay motivos para considerar un problema médico o
su seriedad. En este caso, podemos usar un símbolo especial, un guión, para
indicar que la condición no amerita examinación. Esto provoca que las reglas A5 y
A6 se compacten en la B5.
Una vez que determinamos en que caso se encuentra una persona que no es
miembro, nada más es relevante. A todas aquéllas personas que no son miembros
se les brinda un servicio especial. Esto resulta de la fusión de las reglas A7 a A12
e3n la regla B6. La tabla de decisión final reducida es la última parte de la figura 2-
5. Las figuras 2-7 y 2-9 deben ser revisadas para ver cómo se describe el mismo
problema aplicado en diferentes situaciones y que mapea el diagrama de
triángulos a la tabla de decisión.
El formato de la tabla de de decisión usado aquí es una variación de la estructura
tradicional de la tabla y está adaptado para facilitar el modelo basado en reglas.
En la tabla de decisión tradicional, las reglas están definidas por las columnas.

Paso 5: Escribir las reglas IF-THEN.

Escribir LAS reglas para la base de conocimiento es un ejercicio sencillo en este


punto del desarrollo. Generalmente cada regla de la tabla de decisión se convierte
en una regla SI-ENTONCES, como se muestra en las figuras 2-6, 2-8 y 2-10.
La estructura y sintaxis de una regla está dad en la figura 2-11. Básicamente, una
regla empieza con la palabra IF seguida por las condiciones. Una serie de
condiciones pueden ser enlazadas con operadores lógicos OR (o) y AND (y). AND
significa que las condiciones a ambos lados del operador deben ser verdaderas
para que la regla se dispare. OR significa que una o ambas condiciones deben ser
verdaderas.
La primera regla de la figura 2-6 muestra el uso de AND y OR. El uso de OR
permite combinar las reglas B1 y B3, lo que explica porqué la tabla de decisión
llama a 6 de las reglas y el proceso de conversión llama sólo a 5 del primer
conjunto de reglas. La aplicación de OR en la regla 11, se muestra en la figura 2-
10, explica porque la tabla de decisión reducida de la figura 2-9 produce sólo 3
reglas.
Si todas las condiciones de una regla son verdaderas, la cláusula THEN o
conclusión de la regla se dispara. Esto provoca que la variable llamada en el lado
izquierdo del signo de igual en la cláusula THEN se asigne su valor a la variable
del lado derecho.
Por ejemplo, esta regla simple:

RULE 6
IF miembro = si AND
identificación_válida = si
THEN estado_membresia = miembro;

Esta regla dice, “Si durante la consulta, el valor de la variable ‘miembro’ se


encuentra ‘si’, Y el valor de la variable ‘identificación_válida’ es ‘si’, ENTONCES a
la variable ‘estado_membresia’ asignarle ‘miembro’”.
Reglas para nombrar variables y valores, así como el nombre de la regla se
identifican en la figura 2-12. Se muestra una referencia de las palabras clave que
no se permiten en los nombres de Reglas en la figura 2-13.
Siguiendo a la conclusión THEN, la palabra clave ELSE y la conclusión alternativa
puede ser agregada a la regla opcionalmente. Cuando se presenta en una regla
dice: “Si la premisa en la regla es sabido que no es verdadera, hacer esto”. Por
ejemplo, consideremos:

RULE evitar
IF miembro = si AND
identificación_válida = si
THEN estado_membresia = miembro
ELSE estado_membresia = no_miembro;

Esta regla expresa la tabla de decisión de la figura 2-7. La regla dice que SI una
persona es miembro con un número de identificación válido ENTONCES el estado
de su membresía es ser miembro, de otro modo no lo es. La cláusula ELSE (SI-
NO) es cuestión de sentido común. Una razón por la cual esta cláusula es
raramente usada en este tutorial es por que hace explícitas las condiciones
alternativas que ya son implícitas. Otra razón es que puede causar una secuencia
ilógica de cuestionamientos en una consulta.
Por ejemplo, las condiciones de la regla anterior son probadas en orden
secuencial y en este caso, asumimos que el usuario esta diagnosticando a alguien
que no es miembro de la HMO. Si la regla no concluye después de un ‘no’ como
respuesta a si es miembro, continúa la evaluación en la siguiente condición y
pregunta si la misma persona tiene un identificador válido. La única manera de
impedir esta situación ilógica es hacer la condición negativa una regla aparte, por
ejemplo:
RULE 8
IF miembro = no
THEN estado_membresia = no_miembro;

Como esta condición negativa es manejada en una regla separada, requiere que
las reglas 6 y 7 sean explícitas, como se muestra en la figura 2-8.
Una buena regla intuitiva o regla de dedo para el primer intento de SISTEMA
EXPERTO es escribir una regla para cada renglón de la tabla reducida de
decisión. Los atajos pueden ser explorados para incrementar la eficiencia de
escribir reglas y consultar la base de conocimiento.
Paso 6: Construir interfaz de usuario.

Una vez escritas las reglas IF-THEN, los elementos de la interfaz de usuario de la
base de conocimiento deben ser construidos, como en la figura 2-14. En este caso
la interfaz se refiere a todas las partes que el usuario verá y con las que
interactuará en una sesión de consulta al SISTEMA EXPERTO. Como mínimo,
consiste en mensajes de inicio y fin, además de las preguntas durante la sesión de
consulta.
Consideraciones al factor humano intervienen en la construcción apropiada de
dependencia. Es un arte delicado plantear preguntas de tal modo que se obtenga
la información deseada. Algunas preguntas se reescriben muchas veces hasta que
parezcan adecuadas. Después de que parecen correctas, deben ser probadas en
sesiones de consulta en persona.
Escribir las preguntas en papel en ocasiones puede ayudarnos a pensar más
claramente el diseño general del SISTEMA EXPERTO. Es común hacer preguntas
sobre los faltantes y sobrantes. Esto lleva al desarrollador a pasos anteriores en el
proceso de desarrollo para reconsiderar el diseño del SISTEMA EXPERTO.
Esencialmente el diseño y desarrollo de un SISTEMA EXPERTO es un proceso
iterativo. El desarrollador salta entre las fases del desarrollo de acuerdo al diseño.
El diseño es la parte creativa del proceso. Convertir el diseño al código de la base
de conocimiento es la parte mecánica.
Por ejemplo, consideremos ¿cuál es la razón por la que se busca el servicio de la
HMO?. El desarrollador prueba el término propósito en lugar de razones y prueba
variaciones como ¿qué razones tiene una persona para venir por el servicio del
HMO? A menudo, no hay otra alternativa más que prueba y error.
Codificar las preguntas en la base de conocimiento requiere usar dos nuevas
palabras clave:

 ASK (PREGUNTA) es usada para cuestionar al usuario sobre los valores


que se asignarán a las variables cuando no se encuentre valor asignado en
una regla.
 CHOICES (OPCIONES) es usada junto con PREGUNTA para presentar un
número de posibles valores que pueden ser asignados a una variable
solicitada.

Ejemplos de cómo ASK y CHOICES son usadas con preguntas en la base de


conocimiento se encuentran en la figura 2-15. Típicamente las preguntas del
usuario se encuentran en un apartado llamado Bloque de preguntas, al final de la
base de conocimiento.
El último elemento a considerar en la interfaz de usuario aparece en ele Bloque de
Acciones, el cual se localiza al principio de la base de conocimientos. Para este
ejemplo, esto consiste de una línea que sirve como mensaje de inicio y otra línea
que concluye la consulta. La palabra clave DISPLAY (DESPLEGAR) hace que
estos mensajes aparezcan en la pantalla del usuario durante la consulta.
El texto del mensaje de término incluye la variable ‘atencion’ entre paréntesis. Los
paréntesis son símbolos que causan el reemplazo de la palabra contenida en la
variable. Los reemplazos son ilustrados en la figura 2-14, donde el nivel 1 es la
recomendación para el personal que diagnostica.
Mucho puede hacerse para mejorar esta interfaz de usuario, las cuales se veran
posteriormente.

Estructurar la base de conocimiento.

La figura 2-15 muestra la estructura general de una base de conocimiento, que


consiste en tres partes fundamentales:

 Bloque de Acciones
 Bloque de Reglas
 Bloque de Preguntas

La palabra clave ACTIONS (ACCIONES) identifica el comienzo del bloque de


acciones. Esto pone la agenda de consulta. En este caso, muestra el mensaje de
inicio, empieza FIND (BUSCA) para un valor de variable para esta consulta y
concluye reportando al usuario lo que encontró en el mensaje de término. Este
dice: “Primero haga esto, luego esto otro y después esto”, así una secuencia para
cada línea en el bloque de Acciones.
Un bloque de Acciones generalmente contiene al menos una palabra clave FIND.
Esta es la palabra crítica en este SISTEMA EXPERTO porque este provoca que el
control sea transferido al Bloque de Reglas durante la consulta. La experiencia
contenida en los bloques de reglas y de preguntas de la base de conocimiento es
usada para resolver el problema de la consulta. En este caso, se trata de
encontrar un nivel apropiado de atención recomendada para la persona que está
siendo examinada.

Una vez conocido el valor para la variable ‘atencion’, el control es regresado al


bloque de acciones es ejecutada completamente, la consulta ha terminado.

Paso 1: Planeación
Condiciones: Número de
valores
estado_membresía (miembro, no_miembro) =2
razones (caso_nuevo, seguimiento, info_otros) =3
problema (serio, no_serio) =2
Renglones = 2 x 3 x 2 = 12

Paso 2: Tabla de decisión completa


Regla Estado de Razones Problema Conclusión de
membresía recomendación del
nivel de atención
A1 miembro caso_nuevo serio nivel_1
A2 miembro caso_nuevo no_serio nivel_2
A3 miembro seguimiento serio nivel_1
A4 miembro seguimiento no_serio nivel_3
A5 miembro info_otros serio info_otros
A6 miembro info_otros no_serio info_otros
A7 no_ miembro caso_nuevo serio sin_membresía
A8 no_ miembro caso_nuevo no_serio sin_membresía
A9 no_ miembro seguimiento serio sin_membresía
A10 no_ miembro seguimiento no_serio sin_membresía
A11 no_ miembro info_otros serio sin_membresía
A12 no_ miembro info_otros no_serio sin_membresía

2 cortes 3 cortes 2 cortes

Paso 3: Tabla de decisión reducida


Regla Estado de Razones Problema Conclusión de
Membresía Recomendación
B1 miembro caso_nuevo serio nivel_1
B2 miembro caso_nuevo no_serio nivel_2
B3 miembro seguimiento serio nivel_1
B4 miembro seguimiento no_serio nivel_3
B5 miembro info_otros -- info_otros
B6 no_miembro -- -- sin_membresía

Figura 2-5 Tabla de decisión del Conjunto final de reglas.

RULE 1 IF estado_membresia = miembro AND


razones = caso_nuevo OR
razones = seguimiento AND
problema = serio
THEN atencion = nivel_1;

RULE 2 IF estado_membresia = miembro AND


razones = caso_nuevo AND
problema = no_serio
THEN atencion = nivel_2;

RULE 3 IF estado_membresia = miembro AND


razones = seguimiento AND
problema = no_serio
THEN atencion = nivel_3;

RULE 4 IF estado_membresia = miembro AND


razones = info_otros AND
THEN atencion = info_otros;

RULE 5 IF estado_membresia = no_miembro


THEN atencion = sin_membresia;

Figura 2-6 Conversión de la tabla de decisión a conjunto final de reglas.

Paso 1: Planeación.
Condiciones: Número de valores
Miembros (si,no) =2
identificación_valida (si, no) =2
Renglones = 2x2=4

Paso 2: Tabla de decisión completa.


Reglas Miembro identificación_valid estado_membresia
a
A1 Si Si miembro
A2 Si No no_miembro
A3 No Si no_miembro
A4 No No no_miembro

2 cortes 2 cortes

Paso 3: Tabla de Decisión reducida.


Reglas Miembro identificación_valid estado_membresia
a
B1 Si si miembro
B2 -- No no_miembro
B3 no -- no_miembro

Figura 2-7 Tabla de decisión para el conjunto de reglas 2.

RULE 6 IF miembro = si AND


identificación_valida = si
THEN estado_membresía = miembro;

RULE 7 IF miembro = si AND


identificación_valida = no
THEN estado_membresía = no_miembro;

RULE 8 IF miembro = no
THEN estado_membresía = no_miembro;

Figura 2-8 Conversión de la tabla de decisión al conjunto de reglas 2.

Paso 1: Planeación.
Condiciones: Número de
valores
Temperatura (normal, anormal, desconoc) =3
otros_sintomas (si, no) =2
Renglones = 3 x 2 = 6
Paso 2: Tabla de decisión completa.
Reglas Temperatura otros_sintomas Problema
A1 normal Si serio
A2 normal No no_serio
A3 anormal Si serio
A4 anormal No serio
A5 desconoc Si serio
A6 desconoc no serio

3 cortes 2 cortes

Paso 3: Tabla de Decisión reducida.


Reglas Temperatura otros_sintomas Problema
B1 normal si serio
B2 normal No no_serio
B3 anormal -- serio
B4 desconoc -- serio

Figura 2-9 Tabla de decisión para el conjunto de reglas 3.

RULE 9 IF temperatura = normal AND


otros_sintomas = si
THEN problema = serio;
RULE 10 IF temperatura = normal AND
otros_sintomas = no
THEN problema = no_serio;

RULE 11 IF temperatura = anormal OR


temperatura = desconoc
THEN problema = serio;

Figura 2-10 Conversión de Tabla de decisión a conjunto de reglas 3.

RULE etiqueta La palabra clave REGLA seguida por


la etiqueta.
IF Identifica el comienzo de la(s)
condición(es) de la regla
THEN Identifica el comienzo de la conclusión
de la regla.
ELSE Usada opcionalmente para identificar
el comienzo de una conclusión
alternativa.
BECAUSE Usada opcionalmente para ofrecer una
explicación del significado de una
premisa, conclusiones y alternar
conclusiones de la regla.
Una regla debe terminar con un punto y coma.
Las condiciones pueden ser combinadas usando los operadores lógicos.
AND Ambas condiciones deben ser
verdaderas para dispararse. Pueden
ser combinadas más de 20
condiciones usando el AND.
OR Una o ambas deben ser verdaderas.
Usando OR con AND en una regla
limita el número de condiciones a 10.
Figura 2-11 Estructura de reglas del VP-Expert
Variables Operador de asignación

RULE 8
IF miembro = no
THEN estado_membresia = no;

Palabras Variables
clave

Nombres de variables:
 Deben comenzar con una letra
 Cada nombre de variable debe ser única
 Nombres de variables y valores se restringen a un máximo de 40
caracteres los cuales pueden incluir letras (mayúsculas o minúsculas),
números y los siguientes caracteres especiales: -, $, |, %.
 No se permiten espacios en los nombres de variables o valores. En lugar
de esto, puede usarse el guión bajo entre las palabras (estado_membresia,
por ejemplo).
 Palabras clave no pueden ser usadas como nombres de variables. Pueden
presentarse errores rante la ejecución de la consulta si se usan. Se listan
las palabras clave en la figura 2-13.
 Los valores que se asignan a variables no pueden ser mayores a 40
caracteres.

Nombres de Reglas:
 Los nombres de las reglas (o etiquetas) generalmente siguen las mismas
convenciones que los nombres de variables (arriba), excepto que las
reglas pueden empezar por un número.
 Cada nombre de regla debe ser único.

Figura 2-12 Variables y nombres de reglas en VP-Expert

Nota: las palabras clave son usadas en la construcción de la base de conocimiento incluyendo las
palabras que comienzan cada línea, palabras especiales usadas en la construcción de una regla y
otras palabras reservadas para uso específico en la base de conocimiento.
@ABS BUTTON ENDOFF HIPERTEXT PLURAL *THEN
@ACOS CALL EXECUTE *IF POP TMODE
@ASIN CCALL FDISPLAY INDEX PRINTOFF TRACK
@ATAN CHAIN FILL LBUTTON PRINTON TRUTHTHRESH
@COS *CHOICES *FIND LENGTH PSET UNKNOWN
@EXP CHR FIXED LINETO PUT VGAUGE
@LOG CLOSE FOR LOADFACTS PWKS WCLOSE
@SIN CLROFF FORMAT LOCATE RECEIVE WFORMAT
@SQRT CLRON FORMFIELD MENU RECORD_NUM WHENEVER
@TAN CLS GBCOLOR MENU_SIZE RECTANGLE WHILEKNOWN
*ACTIONS COLOR GCLS METER REPORT WHILETRUE
ACTIVE COLUMN GCOLOR MOUSEOFF RESET WKS
ALL COUNT GDISPLAY MOUSEON ROW WOPEN
*AND CURR GET MOUSEX *RULE WORKON
APPEND DBFORM GETCH MOUSEY RUNTIME WORKSHEET
*ASK *DISPLAY GETMOUSE MOVETO SAVEFACTS
AUTOQUERY EJECT GLOCATE MRESET SCI
BCALL ELLIPSE GMODE NAMED SHIP
BECAUSE ELSE HGAUGE *OR SHOWTEXT
BKCOLOR END HOTREGION PDISPLAY SORT

* Se discutieron en este capítulo.


Figura 2-13 Palabras clave de la Base de Conocimiento.
Elementos de la
Interfaz de usuario

Mensaje
inicial Bienvenido al asistente de diagnóstico de la HMO

¿El paciente es miembro de la HMO?


Si no

¿El número de identificación es válido?


Si no

¿Qué servicio requiere?


Opciones de Caso nuevo seguimiento de caso información/otros
pregunta y
respuesta ¿Cuál es la temperatura del paciente?
Normal anormal desconoc

¿Se presentan otros síntomas?


Si no

Atención recomendada: Nivel 1


Mensaje de
término de 1
ayuda2
consulta
ir3
y_si?4 variables5 reglas6 poner7 editar8 salir1 ayuda2 como?3 porque?4
Lento5
Rápido6
salir

Figura 2-14 Ejemplo de uso de interfaz en la sesión de consulta del SISTEMA


EXPERTO

Nota: esta base de conocimientos está en el disco bajo el nombre de HMO.KBS o


HMORUN.KBS.
ACTIONS
Bloque de DISPLAY “Bienvenidos al asistente de diagnóstico de la HMO”
FIND “atencion”
acciones
DISPLAY “Atención recomendada: {atencion}.”
;
RULE 1
IF estado_membresía = miembro and
razones = caso_nuevo or
razones = seguimiento and
problema = serio
THEN atencion = nivel_1;
RULE 2
IF estado_membresia = miembro AND
razones = caso_nuevo AND
problema = no_serio
THEN atencion = nivel_2;
RULE 3
IF estado_membresia = miembro AND
razones = seguimiento AND
problema = no_serio
THEN atencion = nivel_3;
RULE 4
Bloque IF estado_membresia = miembro AND
de razones = info_otros AND
reglas THEN atencion = info_otros;
RULE 5
IF estado_membresia = no_miembro
THEN atencion = sin_membresia;
RULE 6
IF miembro = si AND
identificación_valida = si
THEN estado_membresía = miembro;
RULE 7
IF miembro = si AND
identificación_valida = no
THEN estado_membresía = no_miembro;
RULE 8
IF miembro = no
THEN estado_membresía = no_miembro;
RULE 9
IF temperatura = normal AND
otros_sintomas = si
THEN problema = serio;
RULE 10
IF temperatura = normal AND
otros_sintomas = no
THEN problema = no_serio;
RULE 11
IF temperatura = anormal OR
temperatura = desconoc
THEN problema = serio;

ASK miembro: “¿El paciente es miembro de la HMO?”


CHOICES miembro: si, no;

ASK identificación_valida: “¿El número de identificación es válido?”


CHOICES identificación_valida: si, no

ASK razones: “¿Qué servicio requiere?”


Bloque de CHOICES razones: caso_nuevo, seguimiento, info_otros;
preguntas
ASK temperatura:” ¿Cuál es la temperatura del paciente?”
CHOICES temperatura: normal, anormal, descoc;

ASK otros_sintomas: “¿Se presentan otros síntomas?”


CHOICES otros_sintomas: si, no;

Figura 2-15 Estructura de la base de conocimiento y archivo del primer SISTEMA EXPERTO.

También podría gustarte