myriam blanco vargas profesora asociada departamento de...

11
ENDI: un entorno generalizado para construir sis- temas expertos desarrollado en UNIVALLE. Myriam Blanco Vargas Profesora Asociada Departamento de Información y Sistemas Universidad del Valle Cali - Colombia INTRODUCCION Hace dos años participé en el V ENCUENTRO NACIONAL DE INFORMATICA con la ponencia los Sistemas Expertos en el sector Salud. En aquella ocasión mi objetivo era presentar los sistemas expertos como una tecnología de gran utilidad en los problemas de diagnóstico. Durante estos dos años he estado trabajando con PROLOG, uno de los lenguajes tradicionales en inteli- gencia artificial y hoy me gustaría poder transmitirles a ustedes, parte de mi experiencia en el empleo del mismo como una herramienta para construir sistemas expertos. Esta experiencia proviene en gran parte de mi trabajo en el proyecto de investigación Desarrollo en Prolog de un entorno generalizado para la construcción de sistemas expertos, el cual se enmarca dentro de la línea de investigación que en inteligencia artificial y sistemas expertos, se desarrollan actualmente en la Universidad del Valle. Otros de los proyectos que se realizan en esta misma área, es el proyecto: Construcción de un entorno generalizado para el Desarrollo de sistemas expertos consultores, a cargo del profesor José Antonio Abadía. Los puntos que presentaré a continuación son los siguientes: Introducción sobre sistemas expertos y herramien- tas para construirlos. 56 HEURIS77CAVol. 4 No. 1 PROLOG: herramienta para construir sistemas expertos. Conclusiones. 1. SISTEMAS EXPERTOS La tecnología de los Sistemas Expertos tiene como finalidad almacenar los conocimientos de un experto en un computador y emplearlos en la solución de proble- mas. Una definición formal (NAYLOR, 1985) de Sistemas Expertos es la siguiente: Se considera que un sistema experto es la incorporación en un\ordenador de un compo- nente basado en conocimiento que se ob- tiene a partir de la función de procesamiento. Una característica adicional que es deseable, que para muchos es fundamental, es la capa- cidad del sistema para, bajo demanda, JUSTIFICAR SU PROPIA LlNEA DE RAZO- NAMIENTO de una forma inmediatamente inteligible para el que pregunta. El estilo de programación que se adopta para conseguir estas características es la PROGRAMACION BASADA EN REGLAS".

Upload: trandieu

Post on 04-Oct-2018

214 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Myriam Blanco Vargas Profesora Asociada Departamento de ...bibliotecadigital.univalle.edu.co/bitstream/10893/6375/1/Heuristic... · en el proyecto de investigación Desarrollo en

ENDI: un entorno generalizado para construir sis-temas expertos desarrollado en UNIVALLE.

Myriam Blanco VargasProfesora Asociada

Departamento de Información y SistemasUniversidad del Valle

Cali - Colombia

INTRODUCCION

Hace dos años participé en el V ENCUENTRONACIONAL DE INFORMATICA con la ponencialos Sistemas Expertos en el sector Salud. En aquellaocasión mi objetivo era presentar los sistemas expertoscomo una tecnología de gran utilidad en los problemasde diagnóstico.

Durante estos dos años he estado trabajando conPROLOG, uno de los lenguajes tradicionales en inteli-gencia artificial y hoy me gustaría poder transmitirles austedes, parte de mi experiencia en el empleo delmismo como una herramienta para construir sistemasexpertos.

Esta experiencia proviene en gran parte de mi trabajoen el proyecto de investigación Desarrollo en Prolog deun entorno generalizado para la construcción desistemas expertos, el cual se enmarca dentro de la líneade investigación que en inteligencia artificial y sistemasexpertos, se desarrollan actualmente en la Universidaddel Valle.

Otros de los proyectos que se realizan en esta mismaárea, es el proyecto: Construcción de un entornogeneralizado para el Desarrollo de sistemas expertosconsultores, a cargo del profesor José AntonioAbadía.

Los puntos que presentaré a continuación son lossiguientes:

Introducción sobre sistemas expertos y herramien-tas para construirlos.

56 HEURIS77CAVol. 4 No. 1

PROLOG: herramienta para construir sistemasexpertos.

Conclusiones.

