Prolog
Publicado por edgar (1 intervención) el 22/05/2007 15:08:55
Necesito alguien que me pueda ayudar a resolver un proyecto en prolog trata de un arbol inteligente a continuacion pongo el enunciado del problema el que me ayude se lo voy a agradecer.....
Construir un programa que sea capaz de “aprender” nuevas entidades creando un árbol de decisiones en donde cada nodo no terminal es una característica y cada nodo terminal es una entidad. Las entidades de todo subárbol derecho son aquellas que cumplen la característica “raíz” y los del izquierdo las que no la cumplen. El programa debe ser capaz de:
-Incluir una nueva entidad. Para ello, debe recorrerse el árbol desde la raíz, descendiendo cada vez por el subárbol que corresponda, según sea afirmada o negada la característica. La satisfacción de las características se verifican con preguntas al usuario. Al llegar a la hoja, debe preguntarse por una característica que diferencie a la entidad encontrada de la incluida, remplazándose la entidad encontrada por un subárbol con la característica nueva como raíz y las entidades diferenciadas como hojas.
-Eliminar una entidad. En este caso debe eliminarse la característica padre y sustituirla por el subárbol opuesto (el derecho si la entidad es a la izquierda o el izquierdo si la entidad es el nodo derecho de la característica del padre). Debe incluirse como opciones también la carga y salva del árbol de decisión.
-Dada una serie de características y condiciones asociadas (afirmadas o negadas), listar todas las entidades que cumplen esas características y condiciones. Las características que no se indican se aceptan como afirmadas y negadas, dado que por falta de información ambos casos pueden ser.
Construir un programa que sea capaz de “aprender” nuevas entidades creando un árbol de decisiones en donde cada nodo no terminal es una característica y cada nodo terminal es una entidad. Las entidades de todo subárbol derecho son aquellas que cumplen la característica “raíz” y los del izquierdo las que no la cumplen. El programa debe ser capaz de:
-Incluir una nueva entidad. Para ello, debe recorrerse el árbol desde la raíz, descendiendo cada vez por el subárbol que corresponda, según sea afirmada o negada la característica. La satisfacción de las características se verifican con preguntas al usuario. Al llegar a la hoja, debe preguntarse por una característica que diferencie a la entidad encontrada de la incluida, remplazándose la entidad encontrada por un subárbol con la característica nueva como raíz y las entidades diferenciadas como hojas.
-Eliminar una entidad. En este caso debe eliminarse la característica padre y sustituirla por el subárbol opuesto (el derecho si la entidad es a la izquierda o el izquierdo si la entidad es el nodo derecho de la característica del padre). Debe incluirse como opciones también la carga y salva del árbol de decisión.
-Dada una serie de características y condiciones asociadas (afirmadas o negadas), listar todas las entidades que cumplen esas características y condiciones. Las características que no se indican se aceptan como afirmadas y negadas, dado que por falta de información ambos casos pueden ser.
Valora esta pregunta


0