Вы находитесь на странице: 1из 32

Programacin III Programacin III

Programacin Lgica: Lgica Programacin Lgica: Lgica


Proposicional Proposicional
Universidad Nacional del Nordeste
Facultad de Ciencias Exactas
Contenidos
Introduccin
Problema
Sistemas de Produccin
Bsqueda
Programacin con Lgica Proposicional
Sintaxis
Consecuencia lgica
Resolucin Resolucin
Refutacin y Deduccin
rbol de Resolucin
Negacin
Resolucin SLD
Programacin con Lgica de Predicados
Sintaxis
Clusulas
Unificacin
Resolucin
ProLog
Ejemplos
Lgica
En la Lgica Formal se estudian los principios y mtodos a travs
de los cuales podemos determinar la validez de argumentos, desde
el punto de vista solamente de su estructura, sin tomar en cuenta el
contenido semntico de las expresiones de los argumentos.
Se puede decir que la Lgica es una herramienta para el anlisis Se puede decir que la Lgica es una herramienta para el anlisis
de la veracidad de argumentos en base slo a la estructura
correcta del razonamiento, su validez lgica, ms que la verdad o
falsedad de las proposiciones que la componen.
El anlisis de la veracidad de argumentos se realiza mediante
ciertos axiomas bsicos y ciertas reglas de deduccin.
Todos los hombres son mortales
Todos los investigadores son hombres
Todos los investigadores son mortales
Lgica II
Todos los investigadores son mortales
Argentina est en frica o Argentina est en Asia.
Argentina no est en Asia
En consecuencia, Argentina est en frica.
Lgica III
Si el tren llega tarde y no hay taxis en la estacin, entonces
Juan se retrasar a su cita. Juan no est retrasado para su cita. El
tren lleg tarde. Por lo tanto hay taxis en la estacin.
Si est lloviendo y Mara no tiene su paraguas, entonces se mojar.
Mara no est mojada. Est lloviendo. Por lo tanto Mara tiene su Mara no est mojada. Est lloviendo. Por lo tanto Mara tiene su
paraguas.
Si p y no q, entonces r. No r. p. Por lo tanto, q.
p
r
q
p
r
q
Lgica(s)
Valores de
Verdad
Lgicas
Multivaluadas
Lgica
Difusa
(Continuo)
Lgica
Proposicional
Clculo de
Predicados
Lgica de
2do Orden
Orden
Contexto
Lgica
Modal
Necesariamente
Posiblemente
Proposiciones
Las proposiciones son expresiones que pueden evaluarse a V o F.
Son expresiones declarativas y nunca interrogativas o imperativas.
Son Proposiciones No Son Proposiciones
Hay vida en la tierra.
La suma entre 2 y 5 es 7.
Todos los hombres de Colombia
son solteros.
Todo nmero natural mayor que 2
es la suma de dos nmeros
primos.
Los cantantes no duermen.
Comer mucho, engorda.
El hombre desciende del elefante.
Puedes pasarme la sal?
Teclea exit
Arriba Argentina!
Levntate temprano!
Has entendido lo que es una
proposicin?
Estudia esta leccin!
Preparados, listos, ya!
Son Proposiciones No Son Proposiciones
Proposiciones
Estudiaremos los principios para determinar la
validez de argumentos conformados con
proposiciones.
Proposiciones simples o tomos: p, q
Proposiciones compuestas: formadas por
proposiciones simples a travs de conectores
lgicos. p or q, r and s
Conectivos Lgicos
Operadores unarios:
NEGACION: not,
Operadores binarios: Operadores binarios:
CONJUNCION: and, .
DISYUNCION: or, v
CONDICIONAL: implicacin,
BICONDICIONAL: doble implicacin
Formulas Bien Formadas
Una frmula bien formada (fbf) es una expresin que
representa una proposicin simple o compuesta, la cual
esta bien escrita de acuerdo con determinada sintaxis.
Las reglas de la sintaxis del Clculo Proposicional: Las reglas de la sintaxis del Clculo Proposicional:
a) Un tomo es una frmula bien formada.
b) Si G es una frmula bien formada entonces G tambin lo es.
c) Si G y H son frmulas bien formadas, entonces tambin lo son:
G . H
G v H
G H
G H
d) Todas las fbf's se obtienen aplicando a, b y c.
Interpretacin
Asignacin de valores de verdad para las proposiciones de una
expresin.
El significado de una formula proposicional se puede expresar por
medio de una funcin:
=: prop {verdadero, falso}
La funcin = es una funcin de interpretacin que satisface: La funcin = es una funcin de interpretacin que satisface:
F G F F . G F v G F G F G
V V F V V V V
V F F F V F F
F V V F V V F
F F V F F V V
Interpretacin 2
Una frmula se dice vlida si es verdadera bajo cualquier
interpretacin (tautologa).
Una frmula es invlida si no es vlida.
Una frmula es insatisfascible o inconsistente si es falsa bajo
cualquier interpretacin (contradiccin), sino es satisfascible o
consistente. consistente.
Vlido Invlido
Siempre
verdadero
A veces V o F
Siempre
falso
Satisfacible Insatisfacible
Leyes de Equivalencia
(F) F
F . G G . F
F v G G v F
(F . G) . H G . (F . H)
(F v G) v H G v (F v H)
F y G son equivalentes si sus tablas de verdad tienen los mismos
valores de verdad.
(F v G) v H G v (F v H)
F v (G . H) (F v G) . (F v H)
F . (G v H) (F . G) v (F . H)
F G F G . G F
F G F v G
(F . G) G v F
(F v G) G . F
Consistencia Lgica
Es una propiedad de un conjunto de
axiomas.
Se dice que un conjunto de axiomas es Se dice que un conjunto de axiomas es
consistente si a partir de l no puede
deducirse simultneamente una
proposicin (p) y su contraria (p).
Consecuencia Lgica
Dadas las frmulas F
1
, , F
n
y una frmula G, se dice que G es una
consecuencia lgica de F
1
, , F
n
, si y solo si para cualquier
interpretacin I, en la cual F
1
, , F
n
es verdadera, G tambin lo es.
Pruebas
Dadas las frmulas F
1
, F
2
, , F
n
y una frmula G, G es una consecuencia
lgica de F
1
,F
2
, , F
n
, si y solo si:
Mtodo Directo
(F
1
. F
2
. . F
n
) G es vlida.
Mtodo Indirecto
(F
1
. F
2
. . F
n
) . G es inconsistente.
Definiciones
Literal Proposicional
Es una variable proposicional o la negacin de una
variable proposicional.
Un literal proposicional positivo es simplemente una variable
proposicional, proposicional,
Un literal proposicional negativo es la negacin de una
variable proposicional.
Clusula proposicional
Es una disyuncin de literales proposicionales.
Es una formula proposicional donde el nmero de literales
proposicionales estn conectados con el operador v.
Clusula de Horn
Clusula Proposicional de Horn
Es una clusula proposicional con un literal
positivo como mximo:
q (clausula unidad)
p
1
v ... v p
n
v q clusulas de programa
p
1
v ... v p
n
clusula meta
donde p
1
... p
n
, q son variables proposicionales.
Completitud
Sea un programa lgico P, y una clusula
q, que corresponde a una invocacin del
programa P.
Sea R una regla de inferencia.
Se dice que R es completa si se cumple que:
q es deducible lgicamente de P, utilizando R sii q
es consecuencia lgica de P.
Regla de Resolucin
(Robinson)
C1 v p, C2 v p
Res
C1 v C2
Tomemos por ejemplo una clusula C1 de tipo (3) y C2 de tipo (2):
Es una regla de inferencia que se utiliza en la programacin lgica para
realizar deducciones (es completa):
Tomemos por ejemplo una clusula C1 de tipo (3) y C2 de tipo (2):
C1 = q
1
v ... v q
n
C2 = r
1
v ... v r
m
v s
Podemos tener dos clusulas: C1 v p
C2 v p
Podemos escribirlas como: (q
1
. ... . q
n
) p
(r
1
. ... . r
m
. p) s
Lo que significa: (q
1
. ... . q
n
. r
1
. ... . r
m
) s
q
1
v ... v q
n
v r
1
v ... v r
m
v s
C1 v C2
Si las clusulas de programa se toman como hiptesis, puede la consulta deducirse de
estas hiptesis usando la regla de resolucin?