1. SISTEMAS EXPERTOS

La tecnología de los Sistemas Expertos tiene comofinalidad almacenar los conocimientos de un experto enun computador y emplearlos en la solución de proble-mas.

Una definición formal (NAYLOR, 1985) de SistemasExpertos es la siguiente:

Se considera que un sistema experto es laincorporación en un\ordenador de un compo-nente basado en conocimiento que se ob-tiene a partir de la función de procesamiento.Una característica adicional que es deseable,que para muchos es fundamental, es la capa-cidad del sistema para, bajo demanda,JUSTIFICAR SU PROPIA LlNEA DE RAZO-NAMIENTO de una forma inmediatamenteinteligible para el que pregunta. El estilo deprogramación que se adopta para conseguirestas características es la PROGRAMACIONBASADA EN REGLAS".

Page 2: Myriam Blanco Vargas Profesora Asociada Departamento de ...bibliotecadigital.univalle.edu.co/bitstream/10893/6375/1/Heuristic... · en el proyecto de investigación Desarrollo en

(Definición formal de Sistemas Expertos aprobada porel comité del grupo especialista en sistemas expertosde la British Computer Society).

La palabra EXPERTO hace referencia aun individuo, el cual es ampliamente reco-nocido para solucionar determinado tipode problemas, los cuales, otras personasno podrían solucionar tan efectiva y efi-cazmente. Para producir una mayor clari-dad se definió el término "SISTEMASBASADOS EN CONOCIMIENTOS" pueses posible construir sistemas muy útiles eimportantes, sin que ellos representenconocimientos de un experto.

Se ha propuesto que el término SISTEMAS EXPER-TOS sea empleado para sistemas basados efectivamen-te en conocimientos de expertos o especialistas, y eltérmino SISTEMAS BASADOS EN CONOCIMIENTOSpara sistemas que no necesariamente se apoyan enconocimientos de expertos.

Los componentes básicos de un sistema experto son:(figura 1)

El MOTOR DE INFERENCIA O MECANISMO DEINFERENCIA (Inference Engine).

El mecanismo de inferencia es un interpretador dereglas, estructuras o cláusulas, el cual contiene la estra-tegia de búsqueda de solución.

EXPERTO

tINGENIERO DE

CONOCIMIENTOS USUARIO

COMPONENTEDIALOGO

COMPONENTE~ ADQUISICION

CONOCIMIENTOS

COMPONENTEACLARACION

"MECANISMO DE INFERENCIA

•.. BASE DE CONOCIMIENTOS.Reglas Factores

FIGURA 1. COMPONENTES DE UN SISTEMA EXPERTO

HEURISTICA Vol. 4 No. 1 57

Page 3: Myriam Blanco Vargas Profesora Asociada Departamento de ...bibliotecadigital.univalle.edu.co/bitstream/10893/6375/1/Heuristic... · en el proyecto de investigación Desarrollo en

LA BASE DE CONOCIMIENTOS (KnowledgeBase)

La base de conocimientos contiene los conocimientosasociados al problema, representados a través de unesquema especial.

En el caso particular de un entorno no existe dichabase de conocimientos, hasta tanto el usuario no intro-duzca el conocimiento a través del componente deadquisición diseñado para tal fin.

La intersección del sistema con el usuario es represen-tada a través del COMPONENTE DE DIALOGO Y EIy.-COMPONENTE DE ACLARACION, el cual es compa-rable con la capacidad del hombre para sustentar susdecisiones.

El ingeniero de conocimientos (Knowledge Engi-neer) es alguien, quien se ha especializado en analizarproblemas, juntar conocimientos y desarrollar sistemasde conocimientos.

Normalmente implica formación en el campo de lainformática o investigaciones en Inteligencia Artificial alo que se añade experiencias en la realización de Siste-mas Expertos.

El campo de aplicación de los Sistemas Expertos esmuy amplio y variado: diagnóstico (médico y técnico),planeación, asesoría, enseñanza, entrenamiento entreotros.

Los primeros sistemas expertos fueron escritos directa-mente en lenguajes de programación simbólica comoLisp, pero actualmente la mayoría son desarrolladoscon la ayuda de software especialmente diseñado paratal fin.

