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. En este sentido, destacan los lenguajes funcionales, ya que se basan en el calculo lambda, que es la única teoría lógica de orden superior que es demostradamente computale (hasta el momento)
La programación permite formalizar hechos reales del mundo real, por ejemplo
Lenguajes Basados en Reglas: estos lenguajes han sido durante mucho tiempo posiblemente o más usados de todos, principalmente debido a su estrecha relación con los Sistemas Expertos utilizados en Inteligencia Artificial. Estos lenguajes son fáciles de enterder debido a su sencillez conceptual y su paralelismo con las estructuras de control más simples utilizadas en programación. Este tipo de lengujes han recibido también un fuerte impulso a partir de la web semántica. Este nuevo lenguaje incluye las siguientes características:
Reglas de producción: reglas de tipo IF- THEN habituales en los sistemas expertos.
Reglas de integridad: afirmaciones que se deben cumplir en cualquier estado del sistema
Reglas reactivas: reglas que realizan acciones cuando se cumple un evento o se dan unas determinadas circunstancias.
Reglas de derivación: reglas para definir conceptos derivados a partir de otros.
Reglas de Transformación: permiten crear reglas a travez de un llamador, una condición, y una transformación.
Podemos representar en RuleML la sentencia "Si a alguien le gusta la lectura, entonces Juan le gusta esa persona" de la siguente forma:
Prolog: el lenguaje de programación por excelencia es el Prolog, que cuenta con diversas variantes. Se creo como una respuesta a la crisis del software que ocurría durante los primeros años de la década de los 70 y producto del avance de la lógica moderna (de tipo funcional), nace PROLOG("PROgramación el LOgica").
Prolog es un lenguaje de programación que es usado para resolver problemas que envuelven objetos y las relaciones entre ellos. Su objetivo s la evolución de los lenguajes, como también el bajo "costo y facilidad" de programación que este puede ofrecer. El lenguaje está orientado para trabajar en aplicaciones de inteligencia artificial.
Otros ejemplos son:
- ALF (Another logical framework)
- Godel programming language
- Mercury programming language
No hay comentarios:
Publicar un comentario