Você está na página 1de 5

Unidad IV: Fundamentos de la programacin lgica

4.1. Repaso de la lgica de primer orden


La programacin lgica es un tipo de paradigmas de programacin dentro del
paradigma de programacin declarativa. El resto de los subparadigmas de
programacin

dentro

de

la

programacin

declarativa

son: programacin

funcional, programacin con restricciones, programas DSL (de dominio especfico)


e hbridos. La programacin funcional se basa en el concepto de funcin (que no
es ms que una evolucin de los predicados), de corte ms matemtico. La
programacin lgica gira en torno al concepto de predicado, o relacin entre
elementos.

4.2. Unificacin y resolucin


Para probar la existencia de algo:
Suponer lo opuesto y usar modus ponens y la regla de
eliminacin del cuanticador universal, para encontrar un
contra ejemplo al supuesto.
4.3. Clusulas de Horn. Resolucin SLD
Seleccionar

una

literal,

usando

una

estrategia Lineal,

restringido

clusulas Definitivas
Un caso especial de resolucin lineal
Resolucin lineal: el ltimo resolvente se toma como clusula padre
La otra clusula padre se toma de otro resolvente o del conjunto original

Una forma especial de resolucin lineal es: input resolution. En esta estrategia,
cada paso de resolucin, exceptuando el primero, se toma del ltimo resolvente
(clusulas metas) y del conjunto original (clusulas de entrada)
Input resolution es completa para clusulas de Horn, pero no para clusulas en
general
Una variante de resolucin de entrada es resolucin SLD para clusulas de Horn.
Resolucin de entrada se extiende con una regla de seleccin que determina en
cada paso que literal de la clusula meta es seleccionada.

e.g.,
, Meta:
Resolucin SLD es sound y complete para clusulas de Horn
La estrategia de bsqueda afecta el resultado
e.g.,

depth-first

con

diferente

orden

de

clusulas:

Meta:
Aunque resolucin SLD es sound y complete para clusulas de Horn, en la
prctica (por razones de eficiencia) se hacen variantes

eliminar el ``occur check'' de unificacin

usar un orden especfico

4.4. Programacin lgica con clusulas de Horn


En lgica proposicional, una frmula lgica es una clusula de Horn si es una
clusula (disyuncin de literales) con, como mximo, un literal positivo. Se llaman
as por el lgico Alfred Horn, el primero en sealar la importancia de estas
clusulas en 1951.
Esto es un ejemplo de una clusula de Horn:

Una frmula como esta tambin puede reescribirse de forma equivalente como
una implicacin:

Una clusula de Horn con exactamente un literal positivo es una clusula


"definite"; en lgebra universal las clusulas "definites" resultan (aparecen)
como cuasi-identidades. Una clusula de Horn sin ningn literal positivo es
a veces llamada clusula objetivo (goal) o consulta (query), especialmente
en programacin lgica.
Una frmula de Horn es una cadena textual (string) de cuantificadores
existentiales o universales seguidos por una conjuncin nde clusulas de
Horn.

4.5. Semntica de los programas lgicos


Observen que resolucion (incluso la SLD) no prescribe una
forma particular deresponder estas preguntas :
Qu tomo en una clausula objetivo debemos usar en la
resolucin?

Cul clusula denida se debe usar para la resolucin?

4.6. Representacin clausada del conocimiento


La representacin del conocimiento y el razonamiento es un rea de la inteligencia artificial cuyo
objetivo fundamental es representar el conocimiento de una manera que facilite la inferencia (sacar
conclusiones) a partir de dicho conocimiento. Analiza cmo pensar formalmente - cmo usar un
sistema de smbolos para representar un dominio del discurso (aquello de lo que se puede hablar),
junto con funciones que permitan inferir (realizar un razonamiento formal) sobre los objetos.
Generalmente, se usa algn tipo de lgica para proveer una semntica formal de como las
funciones de razonamiento se aplican a los smbolos del dominio del discurso, adems de proveer
operadores como cuantificadores, operadores modales, etc. Esto, junto a una teora de
interpretacin, dan significado a las frases en la lgica.
Cuando diseamos una representacin del conocimiento (y un sistema de representacin del
conocimiento para interpretar frases en la lgica para poder derivar inferencias de ellas) tenemos
que hacer elecciones a lo largo de un nmero de mbitos de diseo. La decisin ms importante
que hay que tomar es la expresividad de la representacin del conocimiento. Cuanto ms
expresiva es, decir algo es ms fcil y ms compacto. Sin embargo, cuanto ms expresivo es un
lenguaje, ms difcil es derivar inferencias automticamente de l. Un ejemplo de una
representacin del conocimiento poco expresiva es la lgica proposicional. Un ejemplo de una
representacin del conocimiento muy expresiva es la lgica autoepistmica. Las representaciones
del conocimiento poco expresivas pueden ser tanto completas como consistentes (formalmente
menos expresivas que la teora de conjuntos). Las representaciones del conocimiento ms
expresivas pueden ser ni completas ni consistentes.
El principal problema es encontrar una representacin del conocimiento y un sistema de
razonamiento que la soporte que pueda hacer las inferencias que necesite tu aplicacin dentro de
los lmites de recursos del problema a tratar. Los desarrollos recientes en la representacin del
conocimiento han sido liderados por la web semntica, y han incorporado el desarrollo de
lenguajes

estndares

incluyen Resource

de

Description

representacin

del

conocimiento

Framework (RDF), RDF

Language (DAML), y Web Ontology Language (OWL).

basados

Schema, DARPA

en XML,
Agent

que

Markup

4.7. Consulta de una base de clusulas

4.8. Espacios de bsqueda

4.9. Programacin lgica con nmeros, listas y rboles.


4.10. Control de bsqueda en programas lgicos
4.11. Manipulacin de trminos. Predicados metagicos.

Você também pode gostar