Dado un programa lgico P y una consulta Q, puede establecerse la deduccin


P Res Q?
Deduccin y Contradiccin
Refutacin - Reduccin al Absurdo
Una manera de realizar la prueba es la llamada prueba por contradiccin o
reduccin al absurdo.
Sea Q una frmula y P un conjunto de frmulas. Se dice que Q es deducible
lgicamente a partir de P, sii el conjunto formado por P y Q es
inconsistente.
Un sistema formal se dice consistente
si no se puede deducir del sistema F y
F. De lo contrario es inconsistente.
Deduccin
Si podemos inferir a partir de una clusula de programa
que una proposicin p es verdadera, podemos decir
que p tiene xito.
Si no podemos decir que p es verdadero, podemos Si no podemos decir que p es verdadero, podemos
decir que p falla. Esto no significa que p es falso;
significa simplemente que p no puede inferirse como
verdadero de las clusulas del programa dado.
Refutacin
1. Dado un Programa P. (Conjunto de clusulas de programa).
2. Agregaremos Q como una hiptesis y usaremos resolucin
para establecer una contradiccin en la forma de clusula vaca.
Una consulta (query) es una conjuncin de variables proposicionales y tiene Una consulta (query) es una conjuncin de variables proposicionales y tiene
la siguiente forma:
q
1
. ... . q
n
cuya negacin es q
1
v v q
n
3. Usando resolucin, la nica manera de obtener la clusula
vaca, es aplicando la regla de resolucin a la variable
proposicional p y p, en la cual tenemos una contradiccin.
La clusula vaca es denotado por .
Mundo Cerrado
(closed-world assumption)
Consideremos los siguientes ejemplos:
Un seor se encuentra con dos seoritas en la parada
de colectivos y le dice a una de ellas: Usted es muy
bonita bonita
La otra mujer tiene derecho a sentirse Menos bonita?
En la clase de Paradigmas, el profesor dice: Todos los
Jueves hay examen.
Significa esto que ningn otro da habr examen?
Ejemplo 1
Dado el Programa:
p v q v r
p
q
1. p v q v r
2. p Hiptesis
3. q
Es posible deducir r?.
Para ello agregamos la
consulta r como
hiptesis agregada.
3. q
4. r Hiptesis agr.
5. q v r Res por 1 y 2
6. r Res por 3 y 5
7. Res por 4 y 6
Ejemplo 2
(p . q . r) s
(t . w) r
p v q v r v s
t v w v r
Dado el programa P. Podemos deducir s del mismo?
(t . w) r
q
(v . r) p
t
v
v w
t v w v r
q
v v r v p
t
v
v v w
Ejemplo 2
1. p v q v r v s
2. t v w v r
3. q
4. v v r v p Hiptesis
5. t
6. v
7. v v w
8. s Hiptesis agregada 8. s Hiptesis agregada
9. p v q v r Res por 1 y 8
10. p v q v t v w Res por 2 y 9
11. p v t v w Res por 3 y 10
12. t v w v v v r Res por 4 y 11
13. w v v v r Res por 5 y 12
14. w v r Res por 6 y 13
15. v v r Res por 7 y 14
16. t v w v v Res por 2 y 15
17. w v v Res por 5 y 16
18. v Res por 7 y 17
19. Res por 6 y 18
rbol de Resolucin
Cada literal positivo
de la consulta se
considera como una
submeta, las cuales
son derivadas en
turno.
Cada submeta
s
p, q, r por clusula (a)
p, q, t, w por clusula (b)
p, t, w por clusula (c)
v, r, t, w por clusula (d)
a) (p . q . r) s
b) (t . w) r
c) q
d) (v . r) p
e) t
f) v
Cada submeta
coincidir con una
o ms clusulas de
programa.
La cola de cada
clusula elegida
nos da mas
submetas para
derivar
v, r, w por clusula (e)
r, w por clusula (f)
r, v por clusula (g)
t, w, v por clusula (b)
w, v por clusula (e)
v, v por clusula (g)
v por clusula (f)
xito por clusula (f)
f) v
g) v w
rbol de Resolucin
a) (p . q) r
b) w r
c) s w
d) p
e) s
r
s por clusula
(e)
q por clusula
(d)
p, q por clusula
(a)
w por clusula
(b)
xito por clusula
(e)
Falla
Backtracking
Negacin en Programacin
Lgica
Como vimos, los programas lgicos solo expresan informacin
positiva.
No es posible mostrar que un literal negativo es consecuencia de
un programa lgico.
Consideraremos cualquier consulta como falsa si no puede
derivarse del programa. derivarse del programa.
Esto se conoce con el nombre de Negacin por falla o por mundo
cerrado.
Una sentencia que no fue considerada, puede no necesariamente
ser falsa aunque la tcnica la considere falsa.
Si P es un programa proposicional, q es una consulta
y P q no puede establecerse, podemos deducir que
P q.
Negacin en Programacin
Lgica: Ejemplo
a) n q
b) (p . r . s) q
c) w q
d) u n
e) t r
f) p
q
n por w por p, r, s por
f) p
g) t
n por
clusula (a)
w por
clusula (c)
Falla
Falla
p, r, s por
clusula (b)
p, t, s por
clusula (e)
t, s por
clusula (f)
s por
clusula (g)
Falla
Podemos decir
que q se deriva
del programa.
u por
clusula (d)
Resolucin SLD
El uso de la funcin de seleccin con resolucin se denomina
Resolucin SLD (Selective Linear for Definite clauses)
Selecction Rule
Linear Resolution
Definite Clauses (Horn clauses) Definite Clauses (Horn clauses)
Es una estrategia de resolucin en la que se establece qu
clusula y qu literal sern seleccionados.
La regla de seleccin determina qu frmula atmica del objetivo
utilizar a la hora de generar un nuevo nivel en el rbol SLD. (izq der,
der izq.)
La regla de bsqueda determina cmo se seleccionan las clusulas
que unifican con una frmula atmica dada. (arr abj, abj arr)
Resolucin SLD: Ejemplo
1. (p . r . s) q
2. (p . w) q
3. w n
4. (p . t) n
s w
q, n, w
p, r, s, n, w p, w, n, w
r, s, n, w
t, s, n, w
w, n, w
w, n
5. s w
6. t r
7. p
8. t
9. s
w, w p, t, w w p, t
s, n, w
n, w
s, n
n
w
s
xito
t, w
w
s
s
xito
t
xito
xito

Вам также может понравиться