45
Árboles de Decisión en CLIPS INTEGRANTES: Rivas Plata Poma, Clark Evan Nieto Alvarado, Nicolas Lozada Vargas, Pablo

Arboles Decision

Embed Size (px)

Citation preview

Árboles de Decisión en CLIPSINTEGRANTES:

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

Árboles de Decisión• INTRODUCCIÓN

• DEFINICIÓN DE ÁRBOL DE DECISIÓN

• ELEMENTOS DEL ÁRBOL DE DECISIÓN

• ÁRBOLES DE DECISIÓN BINARIOS

• ÁRBOLES DE DECISIÓN CON VARIAS RAMAS

• PROCEDIMIENTOS PARA RESOLVER UN ÁRBOL

• ÁRBOLES DE DECISIÓN QUE APRENDEN

Introducción• Como forma de representación del conocimiento, los árboles

de decisión destacan por su sencillez. A pesar de que carecen de la expresividad de las redes semánticas o de la lógica de primer orden, su dominio de aplicación no está restringido a un ámbito concreto sino que pueden utilizarse en diversas áreas: diagnóstico médico, juegos, predicción meteorológica, 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 análisis rápido de todas las consecuencias de las posibles decisiones.

Árboles de Decisión• INTRODUCCIÓN

• DEFINICIÓN DE ÁRBOL DE DECISIÓN

• ELEMENTOS DEL ÁRBOL DE DECISIÓN

• ÁRBOLES DE DECISIÓN BINARIOS

• ÁRBOLES DE DECISIÓN CON VARIAS RAMAS

• PROCEDIMIENTOS PARA RESOLVER UN ÁRBOL

• ÁRBOLES DE DECISIÓN QUE APRENDEN

Definición de Árbol de Decisión• Técnica que permite analizar decisiones secuenciales basada

en el uso de resultados.• Los árboles de decisión se pueden usar para generar sistemas

expertos, búsquedas binarias y árboles de juego.• Las ventajas de un árbol de decisión son:

Facilita la interpretación de la decisión adoptada.Proporciona un alto grado de comprensión del conocimiento

utilizado en la toma de decisiones.Explica el comportamiento respecto a una determinada tarea de

decisión.Reduce el número de variables independientes.Es una magnifica herramienta para el control de la gestión

empresarial.

Árboles de Decisión• INTRODUCCIÓN

• DEFINICIÓN DE ÁRBOL DE DECISIÓN

• ELEMENTOS DEL ÁRBOL DE DECISIÓN

• ÁRBOLES DE DECISIÓN BINARIOS

• ÁRBOLES DE DECISIÓN CON VARIAS RAMAS

• PROCEDIMIENTOS PARA RESOLVER UN ÁRBOL

• ÁRBOLES DE DECISIÓN QUE APRENDEN

Elementos del Árbol de Decisión

Nodos• Representan ubicaciones en el árbol.

Raíz• Nodo donde se inicia el recorrido del árbol de decisión.

Ramas• Conectan los nodos padre con los nodos hijos.

Hoja• Nodo del árbol que no tiene sucesores.

Árboles de Decisión• INTRODUCCIÓN

• DEFINICIÓN DE ÁRBOL DE DECISIÓN

• ELEMENTOS DEL ÁRBOL DE DECISIÓN

• ÁRBOLES DE DECISIÓN BINARIOS

• ÁRBOLES DE DECISIÓN CON VARIAS RAMAS

• PROCEDIMIENTOS PARA RESOLVER UN ÁRBOL

• ÁRBOLES DE DECISIÓN QUE APRENDEN

Árboles de Decisión Binarios• En un árbol de decisión los nodos internos almacenan preguntas y

las hojas almacenan posibles respuestas finales. En función de las respuestas a las preguntas de los nodos internos, se va describiendo un camino en el árbol que va desde la raíz hasta una hoja que contendrá la conclusión del sistema.

Para ilustrar la operación de un árbol de decisión consideremos las siguientes heurísticas en la selección 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

SI

NO

¿El plato principal es carne roja?

El mejor color es tinto

¿El plato principal es ave?

SI

NO

SI

¿El plato principal es

pavo?

NO SI

¿El plato principal es pescado?

NOEl mejor color es

tintoEl mejor color es

blanco

El mejor color es blanco

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?

Si

¿El animal ronronea?

NO

El animal es un perro

SI

El animal es un gato

NO

