Escolar Documentos
Profissional Documentos
Cultura Documentos
Material Académico
Ingeniería de Sistemas
Laboratorios
Inteligencia Artificial
INTELIGENCIA ARTIFICIAL – –
– Programación Lógica - 1
© InfoConsulting, I.C. - S.A.C., Perú. - M.Sc. Ing. Carlos Alberto Chirinos Mundaca
I. ESTRUCTURAS BÁSICAS
1.1.¿Qué es Programación Lógica?
Propuesta por Kowalski en 1974 facilita la tarea de programación liberando al programador haciendo
una optimización de las dos componentes básicas de un algoritmo, Lógica y Control.
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. Se ha convertido en el pilar de una nueva generación de
lenguajes de programación.
Junto con la programación funcional forma parte de lo que se conoce como programación
declarativa, Como se irá explicando más adelante en los lenguajes tradicionales se intenta resolver
un problema mediante sentencias, en la programación lógica se trabaja de forma descriptiva,
estableciendo relaciones, y no indicando un cómo sino un qué hacer.
1.2.¿Cómo nació?
Los ordenadores siempre se han programado usando lenguajes con propiedades de la propia
maquina: aritmética simple, instrucciones de acceso…Un programa de estas características puede
ocultar su propósito a los ojos de un ser humano, incluso uno que maneje dichos lenguajes o
técnicas de programación. Estos lenguajes pertenecientes a la programación imperativa han
evolucionado de manera que ya no son tan difíciles de entender.
La lógica matemática es la manera más sencilla, para el ser humano, de expresar problemas y
resolverlos con la aplicación de reglas, hipótesis y teoremas. De ahí el éxito de la programación
lógica en campos donde la programación “de siempre” es un fracaso.
Este requerirá de un lenguaje que exprese en una forma sencilla y sin ambigüedad las expresiones
que representen las afirmaciones y conclusiones. Así nos basamos en expresiones y relaciones de la
forma que:
Así los programas se establecen como conjuntos de axiomas (base de conocimiento), expresados
mediante cláusulas de Horn, para la definición de predicados entre objetos.