Glosario IA
El diccionario completo de la Inteligencia Artificial
Programación Lógica
Paradigma de programación declarativo basado en la lógica matemática donde los programas se construyen a partir de conjuntos de fórmulas lógicas y reglas de inferencia.
Prolog
El lenguaje de programación lógica más extendido, que implementa el principio de resolución SLD con unificación y backtracking automático.
Backtracking
Mecanismo de búsqueda sistemática que explora todas las soluciones posibles retrocediendo cuando una rama del árbol de búsqueda falla.
Base de hechos
Conjunto de proposiciones atómicas consideradas verdaderas en un sistema de programación lógica, que sirven como punto de partida para las deducciones.
Base de reglas
Colección de cláusulas de Horn que definen las relaciones lógicas y las implicaciones que permiten inferir nuevos hechos a partir de los existentes.
Resolución SLD
Estrategia de resolución lineal selectiva para cláusulas definidas, utilizada como mecanismo de ejecución principal en Prolog.
Sustitución
Aplicación que reemplaza sistemáticamente variables por términos en una expresión lógica, esencial para la unificación y la resolución.
Término
Unidad sintáctica fundamental en programación lógica que puede ser una constante, una variable o un término compuesto con un functor y argumentos.
Átomo lógico
Fórmula atómica de la forma predicado(argumentos) que representa una proposición elemental que puede ser verdadera o falsa.
Predicado
Símbolo de relación asociado a una aridad fija que define una propiedad o una relación entre términos en las cláusulas lógicas.
Árbol de derivación
Estructura arbórea que representa secuencialmente los pasos de resolución y unificación que conducen de un objetivo a su solución.
Cut
Operador especial (!) en Prolog que limita el backtracking (retroceso) eliminando los puntos de elección alternativos ya explorados.
Negación por fallo
Regla de inferencia que considera un objetivo como falso cuando todos los intentos de probarlo fallan, denotada \+ en Prolog.
Meta-intérprete
Programa Prolog capaz de ejecutar otros programas Prolog implementando explícitamente los mecanismos de resolución.
Programación lógica con restricciones
Extensión de la programación lógica que integra solucionadores de restricciones para dominios específicos como los números reales o los dominios finitos.
Datalog
Subconjunto de Prolog sin términos compuestos ni funcionalidades procedimentales, optimizado para consultas en bases de datos deductivas.