SlideShare una empresa de Scribd logo
1 de 5
Sistema Experto: Diagnóstico de Enfermedades
“JBDiagnostic”
Malca Díaz, Bryan O.
Estudiante Informática
Universidad Nacional De Trujillo
bryanmalca@hotmail.com
Yengle Cosamalón, Jorwin A.
Estudiante Informática
Universidad Nacional De Trujillo
anjhel.urbano@outlook.com
Asesor:
Díaz Pulido, Arturo
Ingeniero Informático
Universidad Nacional de Trujillo
ing.delphi@gmail.com
RESUMEN
Vamos a implementar un sistema experto con Java y
MYSQL, cuyo propósito será diagnosticar la enfermedad y los
medicamentos que lo solucionen; no es posible realizar el este
proceso sin una previa inicialización, con los síntomas del
paciente a atender. Esto ayudara a tomar decisiones a una
persona especialista en el tema, para ver qué es lo que tiene el
cliente y que debe tomar.
Pero no se puede empezar a usar y entender esto sin conocer
los orígenes y el tema en general, por estas razones haremos
un breve repaso de los sistemas expertos y de su importancia,
para luego pasar a desarrollar el problema,ya orientado más al
software con Java y MYSQL, este un sistema experto de gran
importancia y una potente arma utilizada o necesitada con
frecuencia en los hospitales y/o instituciones médicas.
Palabras Claves:
Sistema Experto, MYSQL, JAVA, JBDiagnostic,Base de Datos,
Inteligencia Artificial.
1.INTRODUCCIÓN.
Antes de la aparición del ordenador, el hombre ya se
preguntaba si se le arrebataría el privilegio de razonar y pensar.
En la actualidad existe un campo dentro de la inteligencia
artificial al que se le atribuye esa facultad: el de los sistemas
expertos (SE). Estos sistemas también son conocidos como
Sistemas Basados en Conocimiento, los cuales permiten la
creación de máquinas que razonan como el hombre,
restringiéndose a un espacio de conocimientos limitado. En
teoría pueden razonar siguiendo los pasos que seguiría un
experto humano (médico, analista, empresario, etc.) para
resolver un problema concreto.
Los sistemas expertos se pueden considerar como el primer
producto verdaderamente operacional de la inteligencia artificial.
Son programas de ordenador diseñados para actuar como un
especialista humano en un dominio particular o área de
conocimiento.
En este sentido,pueden considerarsecomointermediarios entre
el experto humano,que transmite su conocimiento al sistema,y
el usuario que lo utiliza para resolver un problemacon la eficacia
del especialista. El sistema experto utilizará para ello el
conocimiento que tenga almacenado y algunos métodos de
inferencia. Para que un sistema experto sea herramienta
efectiva, los usuarios deben interactuar de una forma fácil,
reuniendo dos capacidades para poder cumplirlo: Explicar su
razonamiento y adquiriendo nuevos conocimientos.
1.1. Usos de un SE.
Un Sistema Experto se puede utilizar -actualmente- en casi
todas las áreas, así tenemos en las áreas militar, química,
geología, electrónica, medicina, informática, derecho,
arqueología, transporte, industria, telecomunicaciones,
aeronáutica, agricultura, educación, finanzas y gestión.
Sus principales aplicaciones se dan en las gestiones
empresariales debido a que:
a) Casi todas las empresas disponen de un ordenador
que realiza las funciones básicas de tratamiento de la
información: contabilidad general, decisiones
financieras, gestión de la tesorería, planificación, etc.
b) Muchos trabajos implican manejar grandes volúmenes
de información y realizar operaciones numéricas para
después tomar decisiones. Esto crea un terreno ideal
para la implantación de los SE.
Además los SE también se aplican en la contabilidad en
apartados como: Auditoría (es el campo en el que más
aplicaciones de SE se está realizando) Fiscalidad,planificación,
análisis financiero y la contabilidad financiera.
1.2. Arquitectura de un SE
1.2.1. Base de conocimientos.
Es la parte del sistema experto que contiene el
conocimiento sobre el dominio.Hayque obtener el conocimiento
del experto y codificarlo en la base de conocimientos.Una forma
clásica de representar el conocimiento en un sistema experto
son las reglas. Una regla es una estructura condicional que
relaciona lógicamente la información contenida en la parte del
antecedente con otra información contenida en la parte del
consecuente.
1.2.2. Base de datos (Memoria de trabajo).
También conocida como Base de Hechos.Contiene los
hechos sobre un problema que se han descubierto durante una
consulta. Durante una consulta con el sistema experto, el
usuario introduce la información del problema actual en la base
de hechos. El sistema empareja esta información con el
conocimiento disponible en la base de conocimientos para
deducir nuevos hechos.
1.2.3. Motor de inferencia.
El sistema experto modelael proceso de razonamiento
humano con un módulo conocido como el motor de inferencia.
Dicho motor de inferencia trabaja con la información 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.4. Interfaz de usuario.
La interacción entre un sistema experto y un usuario se
realiza en lenguaje natural. También es altamente interactiva y
sigue el patrón de la conversación entre seres humanos. Para
conducir este proceso de manera aceptable para el usuario es
especialmente importante el diseño del interfaz de usuario. Un
requerimiento básico del interfaz es la habilidad de hacer
preguntas. Para obtener información fiable del usuario hay que
poner especial cuidado en el diseño de las cuestiones. Esto
puede requerir diseñar el interfaz usando menús o gráficos.
1.2.5. Subsistema de explicación (Módulo de
explicación).
Una característica de los sistemas expertos es su
habilidad para explicar su razonamiento. Usando el módulo del
subsistema de explicación, un sistema experto puede
proporcionar una explicación al usuario de por qué está
haciendo una pregunta ycómo ha llegado a unaconclusión.Este
módulo proporciona beneficios tanto al diseñador del sistema
como al usuario.El diseñador puede usarlopara detectar errores
y el usuario se beneficia de la transparencia del sistema.
1.2.6. Módulo de adquisición.
Interfaz para la adquisición del conocimiento del
dominio, puede incluir mecanismos para facilitar su adquisición
y depuramiento interactivo y para automatizar la adquisición
(aprendizaje). El módulo de adquisición del conocimiento
permite que se puedan añadir, eliminar o modificar elementos
de conocimiento (en la mayoría de los casos reglas) en el
sistema experto.
1.3. Ventajas e inconvenientes de un SE.
1.3.1. Ventajas.
Estos programas proporcionan la capacidad de trabajar
con grandes cantidades de información, que son uno de los
grandes problemas que enfrenta el analista humano que puede
afectar negativamente a la toma de decisiones pues el analista
humano puede depurar datos que no considere relevantes,
mientras un SE debido a su gran velocidad de proceso analiza
toda la información incluyendo las no útiles para de esta manera
aportar una decisión más sólida.
1.3.2. Inconvenientes (limitaciones).
a) Es evidente que para actualizar se necesita de
reprogramación de estos (tal vez este sea una de sus
limitaciones más acentuadas) otra de sus limitaciones
puede ser el elevado costo en dinero y tiempo,además
que estos programas son poco flexibles a cambios yde
difícil acceso a información no estructurada.
b) Debido a la escasez de expertos humanos en
determinadas áreas, los SE pueden almacenar su
conocimiento para cuando sea necesario poder
aplicarlo. Así mismo los SE pueden ser utilizados por
personas no especializadas para resolver problemas.
Además si una persona utiliza con frecuencia un SE
aprenderá de él.
c) Por otra parte la inteligencia artificial no ha podido
desarrollar sistemas que sean capaces de resolver
problemas de manera general, de aplicar el sentido
común para resolver situaciones complejas ni de
controlar situaciones ambiguas.
d) El futuro de los SE da vueltas por la cabeza de cada
persona, siempre que el campo elegido tenga la
necesidad y/o presencia de un experto para la
obtención de cualquier tipo de beneficio.
1.4. JAVA.
1.4.1. Introducción.
JAVA es un lenguaje de programación de propósito general,
concurrente, orientado a objetos y basado en clases que fue
diseñado específicamente para tener tan pocas dependencias
de implementación como fuera posible.Su intención es permitir
que los desarrolladores de aplicaciones escriban el programa
una vez y lo ejecuten en cualquier dispositivo (conocido en inglés
como WORA, o "write once, run anywhere"), lo que quiere decir
que el código que es ejecutado en una plataforma no tiene que
ser recompilado para correr en otra.
1.4.2. Características.
1.4.2.1. Lenguaje Simple: Se lo conoce como lenguaje simple
porque viene de la misma estructura de C y C++; ya
que C++ fue un referente para la creación de java por
eso utiliza determinadas características de C++ y se
han eliminado otras.
1.4.2.2. Orientado a Objeto: Toda la programación en java en
su mayoría está orientada a objeto, ya que al estar
agrupados en estructuras encapsuladas es más fácil su
manipulación.
1.4.2.3. Distribuido: Permite abrir sockets, establecer y
aceptar conexiones con los servidores o clientes
remotos;facilita la creaciónde aplicaciones distribuidas
ya que proporciona una colección de clases para
aplicaciones en red.
1.4.2.4. Robusto: Es altamente fiable en comparación con
C, se han eliminado muchas características con la
aritmética de punteros, proporciona numerosas
comprobaciones en compilación y en tiempo de
ejecución.
1.4.2.5. Seguro: La seguridad es una característica muy
importante en java ya que se han implementado
barreras de seguridad en el lenguaje yen el sistemade
ejecución de tiempo real.
1.4.2.6. Indiferente a la arquitectura: Java es compatible con
los más variados entornos de red, cualesquiera sean
estos desde Windows 95, Unix a Windows Nt y Mac,
para poder trabajar con diferentes sistemas operativos.
Java es muy versátil ya que utiliza byte-codes que es
un formato intermedio que sirve para transportar el
código eficientemente o de diferentes plataformas
(Hardware - Software).
1.4.2.7. Portable: Por ser indiferente a la arquitectura sobre la
cual está trabajando,esto hace que su portabilidadsea
muyeficiente,sus programas son iguales en cualquiera
de las plataformas, ya que java especifica tamaños
básicos, esto se conoce como la máquina virtual de
java.
1.4.2.8. Interpretado y compilado a la vez: Java puede ser
compilado e interpretado en tiempo real, ya
que cuando se construye el código fuente este se
transforma en una especie de código de máquina.
1.4.2.9. Multihebra o Multihilos:Java tiene una facilidad
decumplir varias funciones al mismo tiempo,gracias a
su función de multihilos ya que por cada hilo que el
programa tenga,se ejecutarán en tiempo real muchas
funciones al mismo tiempo.
1.4.2.10.Dinámico: El lenguaje java es muydinámicoen la fase
de enlazado,sus clases solamente actuarán en medida
en que sean requeridas o necesitadas con esto
permitirá que los enlaces se puedan incluir incluso
desde fuentes muy variadas o desde la red.
1.4.2.11.Produce Applets: En java se pueden crear
aplicaciones independientes y applets.Independientes
porque se pueden comportar como cualquier programa
escrito en cualquier lenguaje. Por otra parte los applets
considerados pequeños programas, tienen la
capacidad de ejecutar funciones muy complejas.
1.4.2.12.Alto rendimiento: Java es considerado de alto
rendimiento por ser tan veloz en el momento de correr
los programas y por ahorrarse muchas líneas de
código.
2.JBDIAGNOSTIC
2.1. Planteamiento y Diseño
Lo que queremos lograr es un sistemaque permita a un
doctor, enfermero, farmacéutico u cualquier persona que tenga
relación con ciencias de la salud,encontrar de una forma menos
laboriosa, en un tiempo menor, de diagnosticar la enfermedad
de un cliente basándose en los síntomas que este presenta.
Para realizar esto hemos partido del diseño de los síntomas y
los medicamentos uniéndolos a una enfermedad que los
contenga, formando tipo estrella, con una variación al modelo
que utilizado en el tema de REDES.
Los nodos de las estrellas pueden ser de 2 tipos, Entrada y
Salida, los de entrada son los síntomas, que se pedirán en el
diagnóstico,se tendrá que recorrer dichas puntas ycomparando
los valores de entrada que se proporcionó y una vez llegado el
final se podrá obtiene la respuesta que seria las salidas, cabe
mencionar que son los medicamentos y el nombre de la
enfermedad a la que más se relaciona, dichos resultados se
imprimían en pantalla con una detallada información del mismo.
Hemos planteadoque el diseñotenga mínimo3 nodos ymáximo
6 en los datos de entrada,siendo diferente en los datos de salida
que mínimo es 1 y máximo solo 3.
A continuación le mostramos una imagen de la estrella y sus
nodos, con unas posibles respuestas y opciones para su
correcto funcionamiento, cabe mencionar que pueden existir
muchas estrellas con centros totalmente diferentes, pero
síntomas y/o medicamentos parecidos o iguales por asídecirlos.
En la siguiente imagen tendremos 1 centro (Gripe) con 3
entradas y 2 salidas.
Figura 1
Si en el diagnóstico, la persona atendida muestra los datos de
verde presentados en la Figura 1, entonces el sistema derivara
y compara que el centro es Gripe, siendo esta la enfermedad,y
por defecto para curar esta enfermedad muestra 2 opciones,
CLORFENAMINA, PARACETAMOL, o las 2 opciones según la
designación que se le dé a la enfermedad llenada en la base del
conocimiento.
Figura 2
Los gráficos cambian en la abstracción que demos al ejecutar y
como se muestra en la Figura 2 vemos que en la parte superior
están los datos de entrada(síntomas), derivando de losmismos,
la Enfermedad, y ultimo los Medicamentos, como hojas
terminales.
Como mencioné anteriormente se puede tener 1 respuesta final,
o las 2, como en la Figura 2, Figura 3, Figura 4.
Figura 3
Figura 4
Es necesario la abstracción,para poder entender cómofunciona
internamente nuestro sistema,pues al comienzo se mostró en la
Figura 1, una forma estrella,yen las siguientes figuras,entrando
en una especie de idea de arborización.
2.2. Implementación
Para llevar un buen desarrollo óptimo y con velocidad
optimizada, para una funcionalidad correcta la dividimos en las
siguientes partes.
2.2.1. Definición de Variables
Estas variables son importantes para la ejecución,
servirán en las funcionalidades y acciones determinantes para
la extracción de Enfermedades y sus Medicamentos.
2.2.2. Sentencias
Las sentencias nos servirán para poder analizar y comparar los
datos ingresados yobtener la enfermedad y los datos de salida,
adecuados al caso.
2.2.3. Bucles de Control
3.Ejecución
En esta ejecución lo que se va a realizar es el ejemplo de
ingresar síntomas, que ya están asignadas en la base de
conocimiento del sistema, con la finalidad de obtener como
respuesta gripe, como esta enfermedad es la más conocida y
más frecuentada por los humanos, decidimos agregar los
síntomas iniciales del mismo, y esperamos así obtener como
resultado gripe.
Vale rescatar que estos datos son ingresados al sistema por
medio de un especialista, que informa que síntomas y que
medicamentos puede tener una enfermedad.
Figura 5
Como se puede ver en la Figura 5 se ha ingresado 3 síntomas
básicos, que en teoría pertenecen a gripe o cualquier
enfermedad que se acercan a ellas.
Figura 6
En la Figura 6 se puede apreciar ya diagnosticada las posibles
enfermedades,con una cantidad de coincidencias,y elegida así
gripe como la más óptima, con un medicamento de
CLORFENAMINA en pastillas.
Lo que se dedujo que si se dio la respuesta que esperábamos
con los síntomas ingresados.
4.Referencias
[1] http://www.monografias.com/trabajos16/sistemas-
expertos/sistemas-expertos.shtml#ARQUIT
[2] http://ccc.inaoep.mx/~emorales/Cursos/Representa/
node16.html
[3] http://es.wikipedia.org/wiki/Java_(lenguaje_de_progr
amación)
[4] http://www.uaeh.edu.mx/docencia/Tesis/icbi/licencia
tura/documentos/Sistemas%20expertos%20y%20su
s%20aplicaciones.pdf
[5] http://sheyla88.blogspot.es/

