PROGRAMACIÓN LÓGICA
La programación lógica consiste en la aplicación del corpus de conocimiento sobre lógica para el diseño de lenguajes de programación; no debe confundirse con la disciplina de la lógica computacional.
La programación lógica es un tipo de paradigmas de programación dentro del paradigma de programación declarativa. El resto de los subparadigmas de programación dentro de la programación declarativa son: programación funcional, programación basada en restricciones, programas DSL (de dominio específico) e híbridos. La programación lógica gira en torno al concepto de predicado, o relación entre elementos. La programación funcional se basa en el concepto de función (que no es más que una evolución de los predicados), de corte más matemático.
¿Qué es ?
Propuesta por Kowalski en 1974 facilita la tarea de programación liberando al programador haciendo una optimización de las dos componentes básicas de un algoritmo, Lógica y Control.
La programación lógica consiste en la aplicación del corpus de conocimiento sobre lógica para el diseño de lenguajes de programación. Se ha convertido en el pilar de una nueva generación de lenguajes de programación.
Junto con la programación funcional forma parte de lo que se conoce como programación declarativa, Como se irá explicando mas adelante en los lenguajes tradicionales se intenta resolver un problema mediante sentencias, en la programación lógica se trabaja de forma descriptiva, estableciendo relaciones, y no indicando un cómo sino un qué hacer.
Es decir el algoritmo que se quiera diseñar se construye especificando un conocimiento en un lenguaje formal y para resolverlo se uso la inferencia o control que actúa sobre aquel.
¿ Cómo nació ?
Los ordenadores siempre se han programado usando lenguajes con propiedades de la propia maquina: aritmética simple, instrucciones de acceso…Un programa de estas características puede ocultar su propósito a los ojos de un ser humano, incluso uno que maneje dichos lenguajes o técnicas de programación. Estos lenguajes pertenecientes a la la programación imperativa han evolucionado de manera que ya no son tan difíciles de entender.
La lógica matemática es la manera mas sencilla, para el ser humano, de expresar problemas y resolverlos con la aplicación de reglas, hipótesis y teoremas. De ahí el éxito de la programación lógica en campos donde la programación “de siempre” es un fracaso.
¿ Para qué se usa ?
Su principal uso se basa en las aplicaciones de inteligencia artificial o similares.
Sistemas expertos.
Demostración automática.
Reconocimiento de lenguaje natural.
Fundamentos de la Programación Lógica
Se basan principalmente en la teoría Lógica de Primer Orden, y en algunos de nivel superior. Destacamos los lenguajes funcionales como teoría lógica de orden superior que es demostradamente computable.
No se basa en la veracidad o falsedad de expresiones o sentencias sino de las relaciones que se generan entre ellas. Así se basan en un mecanismo de inferencia.
Éste requerirá de un lenguaje que exprese en una forma sencilla y sin ambigüedad las expresiones que representen las afirmaciones y conclusiones. Así nos basamos en expresiones y relaciones de la forma que:
Juan es hijo de Pedro.
Dos es mayor que uno.
Así los programas se establecen como conjuntos de axiomas (base de conocimiento), expresados mediante cláusulas de Horn, para la definición de predicados entre objetos.
REFERENCIAS
Tres puntos para el lab.
ResponderEliminar