Caracteristicas del siglo xxi
Programación. Ingeniería de Telecomunicaciones
(Programa de prácticas alternativas)
Ejercicio 1.
Un árbol de decisión es una estructura quepermite identificar objetos. Se puede representar como un grafo con dos tipos de nodos: Los nodos pregunta y los nodos respuesta. Los nodos al final de cada rama del árbol son los nodos respuesta yrepresentan cada posible solución. El resto de nodos son nodos pregunta que contienen una pregunta cuya respuesta puede ser si o no. En función de la respuesta obtenida del usuario seguiremos una delas dos posibles ramas. Por ejemplo, si queremos identificar un animal, un nodo de pregunta puede contener una pregunta como ¿El animal es de sangre caliente?. En la figura se ha representado a laizquierda la rama que se sigue si la respuesta es si, y a la derecha la rama que se sigue si la respuesta es no.
Un ejemplo de una sesión de “adivinación”, suponiendo que partimos del árbolizquierdo de la figura podría ser como sigue:
¿El animal es de sangre caliente? (si/no): si
¿El animal ronronea? (si/no): no
Creo que es un perro
¿La respuesta es correcta? (si/no): no
¿Cuál es larespuesta correcta?: Pájaro
¿Qué pregunta cuando se responda si, distinguirá un pájaro de un perro?: ¿El animal vuela?
Ya puedo identificar pájaro.
¿Jugamos otra vez?
[pic]
Árbol dedecisión para la identificación de animales, antes y después de corregir la respuesta incorrecta
Como podemos apreciar del ejemplo, un árbol de decisión puede aprender de sus errores. Basta consustituir el nodo respuesta errónea por un nuevo nodo de pregunta que identifica el animal no contemplado, y enlazándolo con los correspondientes nodos respuesta si y no nuevos. En la figura previa sepuede apreciar a la izquierda el árbol de decisión inicial, y a la derecha el árbol resultante después de la sesión anterior.
Se pide codificar el programa que implementa la sesión de ‘adivinación’...
Regístrate para leer el documento completo.