You are on page 1of 23

Logica y Programacion

Programaci
on l
ogica proposicional

Antonia M. Chavez, Agustn Riscos, Carmen Graciani


Dpto. Ciencias de la Computacion e Inteligencia Artificial
Universidad de Sevilla

Refinando la Resolucion

Resoluci
on: mecanismo muy potente de demostracion
Alto grado de indeterminismo: computacionalmente

infeficiente
Desde el punto de vista pr
actico, podemos sacrificar

expresividad y ganar eficiencia.


Soluci
on: Restringir la forma de las clausulas y estudiar un

metodo de resoluci
on especfico para este tipo de clausulas

Secuentes

Sintaxis de secuente
p1 , . . . , pm q1 , . . . , qn con n 0, m 0, pi y qj smbolos
proposicionales
Cuerpo del secuente: {q1 , . . . , qn }
Cabeza del secuente: {p1 , . . . , pm }
Relaci
on entre secuentes, f
ormulas y clausulas
Secuente: p1 , . . . , pm q1 , . . . , qn
F
ormula: q1 qn p1 pm
Cl
ausula: {p1 , . . . , pm , q1 , . . . , qn }

Clausulas de Horn

Cl
ausulas de Horn
Cl
ausulas de Horn son las que no tienen mas de un literal
positivo
Un secuente representa una cl
ausula de Horn si su cabeza tiene
como maximo un elemento
Propiedades
Completitud de resoluci
on unidad para clausulas de Horn
Completitud de resoluci
on por entradas para clausulas de Horn

Clausulas de Horn

Clasificaci
on de clausulas de Horn:
Cl
ausula definida:
Regla: p q1 , . . . , qn con n > 0
Hecho: p
Objetivo definido:
Objetivo propio: q1 , . . . , qn con n > 0

Exito:

Las reglas engloban todos los casos:


Un hecho es una regla con cuerpo vaco
Un objetivo es una regla con cabeza vaca
El
exito es una regla con cabeza y cuerpo vacos

Sintaxis de programas logicos

Un programa l
ogico es un conjunto finito de clausulas

definidas
Ejemplo de programa l
ogico

p q, r
ps
r
q
p1 s
p2 s

Semantica declarativa

Base de Herbrand:
La base de Herbrand, BH(P), de un programa l
ogico, P, es el
conjunto de los smbolos proposicionales que aparecen en el
programa
Ejemplo:
p q, r
ps
r
BH(
) = {p, q, r , s, p1 , p2 }
q
p1 s
p2 s

Semantica declarativa

Modelos de Herbrand
Los modelos de Herbrand, MH(P), de un programa l
ogico P
son aquellos modelos que estan contenidos en la base de
Herbrand de P
Ejemplo:
p q, r
ps
r
{{p, q, r , s, p1, p2}, {p, q, r , p1, p2},
MH(
)=
q
{p, q, r , p1}, {p, q, r , p2}, {p, q, r }}
p1 s
p2 s

Semantica declarativa
Propiedades: Sea P un programa l
ogico
BH(P) |= P
La intersecci
on de modelos de P es modelo de P
Menor modelo de Herbrand
I es el menor modelo de Herbrand de P si I es un modelo de P
y es subconjunto
T de todos los modelos de P
MMH(P) = {I : I |= P} = {p : P |= p}
Ejemplo:
p q, r
ps
r
MMH(
) = {p, q, r }
q
p1 s
p2 s

Semantica de punto fijo


Operador de consecuencia inmediata

TP (I ) = {p : (p q1 , . . . , qn ) P y {q1 , . . . , qn } I }
Ejemplo:
Programa P:

p q, r
ps
r
q
p1 s
p2 s
Aplicaci
on del operador de consecuencia inmediata:
TP ({})
= {r , q}
TP ({r , q})
= {p, r , q}
TP ({p, r , q}) = {p, r , q}
Menor punto fijo: MPF(P) = {p, r , q}
Propiedad: MPF(P) = MMH(P)
Encadenamiento adelante

Resolucion SLD

SLDresoluci
on: resoluci
on Lineal con funci
on de Seleccion

para clausulas Definidas


