Sistema Experto Diagnostico Medico Sobre Problemas Respiratorios

download Sistema Experto Diagnostico Medico Sobre Problemas Respiratorios

of 28

Transcript of Sistema Experto Diagnostico Medico Sobre Problemas Respiratorios

  • UNIVERSIDAD NACIONAL DE TRUJILLO

    FACULTAD DE CIENCIAS FSICAS Y MATEMTICAS

    Escuela de Informtica

    SISTEMA EXPERTO DIAGNOSTICO MEDICO DE PROBLEMAS

    RESPIRATORIOS CURSO : PROGRAMACION LGICA

    DOCENTE : ING. ARTURO DIAZ PULIDO

    ALUMNOS : POZO VERA OSCAR EDUARDO ROJAS SALAS KENNY

    CICLO : VII

    TRUJILLO PER

    2014

  • RESUMEN

    Vamos a implementar un sistema experto de un diagnostico medico basado en enfermedades respiratorias cuyo propsito ser prevenir al paciente de cualquier tipo de enfermedad respiratoria. Para ello primero haremos una breve descripcin de los sistemas expertos y de su importancia y despus pasaremos a desarrollar el problema con el examen mdico que realizaremos a cada paciente el cual ser un sistema experto ampliamente utilizable.

    Trminos Generales: Algorithms Design

    Palabras Clave: Examen mdico, sistema experto, enfermedades respiratorias.

    1. INTRODUCCION Los sistemas expertos se pueden considerar como el primer producto verdaderamente operacional de la inteligencia artificial. Son programas de ordenador diseados para actuar como un especialista humano en un dominio particular o rea de conocimiento. En este sentido pueden considerarse como intermediario entre el experto humano, que transmite su conocimiento al sistema, y el usuario que lo utiliza para resolver un problema con la eficacia del especialista. El sistema experto utilizara para ello el conocimiento que tenga almacenado y algunos mtodos de inferencia. Para que un sistema experto sea herramienta efectiva, los usuarios deben interactuar de una forma fcil, reuniendo dos capacidades para poder cumplirlo: Explicar sus razonamientos o base del conocimiento: los

    sistemas expertos se deben realizar siguiendo ciertas reglas o pasos comprensibles de manera que se pueda generar la explicacin para cada una de estas reglas, que a la vez se basan en hechos.

    Adquisicin de nuevos conocimientos o integrador del sistema: son mecanismos de razonamiento que sirven para modificar los conocimientos anteriores. Sobre la base de lo anterior se puede decir que los sistemas expertos son el producto de

  • investigaciones en el campo de la inteligencia artificial ya que esta no intenta sustituir a los expertos humanos, sino que se desea ayudarlos a realizar con ms rapidez y eficacia todas las tareas que realiza.

    1.1. Usos de un sistema experto Un sistema experto es muy eficaz cuando tiene que analizar

    una gran cantidad de informacin, interpretndola y proporcionando una recomendacin a partir de la misma. Un ejemplo es el anlisis financiero, donde se estudian las oportunidades de inversin dependiendo de los datos financieros de un cliente y de sus propsitos.

    Para detectar y reparar fallos en equipos electrnicos, se utilizan los sistemas expertos de diagnstico y depuracin, que formulan listas de preguntas con las que obtienen los datos necesarios para llegar a una conclusin. Entonces recomiendan las acciones adecuadas para corregir los problemas descubiertos. Este tipo de sistemas se utilizan en medicina y para localizar problemas en sistemas informticos grandes y complejos.

    La planificacin es la secuencia de acciones necesaria para

    lograr una meta. Conseguir una buena planificacin a largo plazo es muy difcil. Por ello, se usan sistemas expertos para gestionar proyectos de desarrollo, planes de produccin de fbricas, estrategia militar y configuracin de complejos sistemas informticos, entre otros.

    Cuando se necesita controlar un proceso tomando decisiones

    como respuesta a su estado y no existe una solucin algortmica adecuada, es necesario usar un sistema experto. Este campo comprende el supervisar fbricas automatizadas, factoras qumicas o centrales nucleares. Estos sistemas son extraordinariamente crticos porque normalmente tienen que trabajar a tiempo real.

  • El diseo requiere una enorme cantidad de conocimientos debido a que hay que tener en cuenta muchas especificaciones restricciones. En este caso, el sistema experto ayuda al diseador a completar el diseo de gorma competente y dentro de los lmites de costes y de tiempo. Se disean circuitos electrnicos, circuitos integrados, tarjetas de circuito impreso, estructuras arquitectnicas, coches, piezas mecnicas, etc.

    Por ltimo, un sistema experto puede avaluar el nivel de

    conocimientos y comprensin de un estudiante, y ajustar el proceso de aprendizaje de acuerdo con sus necesidades.

    1.2. Arquitectura y funcionamiento de un sistema experto

    La mayora de los sistemas expertos tienen unos componentes bsicos: base de conocimientos, motor de inferencia, base de datos e interfaz con el usuario. Muchos tienen, adems, un mdulo de explicacin y un mdulo de adquisicin del conocimientos. Base de conocimientos: la base de conocimientos contiene

    el conocimiento especializado extrado del experto en el dominio. El mtodo ms comn para representar el conocimiento representado se divide, pues, en pequeas fracciones de conocimiento o reglas. Una caracterstica muy importante es que la base de conocimientos es independiente del mecanismo de inferencia que se utiliza para resolver los problemas. De esta forma, cuando los conocimientos almacenados se han quedado obsoletos, o cuando se dispone de nuevos conocimientos, es relativamente fcil aadir reglas nuevas, eliminar las antiguas o corregir errores en las existentes.

    Base de datos: la base de datos o base de hechos es una parte de la memoria del ordenador que se utiliza para almacenar los datos recibidos inicialmente para la resolucin de un problema. Contiene conocimiento sobre el caso concreto en que se trabaja. Tambin se registraran en ella las

  • conclusiones intermedias y los datos generados en el proceso de inferencia.

    Motor de inferencias: el motor de inferencias es un programa

    que controla el proceso de razonamiento que seguir el sistema experto. Utilizando los datos que se le suministran, recorre la base de conocimientos para alcanzar una solucin. La estrategia de control puede ser de encadenamiento regresivo. En el primer caso se comienza con los hechos disponibles en la base de datos, y se buscan las reglas que satisfagan esos datos. Normalmente, el sistema sigue los siguientes pasos:

    Evaluar las condiciones de todas la reglas respecto a

    lavase de datos, identificando el conjunto de reglas que se pueden aplicar.

    Si no se puede aplicar ninguna regla, se termina sin xito; en caso contrario se elige cualquiera de las reglas aplicables y se ejecuta su parte accin.

    Si se llega al objetivo se ha resuelto el problema; en caso contrario, se vuelve al paso 1.

    Al encadenamiento regresivo se le suele llamar guiado por objetivos, ya que, el sistema comenzara por el objetivo y operara retrocediendo para ver como se deduce ese objetivo partiendo de los datos.

    Interfaz con el usuario: el interfaz de usuario permite que el usuario pueda describir el problema al sistema experto. Interpreta sus preguntas, los comando y la informacin ofrecida. A la inversa. Formula la informacin generada por el sistema incluyendo respuestas a las preguntas, explicaciones y justificaciones.

    Mdulo de explicacin: la mayora de los sistemas expertos contienen un mdulo de explicacin, diseado para aclarar al

  • usuario la lnea de razonamiento seguida en el proceso de inferencia. Si el usuario pregunta al sistema como ha alcanzado una conclusin, este le presentara la secuencia completa de reglas usada.

    Mdulo de adquisicin: el mdulo de adquisicin del conocimiento permite que se puedan aadir, eliminar o modificar elementos de conocimiento en el sistema experto.

    1.3. Ventajas e Inconvenientes de un Sistema Experto

    a) Ventajas Un sistema experto mejora la productividad al resolver

    y decidir los problemas ms rpidamente. Esto permite ahorrar tiempo y dinero. A veces sin esa rapidez las soluciones obtenidas serian intiles.

    Los valiosos conocimientos de un especialista se guardan y se difunden, de forma que, no se pierden aunque desaparezca el especialista.

    Con un sistema experto se obtienen soluciones ms

    fiables gracias al tratamiento automtico de los datos, y ms contrastadas, debido a que se suele tener informatizado el conocimiento de varios expertos.

    Debido a la separacin entre la base de conocimiento y

    el mecanismo de inferencia, los sistemas expertos tienen gran flexibilidad, lo que se traduce en una mejor modularidad, modificabilidad y legibilidad del conocimiento.

    b) Inconvenientes

    El conocimiento humano e complejo de extraer y, a

    veces, es problemtico representarlo. Si un problema sobrepasa la competencia de un sistema experto, sus

  • prestaciones se degradan de forma notable. Adems, las estrategias de razonamiento de los motores de inferencia suelen estar programadas procedimentalmente y se adaptan mal a las circunstancias. Estn limitados para tratar problemas con informacin incompleta.

    Un experto humano no estudia progresivamente una hiptesis, sino que decide de inmediato cuando se enfrenta a una situacin anloga a otra ocurrida en el pasado. Los sistemas expertos no utilizan este razonamiento por analoga.

    Los costes y duracin del desarrollo de un sistema

    experto son bastante considerables y su campo de aplicacin actual es restringido y especifico.

    Problemas sociales que acarrean al ser susceptibles de

    influir en la estructura y nmero de empleos.

    1.4. Prolog

    I. Introduccin a prolog La Programacin Lgica es un paradigma de computacin que consiste de un enfoque declarativo para escribir programas para el computador. PROLOG es un lenguaje de computacin basada en ese paradigma. Los programas lgicos pueden ser entendidos y estudiados a partir de dos conceptos: verdad y deduccin lgica. En programacin lgica, uno puede preguntarse si un axioma de un programa es verdad bajo alguna interpretacin de los smbolos del programa y si ciertas declaraciones lgicas son consecuencia del programa. Esas preguntas pueden ser respondidas independientemente de cualquier mecanismo de ejecucin concreto. Por otro lado, PROLOG es un lenguaje de programacin con un significado operacional preciso que toma prestado sus

  • conceptos bsicos de la programacin lgica. Los programas PROLOG son instrucciones para ejecutar sobre el computador. Esas instrucciones casi siempre son ledas como instrucciones lgicas y, lo ms importante, el resultado de una computacin de un programa PROLOG es una consecuencia lgica de los axiomas en ste. Es ampliamente aceptado que una programacin efectiva en PROLOG requiere de una comprensin de la teora de programacin lgica, por lo menos en sus aspectos fundamentales, pero tambin que esto redunda en un mayor dominio del procesamiento de la informacin usando el computador.

    II. Caractersticas de prolog Basado en lgica y programacin declarativa. No se especifica cmo debe hacerse, sino qu debe

    lograrse. Una caracterstica importante en ProLog y que lo

    diferencia de otros lenguajes de programacin, es que una variable slo puede tener un valor mientras se cumple el objetivo.

    El programador se concentra ms en el conocimiento que en los algoritmos.

    Qu es conocido? (hechos, reglas) Qu preguntar? (Cmo resolverlo) En ProLog, se llega a una solucin infirindola desde

    algo ya conocido.

    III. Predicados en prolog Los predicados son los elementos ejecutables en ProLog. En muchos sentidos se asemejan a los procedimientos o funciones tpicos de los lenguajes imperativos. Una llamada concreta a un predicado, con unos argumentos concretos, se denomina objetivo. Todos los objetivos tiene un resultado de xito o fallo tras su ejecucin, indicando si el predicado es

  • cierto para los argumentos dados, o por el contrario, es falso. Cuando un objetivo tiene xito, las variables libres que aparecen en los argumentos pueden quedar ligadas. Estos son los valores que hacen cierto el predicado. Si el predicado falla, no ocurren ligaduras en las variables libres. Se utilizan para expresar propiedades de los objetos, y relaciones entre ellos, predicados. En ProLog se conocen como hechos. Se debe tener en cuenta que: Los nombres de todos los objetos y relaciones deben

    comenzar con una letra minscula. Primero se escribe la relacin o propiedad: predicado. Y los objetos se escriben separndolos mediante comas

    y encerrados entre parntesis: argumentos. Al final del hecho debe ir un punto (".")

    IV. Estructura de programa en prolog El hecho de programar en ProLog consiste en dar al ordenador un Universo finito en forma de hechos y reglas, proporcionando los medios para realizar inferencias de un hecho a otro. La programacin en ProLog consiste en: Declarar algunos HECHOS sobre los objetos y sus

    relaciones. Definir algunas REGLAS sobre los objetos y sus

    relaciones, y hacer PREGUNTAS sobre los objetos y sus relaciones.

    V. Derivados de prolog La influencia de micro-PROLOG ha sido escasa en lenguajes posteriores, si bien algunos han adoptado algunas de sus caractersticas. El FRIL (Fuzzy Relational Inference Language) es una notable excepcin, ya que basa explcitamente su sintaxis en l, sin ser no obstante plenamente compatible con el micro-PROLOG. Desarrollado en el seno de la Universidad de Bristol, la versin ms reciente de este lenguaje es la 4.9,

  • aunque desde 2003 no ha sido actualizado. Su continuador ms reciente ha sido hasta ahora el EDULOG, desarrollado a partir de 1999 y basado en la experiencia adquirida tras trabajar en el rea educativa durante aos con micro-PROLOG. Creado por el Grupo de Programacin Funcional y Lgica, un equipo de trabajo integrado por docentes y alumnos de la Universidad Nacional de Lujn y de la Universidad Nacional de la Pampa, ambas de Argentina, pretende superar los inconvenientes que plantea la utilizacin del habitualmente empleado interface SIMPLE y otros problemas observados en el aprendizaje que derivan de las caractersticas sintcticas propias del lenguaje, como el abundante uso de parntesis o el formato rgido de algunas consultas.

    En 1986 Van Caneghem public el cdigo fuente en PASCAL de un intrprete llamado Micro Prolog II en su libro "L'anatomie de Prolog" (ISBN 2-7296-0149-X). Un intrprete distribuido como cdigo fuente, escrito para Modula-2 por Umberto Salsi, y llamado simplemente PROLOG, basa explcitamente su sintaxis en la del micro-PROLOG con interface SIMPLE, sin llegar a ser enteramente compatible con el mismo. Otro intrprete de micro-PROLOG en PASCAL fue realizado por Zoran Budimac en 1990.

    2. EXAMEN MDICO BASADO EN ENFERMEDADES RESPIRATORIAS

    2.1. Planteamiento problema Queremos realizar un sistema experto que realice un

    examen mdico cuyas reglas de sntomas y enfermedades respiratorias se den a continuacin.

    Declarar un conjunto de sntomas y enfermedades respiratorias que existen.

  • Un paciente llegara e indicara los sntomas que tiene a travs de un examen mdico.

    El sistema experto deber reconocer que tipo de enfermedad respiratoria dicha persona puede tener.

    2.2. Diseo de interfaces

  • 2.3. Implementacin A continuacin se realizara la descripcin del programa: La presentacin del programa realizado en prolog

    % Autores: POZO VERA OSCAR Y KENNY ROJAS SALAS % Titulo: SISTEMA EXPERTO DIAGNOSTICO MEDICO SOBRE PROBLEMAS RESPIRATORIOS

    En la siguiente lnea se declara la librera para usar el modo grfico: :-use_module(library(pce)).

    Ahora se especifica la ruta donde estarn las imgenes :-pce_image_directory('./img').

    Se activan los estilos de la libreriaxpce: :-use_module(library(pce_style_item)).

    Al iniciar el programa este inicia la parte del cdigo descrito a continuacin:

    Aqu se inicia un cuadro de dialogo de nombre Sistema Experto el cual solo nos sirve para una presentacin. iniciar:- new(Dialog,dialog('Sistema Experto')), Con la sentencia send presentamos el cuadro de dialogo con un tamao de (700,300). send(Dialog,size,size(700,300)),

  • Instanciamos algunas etiquetas labels con nombre y en colores. new(L1,label(text,'Ingenieria Informatica')), send(L1,colour,black), new(L2,label(text,'***Integrantes***')), send(L2,colour,blue), new(L3,label(text,'Pozo Vera Oscar Eduardo')), send(L3,colour,red), new(L4,label(text,'Rojas Salas Kenny')), send(L4,colour,red), Luego con la sentencia send y append logramos introducir esas etiquetas dentro del cuadro dialogo. send(Dialog,append(L1)), send(Dialog,append(L2)), send(Dialog,append(L3)), send(Dialog,append(L4)), Instanciamos un botn con el nombre de iniciar el cual al hacer click me llevara hacia otra parte del cdigo llamado main y luego cerrara el cuadro de dialogo actual. new(Btniniciar,button('Iniciar',and(message(@prolog,main), and(message(Dialog,destroy),message(Dialog,free))))), send(Btniniciar,colour,green), Tambin instanciamos un botn con el nombre de salir el cual al hacer click solo cerrara el cuadro de dialogo actual. new(Btnsalir,button('Salir', and(message(Dialog,destroy),message(Dialog,free)))), send(Btnsalir,colour,red),

  • Con las siguientes sentencias logramos introducir los dos botones al cuadro de dialogo. send(Dialog,append(Btniniciar)), send(Dialog,append(Btnsalir)), Y con las siguientes se logra que el cuadro de dialogo se abra de forma centrada. send(Dialog,display,L1,point(60,130)), send(Dialog,open_centered). :-iniciar. Se obtendr lo siguiente: Una vez que se ha hecho clic sobre el botn iniciar, este me lleva hacia esta parte del cdigo que se llama main. En el main se instancia otro cuadro de dialogo en el cual le hemos puesto de encabezado SISTEMA EXPERTO- DIAGNOSTICO MEDICO SOBRE PROBLEMAS RESPIRATORIOS, con un tamao de (1000,1000) y se le introduce una etiqueta de nombre BIENVENIDO A SU DIAGNOSTICO.

  • main:- new(Menu, dialog('SISTEMA EXPERTO - DIAGNOSTICO MEDICO SOBRE PROBLEMAS RESPIRATORIOS', size(1000,1000))), new(L, label(nombre,'BIENVENIDO A SU DIAGNSTICO')), Aqu se crea dos variables de label, una de nombre @texto y la otra @resp1, los cuales me ayudara a presentar el resultado obtenido de las preguntas: new(@texto, label(nombre,'De acuerdo con sus respuestas obtenidas usted padece de:')), new(@resp1, label(nombre,'')), Se crea un botn salir. new(Salir,button('SALIR',and(message(Menu,destroy),message(Menu,free)))), Aqu se crea un Nuevo botn de nombre iniciar su diagnstico. new(@boton, button('Iniciar su diagnostico',message(@prolog, botones))), send(Menu, append(L)), new(@btncarrera,button('Diagnostico?' )), send(Menu, display,L,point(125,20)), send(Menu, display,@boton,point(40,50)), send(Menu, display,@texto,point(20,100)), send(Menu, display,Salir,point(20,400)), send(Menu, display,@resp1,point(20,130)), send(Menu,open_centered).

  • En esta parte de cdigo se especifica la hiptesis de las posibles enfermedades que me servirn para diagnosticar el posible caso que se presente de acuerdo a las preguntas propuestas. hipotesis(neumonia):- neumonia,!. hipotesis(gripe):- gripe,!. hipotesis(tos):- tos,!. hipotesis(sinositis):- sinositis,!. hipotesis(alergias):- alergias,!. hipotesis(desconocido). /* no existe*/ Reglas de identificacin Una vez que verifica es llamado en el cuadro de dialogo se va ir mostrando cada una de las preguntas que se coloca en la sentencia que hemos puesto de nombre verifica, siempre y cuando las reglas de clasificacin hayan tomado un camino a seguir.

  • /*NEUMONIA*/ neumonia :- padece_neumonia, verifica('Tiene catarro?'), verifica('Tiene altos niveles de fibre prolongada ( +3 das)?'), verifica('Tiene frecuencia respiratoria aumentada ( +20 das)?'), verifica('Se le produce un hundimiento o retraccin de las costillas con la respiracin?'), verifica('Tiene quejidos en el pecho como asmtico al respirar?'), verifica('Tiene tos que produce una expectoracin de tipo amarillenta?'). /*GRIPE*/ gripe :- padece_gripe, verifica('Tiene estornudadera?'), verifica('Tiene altos niveles de fibre con escalofros?'), verifica('Las fosas nasales se abren y se cierran como un aleteo rpido con la respiracin?'), verifica('Tiene decaimiento y malestar al cuerpo?'), verifica('Tiene mucosidad transparantecontiua?'), verifica('Tiene inflamacion de la fosas nasales con sensacin de sequedad en la garganta?'), verifica('Tiene cefalea fija (Dolor de Cabeza), no pulstil, que es consecuencia de la fiebre?'). /*TOS*/ tos :- padece_tos_con_flema, verifica('Toce con frecuencia?'), verifica('Tiene tos que produce una expectoracin de tipo amarillenta o verdosa?'), verifica('Tiene decaimiento y malestar al cuerpo?'), verifica('Tiene inflamacion de las admigdalas?'), verifica('Tiene inflamacion de la fosas nasales?'),

  • verifica('Siente que esta deshidratado/a?'). /*SINOSITIS*/ sinositis :- padece_sinositis, verifica('Tiene picazon en el interior de las fosas nasales?'), verifica('Tiene estornudadera?'), verifica('Las fosas nasales se abren y se cierran como un aleteo rpido con la respiracin?'), verifica('Tiene secrecin retronasal?'), verifica('Tiene inflamacion de la fosas nasales?'), verifica('Tiene cefalea grave (Dolor de Cabeza)?'), verifica('Tiene decaimiento y malestar al cuerpo?'). /*ALERGIA*/ alergias :- padece_alergias, verifica('Tiene congestin o goteo de la nariz con estornudos(particularmente en la maana)?'), verifica('Tiene picazn y lagrimeo de los ojos?'), verifica('Tiene Tos seca?'), verifica('Tiene silbido al respirar?'), verifica('Tiene mucosidad transparantecontiua?'), verifica('Tiene enrojecimiento de la piel?'). /*DESCONOCIDO*/ desconocido :- se_desconoce_enfermedad. De aqu se obtiene las reglas de clasificacin, que me ayudara a determinar que camino tomar. Por ejemplo si uno coloca no en el cuadro de dialogo que aparece en la primera pregunta tiene catarro? Pues si la respuesta es No hasta ah no ms llega, luego salta a la siguiente pregunta, si coloca si en la siguiente pregunta hecha, entonces se va automticamente a las reglas de identificacin.

  • padece_neumonia:- verifica('Tiene catarro?'),!. padece_gripe :- verifica('Tiene estornudadera?'),!. padece_tos_con_flema :- verifica('Toce con frecuencia?'),!. padece_sinositis :- verifica('Tiene picazon en el interior de las fosas nasales?'),!. padece_alergias :- verifica('Tiene congestin o goteo de la nariz con estornudos(particularmente en la maana)?'),!. Se crea la ventana con la imagen correspondiente al test de evaluacin. Esta parte del dynamic solo se va ir llenando con los Si o No obtenidos de cada cuadro de dialogo por cada pregunta realizada: :-dynamic si/1,no/1. Aqu se abre un cuadro de dialogo con el nombre de EXAMEN MEDICO y un label con nombre Responde las siguientes preguntas preguntar(Problema):- new(Di,dialog('EXAMEN MEDICO')), new(L2,label(texto,'Responde las siguientes preguntas')), new(La,label(prob,Problema)), Aqu se crea dos botones de verificacin de Si y No el cual retorna un valor de Si o No. new(B1,button(si,and(message(Di,return,si)))), new(B2,button(no,and(message(Di,return,no)))), /*send(Di, gap, size(25, 25)),*/ En esta parte se colocan los labeles y botones al cuadro de dialogo. send(Di,append(L2)), send(Di,append(La)), send(Di,append(B1)), send(Di,append(B2)),

  • Esta parte solo me indica que el botn accionado por defecto ser S. send(Di,default_button,si), send(Di,open_centered),get(Di,confirm,Answer), write(Answer),send(Di,destroy), Aqu llama a la sentencia problema para determinar por medio de las respuestas vual va a ser su diagnstico. ((Answer==si)->assert(si(Problema)); assert(no(Problema)),fail). verifica(S):-(si(S)->true; (no(S)->fail; preguntar(S))). deshacer:-retract(si(_)),fail. deshacer:-retract(no(_)),fail. deshacer. Creacin de @botones botones :- borrado, send(@boton, free), send(@btncarrera,free), De acuerdo a las respuestas dadas por el usuario la enfermedad que se presentara ser dada por las hiptesis que se declara al inicio del cdigo.

  • hipotesis(Enfermedad), send(@texto, selection('De acuerdo con sus respuestas obtenidas usted padece de:')), La hipotesis toma el nombre para almacenarla en Enfermedad, luego es presentada por la variable @resp1. send(@resp1, selection(Enfermedad)), new(@boton, button('Iniciar su Evaluacin',message(@prolog, botones))), send(Menu, display,@boton,point(40,50)), send(Menu, display,@btncarrera,point(20,50)), deshacer. borrado:- send(@resp1, selection('')).

    3. EJECUCIN

    Primero damos click en el archivo sistemaexperto.pl tal y

    como apreciamos en la siguiente figura.

  • Luego se nos mostrara la siguiente imagen en donde

    inmediatamente accederemos al sistema experto y listo para hacer la consulta.

    Ahora damos click en Iniciar para empezar hacer nuestra consulta de nuestro diagnstico.

  • Ahora damos click en Iniciar su diagnstico y nos saldr una serie de preguntas que deberemos responder sobre los sntomas que tengamos y de acuerdo a eso obtener el diagnstico del posible problema respiratorio que pueda tener como veremos en las siguientes figuras.

  • Y para finalizar una vez contestadas todas las preguntas nuestro sistema experto nos mostrara el diagnostico final sobre el problema respiratorio que tenga como veremos en la siguiente figura.

  • 4. Conclusiones

    Podemos decir que el empeo y las ganas por mejorar la calidad de los servicios es lo que hace que este sea un sistema necesario.

    se han utilizado estndares que van desde los nombres que se usaran en las enfermedades, sntomas, as como para el nivel de especificidad de la descripciones y preguntas.

    Con una adecuada estructura de la informacin se pudo implementar el desarrollo de este sistema experto, como hemos notado, es posible reutilizar cdigo, es posible ampliar las caractersticas de nuestro SE partiendo de un SE bsico, y ahora con ms capacidad. En la actualidad sin lugar a dudas la inteligencia artificial nos est cambiando la vida, con estos sistemas inteligentes al parecer todo es ms fcil.

    5. Referencias Bibliogrficas http://www.uv.mx/aguerra/documents/2011-mpi-09.pdf

    http://www.itnuevolaredo.edu.mx/takeyas/Apuntes/Inteligencia%20Artificial/Apuntes/IA/Prolog.pdf

    http://www.ecured.cu/index.php/ProLog#Caracter.C3.ADsticas_del_lenguaje_ProLog

    http://webcache.googleusercontent.com/search?q=cache:um_JWb-jvsUJ:www.chapingo.mx/terra/contenido/18/2/art173-178.pdf+&cd=9&hl=es&ct=clnk&gl=pe