Documentos de Académico
Documentos de Profesional
Documentos de Cultura
Funcionamiento de Mycin
Para ver cmo funcionaba MYCIN vamos a verlo desde dos puntos de vista uno de forma
general el funcionamiento de usuario y otro de forma ms
especfica, viendo en que principios se basaba.
El funcionamiento de MYCIN a grandes rasgos lo
podramos describir de esta manera. El sistema, al ser
consultado por el mdico, solicita primero datos generales
sobre el paciente: nombre, edad, sntomas, etc. Una vez
conocida esta informacin por parte de la mquina, el SE
plantea unas hiptesis. Para poder verificarlas comprueba
primero la exactitud de las premisas de la regla. Esto se
realiza mediante una bsqueda de enunciados
correspondientes en la base de conocimientos. Estos
enunciados pueden a su vez estar de nuevo en la parte de
consulta de otra regla. Tambin lo realiza mediante
determinadas preguntas al usuario. Aqu se hacen preguntas del tipo: Se ha practicado en el
paciente algn tipo de intervencin quirrgica? Con las respuestas que recibe, el MYCIN
verifica o rechaza las hiptesis planteadas.
Para entender bien MYCIN vamos a hablar brevemente sobre los SE. Una caracterstica
decisiva de los SE es la separacin entre conocimiento (reglas, hechos) por un lado y su
procesamiento por el otro. A ello se aade una interface de usuario y un componente
explicativo. A continuacin mostramos una breve descripcin de cada uno de los
componentes.
La Base de Conocimientos de un Sistema Experto contiene el conocimiento de los hechos y de
las experiencias de los expertos en un dominio determinado.
El Mecanismo de Inferencia de un Sistema Experto puede simular la estrategia de solucin de
un experto.
Esta nueva forma permiti avanzar sobre los mejores sistemas expertos hasta el momento.
Primero, su base de conocimiento consista en cientos de reglas. Segundo, esas reglas eran
probabilsticas, como hemos comentado en el
punto anterior. MYCIN era lo bastante robusto
como
para
determinar
correctamente
conclusiones cuando algunas evidencias eran
incompletas o incorrectas. Tercero, MYCIN
poda explicar sus propios procesos de
razonamiento. El usuario poda preguntar de
muchas formas. Preguntando, porque al
realizar una cuestin concreta o como haba
llegado a una determinada conclusin, por
ejemplo. Fue uno de los primeros sistemas
genuinamente amigables. Cuarto, y crucial,
MYCIN funciona.
MYCIN supuso el punto de partida para un monto de sistemas expertos que fueron dando a su
vez otros. As surgi EMYCIN (MYCIN Esencial) con el que se construy SACON, utilizado para
estructuras de ingeniera, PUFF para estudiar la funcin pulmonar y GUIDON para elegir
tratamientos teraputicos.
En la dcada de los ochenta se ponen de moda los SE, numerosas empresas de alta tecnologa
investigan en este rea de la inteligencia artificial, desarrollando SE para su comercializacin.
Se llega a la conclusin de que el xito de un SE depende casi exclusivamente de la calidad de
su base de conocimiento. El inconveniente es que codificar la pericia de un experto humano
puede resultar difcil, largo y laborioso.
Un ejemplo de SE moderno es CASHVALUE, que evala proyectos de inversin y VATIA, que
asesora acerca del impuesto sobre el valor aadido o IVA
El sistema de consulta
El sistema de consulta es aquella parte del programa que genera
un conjunto de hiptesis con respecto a los organismos ofensivos,
y entonces hace recomendaciones de terapia basadas en estas
hiptesis. Ntese que la identidad del organismo no tiene que ser
establecida con certeza para hacer factibles las recomendaciones
de terapia. MYCIN suele describirse incorrectamente como un
programa de diagnstico mdico; en realidad es un programa para
tratamiento de infecciones sanguneas.
No confundir diagnstico, que consiste en determinar de qu
enfermedad se trata, contratamiento, que consiste en el conjunto de tcnicas mdicas
aplicadas para mejorar la enfermedad.
El sistema de consulta consiste en una base de reglas, un conjunto de estructuras estticas y
dinmicas, y una estructura de control.
1.- Hepatitis
Es la hinchazn e inflamacin del hgado. El trmino con frecuencia se utiliza para referirse a
una infeccin viral del hgado.
Causado por:
Clulas inmunitarias en el cuerpo que atacan el hgado y
causan hepatitis autoinmunitaria.
Infecciones por virus (como las hepatitis A, B o C), bacterias o
parsitos.
Dao heptico por alcohol, hongos venenosos u otros txicos.
Medicamentos, como una sobredosis de paracetamol, que puede ser mortal
2.- Cirrosis
Es la cicatrizacin y el funcionamiento deficiente del hgado. Es la fase final de la enfermedad
heptica crnica.
Causas.
La cirrosis es el resultado final del dao crnico al hgado causado
por hepatopata crnica. Las causas comunes de la enfermedad
heptica crnica en los Estados Unidos abarcan:
Infeccin por hepatitis B C
Alcoholismo
3.- Colestasis.
Es cualquier afeccin en la que se reduce u obstruye el flujo de la bilis del hgado.
La colestasis extraheptica ocurre por fuera del hgado y puede ser
provocada por:
Tumores de las vas biliares
Quistes
Estrechamiento de la va biliar (estenosis)
Clculos en el conducto coldoco
Pancreatitis
Tumores o seudoquistes pancreticos
Presin sobre las vas biliares debido a una masa o tumor cercano
Colangitis esclerosante primaria
ELEMENTOS UTILIZADOS
DIALOG
Esta es la clase bsica para crear dilogos.
Constructor:
dialog(label=[name], size=[size], display=[display])
name: indica el ttulo a la ventana
size: es de tipo size y sirve para indicar el tamao de la ventana
display: indica donde queremos que se visualize (mejor no tocar este parametro si no sabemos
que estamos haciendo).
Podemos observar que todos los parmetros son opcionales, aunque siempre es bueno
ponerle un titulo a la ventana
As, como ejemplo crearemos un dialogo con titulo Titulo del dialogo y de tamao 440 x 320.
new(D, dialog(Titulo del Dialogo, size(440, 320)) ),
Mtodos:
Esta clase dispone de varios mtodos que pueden resultar interesantes, entre ellos tenemos:
append(Objeto): Insertaria el objeto Objeto dentro del dialogo, visualizndolo en el mismo,
por ejemplo sirve para insertar un boton o cualquier otra cosa, como en el siguiente ejemplo:
send(D, append(button(Boton 1)))
open(): abre la ventana de dilogo visualizandola en pantalla:
send(D, open),
destroy(): cierra la ventana de dilogo visualizada en pantalla:
send(D, destroy),
BUTTON
Esta es la clase bsica para crear botones
Constructor:
button(name=name, message=[code]*, label=[name])
name: indica el nombre del botn (si no se especifica la etiqueta que queramos que tenga el
botn, entonces adoptar una etiqueta con el mismo texto que name)
message: indica el mensaje o accin que queremos que sea ejecutado cuando pulsemos sobre
el botn con el ratn.
Conclusin
Los SE proporcionan la capacidad de trabajar con grandes cantidades de informacin, 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
informacin incluyendo las no tiles para de esta manera aportar una decisin ms slida.
Otro punto positivo es; 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. Adems
si una persona utiliza con frecuencia un SE aprender de l.
Bibliografa
Mycin
www.it.uc3m.es/jvillena/irc/practicas/estudios/MYCIN.pdf
http://math-cs.cns.uni.edu/~okane/4880/MedicalInformatics/mycin.html
http://geosalud.com/Cancerpacientes/Cancerdeestomago.htm
http://www.nlm.nih.gov/medlineplus/spanish/stomachcancer.html
http://www.nlm.nih.gov/medlineplus/spanish/gastroenteritis.html
http://www.nlm.nih.gov/medlineplus/spanish/abdominalpain.html
send(X,append,N),
send(X,colour,colour(yellow)),
send(X,size,size(800,400)),
send(X, append,
label(p,Preg,font('cooper','black',14))),
send(X, append,
button(si,message(X,return,'si'))),
send(X, append,
button(no,message(X,return,'no'))),
send(X,open,point(50,200)),
send(X, default_button, si),
get(X, confirm, Rval),
free(X),
Resp = Rval.
evaluarSintHig(Sint,Resp):- cuerpo(Sint,Resp),!.
evaluarSintHig(Sint,Resp):- main(Sint,Resp),
assert(cuerpo(Sint,Resp)),!.
esHepatitis:-evaluarSintHig(nauceas,A),
A=si,
evaluarSintHig(ojos,B),
B=si,
evaluarSintHig(aliento,C),
C=si,
evaluarSintHig(fiebre,D),
D=si,
evaluarSintHig(alimentos,E),
E=si,!.
esCirrosis:-evaluarSintHig(nauceas,A),
A=si,
evaluarSintHig(fatiga,B),
B=si,
evaluarSintHig(inapetencia,C),
C=si,
evaluarSintHig(rojo,D),
D=si,
evaluarSintHig(venas,E),
E=si,
evaluarSintHig(heces,F),
F=si,!.
esColestasis:-evaluarSintHig(nauceas,A),
A=si,
evaluarSintHig(orina,B),
B=si,
evaluarSintHig(comezon,C),
C=si,
evaluarSintHig(escalofrios,D),
D=si,
evaluarSintHig(sangre,E),
E=si,!.
esEnfermedad(Enfermedad),