Introduccion-a-la-Programacion-Logica (1).pdf
Document Details
Tags
Full Transcript
Introducció n a la Programaci ón Lógica La programación lógica es un paradigma de programación basado en la lógica matemática. Se basa en la idea de representar el conocimiento como un conjunto de hechos y reglas, y de usar la lógica para deducir nueva información. by Santiago Rivera Múnera Co...
Introducció n a la Programaci ón Lógica La programación lógica es un paradigma de programación basado en la lógica matemática. Se basa en la idea de representar el conocimiento como un conjunto de hechos y reglas, y de usar la lógica para deducir nueva información. by Santiago Rivera Múnera Conceptos básicos de la Programación Lógica Cláusulas de Unificación Horn La unificación es el proceso de Las cláusulas de Horn son una encontrar una sustitución de forma de lógica proposicional variables que hace que dos que se utiliza en la programación términos sean iguales. lógica. Resolución La resolución es un método para probar la satisfacibilidad de una fórmula lógica. Definición de Programación Lógica La programación lógica es un enfoque declarativo de la programación que se basa en la lógica matemática. Se define como un paradigma de programación donde los programas se expresan como un conjunto de hechos y reglas, y la ejecución del programa consiste en aplicar inferencias lógicas a estos hechos y reglas para deducir nueva información. Características de la Programación Lógica 1 Declarativa 2 Basada en La programación lógica es lógica declarativa, lo que significa La programación lógica se que se centra en especificar basa en la lógica matemática, qué se debe hacer en lugar de lo que le da un fundamento cómo se debe hacer. sólido y permite razonamientos precisos. 3 No 4 Orientada a determinista la resolución La programación lógica no es de determinista, lo que significa problemas que el orden de ejecución de La programación lógica es las reglas no está predefinido. ideal para resolver problemas que implican razonamiento y deducción lógica. Ventajas de la Programación Lógica Facilidad de Reutilización de Mantenimiento lectura y escritura código simplificado Los programas de programación lógica El código de programación lógica es El mantenimiento de los programas de son fáciles de leer y escribir, ya que se reutilizable, ya que las reglas y hechos programación lógica es más sencillo, ya expresan en términos de lógica. pueden ser utilizados en diferentes que los cambios se pueden realizar en las programas. reglas y hechos sin afectar el resto del código. Aplicaciones de la Programación Lógica Inteligencia Artificial Sistemas expertos, procesamiento del lenguaje natural Base de Datos Consulta de datos, razonamiento sobre bases de datos Computación Científica Demostración de teoremas, resolución de problemas de optimización Introducción a Prolog Prolog es un lenguaje de programación lógica que se basa en la lógica de primer orden. Es uno de los lenguajes de programación lógica más populares y se utiliza en una amplia gama de aplicaciones, desde la inteligencia artificial hasta la ingeniería de software. Sintaxis y estructura de Prolog Hechos 1 Los hechos son declaraciones de información básica que son verdaderas. Reglas 2 Las reglas son expresiones lógicas que definen relaciones entre hechos. Consultas 3 Las consultas son preguntas que se hacen al sistema Prolog para obtener información. Consultas y reglas en Prolog Las consultas en Prolog se utilizan para obtener información del sistema. Las reglas se definen como un conjunto de cláusulas que se evalúan de forma lógica para obtener una respuesta a una consulta. Otros lenguajes de Programación Lógica Lisp Mercury Lisp es un lenguaje de programación Mercury es un lenguaje de de propósito general que se basa en programación lógica que se la evaluación de expresiones. caracteriza por su eficiencia y su enfoque en la seguridad del tipo. MiniKanren Alpha Prolog MiniKanren es un lenguaje de Alpha Prolog es un lenguaje de programación lógica que se basa en programación lógica que se utiliza la idea de programación relacional. para el desarrollo de sistemas de inteligencia artificial.