Documentos de Académico
Documentos de Profesional
Documentos de Cultura
Sistema Experto para El Diagnostico Medico de Enfermedades PDF
Sistema Experto para El Diagnostico Medico de Enfermedades PDF
DIAGNOSTICO MEDICO DE
ENFERMEDADES (SEDME)
Integrantes:
Docente:
INDICE 1
RESUMEN .......................................................................................................................... 2
1. INTRODUCCION ......................................................................................................... 2
1.1. Sistema Experto .................................................................................................... 3
1.2. Usos de un Sistema Experto ................................................................................. 3
1.3. Arquitectura y funcionamiento de un sistema experto............................................ 5
1.3.1. Base de conocimientos .................................................................................. 5
1.3.2. Base de datos ................................................................................................ 5
1.3.3. Motor de inferencias ....................................................................................... 5
1.3.4. Interfaz con el usuario .................................................................................... 6
1.3.5. Mdulo de explicacin .................................................................................... 6
1.3.6. Mdulo de adquisicin.................................................................................... 6
1.4. Ventajas e inconvenientes de un sistema experto ................................................. 7
1.4.1. Ventajas ......................................................................................................... 7
1.4.2. Inconvenientes ............................................................................................... 7
1.5. Prolog.................................................................................................................... 8
1.5.1. Introduccin a Prolog ..................................................................................... 8
1.5.2. Caractersticas de Prolog ............................................................................... 8
1.5.3. Derivados de Prolog ....................................................................................... 9
1.6. Java ...................................................................................................................... 9
1.6.1. Introduccin a Java ........................................................................................ 9
1.6.2. Caractersticas de Java ................................................................................ 12
2. SISTEMA EXPERTO PARA EL DIAGNOSTICO MEDICO DE ENFERMEDADES
(SEDME) ........................................................................................................................... 13
2.1. Planteamiento y Diseo....................................................................................... 13
2.2. Implementacin ................................................................................................... 14
3. Ejecucin ................................................................................................................... 18
4. Referencias Bibliogrficas .......................................................................................... 24
SISTEMA EXPERTO PARA EL DIAGNOSTICO MEDICO
RESUMEN
En la dcada de los 50s Alan Turing comenz a dar los primeros pasos en el rea
de Inteligencia Artificial utilizando el hardware desarrollado hasta ese momento.
Tiempo despus, Edwar Feigenbaum y otros programadores en la universidad de
Stanford desarrollaron Dentral, este fue un sistema experto que tena por objetivo
estudiar un compuesto qumico. Con el pasar del tiempo se han desarrollado
muchos sistemas en diferentes campos, los cuales permiten imitar el pensamiento
de un experto humano a partir de un conocimiento.
1. INTRODUCCION
Con la rpida evolucin de la tecnologa, se han realizado avances notables
para lograr mejorar la calidad de la salud de los seres humanos. Como era
de esperar, en la salud tambin se han desarrollado sistemas expertos.
SISTEMA EXPERTO PARA EL DIAGNOSTICO MEDICO
Este sistema experto cuenta con una interfaz amigable con el usuario, ya que
no todo paciente est familiarizado con temas informticos.
Un sistema experto es muy eficaz cuando tiene que analizar una gran
4
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.
Cuando el volumen de datos es muy elevado para obtener una
conclusin, los sistemas expertos actan llegando al resultado.
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.
Para inferir posibles consecuencias a partir de una situacin,
mediante la prediccin, como por ejemplo sistemas expertos para la
prediccin meteorolgica.
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.
un sistema experto puede evaluar el nivel de conocimientos y
comprensin de un estudiante, y ajustar el proceso de aprendizaje de
acuerdo con sus necesidades.
En la depuracin, los sistemas expertos se usan para escribir
soluciones para funcionamientos errneos, como por ejemplo en el
desarrollo de software y circuitos electrnicos.
Los sistemas expertos se aplican a una gran diversidad de campos
y/o reas.
A continuacin se listan algunas de las principales:
Militar Informtica Telecomunicaciones
1.4.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 del tiempo.
Replicacin: Una vez programado un SE lo podemos replicar
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.
Entornos peligrosos: Un SE puede trabajar en entornos peligrosos
o dainos para el ser humano.
Fiabilidad: Los SE no se ven afectados por condiciones externas,
un humano s (cansancio, presin, etc.).
Consolidar varios conocimientos.
Apoyo Acadmico.
1.4.2. Inconvenientes
Sentido comn: Para un Sistema Experto no hay nada obvio. Por
ejemplo, un sistema experto sobre medicina podra admitir que un
hombre lleva 40 meses embarazado, a no ser que se especifique
que esto no es posible ya que un hombre no puede gestar hijos.
Lenguaje natural: Con un experto humano podemos mantener
una conversacin informal mientras que con un SE no podemos.
Capacidad de aprendizaje: Cualquier persona aprende con
relativa facilidad de sus errores y de errores ajenos, que un SE
haga esto es muy complicado.
Perspectiva global: Un experto humano es capaz de distinguir
cuales son las cuestiones relevantes de un problema y separarlas
de cuestiones secundarias.
Capacidad sensorial: Un SE carece de sentidos.
Flexibilidad: Un humano es sumamente flexible a la hora de
aceptar datos para la resolucin de un problema.
SISTEMA EXPERTO PARA EL DIAGNOSTICO MEDICO
1.5. Prolog
1.6. Java
Portabilidad
La portabilidad se consigue haciendo de Java un lenguaje medio
interpretado medio compilado. Cmo se come esto? Pues se
coge el cdigo fuente, se compila a un lenguaje intermedio
cercano al lenguaje mquina pero independiente del ordenador y
el sistema operativo en que se ejecuta (llamado en el mundo Java
bytecodes) y, finalmente, se interpreta ese lenguaje intermedio
por medio de un programa denominado mquina virtual de Java.
Este esquema lo han seguido otros lenguajes, como por ejemplo
Visual Basic. Sin embargo, nunca se haba empleado como punto
de partida a un lenguaje multiplataforma ni se haba hecho de
manera tan eficiente. Cuando Java apareci en el mercado se
hablaba de que era entre 10 y 30 veces ms lento que C++.
Ahora, con los compiladores JIT (Just in Time) se habla de
tiempos entre 2 y 5 veces ms lentos. Con la potencia de las
mquinas actuales, esa lentitud es un precio que se puede pagar
sin problemas contemplando las ventajas de un lenguaje portable.
Orientacin a objetos
Dado que Java es un lenguaje orientado a objetos, es
imprescindible entender qu es esto y en qu afecta a nuestros
SISTEMA EXPERTO PARA EL DIAGNOSTICO MEDICO
Todas las instancias de una clase se crean con el operador new (), de
manera que un recolector de basura se encarga de liberar la memoria
ocupada por los objetos que ya no estn referenciados. La mquina
virtual de Java gestiona la memoria dinmicamente
2.2. Implementacin
En primer lugar debemos crear una Base de Datos en MySQL llamada
bddiagnostico, en este caso hemos utilizado el apache llamado
Xampp, el cual es una distribucin de apache completamente gratuita y
fcil de instalar. Esta base de datos consta de cuatro tablas:
enfermedades, pregunta, preguntaprincipal y usuarios.
/*ENFERMEDAD*/
consulta(Id,X):-concat(Id,'"',Z),
concat('SELECT nombre FROMenfermedades
where id = "',Z,X).
enfermedad(Id,X):- consulta(Id,Consulta),
odbc_query('swiprolog',
Consulta,row(X)).
/*DESCRIPCION DE ENFERMEDAD*/
consulta5(NombreEnfermedad,X):-
concat(NombreEnfermedad,'"',Z),
SISTEMA EXPERTO PARA EL DIAGNOSTICO MEDICO
descrEnfermedad(NombreEnfermedad,X):-
consulta5(NombreEnfermedad,Consulta5),
odbc_query('swiprolog',Consulta5,
row(X)).
preguntas(IdE,IdP,X):- consulta2(IdE,IdP,Consulta2),
odbc_query('swiprolog',
Consulta2,
row(X)).
/*SINTOMAS DE ENFERMEDAD*/
consulta3(NombreEnfermedad,X):-
concat(NombreEnfermedad,'"',Z),
concat('SELECT sintomas FROM
enfermedades where nombre = "',Z,X).
sintomaEnfermedad(NombreEnfermedad,X):-
consulta3(NombreEnfermedad,Consulta3),
odbc_query('swiprolog',Consulta3,row(X)).
As contamos con otras reglas que nos ayudaran a conectar java, prolog
y mysql, que se encuentran en el archivo bddiagnostico.pl.
SISTEMA EXPERTO PARA EL DIAGNOSTICO MEDICO
Class.forName("com.mysql.jdbc.Driver");
con=(Connection)DriverManager.getConnection("jdbc:mysq
l://localhost:3306/bddiagnostico","root","");
17
18
3. Ejecucin
En la interfaz principal de nuestro sistema experto, mostrada anteriormente,
podremos realizar dos tipos de consulta, una por Encadenamiento hacia
delante y otra por Encadenamiento hacia atrs. Si no se realiza ningn tipo de
consulta el botn Descripcin y Recomendaciones se mantendr bloqueado.
19
20
21
22
23
De esta manera podemos navegar por el sistema experto de una manera amigable
y sencilla para el usuario.
SISTEMA EXPERTO PARA EL DIAGNOSTICO MEDICO
4. Referencias Bibliogrficas 24
- http://www.informaticaintegral.net/sisexp.html
- http://www.monografias.com/trabajos30/sistemas-expertos/sistemas-expertos.shtml
- http://www.monografias.com/trabajos30/sistemas-expertos/sistemas-
expertos.shtml
- http://sistexpertosmalkav.blogspot.com/2012/02/arquitectura-y-
funcionasmiento-de-un.html
- http://es.wikipedia.org/wiki/Sistema_experto
- http://es.scribd.com/doc/27500195/INTRODUCCION-A-PROLOG
- http://artemisa.unicauca.edu.co/~lgarreta/elenguajes/classes/logical/apuntes
05lp-prolog.pdf
- http://es.wikipedia.org/wiki/Micro-PROLOG