Ai teoria de arboles
INMACULADA LUENGO LÓPEZ Mª ESTHER MARTÍN REBOLLO
IRC
Práctica final
ÍNDICE
Introducción_______________________________________________3
Objetivo de la práctica _____________________________________3 Desarrollo de la práctica____________________________________4 Resultados obtenidos ______________________________________7 Aprendizaje_______________________________________________9 Código del programa______________________________________11 Bibliografía_______________________________________________1
5
Página 2 de 15
IRC
Práctica final
Introducción
En esta práctica hemos decidido implementar un programa en PROLOG para adivinar animales a partir de preguntas que se le van haciendo al usuario. La decisión deutilizar PROLOG para el desarrollo de esta práctica se debe a que es un lenguaje sencillo que proporciona una sintaxis para la construcción de sistemas expertos (en nuestro caso un sistema experto que identifique a los animales a partir de sus características). PROLOG es un lenguaje lógico declarativo que se basa en cláusulas de Horn. Sus principales características son que se trata de una programacióndinámica, y tanto las reglas como los objetivos, son también datos; y la asunción de un mundo cerrado, todo lo que no figura explícitamente como un hecho y tampoco se puede deducir es falso. Otra característica es que el orden de las cláusulas cambia el resultado final. En esta práctica vamos a analizar el problema de un árbol de decisión con aprendizaje.
Objetivo de la práctica
El fin de estapráctica ha sido desarrollar un programa en PROLOG que adivine el animal que ha pensado el usuario mediante el empleo de una serie de preguntas sobre las características del mismo a las que el jugador debe responder afirmativa o negativamente. Para ello, hemos definido un conjunto de reglas que debe verificar cada uno de los animales que el programa conoce y, a partir de estas reglas, se leformularán al usuario preguntas sobre las características que tiene el animal que ha pensado. También se ha contemplado la posibilidad de que el programa aprenda nuevos animales, que el usuario podría introducir cuando el programa no adivinase el animal que éste había pensado. Para ello se debe introducir, además de dicho animal, una pregunta que lo diferencie del animal que ha respondido erróneamenteel programa.
Página 3 de 15
IRC
Práctica final
Desarrollo de la práctica
Para la implementación del programa deseado, en primer lugar nos tendremos que plantear la estructura que va a tener nuestra lista de animales. Esta estructura será un árbol, en el que en las hojas se encontraran los distintos animales, y llegaremos a ellos por medios de las distintas característicasdiferenciadoras que tiene cada uno. Siendo una de las principales características su clasificación en: reptiles, anfibios, mamíferos, aves y peces. Para realizar esta clasificación se tienen que tener en cuenta que las preguntas a realizar nos tienen que caracterizar una de las hojas frente a otra, y así poder llegar a la hoja deseada sin ningún tipo de ambigüedad. La lista de los animales que se han tenidoen cuenta para el desarrollo de esta práctica es: rana, salamandra, serpiente, tortuga, cocodrilo, jirafa, conejo, hombre, oso, tigre, león, águila, pato, gallina, avestruz, pingüino, carpa y pez espada. En primer lugar, y para mostrar con mayor claridad el fundamento del programa, mostramos el árbol que vamos a desarrollar:
Página 4 de 15
IRC
Práctica final
Página 5 de 15
IRCPráctica final
Comenzamos analizando el código desarrollado. En primer lugar, vamos a utilizar una función que se llamará sera(Animal), que determinará principalmente el orden en el que se deben ir comprobando los distintos animales (¿será una rana?...), de izquierda a derecha en la figura del árbol. Para cada uno de los animales se realizarán las preguntas sobre las características que debe...
Regístrate para leer el documento completo.