Más contenido relacionado

La actualidad más candente

Inteligencia artificial
Inteligencia artificialInteligencia artificial
Inteligencia artificialcjemima
 
Inteligencia artificial
Inteligencia artificialInteligencia artificial
Inteligencia artificialfabian caro
 
Alcance de la inteligencia artificial
Alcance de la inteligencia artificialAlcance de la inteligencia artificial
Alcance de la inteligencia artificialRoberto Gonzalez
 
Introducción a la Inteligencia Artificial
Introducción a la Inteligencia ArtificialIntroducción a la Inteligencia Artificial
Introducción a la Inteligencia Artificialguest8631c16
 
Inteligencia Artificial
Inteligencia ArtificialInteligencia Artificial
Inteligencia Artificialguest347e49
 
Inteligencia Artificial
Inteligencia ArtificialInteligencia Artificial
Inteligencia ArtificialRolando Gómez
 
Inteligencia artificial exposición.ppt
Inteligencia artificial exposición.pptInteligencia artificial exposición.ppt
Inteligencia artificial exposición.pptJenniferAnayaM
 
Inteligencia artificial presentacion
Inteligencia artificial presentacionInteligencia artificial presentacion
Inteligencia artificial presentacionsilvia gamboa galaz
 
El propósito de la ia y su evolución
El propósito de la ia y su evoluciónEl propósito de la ia y su evolución
El propósito de la ia y su evoluciónYudi Carrillo
 
