Ejercicios swiprolog

March 27, 2018 | Author: Raul Quispe Vasquez | Category: First Order Logic, Logic, Inheritance (Object Oriented Programming), Birds, Computer Programming


Comments



Description

Practica 3 : Programación Lógica1. La Serpiente y el santo grial : Desarrolle la f.b.f y la f.n.c del siguiente enunciado. Una bruja es una mujer que se quema. Las brujas arden porque están hechos de madera. La madera flota. ¿Qué más flota en el agua? Un pato; si algo tiene el mismo peso que un pato debe flotar. Un pato y escalas son descabellada. La niña y el pato se balancean perfectamente. "Eso es un policía justo. " 2. Árbol genealógico Definir en los predicados que definen por extensión todas las relaciones familiares directas, padre(Padre, Hijo) y madre(Madre, Hijo) del árbol genealógico de su familia. Definir la relación progenitor, utilizando las relaciones de padre y madre. Definir recursivamente la relación antepasado. Probar definiciones alternativas de esta relación cambiando el orden de los predicados. Comprobar cómo afecta al comportamiento del programa el orden usado en las distintas definiciones de antepasado. Definir nuevas relaciones (como hermano, hermana, abuelo, abuela) añadiendo predicados (ej. mujer, hombre) y reglas necesarios. a. Indique el objetivo que permite responder la pregunta ¿Quién es padre de quién? b. Incluya una regla que represente el parentesco de hermandad. c. ¿Puede aumentarse la potencia del predicado anterior con una regla que nos diga explícitamente que la propiedad de ser hermanos es conmutativa (es decir, que si X es hermano de Y, entonces Y es hermano de X)? d. Incluya una regla (o varias) que represente los abuelos paternos y maternos. Establezca los objetivos necesarios para responder las siguientes preguntas: - ¿Cuáles son todos los abuelos de cada persona? - ¿Cuáles son todos los nietos de cada persona? e. ¿Cuáles son los ascendientes de una persona? (se necesita recursividad). f. Cambie las reglas para obtener los parentescos de una forma eficiente, detectando cuáles son los argumentos que se pasan variables (se necesita usar el predicado var). 9]. tiene(ave. a. añadiendo una regla (con cabecera tiene) que diga que las propiedades aplicables a una clase también son aplicables a cualquier subclase que herede de ella (directamente o a través de una línea de herencia).9. Justifique su respuesta. cree un fichero herencia con hechos del siguiente tipo: es_un(rapaz. Partir: Defina un predicado llamado partir para dividir una lista respecto a un umbral. Para las propiedades se sugiere que se emplee el predicado atributo(Objeto. Por ejemplo.8. Aumente la potencia del predicado tiene.8. El predicado tiene(C. podremos deducir que un cernícalo primilla tiene alas. Por ejemplo.1] y [7.vistaProfunda). Valor). en vez de utilizar el predicado es_un. es_un(buitre. Atributo.garrasFuertes).3. es_un('cernicalo primilla'.plumas). tiene(rapaz. Añada las reglas necesarias para poder definir el predicado es_un_tipo_de(C1. es_un('aguila perdicera'.alas) debe devolver un éxito.ave) debe devolver éxito.aguila). 4. tiene('cernicalo primilla'. Árbol genealógico. es decir. b.P) se usa para representar que los objetos de la clase C admiten la propiedad P.aguila). c. Nos preguntamos ahora si no hubiese sido mejor definir la regla con cabecera tiene del apartado a). es_un(halcon.4.rapaz).7. para lo que tendrá que usar el predicado es_un.pico). es_un('cernicalo vulgar'. el resultado de partir la lista [2. que nos dirá si la clase C1 es una subclase directa de C2 o existe una línea de herencia entre C1 y C2. 5. es decir.1] respecto al umbral 6 serían las listas [2.rapaz). es_un(calzada.C2) se utiliza para representar que la clase de objetos C1 es una subclase directa de C2. dejando los valores menores a la izquierda y los mayores a la derecha. Red Semántica.ave). es_un_tipo_de('cernicalo primilla'. podremos deducir que un cernícalo primilla es un tipo de ave. Se sugiere emplear un predicado binario por cada relación. usando el predicado es_un_tipo_de definido en el apartado b).rapaz). es_un(aguila. .halcon). tiene(rapaz. Por ejemplo.4. Representar la red semántica de la figura. tiene(ave.halcon).C2). El predicado es_un(C1. ¿tiene pelo el avestruz?. ¿Serías capaz de ayudarle a relacionar cada profesor con su asignatura. debido al nerviosismo del primer día de clase. La restricción a la que está sujeto este juego es que dos elementos distintos de un mismo Universo no pueden tener la misma característica. vuela. ha anotado el nombre de sus profesores (María. impartida por María. Realizar las consultas sobre la información almacenada en la red semántica. Representar adecuadamente las excepciones que se señalan en el ejemplo. Acertijo:”Un alumno de la FIEI-Informática. Por ejemplo. con el que se especifica que ese atributo es particular de ese objeto y sustituye al heredado. día en el que no se imparte Lógica. las aves que no vuelan (como el avestruz). ¿quiénes pueden volar?. El objetivo es correlacionar una serie de propiedades que cumplen distintos elementos de nuestro Dominio (Universo del Discurso). miércoles y jueves). así como el día de la semana que se imparte? (Sabemos que cada profesor imparte una única asignatura y que las clases se dan en días diferentes) . Atributo. por ejemplo. Jesús y Faraón). Valor). Así es posible tratar las excepciones.Por ejemplo. atributo(albatros. es posterior a la de Lógica. En ocasiones algunos de los atributos heredados por un objeto deben ser sustituidos por otros particulares. 6. Incluir las reglas necesarias para que todo objeto herede los atributos y las propiedades de todas las clases a las que pertenece. Juego de lógica: Implementación de juegos de lógica que se tienen que resolver por deducción a partir de un conjunto de pistas. muy_bien). Programación y Matemáticas) y el día de la semana de las distintas clases (lunes. etc. . las asignaturas que se imparten (Lógica.La clase de Programación. pero sólo recuerda que: . Se sugiere emplear el predicado particular(Objeto.A Faraón no le gusta trabajar los lunes. ya sea un sistema de diagnóstico mediante reglas o bien que sea capaz de responder a preguntas basado internamente en una red semántica. aborde el diseño e implementación de un sistema experto. Trabajo práctico adicional: Familiarizado ya con el tema y lenguaje. el sistema debe disponer de reglas para al menos tres niveles de inferencia. Realizarlo en el dominio que prefiera.   Desarrollo de un sistema experto básico: 1 punto Desarrollo de un sistema avanzado: 1 punto . La calificación de este trabajo adicional se sumará directamente al parcial. Como requisito.7.
Copyright © 2024 DOKUMEN.SITE Inc.