You are on page 1of 45

rboles de Decisin en CLIPS

INTEGRANTES:
Rivas Plata Poma, Clark Evan Nieto Alvarado, Nicolas Lozada Vargas, Pablo

rboles de Decisin
INTRODUCCIN DEFINICIN DE RBOL DE DECISIN ELEMENTOS DEL RBOL DE DECISIN RBOLES DE DECISIN BINARIOS RBOLES DE DECISIN CON VARIAS RAMAS PROCEDIMIENTOS PARA RESOLVER UN RBOL RBOLES DE DECISIN QUE APRENDEN

Introduccin
Como forma de representacin del conocimiento, los rboles de decisin destacan por su sencillez. A pesar de que carecen de la expresividad de las redes semnticas o de la lgica de primer orden, su dominio de aplicacin no est restringido a un mbito concreto sino que pueden utilizarse en diversas reas: diagnstico mdico, juegos, prediccin meteorolgica, control de calidad, etc. Entre las facilidades de utilizar un rbol de decisiones podemos encontrar que nos permite plantear claramente el problema de tal manera que todas las opciones sean analizadas, hacer un anlisis rpido de todas las consecuencias de las posibles decisiones.

rboles de Decisin
INTRODUCCIN DEFINICIN DE RBOL DE DECISIN ELEMENTOS DEL RBOL DE DECISIN RBOLES DE DECISIN BINARIOS RBOLES DE DECISIN CON VARIAS RAMAS PROCEDIMIENTOS PARA RESOLVER UN RBOL RBOLES DE DECISIN QUE APRENDEN

Definicin de rbol de Decisin


Tcnica que permite analizar decisiones secuenciales basada en el uso de resultados. Los rboles de decisin se pueden usar para generar sistemas expertos, bsquedas binarias y rboles de juego. Las ventajas de un rbol de decisin son:
Facilita la interpretacin de la decisin adoptada. Proporciona un alto grado de comprensin del conocimiento utilizado en la toma de decisiones. Explica el comportamiento respecto a una determinada tarea de decisin. Reduce el nmero de variables independientes. Es una magnifica herramienta para el control de la gestin empresarial.

rboles de Decisin
INTRODUCCIN DEFINICIN DE RBOL DE DECISIN ELEMENTOS DEL RBOL DE DECISIN RBOLES DE DECISIN BINARIOS RBOLES DE DECISIN CON VARIAS RAMAS PROCEDIMIENTOS PARA RESOLVER UN RBOL RBOLES DE DECISIN QUE APRENDEN

Elementos del rbol de Decisin


Nodos Representan ubicaciones en el rbol. Raz Nodo donde se inicia el recorrido del rbol de decisin. Ramas Conectan los nodos padre con los nodos hijos. Hoja Nodo del rbol que no tiene sucesores.

rboles de Decisin
INTRODUCCIN DEFINICIN DE RBOL DE DECISIN ELEMENTOS DEL RBOL DE DECISIN RBOLES DE DECISIN BINARIOS RBOLES DE DECISIN CON VARIAS RAMAS PROCEDIMIENTOS PARA RESOLVER UN RBOL RBOLES DE DECISIN QUE APRENDEN

rboles de Decisin Binarios


En un rbol de decisin los nodos internos almacenan preguntas y las hojas almacenan posibles respuestas finales. En funcin de las respuestas a las preguntas de los nodos internos, se va describiendo un camino en el rbol que va desde la raz hasta una hoja que contendr la conclusin del sistema.

Para ilustrar la operacin de un rbol de decisin consideremos las siguientes heursticas en la seleccin del vino apropiado para servir con un alimento: SI el plato principal es carne roja ENTONCES servir vino tinto SI el plato principal es ave y es pavo ENTONCES servir vino tinto SI el plato principal es ave y no es pavo ENTONCES servir vino blanco SI el plato principal es pescado ENTONCES servir vino blanco
El plato principal es carne roja?

SI
El mejor color es tinto

NO
El plato principal es ave?

SI
El plato principal es pavo?

NO NO
El mejor color es blanco

El plato principal es pescado?

SI
El mejor color es tinto

SI
El mejor color es blanco

NO
El mejor color es el

Problema 1
(deffacts datos (clase t) (rama sangre-caliente si) (rama ronronea si)) (defrule mamifero (clase t) (rama sangre-caliente si) => (assert (clase mamifero))) (defrule reptil (clase t) (rama sangre-caliente no) => (assert (solucion reptil)) (printout t "El animal es un reptil" crlf)) (defrule gato (clase mamifero) (rama ronronea si) => (assert (solucion gato)) (printout t "El animal es un gato" crlf)) (defrule perro (clase mamifero) (rama ronronea no) => (assert (solucion perro)) (printout "El animal es un perro" crlf)) El animal es de sangre caliente? El animal ronronea? El animal es un gato El animal es un reptil El animal es un perro

Problema 2
Cada Nodo debe de estar compilado en una regla. No hay interaccin con el usuario.

Solucin Problema 2

Problema 3
rbol Familiar Se pretende disear un SE que, en base a unos datos de entrada con unas relaciones familiares elementales, sea capaz de deducir el resto de relaciones entre las personas que se le dan. El problema puede complicarse bastante, pues es preciso controlar una gran serie de relaciones, as como el hecho de que las personas pueden ser hombre o mujer, y el tipo de relacin variar (no ser lo mismo sobrino que sobrina, por ejemplo). Para simplificar un poco el SE, vamos a suponer que el programa solo va admitir como hechos de entrada las relaciones progenitor-de (si se trata de padre o madre lo deducir l mediante las reglas que se implementen), hombre, mujer y marido-de. En cuanto al resto de relaciones familiares, se implementarn reglas para determinar sta independientemente del sexo, y posteriormente otras que hallarn la relacin definitiva, teniendo en cuenta el sexo.

