QUE ES LÓGICA DE PROGRAMACIÓN
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 con restricciones, programas DSL (de
dominio específico) e híbridos. 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. La programación lógica gira en torno al concepto de
predicado, o relación entre elementos.
La programación lógica encuentra su hábitat natural en
aplicaciones de inteligencia artificial o relacionada: Sistemas expertos, donde
un sistema de información imita las recomendaciones de un experto sobre algún
dominio de conocimiento.
- Demostración automática de teoremas, donde un programa genera nuevos teoremas sobre una teoría existente.
- Reconocimiento de lenguaje natural, donde un programa es capaz de comprender (con limitaciones) la información contenida en una expresión lingüística humana.
Fundamentos
La mayoría de los lenguajes de programación lógica se basan
en la teoría lógica de primer orden, aunque también incorporan algunos
comportamientos de orden superior como la lógica difusa. En este sentido,
destacan los lenguajes funcionales, ya que se basan en el cálculo lambda, que
es la única teoría lógica de orden superior que es demostradamente computable
(hasta el momento).
En qué consiste
La programación lógica permite formalizar hechos del mundo
real, por ejemplo:
- Ø las aves vuelan
- Ø los pingüinos no vuelan
- Ø "pichurri" es un ave
- Ø "sandokan" es un perro
- Ø "alegría" es un ave
Reglas o
restricciones:
Una mascota vuela
si es un ave y no es un pingüino
