1 / 18

Sistema Experto Ejemplo

Sistema Experto Ejemplo. Sistemas FNI Lucio Salgado. Sistema Experto. Nombre: Identificación de animales ZOO Tomado de Winston 1992. Descripción. Se supone la existencia de un robot (Robbie), que desea pasar el día en el zoologico.

kaveri
Download Presentation

Sistema Experto Ejemplo

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Sistema Experto Ejemplo Sistemas FNI Lucio Salgado

  2. Sistema Experto • Nombre: Identificación de animales • ZOO • Tomado de Winston 1992

  3. Descripción • Se supone la existencia de un robot (Robbie), que desea pasar el día en el zoologico. • Robbie puede percibir las características básicas, como color, tamaño y si un animal tiene pelo o da leche, pero tiene capacidad limitada para identificar objetos mediante estas características.

  4. Descripción • 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 pingüino y un albatros. Solo con el afán de simplificar.

  5. Reglas de clasificación • R1: • Six tiene peloentoncesx es mamífero • R2: • Six da lecheentoncesx es mamífero • R3: • Six tiene plumasentoncesx es ave

  6. Reglas de clasificación • R4: • Six vuela y x pone huevos entoncesx es ave • R5: • Six es mamífero y x come carne entoncesx es carnívoro • R6: • Six es mamífero y x tiene dientes agudos y x tiene garras y x tiene ojos que miran hacia adelante entoncesx es carnívoro

  7. Reglas de clasificación • R7: • Six es mamifero y x tiene pezuñas entoncesx es ungulado • R8: • Six es mamifero y x rumia entoncesx es ungulado

  8. Reglas de Identificación • R9: • Six es carnívoro y x es color leonado y x tiene manchas oscuras entoncesx es una onza • R10: • Six es carnívoro y x es color leonado y x tiene franjas negras entoncesx es un tigre

  9. Reglas de Identificación • R11: • Six es ungulado y x es color leonado y x tiene cuello largo y x tiene patas largas entoncesx es una jirafa • R12: • Six es ungulado y x es color blanco y x tiene franjas negras entoncesx es una jirafa

  10. Reglas de identificación • R13: • Six es ave y x tiene patas largas y x tiene cuello largo y x es blanca y negra entoncesx es un avestruz • R14: • Six es ave y x no vuela y x nada y x es blanca y negra entoncesx es un pingüino

  11. Reglas de Identificación • R15: • Six es ave y x vuela muy bien entoncesx es un albatros

  12. Implementación PROLOG • Predicado Principal identificar :- hipotesis(Animal), write('Pienso que el animal es: '), write(Animal), nl, undo.

  13. Hipótesis 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 */

  14. Reglas de Identificación onza :- carnivoro, verify(es_color_leonado), verify(tiene_manchas_oscuras). tigre :- carnivoro, verify(es_color_leonado), verify(tiene_franjas_negras).

  15. Reglas de Clasificación 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).

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

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

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

More Related