Entradas populares

sábado, 14 de septiembre de 2013

PARADIGMAS DE PROGRAMACIÓN EN LOGICA

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. 

CAMPOS DE APLICACIÓN
La programación lógica encuentra su hábitat natural en aplicaciones de inteligencia artificial o relacionadas: 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.
}Etc.

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).

COMO FUNCIONAN (EJEMPLOS)
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
y también reglas o restricciones:
   una mascota vuela si es un ave y no es un pingüino
Ante dicho "programa" es posible establecer hipótesis que no son más que preguntas o incógnitas, por ejemplo:
   ¿ "pichurri" vuela ?
   ¿ qué mascotas vuelan ?....


LENGUAJES
}El lenguaje de programación lógica por excelencia es Prolog, que cuenta con diversas variantes. La más importante es la programación lógica con restricciones (véase artículo sobre programación con restricciones), que posibilita la resolución de ecuaciones lineales además de la demostración de hipótesis.