Inteligencia artificial: Las Expectativas del pasado al futuro
Inteligencia artificial: Las Expectativas del pasado al futuroInteligencia artificial: Las Expectativas del pasado al futuro
Inteligencia artificial: Las Expectativas del pasado al futuroDaniel Diaz
 
Inteligencia artificial, Computación e Informática IV - 2013
Inteligencia artificial, Computación e Informática IV - 2013Inteligencia artificial, Computación e Informática IV - 2013
Inteligencia artificial, Computación e Informática IV - 2013Instituto Juan Bosco de Huánuco
 

La actualidad más candente (20)

Inteligencia artificial
Inteligencia artificialInteligencia artificial
Inteligencia artificial
 
Inteligencia Artificial
Inteligencia ArtificialInteligencia Artificial
Inteligencia Artificial
 
Inteligencia artificial
Inteligencia artificialInteligencia artificial
Inteligencia artificial
 
Inteligencia Artificial
Inteligencia ArtificialInteligencia Artificial
Inteligencia Artificial
 
Historia de la inteligencia artificial
Historia de la inteligencia artificialHistoria de la inteligencia artificial
Historia de la inteligencia artificial
 
Psicología e Inteligencia Artificial
Psicología e Inteligencia ArtificialPsicología e Inteligencia Artificial
Psicología e Inteligencia Artificial
 