Este software son los denominados "shells", conchas oentornos y su objetivo es facilitar el desarrollo de los sis-temas expertos; disminuir sus costos.

2. HERRAMIENTAS PARA CONSTRUIR SIS-TEMAS EXPERTOS

Como herramientas para construir sistemas expertosse consideran aquellos recursos de programación quefaciliten el desarrollo de Sistemas Expertos o de conoci-mientos. Comprende desde herramientas muy específi-cas corno los entornos hasta los lenguajes de propósitogeneral. (figura 2)

2.1 LENGUAJES DE PROGRAMACION OENTORNOS GENERALES

Los lenguajes pueden ser clasificados en "imperativoso procedurales" y "declarativos".

Aquellos lenguajes como Basic, Fortran, Pascal, Cobol,etc. en los cuales debe definirse la forma como debebuscarse la solución, se denominan "imperativos".

AMBIENTES DE PROGRAMACION

KEE

Interlisp, prolog, opsS

LENGUAJES DE PROGRAMACION

Lisp, Fortran, Paseal

FIGURA 2. HERRAMIENTAS PARA CONSTRUIR SISTEMAS EXPERTOS

58 HEURISnCA Vol. 4 No. 1

Page 4: Myriam Blanco Vargas Profesora Asociada Departamento de ...bibliotecadigital.univalle.edu.co/bitstream/10893/6375/1/Heuristic... · en el proyecto de investigación Desarrollo en

Estos lenguajes funcionan muy bien cuando se puedeestablecer de manera previa el algoritmo que resuelveel problema. Su objetivo es el procesamiento de datos.Los procesos están totalmente definidos.

En los lenguajes "declarativos" los programas se cons-truyen con base en definiciones que describen la rela-ción entre los elementos que se están manipulando.Cuando se ejecuta el programa, el procesador utiliza lasdefiniciones para responder satisfactoriamente a unapregunta. Ellos se fundamentan en los conceptos delógica formal y procesamiento de expresiones y no dedatos. Lenguajes de este tipo son Lisp y Prolog.

Aún cuando se han desarrollado Sistemas Expertoscon lenguajes imperativos, no son estos los más ade-cuados para escribir programas que simulen comporta-miento lógico.

Las aplicaciones de inteligencia artificial y en particularlos Sistemas Expertos exigen poder simular la inteli-gencia, siendo necesario relacionar entre si libre y simul-táneamente un grupo de elementos.

Como "lenguajes de alto nivel" puede catalogarse elLisp, lenguajes de programación simbólica y puedentambién incluirse algunos lenguajes imperativos en loscuales se han realizado algunos desarrollos como For-tran, Pascal y Basic.

Prolog y OPSS son clasificados por algunos comolenguajes y por otros como ambientes de programa-ción. Son menos flexibles que el lisp, pero con enfo-ques no tan específicos como el de los entornas. Lomismo sucede con el interlisp el cual es una versióndellisp, pero con una cantidad de rutinas ya definidas.

2.2 AMBIENTES DE PROGRAMACION

En general incluye software que permite mezclar diver-sas formas de programación desde el punto de vista derepresentación del conocimiento y de diseño de siste-mas de deducción, con lo cual se puede enfrentar unagama más amplia de situaciones con esquemas de razo-namiento de representación del conocimiento no tanparticulares como en los entornas o "sneus:

KEE (Knowledge Engineering Environment) pertene-ce al grupo de los grandes híbridos, diseñados para eldesarrollo de sistemas expertos con más de 1000 re-gias y no para una específica forma de representacióndel conocimiento como es el caso de los entornasEMYCIN, AUX y otros.

2.3 ENTORNOS ESPECIFICOS O SHELLS

Son abstracciones de aplicaciones ya realizadas quefacilitan en alto grado el desarrollo de Sistemas Exper-tos para situaciones específicas.

La mayoría de los entornas específicos proceden desistemas ya instalados. De ellos el que más influenciaha tenido, ha sido MYCIN, del que se derivó como en-torno abstracto de EMYCIN, con base en el cual seconstruyen, entre otros los sistemas PUFF y SACON.

Basado en Prospector, sistemas expertos para la locali-zación de minerales, se desarrolló AUX.

