domingo, 3 de marzo de 2013

LENGUAJE LOGICO


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



En la programación lógica, se trabaja de una forma descriptiva, estableciendo relaciones entre entidades, indicando no cómo, sino qué hacer. La ecuación de Robert Kowalski (Universidad de Edimburgo) establece la idea esencial de la programación lógica: algoritmos = lógica + control. Es decir, un algoritmo se construye especificando conocimiento en un lenguaje formal (lógica de primer orden)


El programador especifica hechos y propiedades del problema, no como debe resolverse; es el sistema quién debe buscar la solución, usando:

  • Hechos o asertos y reglas para representar la información.
  • Deducciones para responder consultas, y generar nuevos hechos, a partir de sus componentes lógicos y secuencias de control del sistema, automatizando así la corrección del programa.
  • Verificación de las transformaciones, evaluadas partiendo de metas. Si se prueba que se ajustan a hechos o se deducen de alguna regla, entonces sus antecedentes se convierten en nuevas metas.
  • La solución final resulta de aplicar resultados intermedios de las variables de la meta inicial, usando un proceso iterativo, que concluye cuando las sub-metas son probadas.
CÓDIGO EJEMPLO DE PROLOG



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.



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.






BILBIOGRAFIA.

http://www.amzi.com/articles/code07_whitepaper.pdf

http://es.wikipedia.org/wiki/Programaci%C3%B3n_imperativa

http://www.taringa.net/posts/ciencia-educacion/9145179/Paradigma-de-Programacion.html

http://html.rincondelvago.com/lenguajes-de-programacion_historia-y-evolucion.html

No hay comentarios:

Publicar un comentario