;;;;;;Sistema Experto de deteccion de Enfermedades Virales
;;;;;; ;;;;;; Este es un sistema para la deteccion de enfermedades ;;;;;; que virales ;;;;;; ;;;;;; Para ejecutar, Cargar con la funcion load, reset y run. ;;;;;; ======================================================
(printout t ?pregunta) (bind ?respuesta (read)) (if (lexemep ?respuesta) then (bind ?respuesta (lowcase ?respuesta))) (while (not (member ?respuesta ?valor)) do (printout t ?pregunta) (bind ?respuesta (read)) (if (lexemep ?respuesta) then (bind ?respuesta (lowcase ?respuesta)))) ?respuesta)
(deffunction si-or-no-p (?pregunta)
(bind ?responde (preguntas ?pregunta si no s n)) (if (or (eq responde si ) (eq ?responde s)) then TRUE else FALSE))
;;*********** ;; Reglas**** ;;;**********
(defrule estado-normal ""
(declare (salience 10)) (estado vid normal) => (assert (enfermedad "No tiene ninguna enfermedad")))
(defrule sintoma-de-paciente ""
(not (estado vid ?)) (not (enfermedad ?)) => (if (si-or-no-p "Presenta fiebre y dolor de cabeza (si/no)?") then (if (si-or-no-p "Presenta erupciones cutaneas (si/no)? ") then (assert (estado vid erupciones)) else (assert (estado vid rubiola))) else (assert (estado vid picadura-insecto))))
(defrule chinkungunya ""
(estado vid erupciones) (not (enfermedad ?)) => (if (si-or-no-p "las erupciones les provocan picazon (si/no)?") then (assert (estado vid varicela)) else (assert (estado vid rubiola)) ))
(defrule varicela ""
(estado vid varicela) (not (enfermedad ?)) => (if (si-or-no-p "Las erupciones son peque�as y abultadas (si/no)?") then (assert (enfermedad " la enfermedad es VARICELA.")) else (assert (enfermedad "La enfermedad es VIRUELA.")) ))
(defrule rubiola ""
(estado vid rubiola) (not (enfermedad ?)) => (if (si-or-no-p "Las erupciones estan diceminadas en todo el cuerpo (si/no)?") then (assert (enfermedad " la enfermedad es RUBIOLA.")) else (assert (estado vid sarampion )) ))
(defrule sarampion ""
(estado vid sarampion) (not (enfermedad ?)) => (if (si-or-no-p "Los bultos en el cuerpo son de color rosado (si/no)?") then (assert (enfermedad " la enfermedad es SARAMPION.")) else (assert (estado vid alegia)) ))
(defrule alergia ""
(estado vid alergia) (not (enfermedad ?)) => (if (si-or-no-p "Las erupciones citaneas se presentan de pie a cabeza (si/no)?") then (assert (enfermedad " la enfermedad es solo una ALEGIA.")) else (assert (enfermedad "estado vid normal.")) ))
(defrule no-enfermedades ""
(declare(salience 10)) (not (enfermedad ?)) => (assert (enfermedad "La base de datos no detecto ninguna enfermedad"))) ;;**************************************************************** ;;* Diagnostico y deteccion de enfermedades virales ;;****************************************************************
(defrule system-banner ""
(declare (salience 10)) => (printout t crlf crlf) (printout t "SISTEMA EXPERTO DE ENFERMEDADES") (printout t crlf crlf))
(defrule imprimir-diagostico ""
(declare (salience 10)) (enfermedad ?dato) => (printout t crlf crlf) (printout t "El diagnostico es:") (printout t crlf crlf) (format t " %s%n%n%n" ?dato))
¡Basta ya de ser un Tipo Lindo! (No More Mr. Nice Guy): Un Plan Probado para Que Obtengas Lo Que Quieras en La Vida El Sexo y El Amor (A Proven Plan for Getting What You Want in Love, Sex and Life)
Disciplina con amor para adolescentes (Discipline With Love for Adolescents): Guía para llevarte bien con tu adolescente (A Guide for Getting Along Well With Your Adolescent)
Batidos Verdes Depurativos y Antioxidantes: Aumenta tu Vitalidad con Smoothie Detox Durante 10 Días Para Adelgazar y Bajar de Peso: Aumenta tu vitalidad con smoothie detox durante 10 días para adelgazar y bajar de peso
Mediumnidad: La guía definitiva para convertirse en un médium espiritual y desarrollar habilidades psíquicas como la clarividencia, la clarisentencia y la clariaudiencia