Aprender a usar los entornas no es más difícil que cono-cer un nuevo lenguaje de programación, pero para ha-cerla con éxito es necesario tener conocimientos gene-rales sobre conceptos básicos en inteligencia artificialtal como:

Arquitectura de un sistema expertoLimitación de estos sistemasMétodo de representación del conocimientoProblemas más adecuados para la tecnología desistemas expertos.

Estas herramientas corren en una variedad de compu-tadores, desde máquinas para procesamiento simbó-lico, hasta microcomputadores, ofreciendo una gamaamplia de capacidades y utilidades que faciliten su uso.

Las herramientas orientadas a micros son simples y esfácil entender como usarlas para construir un sistema.Ellos tienden a representar el conocimiento de siste-mas de reglas IF THEN; usan solamente un sistema deinferencia y soportan mecanismos de control muy limi-tados.

Algunos especifican en su sistema de aclaración, elmétodo de razonamiento utilizado para resolver unproblema.

3. PROLOG (Progamming Logic Language)

Fue desarrollado alrededor de los años 70 por AlainColmerauer y sus colegas de la Universidad deMarcella. Prolog se convirtió rápidamente en ellenguaje principal para la inteligencia artificial enEuropa, mientras que LlPS era empleado principal-mente en Estados Unidos.

El PROLOG procede de una etapa de mayor desarrollode las técnicas basadas en inteligencia artificial. Mien-tras que el LlSP fue desarrollado a la medida de los pro-

HEURISTlCA Vol. 4 No. 1 59

Page 5: Myriam Blanco Vargas Profesora Asociada Departamento de ...bibliotecadigital.univalle.edu.co/bitstream/10893/6375/1/Heuristic... · en el proyecto de investigación Desarrollo en

blemas de los primeros tiempos en que los programasinteligentes se planteaban como búsqueda general.

El PROLOG es una consecuencia del desarrollo de lastécnicas de deducción automáticas y por tanto incor-pora una mayor cantidad de teoría que el LlSP, aunqueéste sea más general.

El PROLOG es un lenguaje "declarativo" en el cual he-chos y reglas se definen sobre símbolos específicos yluego se formulan preguntas sobre si un objetivo con-creto se deduce lógicamente de estos hechos / reglas.El mecanismo que realiza la comprobación es parte delmismo PROLOG.

El PROLOG es el lenguaje elegido en el Japón para elproyecto de computadores de quinta generación.

Este lenguaje de programación es hasta la fecha lamejor implementación para programación lógica. Simul-táneamente es su sintaxis menos compleja que lamayoría de los lenguajes. Es un lenguaje orientado aproblemas que involucran objetos y relaciones entrelos mismos.

La descripción de un programa en PROLOG se diferen-cia notablemente de la de un programa escrito en unlenguaje tradicional como FORTRAN o COBOL.

Un programa en PROLOG consiste básicamente de:

Declaración de FACTORES asociados a objetos ysus relaciones.

Definición de REGlAS.

A continuación se presenta en PASCAL y PROLOG ladescripción de un programa que lee números y pruebasu validez. El número será válido, si se encuentra entrelos rangos (O ,3) Y (5,10).

PROGRAMA EN PASCAL

PROGRAM ejemplo (Input, Output);

CONST

TYPEVAR

inf-1 =0;inf-2 = 5;si - no = (si,no) ;

valor : INTERGvalido : BOOLEAN;respues: si-no

sup-1 =3;sup-2 = 1

BEGINREPEATWRITE (Número: );READLN (valor);

60 HEURISnCA Vol. 4 No. 1

valido:= (tvalor . inf-1) ANO (valor. sup-i OR(valor. inf-2) ANO (valor. sup-2));

IF validoTHEN WRITELN ('valor valido')ELSE WRITELN ('valor no valido') ;

