DASI 2020‐2021 – Práctica de Drools Problema Dado un grafo dirigido arbitrario, determinar si existe un camino entre dos nodos cualesquiera. Solución con CLIPS Ver fichero “Paths.clp” en el Campus Virtual. Tienes Clips instalado en el laboratorio. 3 tipos de hechos: edge. Define que existe un arco directo desde el nodo marcado como initial hasta el nodo marcado como final. path. Define que existe un camino desde el nodo marcado como initial hasta el nodo marcado como final. question. Utilizado para preguntar si existe un camino desde el nodo marcado como initial hasta el nodo marcado como final. Los hechos iniciales (deffacts) sólo necesitan indicar cuales son los arcos (edge) que existen en el grafo y las preguntas a responder (question). Los caminos existentes (path) se calculan mediante las reglas dinámicamente. 2 grupos de reglas: Cálculo de caminos (path) con las reglas path-direct y path-indirect. La primera es el camino básico del nodo inicial al final cuando hay un arco directo del nodo inicial al final. La segunda es el camino del nodo inicial al final pasando por al menos un nodo intermedio. Respuesta a preguntas (question) con las reglas question-yes y questionno. La primera responde afirmativamente a la pregunta porque existe un camino entre los nodos indicados. La segunda responde negativamente a la pregunta porque no existe un camino entre los nodos indicados. Ejercicio Traslada la solución anterior a Java + Drools. Tendrás que Crear el fichero drl de reglas Drools que traduce el fichero Clips. No introduzcas las preguntas. Crear el código Java para cargar las preguntas, ejecutar la base de reglas sobre los hechos y mostrar la respuesta. Usa el ejemplo disponible en la presentación de la clase de teoría.