Es un caso particular de la resoluci
on general, donde:
Los resolventes son siempre objetivos
Los programas son conjuntos de cl
ausulas de Horn, es decir,

hechos y reglas
Hay que seleccionar un
atomo al que aplicar la resolucion

Resolucion SLD

SLDresoluci
on: resoluci
on Lineal con funci
on de Seleccion

para clausulas Definidas


SLDresolventes
Objetivo: p1 , . . . , pii , pi , pi+1 , . . . , pn
cl
ausula: pi q1 , . . . , qm
SLDresolvente: p1 , . . . , pii , q1 , . . . , qm , pi+1 , . . . , pn
Ejemplo:
Objetivo: {q, r }, clausula: q p, s, SLDresolvente: {p, s, r }
Doble indeterminismo
Regla de computaci
on: Selecci
on del literal del objetivo
Regla de elecci
on: Selecci
on de la clausula del programa

Arbol de SLDresolucion
Ejemplo 1

p
C1

C1 :
C2 :
C3 :
C4 :
C5 :
C6 :

ps
p q, r
r
q
p1 s
p2 s

s
Fallo

C2
q, r
C4
r
C3

Arbol de SLDresolucion
Ejemplo 2
a

C1 : a e
C2 : e a
C3 : e

C1
e
C2

Ramas:

Exito
fallo
infinita

C1

Estrategias de

b
usqueda:
profundidad
anchura

C3

C2

C3

SLDresolucion
Ejemplo 1

p
C2

C1 :
C2 :
C3 :
C4 :
C5 :
C6 :

ps
p q, r
r
q
p1 s
p2 s

q, r
C4
r
C3

SLDresolucion
Ejemplo 2
a
C1
b, c
C2

C1 :
C2 :
C3 :
C4 :
C5 :

a b, c
b c, d
ce
d
e

c, d, c
C3
e, d, c
C5
d, c
C4
c
C3
e
C5

Resolucion SLD

SLDresoluci
on: resoluci
on lineal por entradas
Completitud de SLDresoluci
on
P un programa l
ogico
G = p1 , . . . , pn un objetivo
Son equivalentes:
P {G } `SLD {}
P {G } es inconsistente
P |= p1 pn

Procedimiento de SLDresolucion

Caractersticas:
Elecci
on de literal en objetivo: El primero
Elecci
on de la clausula: La primera que se equipare
Estrategia de b
usqueda: En profundidad

SLDresolucion acotada

Problema: ramas

infinitas

B
usqueda en profundidad

acotada
a

C1

C1

C2
Cota 2

C1
e
C2

Cota 1

C2

a
C1

Cota 3

C3

SLDresolucion en anchura

Problema: ramas infinitas

B
usqueda en anchura

C1

C1

e
C2
a

C1
e
C2

e
C3

C3

C2
a

C3

SLDresolucion con objetivos resueltos


Objetivos duplicados

C1 :
C2 :
C3 :
C4 :

p q, r
qs
r q
s

Con objetivos resueltos

p
C1

p
C1

{}

q, r
C2

q, r
C2

{}

s, r
C4

s, r
C4

{}

r
C3

r
C3

{s, q}

q
C2

{s, q}

s
C4

SLDresolucion con objetivos pendientes


Problema: ramas infinitas

Objetivos pendientes

a, {}

C1

C1

e
C2

a
C1
e
C2

e, {a}
C3

C3

C2
a, {e, a}

C3

Referencias
Lucas, P. y Gaag, L.v.d. Principles of Expert Systems

(AddisonWesley, 1991).
Cap. 2: Logic and resolution

Rich, E. y Knight, K. Inteligencia artificial (segunda edici


on)

(McGrawHill Interamericana, 1994).


Cap. 5: La l
ogica de predicados
Russell, S. y Norvig, P. Inteligencia artificial (un enfoque

moderno) (PrenticeHall, 1996).


Cap. 9: La inferencia en la l
ogica de primer orden
Cap. 10: Sistemas de razonamiento l
ogico

Winston, P.R. Inteligencia Artificial (3a. ed.)

(AddisonWesley, 1994).
Cap. 13: l
ogica y prueba de resoluci
on