SISTEMA EXPERTO -Julissa Vanessa Quispe Moreno, Jhoser Alberto Rebaza Castañeda

download SISTEMA EXPERTO -Julissa Vanessa Quispe Moreno, Jhoser Alberto Rebaza Castañeda

of 20

Transcript of SISTEMA EXPERTO -Julissa Vanessa Quispe Moreno, Jhoser Alberto Rebaza Castañeda

  • 5/22/2018 SISTEMA EXPERTO -Julissa Vanessa Quispe Moreno, Jhoser Alberto Rebaza Casta ...

    http:///reader/full/sistema-experto-julissa-vanessa-quispe-moreno-jhoser-alberto-r

    SISTEMA EXPERTO DIAGNOSTICO MEDICO

    RESUMEN

    Se presentara un sistema experto donde nos permita diagnosticar mediante un conjunto de

    sntomas, donde obtendremos un resultado mencionando que tipo de enfermedad se tiene.

    Para esto primero haremos un estudio de conocimientos sobre que consiste un sistema

    experto sus definiciones, caractersticas y su importancia para luego pasar al desarrollo del

    problema.

    PALABRAS CLAVE

    Sistema experto, diagnstico de enfermedades, SWI-Prolog.

    1. ITRODUCCIONLos sistemas expertos, rama de la inteligencia artificial, son sistemas informticos que

    simulan el proceso de aprendizaje, de memorizacin, de razonamiento, de comunicacin y

    de accin en consecuencia de un experto humano en cualquier rama de la ciencia.

    Tcnicamente un sistema experto, contiene una base de conocimientos que incluye la

    experiencia acumulada de expertos humanos y un conjunto de reglas para aplicar esta

    base de conocimientos en una situacin particular que se le indica el programa. Cada vez

    el sistema se mejora con adiciones a la base de conocimientos o al conjunto de reglas.

    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.

    ADQUISCION 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 sta 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.1USOS DE UN SISTEMA EXPERTOCon la ayuda de un sistema experto, personas con poca experiencia pueden resolver

    problemas que requieren un conocimiento formal especializado.

    Los sistemas expertos pueden obtener conclusiones y resolver problemas de forma

    ms rpida que los expertos humanos.

    Los sistemas expertos razonan pero en base a un conocimiento adquirido y no tienen

    sitio para la subjetividad, el uso de un sistema experto es especialmente recomendada

    en las siguientes situaciones:

  • 5/22/2018 SISTEMA EXPERTO -Julissa Vanessa Quispe Moreno, Jhoser Alberto Rebaza Casta ...

    http:///reader/full/sistema-experto-julissa-vanessa-quispe-moreno-jhoser-alberto-r

    a) cuando los expertos humanos en una determinada materia son escasos.b) en situaciones complejas, donde la subjetividad humana puede llevar a

    conclusiones errneas.

    c) cuando es muy elevado el volumen de datos que ha de considerarse paraobtener una conclusin.

    d) los sistemas expertos son buenos para predecir resultados futuros a partir delconocimiento que tienen.

    e) por ultimo un sistema experto puede evaluar el nivel de conocimientos ycomprensin de un estudiante, y ajustar el proceso de aprendizaje de acuerdo

    con sus necesidades.

    1.2ARQUITECTURA Y FUNCIONAMIENTO DE UN SISTEMA EXPERTOLa mayora de los sistemas expertos tienen unos componentes bsicos: base de

    conocimientos, motor de inferencia, base de datos (hechos) e interfaz con el usuario.Muchos tienen, adems, un mdulo de explicacin y un mdulo de adquisicin del

    conocimiento.

    1.2.1 BASE DE CONOCIMIENTOSEs la parte del sistema experto que contiene el conocimiento sobre el dominio. H

    ay que obtener el conocimiento del experto y codificarlo en la base de

    conocimientos. Una forma clsica de representar el conocimiento en un sistema

    experto son las reglas. Una regla es una estructura condicional que relaciona

    lgicamente la informacin contenida en la parte del antecedente con otra

    informacin contenida en la parte del consecuente.

    1.2.2 MOTOR DE INTERFERENCIASEl sistema experto modela el proceso de razonamiento humano con un mdulo

    conocido como el motor de inferencia. Dicho motor de inferencia trabaja con la

    informacin contenida en la base de conocimientos y la base de hechos para

    deducir nuevos hechos. Contrasta los hechos particulares de la base de hechos con

    el conocimiento contenido en la base de conocimientos para obtener conclusiones

    acerca del problema

    1.2.3 BASES DE HECHOSContiene los hechos sobre un problema que se han descubierto durante una

    consulta. Durante una consulta con el sistema experto, el usuario introduce la

    informacin del problema actual en la base de hechos. El sistema empareja esta

    informacin con el conocimiento disponible en la base de conocimientos para

    deducir nuevos hechos.

    1.2.4 INTERFAZ CON EL USUARIOLa interaccin entre un sistema experto y un usuario se realiza en lenguaje natural.

    Tambin es altamente interactiva y sigue el patrn de la conversacin entre sereshumanos. Para conducir este proceso de manera aceptable para el usuario es

  • 5/22/2018 SISTEMA EXPERTO -Julissa Vanessa Quispe Moreno, Jhoser Alberto Rebaza Casta ...

    http:///reader/full/sistema-experto-julissa-vanessa-quispe-moreno-jhoser-alberto-r

    especialmente importante el diseo del interfaz de usuario. Un requerimiento

    bsico del interfaz es la habilidad de hacer preguntas. Para obtener informacin

    fiable del usuario hay que poner especial cuidado en el diseo de las cuestiones.

    Esto puede requerir disear el interfaz usando mens o grficos

    1.2.5 MODULO DE EXPLICACINLa 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 cmo ha alcanzado una conclusin,

    ste le presentar la secuencia completa de reglas usada

    1.2.6 MODULO DE ADQUISICINEl mdulo de adquisicin del conocimiento permite que se puedan aadir, eliminaro modificar elementos de conocimiento (en la mayora de los casos reglas) en el

    sistema experto.

    1.3VENTAJAS E INCONVENIENTES DE UN SISTEMA EXPERTO1.3.1 VENTAJAS:

    PERMANENCIA:A diferencia de un experto humano un SE (sistema experto) no

    envejece, y por tanto no sufre prdida de facultades con el paso deltiempo.

    DUPLICACIN:Una vez programado un SE lo podemos duplicar infinidad de veces

    RAPIDEZ:Un SE puede obtener informacin de una base de datos y realizar

    clculos numricos mucho ms rpido que cualquier ser humano.

    BAJO COSTO:A pesar de que el costo inicial pueda ser elevado, gracias a la

    capacidad de duplicacin el coste finalmente es bajo.

    FIABILIDAD:Los SE no se ven afectados por condiciones externas, un humano s

    (cansancio, presin, etc.).

  • 5/22/2018 SISTEMA EXPERTO -Julissa Vanessa Quispe Moreno, Jhoser Alberto Rebaza Casta ...

    http:///reader/full/sistema-experto-julissa-vanessa-quispe-moreno-jhoser-alberto-r

    APOYO ACADMICO:La Inteligencia Artificial siempre ha recibido un buen apoyo

    acadmico.

    1.3.2 INCONVENIENTES:

    Es evidente que para actualizar se necesita de reprogramacin deestos ( tal vez este es una de sus ms inconvenientes e limitaciones)

    Otra de sus inconvenientes puede ser el elevado costo en dinero ytiempo, adems que estos programas son poco flexibles a cambio y de

    difcil acceso a informacin no estructurada.

    Un experto humano no estudia progresivamente una hiptesis, sinoque 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.

    Problemas sociales que acarrean al ser susceptibles de influir en laestructura y nmero de empleos.

    1.4LENGUAJES DE PROGRAMACIN USADOSUn Lenguaje de Programacin se basa en reglas de accin (silogismos) , y el anlisis de

    posibilidades dndonos una ayuda muy til en todas las ramas de la accin humana.

    Es as como los Sistemas Expertos desarrollan una Funcin muy

    importante "Realizar tareas genricas: es decir para la monitorizacin y eldiagnstico, adems de los trabajos de simulacin de la realidad (Realidad Virtual en

    la actualidad).

    Algunos lenguajes son lenguajes principalmente interpretados, como APL, PROLOG,

    LISP y el ms usado el CLIPS.

    1.4.1 DEFINICIONES DE ESTOS LENJUAJES IMPORTANTES EN UN SE.

    APL: APL (A Programing Language). Diseado para tablas, vectores y matrices;utiliza smbolos especiales, distintos que el ASCII.

    LISP:El lenguaje LISP es uno de los ms utilizados desde los comienzos de la I.A.

    PRLOG: Es el lenguaje declarativo, quien a partir de los datos introducidos deducenuevos hechos y resuelve el problema automticamente.

    Prolog tiene incluido, por tanto, un motor de inferencia que se encarga de realizar

    bsquedas en su base de hechos.

    CLIPS: CLIPS es una herramienta que provee un ambiente de desarrollo para la

    produccin y ejecucin de sistemas expertos. Fue creado a partir de 1984, en el

    Lyndon B. Johnson Space Center de la NASA. Se trata de un acrnimo de C Language

    Integrated Production System (Sistema de Produccin Integrado en lenguaje C). En la

    actualidad, entre los paradigmas de programacin que soporta CLIPS se encuentran laprogramacin lgica, la Programacin imperativa y la Programacin Orientada a

  • 5/22/2018 SISTEMA EXPERTO -Julissa Vanessa Quispe Moreno, Jhoser Alberto Rebaza Casta ...

    http:///reader/full/sistema-experto-julissa-vanessa-quispe-moreno-jhoser-alberto-r

    Objetos. CLIPS es probablemente del sistema experto ms ampliamente usado debido

    a que es rpido, eficiente y gratuito.

    1.4.2 CARACTERISTICAS DE ESTES LENGUAJES DE PROGRAMACINPROLOG:

    Los programas en Prolog se componen de clusulas de Hornque constituyen reglas del

    tipo "modus ponendo ponens", es decir, "Si es verdad el antecedente, entonces es

    verdad el consecuente". No obstante, la forma de escribir las clusulas de Horn es al

    contrario de lo habitual. Primero se escribe el consecuente y luego el antecedente. El

    antecedente puede ser una conjuncin de condiciones que se denomina secuencia de

    objetivos. Cada objetivo se separa con una coma y puede considerarse similar a una

    instruccin o llamada a procedimiento de los lenguajes imperativos. En Prolog no

    existen instrucciones de control. Su ejecucin se basa en dos conceptos: la unificacin

    y el backtracking.

    Gracias a la unificacin, cada objetivo determina un subconjunto de clusulassusceptibles de ser ejecutadas. Cada una de ellas se denomina punto de eleccin.

    Prolog selecciona el primer punto de eleccin y sigue ejecutando el programa hasta

    determinar si el objetivo es verdadero o falso.

    En caso de ser falso entra en juego el backtracking, que consiste en deshacer todo lo

    ejecutado situando el programa en el mismo estado en el que estaba justo antes de

    llegar al punto de eleccin. Entonces se toma el siguiente punto de eleccin que estaba

    pendiente y se repite de nuevo el proceso. Todos los objetivos terminan su ejecucin

    bien en xito("verdadero"), bien enfracaso("falso").

    CLIPS:

    Representacin del Conocimiento: CLIPS permite manejar una amplia variedad deconocimiento, soportando tres paradigmas de programacin: el declarativo, el

    imperativo, y el orientado a objetos.

    Portabilidad:CLIPS fue escrito en C con el fin de hacerlo ms portable y rpido, y hasido instalado en diversos sistemas operativos (Windows 95/98/NT,

    MacOS X, Unix) sin ser necesario modificar su cdigo fuente. CLIPS puede ser

    ejecutado en cualquier sistema con un compilador ANSI de C, o un compilador de C++.

    Desarrollo Interactivo:La versin estndar de CLIPS provee un ambiente de desarrollo

    interactivo y basado en texto; este incluye herramientas para la depuracin, ayuda enlnea, y un editor integrado.

    Verificacin/Validacin:CLIPS contiene funcionalidades que permiten verificarLas reglas incluidas en el sistema experto que est siendo desarrollado.

  • 5/22/2018 SISTEMA EXPERTO -Julissa Vanessa Quispe Moreno, Jhoser Alberto Rebaza Casta ...

    http:///reader/full/sistema-experto-julissa-vanessa-quispe-moreno-jhoser-alberto-r

    2. DESARROLLO DEL SISTEMA EXPERTO DIAGNOSTICO MEDICO2.1PLANTEAMIENTO :Realizar un sistema experto basado en conocimientos mdicos, dicho sistema debe

    considerar pacientes, sntomas, enfermedades, medicamentos y mdicos,ingredientes positivos para la enfermedad del paciente, as como los ingredientes

    negativos para la cura de su enfermedad. Tambin considera los platillos donde se

    encuentran dichos ingredientes y finalmente el restaurant turstico donde el paciente

    puede ir a degustar los platillos que le favorecen a su salud.

    El sistema experto es usado como medio para la promocin de ingredientes peruanos

    que poseen propiedades curativas. El sistema experto debe responder todo tipo de

    preguntas al respecto.

    2.2DISEO

  • 5/22/2018 SISTEMA EXPERTO -Julissa Vanessa Quispe Moreno, Jhoser Alberto Rebaza Casta ...

    http:///reader/full/sistema-experto-julissa-vanessa-quispe-moreno-jhoser-alberto-r

    2.3 IMPLEMENTACION

    enfermedad(neumonia).

    enfermedad(tuberculosis).

    enfermedad(hepatitisB).

    enfermedad(gastritis).

    enfermedad(sinusitis).

  • 5/22/2018 SISTEMA EXPERTO -Julissa Vanessa Quispe Moreno, Jhoser Alberto Rebaza Casta ...

    http:///reader/full/sistema-experto-julissa-vanessa-quispe-moreno-jhoser-alberto-r

    %--------------------------------------------------------------------

    % sintoma(X,Y) = X es sintoma de Y, donde Y es enfermedad

    %----------------------------------------------------------------

    % enfermedad: Neumonia

    sintoma(fiebre,neumonia).

    sintoma(dolorTorxico , neumonia).

    sintoma(dolorCabeza , neumonia).

    sintoma(escalofrios, neumonia).

    sintoma(tos,neumonia).

    % enfermedad: Tuberculosis

    sintoma(fiebre,tuberculosis).

    sintoma(cansancio,tuberculosis).

    sintoma(prdidaPeso,tuberculosis).

    sintoma(faltaApetito,tuberculosis).

    sintoma(tos ,tuberculosis).

    sintoma(sudoracion ,tuberculosis).

    % enfermedad: Hepatitis B

    sintoma(fiebre,hepatitisB).

    sintoma(nauseas,hepatitisB).

    sintoma(dolorParteAltaAbdomen,hepatitisB).

    sintoma(ictericia,hepatitisB).%color amarillo de la piel y el ojo

    sintoma(orinaColorOscuro,hepatitisB).

    % enfermedad: Gastritis

    sintoma(distencionAbdominal,gastritis).

    sintoma(nauseas,gastritis).

    sintoma(dolorParteAltaAbdomen,gastritis).

    sintoma(faltaApetito,gastritis).

    sintoma(acidezEstomacal,gastritis).

    % enfermedad: Sinusitis

    sintoma(fiebre,sinusitis).

    sintoma(congestionSecrecionNasal,sinusitis).

    sintoma(dolorCabeza,sinusitis).

    sintoma(tos,sinusitis).

  • 5/22/2018 SISTEMA EXPERTO -Julissa Vanessa Quispe Moreno, Jhoser Alberto Rebaza Casta ...

    http:///reader/full/sistema-experto-julissa-vanessa-quispe-moreno-jhoser-alberto-r

    %--------------------------------------------------------------------

    % medicamento(X,Y) = X es medicamento de Y

    %--------------------------------------------------------------------

    % enfermedad: Neumonia

    medicamento(ibuprofeno ,neumonia).

    medicamento(azitromicina,neumonia).

    medicamento(claritromicina,neumonia).

    medicamento(amoxicilina,neumonia).

    medicamento(dextrometorfano,neumonia).

    % enfermedad: Tuberculosis

    medicamento(ibuprofeno ,tuberculosis).

    medicamento(complejoB,tuberculosis).

    medicamento(pirazinamida,tuberculosis).

    medicamento(ribavirina,tuberculosis).

    medicamento(dextrometorfano,tuberculosis).

    % enfermedad: Hepatitis B

    medicamento(ibuprofeno,hepatitisB).

    medicamento(ondansetron,hepatitisB).

    medicamento(omeprazol ,hepatitisB).

    medicamento(timosina ,hepatitisB).

    medicamento(entecavir,hepatitisB).

    % enfermedad: Gastritis

    medicamento(almax ,gastritis).

    medicamento(ondansetron,gastritis).

    medicamento(omeprazol ,gastritis).

    medicamento(ribavirina_l,gastritis).

    medicamento(ridocaina ,gastritis).

    % enfermedad: Sinusitis

    medicamento(ibuprofeno,sinusitis).

    medicamento(ampicilina,sinusitis).

    medicamento(clindamicina ,sinusitis).

    medicamento(amoxicilina,sinusitis).

    medicamento(dextrometorfano,sinusitis).

  • 5/22/2018 SISTEMA EXPERTO -Julissa Vanessa Quispe Moreno, Jhoser Alberto Rebaza Casta ...

    http:///reader/full/sistema-experto-julissa-vanessa-quispe-moreno-jhoser-alberto-re

    %---------------------------------------------------------

    % tiene_sintoma(X,Y) = paciente X tiene sintoma de Y

    %---------------------------------------------------------

    tiene_sintoma(juan,escalofrios).

    tiene_sintoma(juan,tos).

    tiene_sintoma(pedro,escalofrios).

    tiene_sintoma(ana,fiebre).

    tiene_sintoma(ana,tos).

    tiene_sintoma(maria,ictericia).

    tiene_sintoma(maria,vomitos).

    tiene_sintoma(maria,cansancio).

    tiene_sintoma(carlos,fiebre).

    tiene_sintoma(carlos,dolorParteAltaAbdomen).

    tiene_sintoma(carlos,nauseas).

    % especialidad(X) = X es especialidad

    % --------------------------------------------------------------------

    especialidad(neumologia).

    especialidad(hepatologia).

    especialidad(otorinolaringologia).

    especialidad(gastroenterologia).

    especialidad(medicinaGeneral).

    %---------------------------------------------------------

    % doctor(X) = X es doctor

    %---------------------------------------------------------

    doctor(ramonMendoza).

    doctor(luisPerez).

    doctor(jennyCornejo).

    doctor(cesarHernandez).

    doctor(mariluPeralta).

  • 5/22/2018 SISTEMA EXPERTO -Julissa Vanessa Quispe Moreno, Jhoser Alberto Rebaza Casta ...

    http:///reader/full/sistema-experto-julissa-vanessa-quispe-moreno-jhoser-alberto-re

    doctor(jaimeParra).

    doctor(marcoMollo).

    doctor(rosaCasavilca).

    % especialista_en(X,Y) = X es especialista en Y(especialidad)

    %-----------------------------------------------------------------

    especialista_en( ramonMendoza ,neumologia).

    especialista_en( luisPerez ,hepatologia).

    especialista_en( jennyCornejo ,otorinolaringologia).

    especialista_en( jennyCornejo ,medicinaGeneral).

    especialista_en( jennyCornejo ,gastroenterologia).

    especialista_en( cesarHernandez ,gastroenterologia).

    especialista_en( mariluPeralta ,medicinaGeneral).

    especialista_en( jaimeParra ,otorinolaringologia).

    especialista_en( marcoMollo ,neumologia).

    especialista_en( rosaCasavilca ,medicinaGeneral).

    especialista_en( rosaCasavilca, neumologia).

    % tratado_en(X,Y) = X(enfermedad) es tratado en Y(especialidad)

    %-------------------------------------------------------------------

    tratado_en(neumonia,neumologia).

    tratado_en(hepatitisB,hepatologia).

    tratado_en(sinusitis,otolaringologia).

    tratado_en(gastritis,gastroenterologia).

    tratado_en(tuberculosis,medicinaGeneral).

    tratado_en(tuberculosis,neumologia).

    % hace_bien(X,Y) = ingrediente X propiedad curativa para enfermedad Y

    %--------------------------------------------------------------------

    % enfermedad: Neumonia

    hace_bien(verduracocida,neumonia).

    hace_bien(papaamarilla,neumonia).

    hace_bien(pollohervido,neumonia).

    hace_bien(aguacaliente,neumonia).

    hace_bien(eucalipto,neumonia).

    hace_bien(miel,neumonia).

    hace_bien(apio,neumonia).

  • 5/22/2018 SISTEMA EXPERTO -Julissa Vanessa Quispe Moreno, Jhoser Alberto Rebaza Casta ...

    http:///reader/full/sistema-experto-julissa-vanessa-quispe-moreno-jhoser-alberto-re

    hace_bien(zapallo,neumonia).

    hace_bien(zanahoria,neumonia).

    % enfermedad: Gastritis

    hace_bien(verduracocida,gastritis).

    hace_bien(papaamarilla,gastritis).

    hace_bien(pollohervido,gastritis).

    hace_bien(aguacaliente,gastritis).

    hace_bien(eucalipto,gastritis).

    hace_bien(miel,gastritis).

    hace_bien(apio,gastritis).

    hace_bien(zapallo,gastritis).

    hace_bien(zanahoria,gastritis).

    hace_bien(mantequilla,gastritis).

    hace_bien(leche,gastritis).

    % enfermedad: sinusitis

    hace_bien(aguacaliente,sinusitis).

    hace_bien(eucalipto,sinusitis).

    hace_bien(apio,sinusitis).

    hace_bien(zapallo,sinusitis).

    hace_bien(zanahoria,sinusitis).

    hace_bien(mantequilla,sinusitis).

    hace_bien(limon,sinusitis).

    hace_bien(harinadetrigo,sinusitis).

    % enfermedad: tuberculosis

    hace_bien(verduracocida,tuberculosis).

    hace_bien(papaamarilla,tuberculosis).

    hace_bien(pollohervido,tuberculosis).

    hace_bien(aguacaliente,tuberculosis).

    hace_bien(eucalipto,tuberculosis).

    hace_bien(lecheSoya,tuberculosis).

    hace_bien(platano,tuberculosis).

    hace_bien(zapallo,tuberculosis).

    hace_bien(zanahoria,tuberculosis).

  • 5/22/2018 SISTEMA EXPERTO -Julissa Vanessa Quispe Moreno, Jhoser Alberto Rebaza Casta ...

    http:///reader/full/sistema-experto-julissa-vanessa-quispe-moreno-jhoser-alberto-re

    hace_bien(limon,tuberculosis).

    hace_bien(harinadetrigo,tuberculosis).

    hace_bien(mantequilla,tuberculosis).

    % enfermedad: hepatitis B

    hace_bien(apio,hepatitisB).

    hace_bien(zapallo,hepatitisB).

    hace_bien(zanahoria,hepatitisB).

    hace_bien(limon,hepatitisB).

    hace_bien(harinadetrigo,hepatitisB).

    hace_bien(mantequilla,hepatitisB).

    % hace_mal(X,Y) = ingrediente X propiedad negativa para enfermedad Y

    %-------------------------------------------------------------------

    hace_mal(harinadetrigo,neumonia).

    hace_mal(mantequilla,neumonia).

    hace_mal(leche,neumonia).

    hace_mal(leche,tuberculosis).

    hace_mal(papaamarilla,hepatitisB).

    hace_mal(leche,hepatitisB).

    hace_mal(aguacaliente,gastritis).

    hace_mal(limon,gastritis).

    hace_mal(mantequilla,gastritis).

    hace_mal(mantequilla,sinusitis).

    hace_mal(leche,sinusitis).

    %-------------------------------------------------------------------

    % platillo(P) = P es platillo

    %-------------------------------------------------------------------

    platillo(sopaDieta).

    platillo(teEucalipto).

    platillo(sopadeverduras).

    platillo(chapo).

  • 5/22/2018 SISTEMA EXPERTO -Julissa Vanessa Quispe Moreno, Jhoser Alberto Rebaza Casta ...

    http:///reader/full/sistema-experto-julissa-vanessa-quispe-moreno-jhoser-alberto-re

    platillo(shambar).

    platillo(tortillakiwicha).

    platillo(purdepapas).

    platillo(pasteldelimon).

    platillo(empanada).

    %--------------------------------------------------------------------

    % restaurante(R) = R es restaurante

    %----------------------------------------------------------------

    restaurante(rinconAyacuchano).

    restaurante(alCarbon).

    restaurante(surChico).

    %--------------------------------------------------------------------

    % buscar_restaurante(P,R) = el platillo P se sirve en el restaurante R

    %----------------------------------------------------------------

    buscar_restaurante(sopaDieta,alCarbon).

    buscar_restaurante(teEucalipto,alCarbon).

    buscar_restaurante(sopadeverduras,surChico).

    buscar_restaurante(chapo,rinconAyacuchano).

    buscar_restaurante(shambar,rinconAyacuchano).

    buscar_restaurante(tortillakiwicha,rinconAyacuchano).

    buscar_restaurante(purdepapas,surChico).

    buscar_restaurante(pastellimon,surChico).

    buscar_restaurante(empanada,alCarbon).

    %-------------------------------------------------------------------

    % ingrediente(X) = X es ingrediente

    %-------------------------------------------------------------------

    ingredientePlatillo(papaamarilla).

    ingredientePlatillo(pollohervido).

    ingredientePlatillo(verduracocida).

    ingredientePlatillo(aguacaliente).

    ingredientePlatillo(eucalipto).

    ingredientePlatillo(miel).

    ingredientePlatillo(apio).

    ingredientePlatillo(zapallo).

    ingredientePlatillo(zanahoria).

  • 5/22/2018 SISTEMA EXPERTO -Julissa Vanessa Quispe Moreno, Jhoser Alberto Rebaza Casta ...

    http:///reader/full/sistema-experto-julissa-vanessa-quispe-moreno-jhoser-alberto-re

    ingredientePlatillo(platano).

    ingredientePlatillo(lecheSoya).

    ingredientePlatillo(trigo).

    ingredientePlatillo(arverjasSecas).

    ingredientePlatillo(garbanzo).

    ingredientePlatillo(kiwicha).

    ingredientePlatillo(huevo).

    ingredientePlatillo(cebollaPicada).

    ingredientePlatillo(leche).

    ingredientePlatillo(limon).

    ingredientePlatillo(harinadetrigo).

    ingredientePlatillo(mantequilla).

    ingredientePlatillo(carne).

    %-------------------------------------------------------------------

    % ingrediente(X,Y) = X es ingrediente del plato Y

    %-------------------------------------------------------------------

    ingrediente(papaamarilla,sopaDieta).

    ingrediente(pollohervido,sopaDieta).

    ingrediente(verduracocida,sopaDieta).

    ingrediente(aguacaliente,teEucalipto).

    ingrediente(eucalipto,teEucalipto).

    ingrediente(miel,teEucalipto).

    ingrediente(apio,sopadeverduras).

    ingrediente(zapallo,sopadeverduras).

    ingrediente(zanahoria,sopadeverduras).

    ingrediente(platano,chapo).

    ingrediente(lecheSoya,chapo).

    ingrediente(aguacaliente,chapo).

    ingrediente(trigo,shambar).

    ingrediente(arverjasSecas,shambar).

    ingrediente(garbanzo,shambar).

    ingrediente(kiwicha,tortillaKiwicha).

  • 5/22/2018 SISTEMA EXPERTO -Julissa Vanessa Quispe Moreno, Jhoser Alberto Rebaza Casta ...

    http:///reader/full/sistema-experto-julissa-vanessa-quispe-moreno-jhoser-alberto-re

    ingrediente(huevo,tortillaKiwicha).

    ingrediente(cebollaPicada,tortillaKiwicha).

    ingrediente(papaamarilla,purdepapas).

    ingrediente(leche,purdepapas).

    ingrediente(aguacaliente,purdepapas).

    ingrediente(limon,pasteldelimon).

    ingrediente(harinadetrigo,pasteldelimon).

    ingrediente(mantequilla,pasteldelimon).

    ingrediente(cebollaPicada,empanada).

    ingrediente(mantequilla,empanada).

    ingrediente(harinadetrigo,empanada).

    ingrediente(carne,empanada).

    %===================================================================

    %ESPECIFICACION DE REGLAS

    %===================================================================

    %----------------------------------------------------

    %paciente X debe tomar la lista de medicamentos P

    %----------------------------------------------------

    debe_tomar_medicamento(X,P):-findall(Y,tiene_sintoma(X,Y),L),findall(M,buscar_medicamento(L,M),Z),sinDuplicados(Z,P).

    %----------------------------------------------------

    %elemento X no pertenece a la lista, donde [Y|Ys] es la lista

    %Y es la cabeza y Ys es la cola.%----------------------------------------------------

    noPertenece(X,[]).

    noPertenece(X,[Y|Ys]):-X\=Y,noPertenece(X,Ys).

    %----------------------------------------------------

    %elemento X pertenece a la lista

    %----------------------------------------------------

    pertenece(X,[X|_]).pertenece(X,[_|T]):- pertenece(X,T).

  • 5/22/2018 SISTEMA EXPERTO -Julissa Vanessa Quispe Moreno, Jhoser Alberto Rebaza Casta ...

    http:///reader/full/sistema-experto-julissa-vanessa-quispe-moreno-jhoser-alberto-re

    %----------------------------------------------------

    %paciente X debe tomar la lista de medicamentos P

    %----------------------------------------------------

    sinDuplicados([],[]).

    sinDuplicados([X|Xs],[X|Ys]):-noPertenece(X,Xs),sinDuplicados(Xs,Ys).

    sinDuplicados([X|Xs],Ys):- pertenece(X,Xs),sinDuplicados(Xs,Ys).

    %-------------------------------------------------------------

    %dado una lista de sintomas se indicar que medicamentos tomar

    %-------------------------------------------------------------

    buscar_medicamento(X,M):-sintoma(X, E), medicamento(M,E).

    buscar_medicamento([X|Xs],M ) :- buscar_medicamento(X,M) ; buscar_medicamento(Xs,M).

    %-------------------------------------------------------------

    %el metodo buscar nos permite encontrar la enfermedad E que tenga

    %todos los sintomas de la lista [X,Xs]

    %-------------------------------------------------------------

    buscar([],E,0).

    buscar(X , E , 1) :- sintoma(X, E).

    buscar([X|Xs] , E ,P) :- enfermedad(E) , buscar(X , E , S1) , buscar(Xs , E ,S2) , P is S1 + S2.

    %------------------------------------------------------------------

    %nos permite saber la cantidad K de sintomas para la enfermedad E

    %------------------------------------------------------------------

    totalSintoma(E , K) :- findall(X , sintoma(X, E) , L) , length(L , K) .

    %------------------------------------------------------------------

    %dado una lista de sintomas nos permite saber las posibles enfermedades

    %con sus respectivos porcentajes.

    %------------------------------------------------------------------

    diagnostico([X|Xs] , E , K) :- buscar([X|Xs] , E , P) , totalSintoma(E , T) , K is P * 100 / T.

    % ------------------------------------------------------------------

    % Paciente X tiene enfermedad E con un porcentaje C

    %-----------------------------------------------------------------

  • 5/22/2018 SISTEMA EXPERTO -Julissa Vanessa Quispe Moreno, Jhoser Alberto Rebaza Casta ...

    http:///reader/full/sistema-experto-julissa-vanessa-quispe-moreno-jhoser-alberto-r

    tiene_enfermedad(X,E,C):-findall(Y,tiene_sintoma(X,Y),L),diagnostico(L , E , C).

    % ------------------------------------------------------------------

    % la lista de pacientes L tiene enfermedad E

    %-----------------------------------------------------------------

    padece(L,E):-sintoma(S,E),findall(X,tiene_sintoma(X,S),L).

    %-----------------------------------

    %medicamento M alivia los sintomas S

    %-----------------------------------

    alivia_sintoma(M,S):-medicamento(M,E),sintoma(S,E).

    %----------------------------------------------------------------

    %Cantidad C de medicamentos que pueden aliviar la enfermedad E

    %----------------------------------------------------------------

    cant_medicamentos(E,C):- findall(M,medicamento(M,E),L), length(L,C).

    %-------------------------------------------------------------------

    %doctor_especialista(Y,X) = Y es el doctor especialista en enfermedad X.

    %-------------------------------------------------------------------

    doctor_especialista(Y,X) :- especialista_en(Y,Z),tratado_en(X,Z).

    buscar_especialista(X,Y):-sintoma(X, E), doctor_especialista(Y,E).

    buscar_especialista([X|Xs],Y ) :- buscar_especialista(X,Y) ; buscar_especialista(Xs,Y).

    %-------------------------------------------------------------------

    %paciente X puede atenderse con el medico Y

    %-------------------------------------------------------------------

    puede_atenderse(X,Y):- findall(S,tiene_sintoma(X,S),L),buscar_especialista(L,Y ).

    %----------------------------------------------------------------

    %el medico P trata los sintomas S

    %----------------------------------------------------------------

    trata_sintoma(P,S):-doctor_especialista(P,E),findall(Y,sintoma(Y,E),L),sinDuplicados(L,S).

    %----------------------------------------------------------------

    %medico P receta medicamentos M

    %----------------------------------------------------------------

  • 5/22/2018 SISTEMA EXPERTO -Julissa Vanessa Quispe Moreno, Jhoser Alberto Rebaza Casta ...

    http:///reader/full/sistema-experto-julissa-vanessa-quispe-moreno-jhoser-alberto-r

    receta_medicamento(P,M):- doctor_especialista(P,E),medicamento(M,E).

    %----------------------------------------------------------------

    %medico P trata cantidad de sntomas C

    %----------------------------------------------------------------

    tratar_cant_sintoma(P,C):-doctor_especialista(P,E),totalSintoma(E,C).

    %----------------------------------------------------------------

    %lista de platillos L con bueno para enfermedad E

    %----------------------------------------------------------------

    alivia_mal1(P,E):- ingrediente(Z,P),hace_bien(Z,E).

    alivia_mal(L,E):- enfermedad(E),findall(PL,alivia_mal1(PL,E),LL),sinDuplicados(LL,L).

    %---------------------------------------------------------------------

    %enfermedad E puede encontrar platillo que le alivie en restaurante R

    %---------------------------------------------------------------------

    %buscar_restaurante(P,R).

    rest_plato([],[]).

    rest_plato(K,X) :- buscar_restaurante(X,R).

    rest_plato(K,[X|Xs]) :- rest_plato(K,X),rest_plato(K,Xs).

    encontrar_platillo_bueno(E,K):- alivia_mal(L,E),rest_plato(K,L).

    %----------------------------------------------------------------

    %platillo P es malo para enfermedad E

    %----------------------------------------------------------------

    inadecuado_para_mal(P,E):- ingrediente(Z,P),hace_mal(Z,E).

    %----------------------------------------------------------------

    %ingrediente X sirve para preparar platillo P

    %----------------------------------------------------------------

    sirve_para_preparar([],P).

    sirve_para_preparar(X,P):-ingrediente(X,P).

    sirve_para_preparar([X,Xs],P):-sirve_para_preparar(X,P),sirve_para_preparar(Xs,P).

  • 5/22/2018 SISTEMA EXPERTO -Julissa Vanessa Quispe Moreno, Jhoser Alberto Rebaza Casta ...

    http:///reader/full/sistema-experto-julissa-vanessa-quispe-moreno-jhoser-alberto-re

    3. CONCLUSIONES Debido a que es un lenguaje muy expresivo para plantear algoritmos de lingstica

    computacional, Prolog facilita la expresin de operaciones sobre los smbolos yestructuras sin preocuparse de la representacin y manipulacin interna del

    computador.

    Los programas realizados en Prolog, en el presente documento, pueden serextendidos agregando nuevas clusulas (hechos, reglas).

    Los sistemas expertos realizados en Prolog en el presente documento, simulan elproceso de aprendizaje, de memorizacin, de razonamiento, de razonamiento y de

    accin de un experto humano.

    Software Utilizado

    SWI-Prolog (Windows)

    4. REFERENCIAS BIBLIOGRAFICAS http://es.wikipedia.org/wiki/CLIPS http://es.slideshare.net/gabrielasoto142/sistemas-expertos-30960400 https://docs.google.com/document/d/1cx7xs4Gnq_3fES-

    AzkG7ejmOIgEVarVe_4SQl9gL39A/edit?hl=en_US&pli=1

    http://es.slideshare.net/juanmiguel431/sistemas-expertos-3771338