Prolog
Introducción
Prolog es un lenguaje de programación lógica en el que los programas se construyen como bases de conocimiento: conjuntos de hechos y reglas que describen relaciones entre objetos.
La representación de conocimiento en Prolog implica elegir cómo expresar hechos, reglas, relaciones, y también cómo razonar sobre ellos.
Formas de representación en Prolog
1. Hechos (Extensional knowledge)
Los hechos expresan que cierta relación entre objetos es verdadera, sin condiciones adicionales.
Aquí, padre/2 y mujer/1 son predicados que representan relaciones.
Este modo es útil para representar datos concretos del mundo.
2. Reglas (Intensional knowledge)
Las reglas permiten definir relaciones más complejas a partir de otras relaciones. Por ejemplo:
Aquí definimos que X es madre de Y si X es mujer y X es padre de Y. Esta es una forma de conocimiento derivado, más general.
Las reglas permiten capturar patrones, inferencias, relaciones generales.
3. Consultas y razonamiento
Una vez puestas las hechos y reglas, Prolog permite hacer preguntas (queries) al sistema para obtener respuestas, unificarlas, y realizar backtracking para encontrar múltiples soluciones.
Por ejemplo:
Podría responder Who = … en función de lo que se sepa.
4. Representación de conocimiento estructurado mediante términos
Prolog permite usar términos compuestos (functores) para representar estructuras de datos más complejas, por ejemplo árboles, listas, hechos con múltiples atributos, etc.
Por ejemplo:
Gracias a que el término es el elemento básico de la lengua, se pueden construir fácilmente estructuras simbólicas.
5. Suposición del mundo cerrado y negación como fallo
Una particularidad de la representación de conocimiento en Prolog es la asunción de mundo cerrado (“closed world assumption”): si algo no puede demostrarse como verdadero, se considera falso.
Esto también implica que la negación (\+ u otros mecanismos) en muchos casos se maneja como “negación por fallo” (neg como fallo) y no como una negación lógica clásica.
Comentarios
Publicar un comentario