¿Qué es la programación lógica?
Se trata de paradigma de programación basado en gran medida en la lógica formal. Cada programa desarrollado en un lenguaje de programación lógica es una serie de frases formadas lógicamente que describen hechos y reglas sobre un tema concreto. Programación lógica pertenece a los lenguajes de programación declarativos y es la base para su aplicación en el ámbito de la aprendizaje automático y Inteligencia artificial.
Este tipo de programación es una rama de la programación informática que utiliza reglas lógicas formales. En cierto sentido, la programación lógica es la aplicación de ecuaciones matemáticas y otras construcciones lógicas para lograr resultados de programación.
Existe la programación orientada a objetos y la programación lógica inductiva:
- con la programación orientada a objetos, se pueden implementar requisitos reales en el sistema para extraer conclusiones realistas de ellos
- La programación lógica inductiva (ILP) es un área determinada del aprendizaje automático. Así, existe un procedimiento para crear automáticamente programas lógicos completos a partir de ejemplos
Uno de los representantes más importantes de la programación lógica es el lenguaje de programación Prolog. Los programas Prolog constan de una amplia base de conocimientos cuyas entradas son hechos y reglas. Un usuario puede formular consultas a esta base de conocimientos.
El intérprete Prolog puede utilizar hechos y reglas para encontrar sistemáticamente la respuesta adecuada. Existen resultados positivos y negativos. Con resultados positivos, una consulta puede derivarse lógicamente y con un resultado negativo, la base de datos no es capaz de encontrar una derivación.
¿En qué ámbitos se utiliza la programación lógica?
En Aplicaciones típicas de la programación lógica son los simuladores, generadores y sistemas de diagnóstico y pronóstico.. Se pueden encontrar aplicaciones en los campos de la inteligencia artificial, Bases de datos y sistemas expertos.
Otros ámbitos de aplicación son:
- En los negocios y el comercio:
Configurador de productos, planificador de rutas, simulación de mercados (como la fijación de precios) - Medicina:
Sistemas de diagnóstico - Matemáticas:
Comprobadores de teoremas y generadores de teoremas - ciencias naturales generales:
Evaluar y consultar colecciones de datos geológicos y meteorológicos, así como simuladores y sistemas de previsión meteorológica, sísmica y del nivel del agua. - Técnica:
CAD y CAM - Sociología
- Psicología
- Lingüística computacional:
Traducción automática lenguaje natural y reconocimiento y comprensión del lenguaje hablado - Tecnología informática:
Diseño y simulación de procesadores específicos y de circuitos - Construcción del compilador
- Juegos de ordenador:
comportamiento "inteligente" de los jugadores simulados, táctica y estrategia - Gestión de documentos:
Tratamiento sistemático de documentos estructurados, web semántica y XSLT - Creación rápida de prototipos
¿Qué es un ejemplo de programa?
Un lenguaje de programación declarativo siempre describe el resultado final deseado y, a continuación, permite determinar automáticamente la ruta de la solución. Esto siempre funciona bastante bien mientras el estado final esté claramente definido y exista un procedimiento de ejecución adecuado para él. Si se dan ambas condiciones, la programación declarativa es extremadamente eficiente.
El siguiente ejemplo ilustra la aplicación:
Programa:
mujer(monika).
mujer(karin).
mujer(susanne).
femenino(aline).
hombre(werner).
macho(klaus).
hombre(gerd).
macho(peter).
macho(dominique).
casado(werner, monika).
casado(gerd, renate).
casado(klaus, susanne).
madreDe(monika, karin).
madreDe(monika, klaus).
madreDe(renate, susanne).
motherFrom(renate, peter).
madreDe(susanne, aline).
madreDe(susanne, dominique).
humano(X).
Consultas:
?- hombre(gerd).
verdadero
?- casado(gerd, monika).
falso
...hombre.
verdadero