



Prepara tus exámenes y mejora tus resultados gracias a la gran cantidad de recursos disponibles en Docsity
Gana puntos ayudando a otros estudiantes o consíguelos activando un Plan Premium
Prepara tus exámenes
Prepara tus exámenes y mejora tus resultados gracias a la gran cantidad de recursos disponibles en Docsity
Prepara tus exámenes con los documentos que comparten otros estudiantes como tú en Docsity
Los mejores documentos en venta realizados por estudiantes que han terminado sus estudios
Estudia con lecciones y exámenes resueltos basados en los programas académicos de las mejores universidades
Responde a preguntas de exámenes reales y pon a prueba tu preparación
Consigue puntos base para descargar
Gana puntos ayudando a otros estudiantes o consíguelos activando un Plan Premium
Comunidad
Pide ayuda a la comunidad y resuelve tus dudas de estudio
Descubre las mejores universidades de tu país según los usuarios de Docsity
Ebooks gratuitos
Descarga nuestras guías gratuitas sobre técnicas de estudio, métodos para controlar la ansiedad y consejos para la tesis preparadas por los tutores de Docsity
Fundamentos de prolog, con algunos ejercicios para su mejor comprencion
Tipo: Apuntes
1 / 7
Esta página no es visible en la vista previa
¡No te pierdas las partes importantes!
Lógica de Predicados: Prolog se basa en la lógica de predicados de primer orden, lo que significa que trabaja con proposiciones lógicas sobre objetos y relaciones entre ellos. En la lógica de predicados, se utilizan términos, átomos, variables, predicados, y cuantificadores existenciales y universales para expresar relaciones lógicas. Predicados y Hechos: Un hecho es una afirmación que se considera siempre verdadera en el dominio del discurso. Los predicados son relaciones que pueden estar compuestas por varios términos y variables, y pueden definirse mediante reglas. Las reglas en Prolog consisten en un encabezado (cabeza) y un cuerpo. El cuerpo puede contener llamadas a otros predicados o hechos, y el encabezado establece las condiciones bajo las cuales la regla es verdadera. Unificación: La unificación es el proceso central en Prolog que se utiliza para encontrar valores que satisfagan una consulta. Dos términos se unifican si pueden hacerse iguales mediante la sustitución de variables por valores. Prolog utiliza la unificación para resolver consultas y encontrar soluciones a través del proceso de backtracking. Recursión: Prolog fomenta el uso de la recursión en lugar de bucles para resolver problemas. La recursión es fundamental para explorar relaciones lógicas y estructuras de datos en Prolog. Los predicados recursivos en Prolog definen casos base y casos recursivos para resolver un problema de manera iterativa. Backtracking: Cuando una consulta falla, Prolog utiliza el backtracking para intentar encontrar otras soluciones. El backtracking implica deshacer las elecciones anteriores y volver a intentar otras posibilidades. Prolog utiliza una estrategia de búsqueda en profundidad con backtracking para encontrar todas las soluciones posibles. Listas: Las listas son una estructura de datos fundamental en Prolog, y se utilizan para representar secuencias de elementos.
En Prolog, una lista es una secuencia de elementos separados por comas y encerrados entre corchetes. Prolog proporciona operaciones para manipular listas, como agregar elementos, eliminar elementos, concatenar listas, y acceder a elementos individuales. Corte (!): El corte (!) es un mecanismo utilizado para controlar el backtracking en Prolog. Se coloca en reglas para evitar que Prolog busque más soluciones después de encontrar una que cumpla con ciertas condiciones. El corte puede mejorar la eficiencia y evitar la generación de soluciones redundantes en ciertos casos. Manejo de datos no numéricos: Prolog es particularmente adecuado para el manejo de datos no numéricos, como símbolos, términos complejos y estructuras de datos complejas. Se utiliza ampliamente en aplicaciones relacionadas con la inteligencia artificial, como sistemas expertos, procesamiento del lenguaje natural, y representación del conocimiento. HECHOS Y SINTASIX En Prolog, los hechos son afirmaciones simples que establecen verdades absolutas sobre el dominio del problema. Aquí hay algunos puntos clave sobre la instanciación de hechos:
Para formular una pregunta en Prolog, simplemente utiliza el operador de consulta ?- seguido de la consulta que deseas hacer. Por ejemplo, podrías preguntar: ?- animal(leon). Esta pregunta devolverá true , ya que leon es un hecho en nuestra base de conocimientos. También puedes hacer preguntas más específicas, como: ?- come_carnes(X). Esta pregunta devolverá X = leon y X = tigre , ya que son los animales que comen carne, según los hechos en nuestra base de conocimientos.
Ejercicio 1. HECHOS progenitor(clara, jose). progenitor(tomas, jose). progenitor(tomas, isabel). progenitor(jose, ana). progenitor(jose, patricia). progenitor(patricia, jaime). Dada la base de datos familiar del ejemplo 1.1, se pide la respuesta de PROLOG y el enunciado verbal de las siguientes preguntas a)? – progenitor (jaime,X). Falso, ¿De quién es progenitor Jaime? b) ?- progenitor (X, jaime). X=patricia, ¿Quién es progenitor de Jaime? c) ?-progenitor(clara,X), progenitor (X,patricia). X=jose ¿Quién es el abuelo de patricia? d) ?-progenitor(tomas), progenitor(X,Y), progenitor(Y,Z). X= jose, Y= patricia, Z= Jaime Clara Tomas Jose Isabel Ana Patricia Jaime
Clausulas Hombre(x) Mujer(x) Progenitor(x,y) Dif (x,y):- x/=y.
Clara Tomas jose Isabel Ana patricia Jaime