WRITE ('Mas números? Escribasiono: );READLN (respues) ;

UNTIL respues = no ;END

PROGRAMAENPROLOG

rango - posible (O, 3).rango - posible (5.10).

valor - valido (x): -rango-posible (Inf, Sup), Inf < x, x <Supo

En este caso, deberá formularse la pregunta, con el nú-mero cuya validez se desee conocer. Por ejemplo:

? valor - valido(6)

PROLOG responderá en forma afirmativa.

Entre las características propias del PROLOG, merecendestacarse las siguientes:

Posee un mecanismo propio de inferencia cono-cido como encadenamiento hacia atrás.

El orden de las reglas determina la forma como serealiza el encadenamiento.

Permite especificar una tarea como un conjuntode restricciones que deben satisfacerse y no re-quiere que se especifique la forma como se reali-za dicha tarea.

Permite programar en forma declarativa, propor-cionando al sistema los datos necesarios para queéste opere de forma procedimental.

Ofrece el manejo de listas y revisión en formanatural.

4. EN DI (ENTORNO GENERALIZADO PARACONSTRUCCION DE SISTEMAS EXPER-TOS)

ENDI es un entorno generalizado o shell para el desarro-llo de sistemas expertos en diagnósticos, el cual permi-te que usuarios no familiarizados con las técnicas desistemas expertos, construyan sistemas expertos en

Page 6: Myriam Blanco Vargas Profesora Asociada Departamento de ...bibliotecadigital.univalle.edu.co/bitstream/10893/6375/1/Heuristic... · en el proyecto de investigación Desarrollo en

diagnósticos sin tener que recurrir a la programacióndirecta.ENDI ofrece dos alternativas para representar elconocimiento del experto.

tamente la causa de la falla (nodo final) y poder formularuna recomendación. (figura 3)

En el primer caso el conocimiento es representado me-dianteun árbol binario de síntomas o factores el cual seva abriendo (nodos intermedios) hasta determinar exac-

En el segundo caso, (figura 4) los síntomas puedentomar diferentes valores es decir se tienen opcionesmúltiples y el árbol no necesariamente es binario.

Síntoma incial/',+/' ,-

presente /' , ausente/' ,

/' ,/' .

Síntoma 1 Síntoma 2/"-.. »<:+/' ,- +/' ,-

presente /' 'ausente presente /' , ausente/' , /' ,

/' , /' ,/' /' .

Síntoma 3 Síntoma 4 Síntoma 5 Síntoma 6/"-..

+/, ,-presenty /' <, ausente

/' ,/' .

Síntoma 7 Síntoma Final/"-..

+/' <,presenly /' <, ,ausente

/' ,/' .

FIGURA 3. REPRESENTACION DEL CONOCIMIENTO. MODELO TIPO 1

Síntoma inicialA/:,

/ ,Opción y / Opción 2 <, ,Opción n

/ . ,/ ,

/ ,Sín~~a 1 Síntoma 2 ... Sí~t~a n

/ -, /s; / <,/ -, l·" /,/ ,1" / -,/ '1 ,,/ <,

Opción 1 ... Opción n Opción 1 ... Opción nSíntoma Final 1

CAUSA ACCION

FIGURA 4. REPRESENTACION DEL CONOCIMIENTO. MODELO TIPO 2

HEURISTlCA Vol. 4 No. 1 61

Page 7: Myriam Blanco Vargas Profesora Asociada Departamento de ...bibliotecadigital.univalle.edu.co/bitstream/10893/6375/1/Heuristic... · en el proyecto de investigación Desarrollo en

¿FUNCIONA EL MOTOR AL ARRANCAR? arranque (NODO RAIZ)

n<y/'o....,si,/ ,

,/ ,,/

,/

(NODO INTERMEDIO) luces

¿FUNCIONAN LUCES Y PITO?

no arranque(NODO sin información)

¿SALTAN CHISPAS EN LOS CABLES DELAS BUllAS?

Si,//'o...., no

,/ "-,/ "-

,/,/ "-bujías batería

¿TIENE LA BATERIA MAS DE 24 ...?

si,/" no,/ ",//' <,

/' "/' bobinaaire

¿SUBE GASOLINA AL CARBURADOR?si A no,/ \

,/,/ \,/ \

,/ . di dIn ca ormariposa

no'" si'/ "-

/ "-// "-

/ cambiar (NODO FINAL)chispas CAMBIE BATERIA

¿SALTAN CHISPAS ...?si /'" no

/ "/ ",/ "

/ cargar (NODO FINAL)

COMPRUEBE SI HAYGASOLINA

bomes¿EST AN LOS BORNES

SULFATAOOS?

no /'" si,//' -,

/' ",/ "-

cabl;: limpiar (NODO FINAL)

REVISA CABLES Y CONEXIONES LIMPIE BORNES

FIGURA 4A. EJEMPLO MODELO TIP01

62 HEURISnCA Vol. 4 No. 1

Page 8: Myriam Blanco Vargas Profesora Asociada Departamento de ...bibliotecadigital.univalle.edu.co/bitstream/10893/6375/1/Heuristic... · en el proyecto de investigación Desarrollo en

EL PROBLEMA SE RELACIONA CON: "

...•.• ~~......'Ir." ..> ///1\ -, .»> / / 1\" .

»> / / \" .»> / I \" ,

frenos / / / I \ "" bomba-gasolina/ / I \ " (bomba de la gasolina)

// / I \ """ / I \ di ,suspensión I ren muento. / I \ (rendimiento del motor)

/ I \ .. ,lubricación transrmsion

Iarranque

(NODO intermedio)

............A»> / 1'\

»> / I -,...•.....•.. / I '\Síntoma 2 / '\

(El motor gira lenta- / / : '\ '\mente pero , , , )/ '\

/ I '\Síntoma 3 I Síntoma 4

I (El motor da falsas explosiones)I

Síntoma 1(El motor de arranque no puede

hacer girar el motor)

/'"/ "

/ "/ "/ "-

/ "-(La luz de los faros es muy débil) (La luz de los faros es buena)

Débil Bueno

././/f\"././ / 1\ <, <,

././ / I \ <,./ / \ <,

falla 1a2 / I \ Falla laS(Batería defectuosa) / I \ (Agua en los cilindros)

/ I \Falla la3 I Falla la4

(Cables de batería corrofdosjjfMotor de armnque agarrotado)

IFalla lal

(Batería con poca carga)

HEURISTlCA Vol. 4 No. 1 63

I(NODO final)

Cárguese la batería y verifique sistema de carga

FIGURA 5A. EJEMPLO DE UN MODELO TIPO 2

Page 9: Myriam Blanco Vargas Profesora Asociada Departamento de ...bibliotecadigital.univalle.edu.co/bitstream/10893/6375/1/Heuristic... · en el proyecto de investigación Desarrollo en

El árbol de síntomas o factores es un modelo gráfico-lógico que muestra las distintas formas en que los sín-tomas o factores primarios se combinan para producir elsíntoma tope y cuya identificación equivale al encontrarla causa que produce la falla o problema.

Los árboles de síntomas son excelente medio para quelos expertos humanos puedan transmitir sus conoci-mientos formales y empíricos del problema bajo estu-dio. Con estos modelos resulta muy sencillo, al presen-tarse un síntoma recorrerlos hacia abajo, para encontrarla causa que pueda rnotivarlo.

Con base en esta representación, se desarrolló unCOMPONENTE DE INFERENCIA muy sencillo, el cualpermite recorrer el árbol según las respuestas del usua-rio. Este componente fue ampliándose gradualmentecon las funciones que permiten suministrar las ACLA-RACIONES durante las consultas y mejorar el sistemade DIALOGO a través de ventanas y menú es espe-ciales.

El sistema de menúes ha sido seleccionado para ofre-cerle al usuario mayor rapidez y precisión.

El menú principal ofrece las siguientes opciones bási-cas:

CONSULTA: permite al usuario que lo lleve a una reco-mendación para la falla diagnósticada. El diálogo se rea-liza mediante la formulación de preguntas y la selecciónde la respuesta de un menú.

CONSULTA Y ACLARA: el usuario obtiene adicional-mente a la recomendación, un resumen de todas laspreguntas formuladas y respuestas dadas, y simultánea-mente con cada pregunta observará las posibles pre-guntas o recomendaciones, según la opción que seelija.

BASE DE CONOCIMIENTO: el usuario puede modifi-car, consultar, agregar o borrar información de la basede conocimientos.

SALVAR LA BASE DE CONOCIMIENTOS: solicita elnombre con el cual se desea salvar la base de conoci-mientos.

CAMBIAR TIPO O BASE DE CONOCIMIENTOS: per-mite al usuario cambiar a una nueva base sin necesidadde abandonar el sistema.

SALIR: le permite al usuario abandonar el sistema dediagnóstico.

Antes de presentar el menú principal, el sistema pre-

64 HEURISnCA Vol. 4 No. 1

gunta al usuario el tipo de la base de conocimiento ysi ésta existe o es nueva. En el segundo caso lo llevarádirectamente al módulo de adquisición que permite lacreación de una base.

Las siguientes son algunas de las características particu-lares ofrecidas por ENDI:

El conocimiento necesario para efectuar los diag-nósticos es llevado a un árbol de síntomas y cau-sas.

Ofrece dos alternativas para representar el cono-cimiento: árboles binarios o diagnóstico con opcio-nes múltiples.

La adquisición del conocimiento del experto serealiza en forma sistemática y fácil.

Sencillas interfases con el usuario.

Empleo de menues para mayor rapidez y preci-sión en las consultas.

Interfases de diálogo y aclaración en español.

CONCLUSIONES

A. Con relación a la selección del "Diag-nóstico" como área de aplicación del en-torno y a los "árboles de síntomas" comoforma para almacenar el conocimiento.

Una forma para definir los posibles campos de aplica-ción de los sistemas expertos es definir situaciones enlas cuales existe un proceso de toma de decisiones elcual puede ser reducido a una sucesión de juicios. Esdecir el campo de aplicación de los sistemas expertoses amplio y variado. Pueden citarse aplicaciones en lassiguientes areas: diagnóstico, planeación, asesorías,análisis de mercados, entrenamiento, capacitaciones,etc.

Sin embargo el área en la cual han tenido mayor impul-so los sistemas expertos es el diagnóstico, tanto mé-dico como técnico.

En el campo del diagnóstico médico los sistemas exper-tos han sido muy útiles quizas porque los problemas dediagnóstico requieren frecuentemente mucha más in-formación de la que es posible almacenar y exigenademás una valoración secuencial de un gran númerode hipótesis. En este proceso puede ser fácil que se

Page 10: Myriam Blanco Vargas Profesora Asociada Departamento de ...bibliotecadigital.univalle.edu.co/bitstream/10893/6375/1/Heuristic... · en el proyecto de investigación Desarrollo en

pasen por alto un dato o una posible alternativa. Pareceobvio, que un sistema computarizado puede ayudar aeste tipo de proceso librando al usuario de una duratarea memorística.

Muchos de los sistemas expertos en diagnóstico utilizalas reglas de tipo jf-then. Aunque estos sistemas sonadecuados para algunos problemas de diagnóstico, pre-sentan limitaciones, por ejemplo el no utilizar un buenmodelo que incluya la descripción estructural y funcio-nal del sistema.

Un árbol de síntomas es un modelo gráfico-lógico quemuestra las distintas maneras en que pueden combi-narse las causas primarias para producir el síntoma quese modela (síntoma tope).

Los árboles de síntomas son un excelente medio paraque los expertos humanos puedan transmitir sus cono-cimientos formales e informales del problema bajo estu-dio. Con estos modelos es muy fácil ante la presenciade un síntoma, recorrer el árbol hacia abajo hasta encon-trar la solución o recomendación al problema.

La construcción de estos árboles requiere conocermuy bien la estructura del sistema, sus procedimientos,condiciones de operación, etc. Por otra parte los árbo-les de síntomas facilitan la labor de mantenimiento delas bases de conocimiento, pues proporcionan la formapara que otras personas fácilmente retroalimenten (revi-sen, corrijan y aumenten) el conocimiento existente enla base.

B. Con relación a la herramienta empleadapara la creación del entorno

Si se considera el "mecanismo de inferencia" de unsistema experto corno la estrategia de búsqueda desolución, podría afirmarse que cuando el conocimientoha sido elevado a árboles de síntomas, dicha estrategiase limita simplemente a recorrer el árbol hacia abajohasta encontrar la causa del problema. Esto puedeplantearse fácilmente en PROLOG y en muy pocaslíneas. Esta es una de las grandes ventajas de la utiliza-ción de PROLOG para la realización del entorno ENDI.Sin embargo dicha búsqueda en el árbol no se originaautomáticamente por el mecanismo de inferencia dirigi-da por objetivos (propio del PROLOG), sino que se pro-grama mediante reglas y con base en la forma como sealmacena la información en la base de conocimientos.

Entre las desventajas puede citarse la necesidad demáquinas de procesamiento simbólico, para obtener lamayor eficiencia de estos programas.

Actualmente ENDI se halla implementando en CS-PROLOG, el cual es un interpretador y se tienen proble-mas de velocidad. Por ejemplo cargar una base deconocimientos TIPO 1, de 20 nodos (1874 bytes) con-sume 55 segundos en un computador con procesador286 y 8 segundos con un procesador 386.

CS-PROLOG (Comunication Sequential Prolog) ofrecelas siguientes características de gran ayuda en el desa-rrollo o construcción de entornos:

1) Facilidad para el manejo de ventanas y menuescon predicados particulars para tal fin.