Alcance de la inteligencia artificial
Alcance de la inteligencia artificialAlcance de la inteligencia artificial
Alcance de la inteligencia artificial
 
Introducción a la Inteligencia Artificial
Introducción a la Inteligencia ArtificialIntroducción a la Inteligencia Artificial
Introducción a la Inteligencia Artificial
 
Inteligencia Artificial
Inteligencia ArtificialInteligencia Artificial
Inteligencia Artificial
 
Límites de la inteligencia artificial
Límites de la inteligencia artificialLímites de la inteligencia artificial
Límites de la inteligencia artificial
 
Inteligencia Artificial
Inteligencia ArtificialInteligencia Artificial
Inteligencia Artificial
 
Inteligencia artificial exposición.ppt
Inteligencia artificial exposición.pptInteligencia artificial exposición.ppt
Inteligencia artificial exposición.ppt
 
Inteligencia artificial presentacion
Inteligencia artificial presentacionInteligencia artificial presentacion
Inteligencia artificial presentacion
 
Inteligencia artificial
Inteligencia artificialInteligencia artificial
Inteligencia artificial
 
El propósito de la ia y su evolución
El propósito de la ia y su evoluciónEl propósito de la ia y su evolución
El propósito de la ia y su evolución
 
Generalidades de la Inteligencia Artificial
Generalidades de la Inteligencia ArtificialGeneralidades de la Inteligencia Artificial
Generalidades de la Inteligencia Artificial
 
Inteligencia artificial: Las Expectativas del pasado al futuro
Inteligencia artificial: Las Expectativas del pasado al futuroInteligencia artificial: Las Expectativas del pasado al futuro
Inteligencia artificial: Las Expectativas del pasado al futuro
 
Inteligencia artificial, Computación e Informática IV - 2013
Inteligencia artificial, Computación e Informática IV - 2013Inteligencia artificial, Computación e Informática IV - 2013
Inteligencia artificial, Computación e Informática IV - 2013
 
Inteligencia Artificial
Inteligencia ArtificialInteligencia Artificial
Inteligencia Artificial
 
Inteligencia artificial
Inteligencia artificialInteligencia artificial
Inteligencia artificial
 

Similar a Sistema Experto Diagnóstico Enfermedades JBDiagnostic Java MYSQL

