Está en la página 1de 18

Sistema Experto Ejemplo

Sistemas FNI Lucio Salgado

Sistema Experto

Nombre: Identificacin de animales

ZOO

Tomado de Winston 1992

Descripcin

Se supone la existencia de un robot (Robbie), que desea pasar el da en el zoologico. Robbie puede percibir las caractersticas bsicas, como color, tamao y si un animal tiene pelo o da leche, pero tiene capacidad limitada para identificar objetos mediante estas caractersticas.

Descripcin

Puede distinguir a los animales de otros pero no puede concluir directamente sobre un animal que observa. Entonces Robbie decide construir un sistema experto para identificar animales El zoologico solo tiene siete animales: Una onza, un tigre, una jirafa, una cebra, un avestruz, un pingino y un

Reglas de clasificacin

R1:

Si x tiene pelo entonces x es mamfero Si x da leche entonces x es mamfero Si x tiene plumas entonces x es ave

R2:

R3:

Reglas de clasificacin

R4:

Si x vuela y x pone huevos entonces x es ave

R5:

Si x es mamfero y x come carne entonces x es carnvoro


Si x es mamfero y x tiene dientes agudos y x tiene garras y x tiene ojos que miran hacia adelante entonces x es carnvoro

R6:

Reglas de clasificacin

R7:

Si x es mamifero y x tiene pezuas entonces x es ungulado Si x es mamifero y x rumia entonces x es ungulado

R8:

Reglas de Identificacin

R9:

Si x es carnvoro y x es color leonado y x tiene manchas oscuras entonces x es una onza Si x es carnvoro y x es color leonado y x tiene franjas negras entonces x es un tigre

R10:

Reglas de Identificacin

R11:

Si x es ungulado y x es color leonado y x tiene cuello largo y x tiene patas largas entonces x es una jirafa Si x es ungulado y x es color blanco y x tiene franjas negras entonces x es una jirafa

R12:

Reglas de identificacin

R13:

Si x es ave y x tiene patas largas y x tiene cuello largo y x es blanca y negra entonces x es un avestruz Si x es ave y x no vuela y x nada y x es blanca y negra entonces x es un pingino

R14:

Reglas de Identificacin

R15:

Si x es ave y x vuela muy bien entonces x es un albatros

Implementacin PROLOG

Predicado Principal
identificar :- hipotesis(Animal), write('Pienso que el animal es: '), write(Animal), nl, undo.

Hiptesis
hipotesis(onza) :- onza, !. hipotesis(tigre) :- tigre, !. hipotesis(jirafa) :- jirafa, !. hipotesis(cebra) :- cebra, !. hipotesis(avestruz) :- avestruz, !. hipotesis(pinguino) :- pinguino, !. hipotesis(albatros) :- albatros, !. hipotesis(desconocido). /* sin diagnostico */

Reglas de Identificacin
onza :carnivoro, verify(es_color_leonado), verify(tiene_manchas_oscuras). tigre :carnivoro, verify(es_color_leonado), verify(tiene_franjas_negras).

Reglas de Clasificacin
mamifero :- verify(tiene_pelo), !. mamifero :- verify(da_leche). ave :- verify(tiene_plumas), !. ave :- verify(vuela), verify(pone_huevos). carnivoro :- mamifero,verify(come_carne), !. carnivoro :- mamifero,verify(tiene_dientes_agudos), verify(tiene_garras), verify(tiene_ojos_que_mira_hacia_adelante).

Para preguntar
ask(Question) :write('El animal tiene la siguiente caracteristica : '), write(Question), write('? '), read(Response), nl, ( (Response == yes ; Response == y) -> assert(yes(Question)) ; assert(no(Question)), fail).

Verificar
verify(S) :(yes(S) -> true ; (no(S) -> fail ; ask(S))).

Elimina afirmaciones
undo :- retract(yes(_)),fail. undo :- retract(no(_)),fail. undo.