Download Lógica - webart2010

Document related concepts

Programación lógica wikipedia , lookup

Mercury (lenguaje) wikipedia , lookup

Representación del conocimiento wikipedia , lookup

Demostración automática de teoremas wikipedia , lookup

Prolog wikipedia , lookup

Transcript
La programación lógica se basa en la sintaxis de la
lógica de primer orden, originalmente propuesta por
Gottlob Frege en la segunda mitad del siglo XIX y
modificada a su forma actual por Giuseppe Peano y
Bertrand Russell. En la década de los anos treinta,
Kurt Goedel y Jacques Herbrand estudiaron la
noción de computabilidad basada en derivaciones.
Su trabajo puede verse como el origen de la
“computación como deducción”.Treinta años mas
tarde, Alan Robinson publicó su artículo fundacional
sobre la demostración automática. En este trabajo
se introduce el principio de resolución, la noción de
unificación y un algoritmo de unificación.
Y es que, si bien el paradigma de la programación
lógica tiene sus raıces en la demostración
automática de teoremas, de donde tomo la noción
de deducción, presenta una novedad importante: en
el proceso de demostración algunos valores serán
computados. Pero otro paso era necesario para
vislumbrar como es posible computar en este marco.
En 1974, Robert Kowalski introduce la noción de
programas lógicos con una forma restringida de
resolución. La sintaxis propuesta por Kowalski era
más restringida que la de Robinson, pero tenia un
efecto colateral sobre la forma de una substitución
satisfactoria. Esta substitución puede verse como el
resultado de una computación, y en consecuencia,
ciertas formulas lógicas (cláusulas de Horn) pueden
interpretarse como programas. El trabajo de
Kowalski termino un debate del todo relevante para
nosotros: dadas las metas de la inteligencia artificial
¿El conocimiento debe representarse de forma
declarativa o procedimental? Si la forma
declarativa era la adecuada, tal como defendía John
McCarthy, la realización de la inteligencia artificial
pasaba por representar el conocimiento en calculo
de predicados e implementar procedimientos de
prueba eficientes sobre este lenguaje; Si la forma
procedimental era la adecuada, entonces tal
realización pasaba por la implementación de
procedimientos organizados como una sociedad de
agentes que compiten y cooperan, tal como lo
resume Marvin Minsky. Los programas lógicos
de Kowalski tienen evidentemente una interpretación
declarativa, pero también procedimental.
Entre 1971 y 1973 Kowalski y Colmeraruer
colaboraron intensamente, concluyendo
con la creación de Prolog en 1973. Prolog puede
verse como la realización practica del concepto de
programa lógico.
Paradigma lógico:
El paradigma lógico tiene como característica
principal la aplicación de las reglas de la lógica para
inferir conclusiones a partir de datos. Conociendo la
información y las condiciones del problema, la
ejecución de un programa consiste en la búsqueda
de un objetivo dentro de las declaraciones
realizadas. Esta forma de tratamiento de la
información permite pensar la existencia de
“programas inteligentes” que puedan responder, no
por tener en la base de datos todos los
conocimientos, sino por poder inferirlos a través de
la deducción.
Lógica:
La lógica es un lenguaje formal mediante el cual es
posible representar fórmulas llamadas axiomas, que
permiten describir fragmentos del conocimiento y,
además consta de un conjunto de reglas de
inferencia que aplicadas a los axiomas, permiten
derivar nuevo conocimiento.
Related documents