Lady informe ia
Lady informe iaLady informe ia
Lady informe ialadyespino
 
Lady informe ia
Lady informe iaLady informe ia
Lady informe ialadyespino
 
Lady informe ia
Lady informe iaLady informe ia
Lady informe ialadyespino
 
Sistema_experto de_licuados_nutritivos
Sistema_experto de_licuados_nutritivosSistema_experto de_licuados_nutritivos
Sistema_experto de_licuados_nutritivosNils Gálvez Alcalde
 
Sistema experto para determinar la personalidad de un individuo
Sistema experto para determinar la personalidad de un individuoSistema experto para determinar la personalidad de un individuo
Sistema experto para determinar la personalidad de un individuoBndy Quilcate
 
U4-T6: DIAGNOSTICO Y DECISIÓN 2-EAI
U4-T6: DIAGNOSTICO Y DECISIÓN 2-EAIU4-T6: DIAGNOSTICO Y DECISIÓN 2-EAI
U4-T6: DIAGNOSTICO Y DECISIÓN 2-EAIPLC AREA DE GRADO
 
Escuela Superior de Cd Sahagun plantilla2.pptx
Escuela Superior de Cd Sahagun plantilla2.pptxEscuela Superior de Cd Sahagun plantilla2.pptx
Escuela Superior de Cd Sahagun plantilla2.pptxjosevillaltadso
 
TRABAJO INFORMÁTICA FINAL
TRABAJO INFORMÁTICA FINALTRABAJO INFORMÁTICA FINAL
TRABAJO INFORMÁTICA FINALAlee Jezias
 
Sistema de Ventas de Muebles en Prolog
Sistema de Ventas de Muebles en PrologSistema de Ventas de Muebles en Prolog
Sistema de Ventas de Muebles en Prologculquinet
 
Sistema Experto Detector de Enfermedades
Sistema Experto Detector de EnfermedadesSistema Experto Detector de Enfermedades
Sistema Experto Detector de EnfermedadesRqYChino
 
Sistema Experto : Juego "3 en Raya" bajo plataforma Linux (Ubuntu)
Sistema Experto : Juego "3 en Raya" bajo plataforma Linux (Ubuntu)Sistema Experto : Juego "3 en Raya" bajo plataforma Linux (Ubuntu)
Sistema Experto : Juego "3 en Raya" bajo plataforma Linux (Ubuntu)jclavotafur
 
Sistemas experto
Sistemas expertoSistemas experto
Sistemas expertoMaikol Leon
 

Similar a Sistema Experto Diagnóstico Enfermedades JBDiagnostic Java MYSQL (20)

Sistemas expertos
Sistemas expertosSistemas expertos
Sistemas expertos
 
Trabajo de sistemas expertos
Trabajo de sistemas expertosTrabajo de sistemas expertos
Trabajo de sistemas expertos
 
Lady informe ia
Lady informe iaLady informe ia
Lady informe ia
 
Lady informe ia
Lady informe iaLady informe ia
Lady informe ia
 
Lady informe ia
Lady informe iaLady informe ia
Lady informe ia
 
Sistema_experto de_licuados_nutritivos
Sistema_experto de_licuados_nutritivosSistema_experto de_licuados_nutritivos
Sistema_experto de_licuados_nutritivos
 
Sistema experto para determinar la personalidad de un individuo
Sistema experto para determinar la personalidad de un individuoSistema experto para determinar la personalidad de un individuo
Sistema experto para determinar la personalidad de un individuo
 
Sistemas expertos
Sistemas expertosSistemas expertos
Sistemas expertos
 
U4-T6: DIAGNOSTICO Y DECISIÓN 2-EAI
U4-T6: DIAGNOSTICO Y DECISIÓN 2-EAIU4-T6: DIAGNOSTICO Y DECISIÓN 2-EAI
U4-T6: DIAGNOSTICO Y DECISIÓN 2-EAI
 
Enfermedades respiratorias
Enfermedades respiratoriasEnfermedades respiratorias
Enfermedades respiratorias
 
Escuela Superior de Cd Sahagun plantilla2.pptx
Escuela Superior de Cd Sahagun plantilla2.pptxEscuela Superior de Cd Sahagun plantilla2.pptx
Escuela Superior de Cd Sahagun plantilla2.pptx
 
TRABAJO INFORMÁTICA FINAL
TRABAJO INFORMÁTICA FINALTRABAJO INFORMÁTICA FINAL
TRABAJO INFORMÁTICA FINAL
 
Sistema de Ventas de Muebles en Prolog
Sistema de Ventas de Muebles en PrologSistema de Ventas de Muebles en Prolog
Sistema de Ventas de Muebles en Prolog
 
Sistema Experto Detector de Enfermedades
Sistema Experto Detector de EnfermedadesSistema Experto Detector de Enfermedades
Sistema Experto Detector de Enfermedades
 
Sistema Experto : Juego "3 en Raya" bajo plataforma Linux (Ubuntu)
Sistema Experto : Juego "3 en Raya" bajo plataforma Linux (Ubuntu)Sistema Experto : Juego "3 en Raya" bajo plataforma Linux (Ubuntu)
Sistema Experto : Juego "3 en Raya" bajo plataforma Linux (Ubuntu)
 
Sistema experto
Sistema expertoSistema experto
Sistema experto
 
Sistemas experto
Sistemas expertoSistemas experto
Sistemas experto
 
