Sie sind auf Seite 1von 6

Pgina 1

Universidad Nacional del Altiplano Puno


Escuela Profesional de Ingeniera 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 hepatitis
Juan padece hepatitis
Mara padece gripe
Carlos padece intoxicacin
La fiebre es sntoma de gripe
El cansancio es sntoma de hepatitis
La diarrea es sntoma de intoxicacin
El cansancio es sntoma de gripe
La aspirina suprime la fiebre
El Lomotil suprime la diarrea
Adems podemos aportar el siguiente conocimiento inferido
Un frmaco alivia una enfermedad si la enfermedad tiene un sntoma que sea
suprimido por el frmaco.
Una persona debera tomar un frmaco si padece una enfermedad que sea
aliviada por el frmaco.
Construir un programa que refleje dicho conocimiento y permita resolver las
siguientes cuestiones:

1) Podemos conocer qu dolencia tiene Pedro? Y Mara?
2) Quin padece gripe?
3) Qu sntomas tiene Pedro?
4) Quin padece diarrea?
5) Y quin est cansado?
6) Hay algn frmaco que alivie a Pedro?
7) Hay algn sntoma que compartan Juan y Mara?

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).

Pgina 2


padece(juan, hepatitis).
padece(maria, gripe).
padece(carlos, intoxicacin).
sintoma(fiebre, gripe).
sintoma(cansancio, hepatitis).
sintoma(diarrea, intoxicacin).
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 Mara?
padece(pedro, DP).
padece(maria, DM).

2. Quin padece gripe?
padece(P, gripe).

3. Qu sntomas tiene Pedro?
sintomas_persona1(pedro, Sintomas).

4. Quin padece diarrea?
sintomas_persona1(Persona, diarrea).

5. Y quin est cansado?
sintomas_persona2(Persona, cansancio).

6. Hay algn frmaco que alivie a Pedro?
farmaco_persona(pedro, Farmaco ).

7. Hay algn sntoma que compartan Juan y Mara?
sintomas(juan, maria, S ).

2. QUE ANIMAL ES?

CODIGO PROLOG

animal('LEON'):-clase(mamifero),alimentacion('carnivoro').
animal('MUSARAA'):-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').

Pgina 3


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).

Pgina 4


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=20
red.trainparam.epochs=100
red.trainparam.goal=0.0000001
red=train(red,ENTRADAS,s3')
gensim(red,0.05)


ENTRENAMIENTO 1:
trainlm 1.822503 seg.







ENTRENAMIENTO 2:
traingd 2.425252 seg.






Pgina 5



ENTRENAMIENTO 3:
trainlgdm 2.793966 seg.






ENTRENAMIENTO 4:
trainlgda 2.284557 seg.






ENTRENAMIENTO 5:
trainlgdx 2.456878 seg









Pgina 6


CONCLUSIONES:
El entrenamiento tranlm es el ms 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

Das könnte Ihnen auch gefallen