2) Facilidad para la elaboración de g'raficos: CS-PROLOG permite al usuario debujar puntos, lí-neas, arcos, figuras geométricas y trabajar en el es-pacio tridimensional, de una forma muy sencilla.

3) Ejecución paralela: el concepto del tiempo ha sidointroducido en CS-PROLOG en forma abstracta yse ha denominado tiempo virtual. Pero este nocorresponde a tiempo real, ni al tiempo requeridopara la evaluación de claúsulas en CS-PROLOG.

Aplicaciones para el uso explícito de tiempo incluyensimulaciones de procesos que pueden lógicamentedividirse en eventos separados pero comunicados se-cuencialmente.

"Paralelo" en el contexto de CS-PROLOG, significaque pueden existir varios procesos al mismo tiempo,pero sólo hay uno activo en un momento dado,pueslos demás son suspendidos.

Esta facilidad particular de CS-PROLOG puede ser muyútil en la solución de algunos problemas, sin embargono se utilizó en el desarrollo del entorno ENDI.

Para disminuir los problemas de velocidad que actual-mente se tienen, se desea implementar el entornoENDI en Turbo-Prolog, con lo cual se podrá compilar elprograma.

Posteriormente se hará una evaluación comparativa enaspectos como: uso de memoria velocidad, facilidadde adaptación, amigabilidad, etc. ti

