Sei sulla pagina 1di 6

Universidad Nacional del Altiplano Puno

Escuela 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 hepatitis
Juan padece hepatitis
María padece gripe
Carlos padece intoxicación
La fiebre es síntoma de gripe
El cansancio es síntoma de hepatitis
La diarrea es síntoma de intoxicación
El cansancio es síntoma de gripe
La aspirina suprime la fiebre
El 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=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.

Página 4
ENTRENAMIENTO 3:

trainlgdm 2.793966 seg.

ENTRENAMIENTO 4:

trainlgda 2.284557 seg.

ENTRENAMIENTO 5:

trainlgdx 2.456878 seg

Página 5
CONCLUSIONES:

 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

Potrebbero piacerti anche