SolucinProblema 3

Problema 3 - Solucin

Problema 4
Representar los nodos del siguiente rbol de decisin como hechos en CLIPS:

Solucin Problema 4

Solucin Problema 4

rboles de Decisin
INTRODUCCIN DEFINICIN DE RBOL DE DECISIN ELEMENTOS DEL RBOL DE DECISIN RBOLES DE DECISIN BINARIOS RBOLES DE DECISIN CON VARIAS RAMAS PROCEDIMIENTOS PARA RESOLVER UN RBOL RBOLES DE DECISIN QUE APRENDEN

rboles de Decisin con Varias Ramas

Los

rboles de decisin binarios dificultan la representacin dificultan la representacin de una decisin que permita un conjunto de respuestas o casos.

Un nodo de decisin capaz de permitir ramas mltiples dara una solucin ms directa.

rboles de Decisin con Varias Ramas

Los

rboles de decisin binarios dificultan la representacin dificultan la representacin de una decisin que permita un conjunto de respuestas o casos.

Un nodo de decisin capaz de permitir ramas mltiples dara una solucin ms directa.

En un rbol de decisin binario

En un rbol de decisin con varias ramas

rboles de Decisin
INTRODUCCIN DEFINICIN DE RBOL DE DECISIN ELEMENTOS DEL RBOL DE DECISIN RBOLES DE DECISIN BINARIOS RBOLES DE DECISIN CON VARIAS RAMAS PROCEDIMIENTOS PARA RESOLVER UN RBOL RBOLES DE DECISIN QUE APRENDEN

Procedimientos para resolver un rbol


Procedure Resolver_rbol_binario Establecer la ubicacin del nodo raz en el rbol Al nodo raz While la ubicacin actual es un nodo de decisin do
Preguntar en el nodo actual. If la respuesta de la pregunta es s
Establecer el nodo actual en la rama s

Else
Establecer el nodo actual en la rama no

End if

End do Devolver la respuesta al nodo actual End procedure

Procedimientos para resolver un rbol


Procedure Resolver_rbol Establecer la ubicacin del nodo raz en el rbol en el nodo raz While la ubicacin actual es un nodo de decisin do
Preguntar en el nodo actual hasta que
Se proporcione una respuesta vlida para el conjunto de opciones de este modo.

Establecer el nodo actual en el nodo hijo de


La rama asociada con la opcin seleccionada.

End do Devolver la respuesta al nodo actual End procedure

rboles de Decisin
INTRODUCCIN DEFINICIN DE RBOL DE DECISIN ELEMENTOS DEL RBOL DE DECISIN RBOLES DE DECISIN BINARIOS RBOLES DE DECISIN CON VARIAS RAMAS PROCEDIMIENTOS PARA RESOLVER UN RBOL RBOLES DE DECISIN QUE APRENDEN

rboles de Decisin que Aprenden


Un rbol de decisin con aprendizaje es un rbol con decisin en el que si la conclusin a la que se llega es errnea (desde el punto de vista del usuario) se pasa a un proceso de aprendizaje en el que, con ayuda del usuario, se modifica el rbol para que considere la nueva posibilidad. En este caso consideraremos rboles de decisin binarios, es decir, tales que las posibles respuestas a las preguntas almacenadas en los nodos internos son "si" o "no".

CLIPS
CLIPS> (run) - Es muy grande.? (si o no): si - Tiene un cuello largo.? (si o no): no - Tiene una trompa.? (si o no): si Creo que es un/a elefante Estoy en lo cierto.? (si o no): si

CLIPS
Intentemos clasificar un gato
Lo intentamos de nuevo.? (si o no): si - Es muy grande.? (si o no): no - Emite chillidos.? (si o no): no Creo que es un/a ardilla Estoy en lo cierto.? (si o no): no

Sesin: Aprendizaje
Que animal es? gato Que pregunta se debe contestar afirmativamente para distinguir gato de ardilla.? Maulla? Ahora ya puedo distinguir un/una gato

El gato ya esta en la base de conocimiento


Lo intentamos de nuevo.? (si o no): si - Es muy grande.? (si o no): no - Emite chillidos.? (si o no): no - Maulla.? (si o no): si Creo que es un/a gato Estoy en lo cierto.? (si o no): si Lo intentamos de nuevo.? (si o no): no CLIPS>

RBOL MODIFICADO

CDIGO EN CLIPS

D:\SAN MARCOS\INTELIGENCIA ARTIFICIAL\examen lab\sistema experto animales.CLP

EJEMPLO
Genera el siguiente rbol de decisin
El animal es de sangre caliente?

SI
El animal ronronea?

NO
El animal es una serpiente?

SI
El animal es un gato?

NO
El animal es un perro?

Y obtn la siguiente sesin de deduccin:


El animal es de sangre caliente? (si /no): si El animal ronronea? (si/no): no Deduzco que es un perro Estoy en lo correcto? (si/no): no Cul es el animal? Pjaro Que pregunta se debe contestar afirmativamente para distinguir entre un Pjaro y un Perro? El animal vuela? Ahora puedo deducir que es un pjaro Intentar otra vez? (si/no): no
..\examen lab\ejemplo arboles-salon.CLP

You might also like