programación logica

Páginas: 25 (6148 palabras) Publicado: 27 de mayo de 2014
Programación lógica: 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 noes 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.
Motivación: Históricamente, los ordenadores se han programado utilizando lenguajes muy cercanos a las peculiaridades de la propia máquina: operaciones aritméticas simples, instrucciones de acceso a memoria, etc. Un programa escrito deesta manera puede ocultar totalmente su propósito a la comprensión de un ser humano, incluso uno entrenado. Hoy día, estos lenguajes pertenecientes al paradigma de la Programación imperativa han evolucionado de manera que ya no son tan crípticos.En cambio, la lógica matemática es la manera más sencilla, para el intelecto humano, de expresar formalmente problemas complejos y de resolverlos mediante laaplicación de reglas, hipótesis y teoremas. De ahí que el concepto de "programación lógica" resulte atractivo en diversos campos donde la programación tradicional es un fracaso.
Campos de aplicación: 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 unexperto 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.
La programación lógica también se utiliza en aplicaciones más "mundanas" pero de manera muylimitada, ya que la programación tradicional es más adecuada a tareas de propósito general.
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 únicateoría lógica de orden superior que es demostradamente computable (hasta el momento).
En qué consiste (ejemplo)
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üinoAnte dicho "programa" es posible establecer hipótesis que no son más que preguntas o incógnitas, por ejemplo:
¿"pichurri" vuela?
¿Qué mascotas vuelan ?....
Gracias a que la lógica de primer orden es computable, el ordenador será capaz de verificar la hipótesis, es decir, responder a las incógnitas:
Es cierto que "pichurri" vuela.
"pichurri" y "alegría" vuelan.
Obsérvese que elprograma lógico no solamente es capaz de responder si una determinada hipótesis es verdadera o falsa. También es capaz de determinar qué valores de la incógnita hacen cierta la hipótesis.
Este ejemplo es claramente académico. Sin embargo, consideremos el siguiente ejemplo: el sistema de control de semáforos de una ciudad.
El estado de cada uno de los semáforos (verde, rojo o ámbar) constituye loshechos del mundo real. El programa en sí consiste en unas pocas reglas de sentido común: determinados semáforos no pueden permanecer simultáneamente en verde, un semáforo solamente puede transitar de verde a ámbar y de ámbar a rojo, etc. La hipótesis es el estado en el que deberían estar cada uno de los semáforos en el siguiente instante de tiempo.
Éste es un ejemplo imposible de resolver...
Leer documento completo

Regístrate para leer el documento completo.

Estos documentos también te pueden resultar útiles

  • Programacion Logica
  • Programacion Logica
  • logica y programacion
  • lógica de programación
  • Programacion Logica
  • LOGICA DE PROGRAMACIÓN
  • LOGICA DE PROGRAMACION
  • Logica De Programacion

Conviértase en miembro formal de Buenas Tareas

INSCRÍBETE - ES GRATIS