El animal es un reptil

Problema 2• Cada Nodo debe de estar compilado en una regla.• No hay interacción con el usuario.

Solución – Problema 2

Problema 3Árbol Familiar• Se pretende diseñar 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 relación 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 implementarán reglas para determinar ésta independientemente del sexo, y posteriormente otras que hallarán la relación definitiva, teniendo en cuenta el sexo.

Solución–Problema 3

Problema 3 - Solución

Problema 4• Representar los nodos del siguiente árbol de decisión como

hechos en CLIPS:

Solución – Problema 4

Solución – Problema 4

Árboles de Decisión• INTRODUCCIÓN

• DEFINICIÓN DE ÁRBOL DE DECISIÓN

• ELEMENTOS DEL ÁRBOL DE DECISIÓN

• ÁRBOLES DE DECISIÓN BINARIOS

• ÁRBOLES DE DECISIÓN CON VARIAS RAMAS

• PROCEDIMIENTOS PARA RESOLVER UN ÁRBOL

• ÁRBOLES DE DECISIÓN QUE APRENDEN

Árboles de Decisión con Varias Ramas

• Los árboles de decisión binarios dificultan la representación dificultan la representación de una decisión que permita un conjunto de respuestas o casos.

• Un nodo de decisión capaz de permitir ramas múltiples daría una solución más directa.

Árboles de Decisión con Varias Ramas

• Los árboles de decisión binarios dificultan la representación dificultan la representación de una decisión que permita un conjunto de respuestas o casos.

• Un nodo de decisión capaz de permitir ramas múltiples daría una solución más directa.

En un árbol de decisión binario

En un árbol de decisión con varias ramas

Árboles de Decisión• INTRODUCCIÓN

• DEFINICIÓN DE ÁRBOL DE DECISIÓN

• ELEMENTOS DEL ÁRBOL DE DECISIÓN

• ÁRBOLES DE DECISIÓN BINARIOS

• ÁRBOLES DE DECISIÓN CON VARIAS RAMAS

• PROCEDIMIENTOS PARA RESOLVER UN ÁRBOL

• ÁRBOLES DE DECISIÓN QUE APRENDEN

Procedimientos para resolver un Árbol

• Procedure Resolver_árbol_binario• Establecer la ubicación del nodo raíz en el árbol• Al nodo raíz• While la ubicación actual es un nodo de decisión 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 ubicación del nodo raíz en el árbol en el nodo raíz• While la ubicación actual es un nodo de decisión do• Preguntar en el nodo actual hasta que

• Se proporcione una respuesta válida para el conjunto de opciones de este modo.

• Establecer el nodo actual en el nodo hijo de• La rama asociada con la opción seleccionada.

• End do• Devolver la respuesta al nodo actual• End procedure

Árboles de Decisión• INTRODUCCIÓN

• DEFINICIÓN DE ÁRBOL DE DECISIÓN

• ELEMENTOS DEL ÁRBOL DE DECISIÓN

• ÁRBOLES DE DECISIÓN BINARIOS

• ÁRBOLES DE DECISIÓN CON VARIAS RAMAS

• PROCEDIMIENTOS PARA RESOLVER UN ÁRBOL

• ÁRBOLES DE DECISIÓN QUE APRENDEN

Árboles de Decisión que Aprenden

• Un árbol de decisión con aprendizaje es un árbol con decisión en el que si la conclusión a la que se llega es errónea (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 decisión 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): siCreo 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): noCreo que es un/a ardilla¿Estoy en lo cierto.? (si o no): no

•Sesión: 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): siCreo que es un/a gato¿Estoy en lo cierto.? (si o no): si¿Lo intentamos de nuevo.? (si o no): no• CLIPS>

ÁRBOL MODIFICADO

CÓDIGO EN CLIPS

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

EJEMPLO• Genera el siguiente árbol de decisión

• Y obtén la siguiente sesión de deducción: ¿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 ¿Cuál es el animal? Pájaro ¿Que pregunta se debe contestar afirmativamente para distinguir entre un Pájaro y un Perro? ¿El animal vuela? Ahora puedo deducir que es un pájaro ¿Intentar otra vez? (si/no): no• ..\examen lab\ejemplo arboles-salon.CLP

SI

NO¿El animal es de sangre caliente?

¿El animal ronronea?

¿El animal es una serpiente?

SI

¿El animal es un gato?

¿El animal es un perro?

NO