Practica
-
Upload
lizeth-jilaja-paricoto -
Category
Documents
-
view
86 -
download
8
Transcript of Practica
Universidad Nacional del Altiplano PunoEscuela Profesional de Ingeniería de Sistemas Inteligencia Artificial (Curso Vacacional 2014)Ejercicios propuestos de la Primera Unidad.
Fecha: 26/02/2014
NOMBRES Y APELLIDOS: JILAJA PARICOTO LIZETH ROSMERY
1. Tenemos el siguiente conocimiento directo:Pedro padece gripe.Pedro padece hepatitisJuan padece hepatitisMaría padece gripeCarlos padece intoxicaciónLa fiebre es síntoma de gripeEl cansancio es síntoma de hepatitisLa diarrea es síntoma de intoxicaciónEl cansancio es síntoma de gripeLa aspirina suprime la fiebreEl Lomotil suprime la diarrea
Además podemos aportar el siguiente conocimiento inferido
Un fármaco alivia una enfermedad si la enfermedad tiene un síntoma que sea suprimido por el fármaco.Una persona debería tomar un fármaco si padece una enfermedad que sea aliviada por el fármaco.
Construir un programa que refleje dicho conocimiento y permita resolver las siguientes cuestiones:
1) ¿Podemos conocer qué dolencia tiene Pedro? ¿Y María?2) ¿Quién padece gripe?3) ¿Qué síntomas tiene Pedro?4) ¿Quién padece diarrea?5) ¿Y quién está cansado?6) ¿Hay algún fármaco que alivie a Pedro?7) ¿Hay algún síntoma que compartan Juan y María?
CODIGO PROLOG
padece(symbol, symbol)sintoma(symbol,symbol)suprime(symbol,symbol)alivia(symbol,symbol)tomar(symbol,symbol)sintomas_persona1(symbol,symbol)sintomas_persona2(symbol,symbol)farmaco_persona(symbol,symbol)sintomas(symbol,symbol, symbol)
padece(pedro, gripe).padece(pedro, hepatitis).
Página 1
padece(juan, hepatitis).padece(maria, gripe).padece(carlos, intoxicación).sintoma(fiebre, gripe).sintoma(cansancio, hepatitis).sintoma(diarrea, intoxicación).sintoma(cansancio, gripe).suprime(aspirina, fiebre).suprime(lomotil, diarrea).alivia(Farmaco,Enfermedad):-sintoma(S,Enfermedad), suprime(Farmaco, S).tomar(Persona,Farmaco):-padece(Persona,Enfermedad), alivia(Farmaco, Enfermedad).sintomas_persona1(Persona,Sintomas):-padece(Persona,Enfermedad), sintoma(Sintomas, Enfermedad).sintomas_persona2(Persona,Sintomas):- sintoma(Sintomas, Enfermedad), padece(Persona,Enfermedad).farmaco_persona(Persona, Farmaco):-padece(Persona, Enfermedad), alivia(Farmaco, Enfermedad).sintomas(P1, P2, S):- sintomas_persona1(P1, S),sintomas_persona1(P2, S).
PREGUNTAS:1. ¿Podemos conocer qué dolencia tiene Pedro? ¿Y María?
padece(pedro, DP).padece(maria, DM).
2. ¿Quién padece gripe?padece(P, gripe).
3. ¿Qué síntomas tiene Pedro?sintomas_persona1(pedro, Sintomas).
4. ¿Quién padece diarrea?sintomas_persona1(Persona, diarrea).
5. ¿Y quién está cansado?sintomas_persona2(Persona, cansancio).
6. ¿Hay algún fármaco que alivie a Pedro?farmaco_persona(pedro, Farmaco ).
7. ¿Hay algún síntoma que compartan Juan y María?sintomas(juan, maria, S ).
2. QUE ANIMAL ES?
CODIGO PROLOG
animal('LEON'):-clase(mamifero),alimentacion('carnivoro').animal('MUSARAÑA'):-clase(mamifero),alimentacion('insectivoro').animal('CABALLO'):-clase(mamifero),alimentacion('herbivoro').animal('COCODRILO'):-clase(reptil),alimentacion('carnivoro').animal('CAMALEON'):-clase(reptil),alimentacion('insectivoro').animal('TORTUGA DE TIERRA'):-clase(reptil),alimentacion('herbivoro').
Página 2
animal('AGUILA'):-clase(ave),alimentacion('carnivoro').animal('GOLONDRINA'):-clase(ave),alimentacion('insectivoro').animal('PERDIZ'):-clase(ave),alimentacion('herbivoro').pregunta1:-write('la clase a la que pertenece el animal es:'),nl,nl,write('1.mamifero.'),nl,write('2.reptil.'),nl,write('3.ave.'),nl,write('4.por que se hace la pregunta?'),nl,read(N),clasificar1(N).clasificar1(1):-assert(clase(mamifero)),!.clasificar1(2):-assert(clase(reptil)),!.clasificar1(3):-assert(clase(ave)),!.clasificar1(4):-write(clase('el hecho de saber la clase, permite aproximarse'),nl,write('a la determinacion del animal especifico de la tabla'),nl,nl,pregunta1,!.clasificar1(_):-pregunta1,!.pregunta2:-write('segun tipo de alimentacion puede ser:'),nl,nl,write('1.carnivoro.'),nl,write('2.insectivoro.'),nl,write('3.hervivoro.'),nl,write('4.por que se hace la pregunta?'),nl,read(N2),clasificar2(N2).clasificar2(1):-assert(alimentacion(carnivoro)),!.clasificar2(2):-assert(alimentacion(insectivoro)),!.clasificar2(3):-assert(alimentacion(hervovoro)),!.clasificar2(4):-write('el hecho de saber el tipo de3 alimentacion,una vez conocida la clase, permite establecer'),nl,write('inequivocadamente el animal de que se trata, con base en la informacion de la tabla'),nl,nl,pregunta2,!.clasificar2(_):-pregunta2,!.clasificar:-animal(M),write('el animal puede ser:'),nl,write(''),write(M),nl,write('por que es el unico animal que cumple la condicion de ser'),clase(X),nl,write(X),write('y'),alimentacion(Y),write(Y),nl.empezar:-pregunta1,
pregunta2,clasificar,!.limpiar:-retrac(clase(_)),retrac(alimentacion(_)),!.continue('s'):-empezar,!.continue('S'):-empezar,!.continue('n'):-continue('N').continue('N'):-write('NOS AGRADÓ AYUDARTE'),nl,write('.........HASTA PRONTO.........').pregunta:-nl,nl,write('Desea continuar s/n:'),read(X),continue(X).
Página 3
3. RED NEURONAL
CODIGO MATLAB
y=length(Salida)e1=Entrada(2:1:(y-1))e2=Entrada(1:1:(y-2))s1=Salida(2:1:(y-1))s2=Salida(1:1:(y-2))s3=Salida(3:1:(y))INs=[e1 e2 s1 s2];ENTRADAS=INs'red=newff(minmax(ENTRADAS),[10,1],{'tansig','purelin'},'trainlm')red.trainparam.show=20red.trainparam.epochs=100red.trainparam.goal=0.0000001red=train(red,ENTRADAS,s3')gensim(red,0.05)
ENTRENAMIENTO 1:
trainlm 1.822503 seg.
ENTRENAMIENTO 2:
traingd 2.425252 seg.
Página 4
ENTRENAMIENTO 3:
trainlgdm 2.793966 seg.
ENTRENAMIENTO 4:
trainlgda 2.284557 seg.
ENTRENAMIENTO 5:
trainlgdx 2.456878 seg
CONCLUSIONES:
Página 5
El entrenamiento tranlm es el más eficaz de todos los entrenamientos para este tipo de red neuronal, ya que es este quien realiza su labor en el menor tiempo y logra el objetivo de obtener un error inferior a 0.000001
Página 6