Fases del ciclo de sistemas
Fases del ciclo de sistemasFases del ciclo de sistemas
Fases del ciclo de sistemas
 
Sistemas expertos
Sistemas expertosSistemas expertos
Sistemas expertos
 
Sistema experto
Sistema expertoSistema experto
Sistema experto
 

Sistema Experto Diagnóstico Enfermedades JBDiagnostic Java MYSQL

  • 1. Sistema Experto: Diagnóstico de Enfermedades “JBDiagnostic” Malca Díaz, Bryan O. Estudiante Informática Universidad Nacional De Trujillo bryanmalca@hotmail.com Yengle Cosamalón, Jorwin A. Estudiante Informática Universidad Nacional De Trujillo anjhel.urbano@outlook.com Asesor: Díaz Pulido, Arturo Ingeniero Informático Universidad Nacional de Trujillo ing.delphi@gmail.com RESUMEN Vamos a implementar un sistema experto con Java y MYSQL, cuyo propósito será diagnosticar la enfermedad y los medicamentos que lo solucionen; no es posible realizar el este proceso sin una previa inicialización, con los síntomas del paciente a atender. Esto ayudara a tomar decisiones a una persona especialista en el tema, para ver qué es lo que tiene el cliente y que debe tomar. Pero no se puede empezar a usar y entender esto sin conocer los orígenes y el tema en general, por estas razones haremos un breve repaso de los sistemas expertos y de su importancia, para luego pasar a desarrollar el problema,ya orientado más al software con Java y MYSQL, este un sistema experto de gran importancia y una potente arma utilizada o necesitada con frecuencia en los hospitales y/o instituciones médicas. Palabras Claves: Sistema Experto, MYSQL, JAVA, JBDiagnostic,Base de Datos, Inteligencia Artificial. 1.INTRODUCCIÓN. Antes de la aparición del ordenador, el hombre ya se preguntaba si se le arrebataría el privilegio de razonar y pensar. En la actualidad existe un campo dentro de la inteligencia artificial al que se le atribuye esa facultad: el de los sistemas expertos (SE). Estos sistemas también son conocidos como Sistemas Basados en Conocimiento, los cuales permiten la creación de máquinas que razonan como el hombre, restringiéndose a un espacio de conocimientos limitado. En teoría pueden razonar siguiendo los pasos que seguiría un experto humano (médico, analista, empresario, etc.) para resolver un problema concreto. Los sistemas expertos se pueden considerar como el primer producto verdaderamente operacional de la inteligencia artificial. Son programas de ordenador diseñados para actuar como un especialista humano en un dominio particular o área de conocimiento. En este sentido,pueden considerarsecomointermediarios entre el experto humano,que transmite su conocimiento al sistema,y el usuario que lo utiliza para resolver un problemacon la eficacia del especialista. El sistema experto utilizará para ello el conocimiento que tenga almacenado y algunos métodos de inferencia. Para que un sistema experto sea herramienta efectiva, los usuarios deben interactuar de una forma fácil, reuniendo dos capacidades para poder cumplirlo: Explicar su razonamiento y adquiriendo nuevos conocimientos. 1.1. Usos de un SE. Un Sistema Experto se puede utilizar -actualmente- en casi todas las áreas, así tenemos en las áreas militar, química, geología, electrónica, medicina, informática, derecho, arqueología, transporte, industria, telecomunicaciones, aeronáutica, agricultura, educación, finanzas y gestión. Sus principales aplicaciones se dan en las gestiones empresariales debido a que: a) Casi todas las empresas disponen de un ordenador que realiza las funciones básicas de tratamiento de la información: contabilidad general, decisiones financieras, gestión de la tesorería, planificación, etc. b) Muchos trabajos implican manejar grandes volúmenes de información y realizar operaciones numéricas para después tomar decisiones. Esto crea un terreno ideal para la implantación de los SE.
  • 2. Además los SE también se aplican en la contabilidad en apartados como: Auditoría (es el campo en el que más aplicaciones de SE se está realizando) Fiscalidad,planificación, análisis financiero y la contabilidad financiera. 1.2. Arquitectura de un SE 1.2.1. Base de conocimientos. Es la parte del sistema experto que contiene el conocimiento sobre el dominio.Hayque obtener el conocimiento del experto y codificarlo en la base de conocimientos.Una forma clásica de representar el conocimiento en un sistema experto son las reglas. Una regla es una estructura condicional que relaciona lógicamente la información contenida en la parte del antecedente con otra información contenida en la parte del consecuente. 1.2.2. Base de datos (Memoria de trabajo). También conocida como Base de Hechos.Contiene los hechos sobre un problema que se han descubierto durante una consulta. Durante una consulta con el sistema experto, el usuario introduce la información del problema actual en la base de hechos. El sistema empareja esta información con el conocimiento disponible en la base de conocimientos para deducir nuevos hechos. 1.2.3. Motor de inferencia. El sistema experto modelael proceso de razonamiento humano con un módulo conocido como el motor de inferencia. Dicho motor de inferencia trabaja con la información 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.4. Interfaz de usuario. La interacción entre un sistema experto y un usuario se realiza en lenguaje natural. También es altamente interactiva y sigue el patrón de la conversación entre seres humanos. Para conducir este proceso de manera aceptable para el usuario es especialmente importante el diseño del interfaz de usuario. Un requerimiento básico del interfaz es la habilidad de hacer preguntas. Para obtener información fiable del usuario hay que poner especial cuidado en el diseño de las cuestiones. Esto puede requerir diseñar el interfaz usando menús o gráficos. 1.2.5. Subsistema de explicación (Módulo de explicación). Una característica de los sistemas expertos es su habilidad para explicar su razonamiento. Usando el módulo del subsistema de explicación, un sistema experto puede proporcionar una explicación al usuario de por qué está haciendo una pregunta ycómo ha llegado a unaconclusión.Este módulo proporciona beneficios tanto al diseñador del sistema como al usuario.El diseñador puede usarlopara detectar errores y el usuario se beneficia de la transparencia del sistema. 1.2.6. Módulo de adquisición. Interfaz para la adquisición del conocimiento del dominio, puede incluir mecanismos para facilitar su adquisición y depuramiento interactivo y para automatizar la adquisición (aprendizaje). El módulo de adquisición del conocimiento permite que se puedan añadir, eliminar o modificar elementos de conocimiento (en la mayoría de los casos reglas) en el sistema experto. 1.3. Ventajas e inconvenientes de un SE. 1.3.1. Ventajas. Estos programas proporcionan la capacidad de trabajar con grandes cantidades de información, que son uno de los grandes problemas que enfrenta el analista humano que puede afectar negativamente a la toma de decisiones pues el analista humano puede depurar datos que no considere relevantes, mientras un SE debido a su gran velocidad de proceso analiza toda la información incluyendo las no útiles para de esta manera aportar una decisión más sólida. 1.3.2. Inconvenientes (limitaciones). a) Es evidente que para actualizar se necesita de reprogramación de estos (tal vez este sea una de sus limitaciones más acentuadas) otra de sus limitaciones puede ser el elevado costo en dinero y tiempo,además que estos programas son poco flexibles a cambios yde difícil acceso a información no estructurada. b) Debido a la escasez de expertos humanos en determinadas áreas, los SE pueden almacenar su conocimiento para cuando sea necesario poder aplicarlo. Así mismo los SE pueden ser utilizados por personas no especializadas para resolver problemas. Además si una persona utiliza con frecuencia un SE aprenderá de él. c) Por otra parte la inteligencia artificial no ha podido desarrollar sistemas que sean capaces de resolver problemas de manera general, de aplicar el sentido común para resolver situaciones complejas ni de controlar situaciones ambiguas. d) El futuro de los SE da vueltas por la cabeza de cada persona, siempre que el campo elegido tenga la necesidad y/o presencia de un experto para la obtención de cualquier tipo de beneficio. 1.4. JAVA. 1.4.1. Introducción. JAVA es un lenguaje de programación de propósito general, concurrente, orientado a objetos y basado en clases que fue diseñado específicamente para tener tan pocas dependencias de implementación como fuera posible.Su intención es permitir que los desarrolladores de aplicaciones escriban el programa una vez y lo ejecuten en cualquier dispositivo (conocido en inglés como WORA, o "write once, run anywhere"), lo que quiere decir que el código que es ejecutado en una plataforma no tiene que ser recompilado para correr en otra.
  • 3. 1.4.2. Características. 1.4.2.1. Lenguaje Simple: Se lo conoce como lenguaje simple porque viene de la misma estructura de C y C++; ya que C++ fue un referente para la creación de java por eso utiliza determinadas características de C++ y se han eliminado otras. 1.4.2.2. Orientado a Objeto: Toda la programación en java en su mayoría está orientada a objeto, ya que al estar agrupados en estructuras encapsuladas es más fácil su manipulación. 1.4.2.3. Distribuido: Permite abrir sockets, establecer y aceptar conexiones con los servidores o clientes remotos;facilita la creaciónde aplicaciones distribuidas ya que proporciona una colección de clases para aplicaciones en red. 1.4.2.4. Robusto: Es altamente fiable en comparación con C, se han eliminado muchas características con la aritmética de punteros, proporciona numerosas comprobaciones en compilación y en tiempo de ejecución. 1.4.2.5. Seguro: La seguridad es una característica muy importante en java ya que se han implementado barreras de seguridad en el lenguaje yen el sistemade ejecución de tiempo real. 1.4.2.6. Indiferente a la arquitectura: Java es compatible con los más variados entornos de red, cualesquiera sean estos desde Windows 95, Unix a Windows Nt y Mac, para poder trabajar con diferentes sistemas operativos. Java es muy versátil ya que utiliza byte-codes que es un formato intermedio que sirve para transportar el código eficientemente o de diferentes plataformas (Hardware - Software). 1.4.2.7. Portable: Por ser indiferente a la arquitectura sobre la cual está trabajando,esto hace que su portabilidadsea muyeficiente,sus programas son iguales en cualquiera de las plataformas, ya que java especifica tamaños básicos, esto se conoce como la máquina virtual de java. 1.4.2.8. Interpretado y compilado a la vez: Java puede ser compilado e interpretado en tiempo real, ya que cuando se construye el código fuente este se transforma en una especie de código de máquina. 1.4.2.9. Multihebra o Multihilos:Java tiene una facilidad decumplir varias funciones al mismo tiempo,gracias a su función de multihilos ya que por cada hilo que el programa tenga,se ejecutarán en tiempo real muchas funciones al mismo tiempo. 1.4.2.10.Dinámico: El lenguaje java es muydinámicoen la fase de enlazado,sus clases solamente actuarán en medida en que sean requeridas o necesitadas con esto permitirá que los enlaces se puedan incluir incluso desde fuentes muy variadas o desde la red. 1.4.2.11.Produce Applets: En java se pueden crear aplicaciones independientes y applets.Independientes porque se pueden comportar como cualquier programa escrito en cualquier lenguaje. Por otra parte los applets considerados pequeños programas, tienen la capacidad de ejecutar funciones muy complejas. 1.4.2.12.Alto rendimiento: Java es considerado de alto rendimiento por ser tan veloz en el momento de correr los programas y por ahorrarse muchas líneas de código. 2.JBDIAGNOSTIC 2.1. Planteamiento y Diseño Lo que queremos lograr es un sistemaque permita a un doctor, enfermero, farmacéutico u cualquier persona que tenga relación con ciencias de la salud,encontrar de una forma menos laboriosa, en un tiempo menor, de diagnosticar la enfermedad de un cliente basándose en los síntomas que este presenta. Para realizar esto hemos partido del diseño de los síntomas y los medicamentos uniéndolos a una enfermedad que los contenga, formando tipo estrella, con una variación al modelo que utilizado en el tema de REDES. Los nodos de las estrellas pueden ser de 2 tipos, Entrada y Salida, los de entrada son los síntomas, que se pedirán en el diagnóstico,se tendrá que recorrer dichas puntas ycomparando los valores de entrada que se proporcionó y una vez llegado el final se podrá obtiene la respuesta que seria las salidas, cabe mencionar que son los medicamentos y el nombre de la enfermedad a la que más se relaciona, dichos resultados se imprimían en pantalla con una detallada información del mismo. Hemos planteadoque el diseñotenga mínimo3 nodos ymáximo 6 en los datos de entrada,siendo diferente en los datos de salida que mínimo es 1 y máximo solo 3. A continuación le mostramos una imagen de la estrella y sus nodos, con unas posibles respuestas y opciones para su correcto funcionamiento, cabe mencionar que pueden existir muchas estrellas con centros totalmente diferentes, pero síntomas y/o medicamentos parecidos o iguales por asídecirlos. En la siguiente imagen tendremos 1 centro (Gripe) con 3 entradas y 2 salidas. Figura 1
  • 4. Si en el diagnóstico, la persona atendida muestra los datos de verde presentados en la Figura 1, entonces el sistema derivara y compara que el centro es Gripe, siendo esta la enfermedad,y por defecto para curar esta enfermedad muestra 2 opciones, CLORFENAMINA, PARACETAMOL, o las 2 opciones según la designación que se le dé a la enfermedad llenada en la base del conocimiento. Figura 2 Los gráficos cambian en la abstracción que demos al ejecutar y como se muestra en la Figura 2 vemos que en la parte superior están los datos de entrada(síntomas), derivando de losmismos, la Enfermedad, y ultimo los Medicamentos, como hojas terminales. Como mencioné anteriormente se puede tener 1 respuesta final, o las 2, como en la Figura 2, Figura 3, Figura 4. Figura 3 Figura 4 Es necesario la abstracción,para poder entender cómofunciona internamente nuestro sistema,pues al comienzo se mostró en la Figura 1, una forma estrella,yen las siguientes figuras,entrando en una especie de idea de arborización. 2.2. Implementación Para llevar un buen desarrollo óptimo y con velocidad optimizada, para una funcionalidad correcta la dividimos en las siguientes partes. 2.2.1. Definición de Variables Estas variables son importantes para la ejecución, servirán en las funcionalidades y acciones determinantes para la extracción de Enfermedades y sus Medicamentos. 2.2.2. Sentencias Las sentencias nos servirán para poder analizar y comparar los datos ingresados yobtener la enfermedad y los datos de salida, adecuados al caso.
  • 5. 2.2.3. Bucles de Control 3.Ejecución En esta ejecución lo que se va a realizar es el ejemplo de ingresar síntomas, que ya están asignadas en la base de conocimiento del sistema, con la finalidad de obtener como respuesta gripe, como esta enfermedad es la más conocida y más frecuentada por los humanos, decidimos agregar los síntomas iniciales del mismo, y esperamos así obtener como resultado gripe. Vale rescatar que estos datos son ingresados al sistema por medio de un especialista, que informa que síntomas y que medicamentos puede tener una enfermedad. Figura 5 Como se puede ver en la Figura 5 se ha ingresado 3 síntomas básicos, que en teoría pertenecen a gripe o cualquier enfermedad que se acercan a ellas. Figura 6 En la Figura 6 se puede apreciar ya diagnosticada las posibles enfermedades,con una cantidad de coincidencias,y elegida así gripe como la más óptima, con un medicamento de CLORFENAMINA en pastillas. Lo que se dedujo que si se dio la respuesta que esperábamos con los síntomas ingresados. 4.Referencias [1] http://www.monografias.com/trabajos16/sistemas- expertos/sistemas-expertos.shtml#ARQUIT [2] http://ccc.inaoep.mx/~emorales/Cursos/Representa/ node16.html [3] http://es.wikipedia.org/wiki/Java_(lenguaje_de_progr amación) [4] http://www.uaeh.edu.mx/docencia/Tesis/icbi/licencia tura/documentos/Sistemas%20expertos%20y%20su s%20aplicaciones.pdf [5] http://sheyla88.blogspot.es/