Programación Lógica

Páginas: 23 (5742 palabras) Publicado: 21 de junio de 2014
Progamación Lógica
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 ?....
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 el programa lógico no solamente es capaz de responder si una determinada hipótesis es verdadera o falsa. También es capaz de determinar que 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, rojoo ámbar) constituye los hechos 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 ejemploimposible de resolver mediante programación tradicional, ya que la lógica subyacente al comportamiento de los semáforos en su conjunto queda enmascarada por simples órdenes imperativas del tipo "cambiar color de tal o cual semáforo".
Lenguajes[editar]
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 conrestricciones , que posibilita la resolución de ecuaciones lineales además de la demostración de hipótesis.
Bibliografía[editar]
Las siguientes referencias bibliográficas corresponden a literatura en inglés:
Programación con restricciones
La Programación por restricciones es un paradigma de la programación en informática, donde las relaciones entre las variables son expresadas en términos derestricciones (ecuaciones). Actualmente es usada como una tecnología desoftware para la descripción y resolución de problemas combinatorios particularmente difíciles, especialmente en las áreas de planificación y programación de tareas (calendarización).
Este paradigma representa uno de los desarrollos más fascinantes en los lenguajes de programación desde 1990 y no es sorprendente que recientementehaya sido identificada por la ACM (Asociación de Maquinaria Computacional) como una dirección estratégica en la investigación en computación.
Se trata de un paradigma de programación basado en la especificación de un conjunto de restricciones, las cuales deben ser satisfechas por cualquier solución del problema planteado, en lugar de especificar los pasos para obtener dicha solución.
Laprogramación con restricciones se relaciona mucho con la programación lógica y con la investigación operativa. De hecho cualquier programa lógico puede ser traducido en un programa con restricciones y viceversa. Muchas veces los programas lógicos son traducidos a programas con restricciones debido a que la solución es más eficiente que su contraparte.
La diferencia entre ambos radica principalmente en susestilos y enfoques en el modelado del mundo. Para ciertos problemas es más natural (y por ende más simple) escribirlos como programas lógicos, mientras que en otros es más natural escribirlos como programas con restricciones.
El enfoque de la programación con restricciones se basa principalmente en buscar un estado en el cual una gran cantidad de restricciones sean satisfechas simultáneamente. Unproblema se define típicamente como un estado de la realidad en el cual existe un número de variables con valor desconocido. Un programa basado en restricciones busca dichos valores para todas las variables.
Algunos dominios de aplicación de este paradigma son:
• Dominios booleanos, donde solo existen restricciones del tipo verdadero/falso.
• Dominios en variables enteras y racionales.
•...
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