HEURISTlCA Vol. 4 No. 1 65

Page 11: Myriam Blanco Vargas Profesora Asociada Departamento de ...bibliotecadigital.univalle.edu.co/bitstream/10893/6375/1/Heuristic... · en el proyecto de investigación Desarrollo en

7. CENTRO PARA EL DESARROLLOTECNOLOGICO INDUSTRIAL. Ministeriode Industria y Energía (España). "SistemasExpertos: Consideraciones Teóricas ySugerencias de uso.

REFERENCIAS BIBLlOGRAFICAS

1. ABAD lA, José Antonio. Propuesta deInvestigación "Construcción de un entornogeneralizado para el desarrollo de sistemasexpertos consultores" . Febrerode 1987.

2. ALTY Y COOMBS. "Sistemas Expertos".Conceptos y Ejemplos. Díaz de Santos, S. A.1986.

3. ARELLANO, Juan SCHWARZBLAT,Morrls, LARRE Mónica. "Un nuevoenfoque para la construcción de SistemasExpertos en diagnóstico". ArtículosTécnicos.

4. BLANCO VARGAS,Expertos". Centroregionalización de la1988.

Myriam. "Sistemasde publicaciones deUniversidad del Valle.

5. BOERINGER, Bernhard, CHIOPRISCarlo, FUTO IVAN. WissensbasierteSysteme Mit Prolog. Addison-Wesley 1988.

6. BONNET, Alain. Artificial Intelligence.Prentice/Hall. 1985.

66 HEURIS71CAVol. 4 No. 1

8. FISCHER, Martín A, FIRSCHEIN Osear.Intelligence. Addison-wesley 1987.

9. HARMON P. I KING D. Experten Systemein der Praxis. R. Oldenbourg Verlag MunchenWien 1987.

10. HARTNELL, Tim. "Inteligencia Artificial".Anaga Multimedia1986.

11. JACKSON, Peter. "Experten Systeme".Addison-wesley 1985.

12. NAYLOR Chris. "Construya su propiosistema experto". Díazde Santos, S. A. 1985.

13. RAUCH-HINDIN, WendyIntelligence in Business,tndustry". PrenticeHall.

B. "ArtificialScience, and

14. ROBINSON, R. Philip. "Aplique TurboProlog". McGraww-HiII1987.