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

Agentes Lgicos

CAPITULO 7
Lgica proposicional
Facundo Bromberg
Inteligencia Artificial, UTN-FRM
2011

Pensamiento Racional
Sistemas que:

Piensan
como
Actuan
como

14 de Abril 2011

Humanos
Ciencias cognitivas

Prueba de Turing

Facundo Bromberg - Dharma Lab (c)

Racionalmente
Silogismos
Lgica

Agente Racional
(caps 3, 4, 5)

Introduccin
Discutiremos conceptos centrales de la IA:
Representacin de conocimiento
Razonamiento
Ya vimos la importancia que tiene el conocimiento (KE) en
bsquedas:
Espacio de estados (funcin sucesor) codifca la
fsica comportamiento del entorno.
Esto permite al agente decidir que es bueno (i.e.,
maximizar su rendimiento, i.e., ser racional).
14 de Abril 2011

Facundo Bromberg - Dharma Lab (c)

Introduccin
Dificultad 1: el conocimiento (e.g., espacio de estados)
puede ser exponencial
Solucin: almacenar un poco de conocimiento K e inferir
nuevo conocimiento K' a partir de K.
Ejemplo 1: Si llueve entonces cae agua del cielo. Paraguas frena
agua del cielo. El hombre esta debajo del paraguas. Entonces No
cae agua al hombre
Ejemplos 2: a+2=b, b=3, entonces a=1
=> No cae agua al hombre y a=1 conocimiento inferido, osea, no
es necesario almacenarlo.

En la prctica es posible que |K'| exponencialmente mayor que


|K|.
14 de Abril 2011

Facundo Bromberg - Dharma Lab (c)

Introduccin
Dificultad 1: el conocimiento (e.g., espacio de estados)
puede ser exponencial
Solucin: almacenar un poco de conocimiento K e inferir
nuevo conocimiento K' a partir de K.
Ejemplo 1: Si llueve entonces cae agua del cielo. Paraguas frena
agua del cielo. El hombre esta debajo del paraguas. Entonces No
cae agua al hombre
Ejemplo 2: a+2=b, b=3, entonces a=1
=> No cae agua al hombre y a=1 son conocimiento inferido,
osea, no es necesario almacenarlo.

En la prctica es posible que |K'| exponencialmente mayor que


|K|.
14 de Abril 2011

Facundo Bromberg - Dharma Lab (c)

Introduccin
Dificultad 1: el conocimiento (e.g., espacio de estados)
puede ser exponencial
Solucin: almacenar un poco de conocimiento K e inferir
nuevo conocimiento K' a partir de K.
Ejemplo 1: Si llueve entonces cae agua del cielo. Paraguas frena
agua del cielo. El hombre esta debajo del paraguas. Entonces No
cae agua al hombre
Ejemplo 2: a+2=b, b=3, entonces a=1
=> No cae agua al hombre y a=1 son conocimiento inferido,
osea, no es necesario almacenarlo.

En la prctica es posible que |K'| sea exponencialmente mayor


que |K|.
14 de Abril 2011

Facundo Bromberg - Dharma Lab (c)

Introduccin
Dificultad 2: entornos parcialmente observables
Solucin: Utilizar conocimiento observable K para inferir
conocimiento oculto K'.
Ejemplo:
Mdico observa sintomas.
Infiere (diagnostica) enfermedad (que no es directamente
observable).

14 de Abril 2011

Facundo Bromberg - Dharma Lab (c)

Introduccin
Dificultad 2: entornos parcialmente observables
Solucin: Utilizar conocimiento observable K para inferir
conocimiento oculto K'.
Ejemplo:
Mdico observa sintomas.
Infiere (diagnostica) enfermedad (que no es directamente
observable).

14 de Abril 2011

Facundo Bromberg - Dharma Lab (c)

Introduccin
Dificultad 3: Como introducimos cambios en la
formulacin del problema (nuevos objetivo/s, nuevas
acciones, costos, cambios en sucesores), sin
recompilar?
Solucin: Definir un lenguaje para expresar conocimiento
(objetivos, acciones, costos), i.e., sentencias que describen
el mundo y sus estados en forma explicita.
Ejemplo:
8-puzzle. Lenguaje: lgica proposicional permite describir
estados sucesores en forma general.

Vecino A,B Vacio B Sucesor A,B


14 de Abril 2011

Facundo Bromberg - Dharma Lab (c)

Introduccin
Dificultad 3: Como introducimos cambios en la
formulacin del problema (nuevos objetivo/s, nuevas
acciones, costos, cambios en sucesores), sin
recompilar?
Solucin: Definir un lenguaje para expresar conocimiento
(objetivos, acciones, costos), i.e., sentencias que describen
el mundo y sus estados en forma explicita.
Ejemplo:
8-puzzle. Lenguaje: lgica proposicional permite describir
estados sucesores en forma general.

Vecino A,B Vacio B Sucesor A,B


14 de Abril 2011

Facundo Bromberg - Dharma Lab (c)

10

Introduccin
Dificultad 3: Como introducimos cambios en la
formulacin del problema (nuevos objetivo/s, nuevas
acciones, costos, cambios en sucesores), sin
recompilar?
Solucin: Definir un lenguaje para expresar conocimiento
(objetivos, acciones, costos), i.e., sentencias que describen
el mundo y sus estados en forma explicita.
Ejemplo:
8-puzzle. Lenguaje: lgica proposicional permite describir
estados sucesores en forma general.

Vecino A,B Vacio B Sucesor A,B


14 de Abril 2011

Facundo Bromberg - Dharma Lab (c)

11

El mundo de Wumpus

Wumpus

14 de Abril 2011

Facundo Bromberg - Dharma Lab (c)

12

Descripcin REAS
Rendimiento
+1000 oro, -1000 pozo o wumpus,
-1 por accin, -10 por lanzar flecha.
Entorno
Matriz de 4x5.
Inicio en [1,1] y orientacin derecha
Posicin de Wumpus y Oro escogidas aleatoriamente
Con probabilidad 0.2 casillas contienen ollos
Celda adyacente a Wumpus apesta.
Celda adyacente a agujero tiene briza
Resplandor si y solo si en la celda que contiene el oro
Disparo mata al wumpus solo si agente esta orientado hacia wumpues.
Disparo utiliza la unica flecha
Agarrar recoge el oro solo si en la misma celda
Soltar deja el oro en la misma celda.
Intento de atravezar muro produce golpe
Wumpues grita cuando muere y se escucha en toda la cueva
Actuadores
Agarrar, Disparar, Avanzar, girar izquierda, girar derecha, Soltar
Sensores [Hedor, Briza, Resplandor, Golpe, Grito]
14 de Abril 2011

Facundo Bromberg - Dharma Lab (c)

13

Caracterizacin Mundo Wumpus


Observable? No, solo percepcin local
Determinista? Si, accin determina estado
Episdico? No, secuencial a nivel de acciones.
Esttico? Si, Wumpus y agujeros no se mueven.
Discreto? Si
Agente simple? Si, Wumpus no es un agente.

14 de Abril 2011

Facundo Bromberg - Dharma Lab (c)

14

Por qu no busqueda?
Por ser NO observable, debemos actuar para conocer el
mundo (e.g., funcin sucesor),
i.e., no es posible encontrar objetivo sin explorar.
Por ejemplo:
Cual es el estado sucesor del inicial cuando el agente
avanza?
Acciones son caras (hasta mortales!),
inferencia lgica nos puede
ahorrar acciones.

14 de Abril 2011

Facundo Bromberg - Dharma Lab (c)

15

Porque no busqueda?
Por ser NO observable, debemos actuar para conocer el
mundo (e.g., funcin sucesor),
i.e., no es posible encontrar objetivo sin explorar.
Por ejemplo:
Cual es el estado sucesor del inicial cuando el agente
avanza?
Estado inicial (no-observable)

14 de Abril 2011

Esto no es lo que v el agente

Estado inicial (observable)

Facundo Bromberg - Dharma Lab (c)

Esto si es lo que v el agente

Estado sucesor

16

Explorando el Mundo de Wumpus

[1,1] Inicialmente, la KB contiene las reglas del entorno. La primer


percepcin es [Nada,Nada,Nada,Nada,Nada]. Se mueve a una celda
segura, e.g. [2,1]
[2,1] Brisa que indica que hay un agujero en [2,2] o [3,1]. Accin de
retornar a [1,1] para intentar con la otra celda segura.
14 de Abril 2011

Facundo Bromberg - Dharma Lab (c)

17

Explorando el mundo de Wumpus

[1,2] Hedor en celda: wumpus en [1,3] o [2,2]


SIN EMBARGO no en [1,1]
SIN EMBARGO no en [2,2] o hedor se hubiera detectado en [2,1]
ENTONCES wumpus en [1,3]
ENTONCES [2,2] es segura por no haber Brisa en [1,2]
ENTONCES agujero en [1,3]
mover a siguiente celda segura: [2,2]
14 de Abril 2011

Facundo Bromberg - Dharma Lab (c)

18

Explorando el mundo de Wumpus

[2,2] se mueve a [2,3] (no explicamos aqu la razn)


[2,3] detecta resplandor, hedor y briza
ENTONCES recoge el oro
Nota: cada ves que el agente saca una conclusin a partir de informacin
disponible, el razonamiento lgico garantiza que dicha conclusin es correcta,
siempre y cuando las premisas son correctas.
14 de Abril 2011

Facundo Bromberg - Dharma Lab (c)

19

Qu es lgica?
Un lenguaje formal

20'

Sintxis: que expresiones son legales (bien formadas)


Semntica que significan las expresiones bien formadas
En lgica proposicional, el significado esta dado por el valor de verdad de cada
sentencia en cada uno de los mundos posibles (es decir, si lo que afirma la
sentencia ocurre o n en ese mundo, detalles mas adelante).

Ejemplo de Sintaxis del lenguaje aritmtico:


x+2 >= y es una sentencia sintacticamente correcta, x2 + y no lo es

Ejemplo de Semntica del lenguaje aritmtico:


x+2 >= y es verdadero en un mundo donde x= 7 e y= 1
x+2 >= y es falso en un mundo donde x= 0 e y= 6

14 de Abril 2011

Facundo Bromberg - Dharma Lab (c)

20

Qu es semntica?
Semntica indica que significa cierta sentencia del lenguaje.
Por significa nos referimos a que estado del mundo esta
haciendo referencia la sentencia.
Ejemplificar esto es dificil ya que no podemos poner estados
del mundo en el papel. Todo lo que incluyamos aqu sern
mas punteros, pero no la cosa real. (pedir al profe ejemplo)

14 de Abril 2011

Facundo Bromberg - Dharma Lab (c)

21

Qu es semntica?
Ejemplificar esto es dificil ya que no podemos poner estados
del mundo en el papel. Todo lo que incluyamos aqu sern
mas punteros, pero no la cosa real. (pedir al profe ejemplo)
Ejemplos (suponiendo que aquello significado (derecha) es
elmundo real:

14 de Abril 2011

Facundo Bromberg - Dharma Lab (c)

22

Que es semntica?
Ejemplificar esto es dificil ya que no podemos poner estados
del mundo en el papel. Todo lo que incluyamos aqu sern
mas punteros, pero no la cosa real. (pedir al profe ejemplo)
Ejemplos (suponiendo que aquello significado (derecha) es
elmundo real:
(R2D2)

( )

(Llueve afuera)

14 de Abril 2011

Facundo Bromberg - Dharma Lab (c)

23

Semntica de lgica
proposicional (LP)
En LP, el significado de una sentencia esta dado por el valor de
verdad en cada uno de los mundos posibles.
Un mundo posible (o modelo) esta dado por una asignacin de
verdad a cada proposicin (ver detalles adelante)
Un mundo posible no es otra cosa que la representacin (lgica) de
un estado.
Es decir, se hace referencia a un estado del mundo indicando
aquellos mundos en donde la sentencia es verdadera:
Ejemplo:
Sentencia: Llueve y hay sol
Mundos posibles: <Llueve, hay sol, y truena>, <Llueve, hay sol, y
juega Boca vs. River>
14 de Abril 2011

Facundo Bromberg - Dharma Lab (c)

24

Semntica de lgica
proposicional
En LP, el significado de una sentencia esta dado por el valor de
verdad en cada uno de los mundos posibles.
Un mundo posible (o modelo) esta dado por una asignacin de
verdad a cada proposicin (ver detalles adelante)
Un mundo posible no es otra cosa que la representacin (lgica) de
un estado.
Es decir, se hace referencia a un estado del mundo indicando
aquellos mundos en donde la sentencia es verdadera:
Ejemplo:
Sentencia: Llueve y hay sol
Mundos posibles: <Llueve, hay sol, y truena>, <Llueve, hay sol, y
juega Tomba vs. Tigre>
14 de Abril 2011

Facundo Bromberg - Dharma Lab (c)

25

Entailment ( implicar)

(no existe traduccin de entailment)


Una cosa sigue de (conlleva a) la otra

KB |=

KB entails si y solo si es
verdadera en los mundos
donde KB es verdadera (i.e.,
En todo mundo donde KB es verdadera,
tambin lo es).

Mundos
donde
KB es
verdadera
M(KB)
mundos
donde es
verdadera
M()

.g. x+y=4 entails 4=x+y


La relacin de entailment es una
relacin entre sentencias que esta basada en su
semntica.
14 de Abril 2011

Facundo Bromberg - Dharma Lab (c)

26

Modelos
Logistas piensan en trmino de modelos
Modelos: mundos estructurados formalmente que
permiten una evaluacin de su veracidad.
Veracidad de un modelo: corresponde este modelo
con el mundo real?
Jerga: m es un modelo de una sentencia si y solo si
es verdadera en m.
Notacin: M() es el conjunto de modelos de .
Ejemplo: : x+y=3. Entonces [x=1, y=2] es un
modlo de . Es ms, M() = {[x=0, y=3], [x=1, y=2],
[x=2, y=1], [x=3, y=0]}
14 de Abril 2011

Facundo Bromberg - Dharma Lab (c)

27

Modelo (simplificado)
del mundo de Wumpus
Consideremos situacin luego de:
detectar nada en [1,1]
mover derecha
brisa en [2,1]

Objetivo: detectar si hay abismo en ?s.


3 posibilidades booleanas => 8 modelos posibles
14 de Abril 2011

Facundo Bromberg - Dharma Lab (c)

28

Modelos del mundo de


Wumpus

14 de Abril 2011

Facundo Bromberg - Dharma Lab (c)

29

Modelo del mundo de


Wumpus

KB = Reglas del mundo de Wumpus + observaciones


14 de Abril 2011

Facundo Bromberg - Dharma Lab (c)

30

Modelo del mundo de


Wumpus

KB = Reglas del mundo de Wumpus + observaciones


1= no hay abismo en [1,2],
entonces, KB |= 1, demostrado por comprobacin de modlos
14 de Abril 2011

Facundo Bromberg - Dharma Lab (c)

31

Modelo del mundo de


Wumpus

KB = Reglas del mundo de Wumpus + observaciones


2= no hay abismo en [2,2],
entonces, KB |= 2, demostrado por comprobacin de modlos
14 de Abril 2011

Facundo Bromberg - Dharma Lab (c)

32

Inferencia Lgica
Inferencia lgica es un proceso de razonamiento que
permite derivar el valor de verdad de nuevas
sentencias.
La relacin de entailment (|=) puede usarse para
inferencia lgica
Inferencia por comprobacin de modelos: enumerar todos los mundos posibles y
chequear si es verdadero en todos lo modelos en los que KB lo es.

14 de Abril 2011

Facundo Bromberg - Dharma Lab (c)

33

Inferencia Lgica
Solidez: Un algoritmo de inferencia es slido si toda
sentencia que produce es entailed por KB, es decir,
satisface KB |= para toda sentencia inferida.
De lo contrario se estara inventando cosas

i es slido si siempre que KB |-i es tambin cierto que KB|=

Completitud: el algoritmo deriva toda sentencia que es


entailed por KB.
i completo si siempre que KB |= es cierto que KB|-i

14 de Abril 2011

Facundo Bromberg - Dharma Lab (c)

34

Visin esquemtica
40'

entails

Se sigue

Si KB es verdadera en el mundo real, entonces toda sentencia


derivada de KB por un procedimiento de inferencia slido es tambin
verdadera en el mundo real.
14 de Abril 2011

Facundo Bromberg - Dharma Lab (c)

35

Lgica Proposicional

14 de Abril 2011

Facundo Bromberg - Dharma Lab (c)

36

Lgica Proposicional
Derivaremos sintxis y semntica.
Luego relacin de entailment.
Por ltimo, derivacin de algoritmo de inferencia.

14 de Abril 2011

Facundo Bromberg - Dharma Lab (c)

37

Sintxis
Sentencias atmicas (elementos sintcticos indivisibles):
simbolo proposicional (e.g., P, Q, R).
Pueden tomar solo valor verdadero y falso.
Ejemplo: W1,3 simbolo proposicional que representa que el
Wumpus esta en la casilla [1,3].
Existen simbolos con valor prefijado: Verdadero y Falso.
(verdadera y falsa en todos los mundos, respectiv.)

14 de Abril 2011

Facundo Bromberg - Dharma Lab (c)

38

Sintxis
Sentencias complejas: sentencias atmicas +
conectivas lgicas:
(no, negacin): W1,3 simboliza que no hay Wumpus en [1,3]
(y). Se denomina conjuncin.
(o). Se denomina disjuncin.
=> (implica). P => Q se lee P implica Q. P es el antecedente y Q es el
consecuente.
<=> (si y solo si, iff). Bicondicional o doble implicancia.
Precedencia: , , , => y <=>.
Ejemplo: P Q R => S es equivalente a ((P) (Q R)) => S
14 de Abril 2011

Facundo Bromberg - Dharma Lab (c)

39

Semntica
La semntica define reglas para determinar el valor
de verdad de una sentencia (dado un modelo).
En la lgica proposicional, modelos definidos
por valor de verdad de cada proposicin.
E.g., para simbolos P,Q,R, un modelo m sera
{P=verdadero, Q=falso, R=verdadero}.
Osea, 2=8 modelos
Dado un modelo, como deducimos el valor de
verdad (semntica) de una sentencia lgica?
14 de Abril 2011

Facundo Bromberg - Dharma Lab (c)

40

Semntica
Sentencias atmicas:
Verdadero es verdadero en todos los modelos.
Falso
es falso
en todos los modelos.
El valor de verdad de un simbolo proposicional esta
dado directamente por el modelo.
Ejemplo: En el modelo {P=verdadero, Q=falso}, el
valor de verdad de P es verdadero.
Semntica de sentencias complejas: se utilizan
tablas de verdad.
14 de Abril 2011

Facundo Bromberg - Dharma Lab (c)

41

Semntica. Tablas de verdad


P

falso
falso
verdadero
falso
false
verdadero
verdadero verdadero

P
verdadero
verdadero
falso
falso

P Q

P Q

falso
falso
falso
verdadero
falso
verdadero
verdadero verdadero

P => Q

P <=> Q

verdadero
verdadero
falso
verdadero

verdadero
falso
falso
verdadero

Ejemplo: considere el modlo {P=verdadero, Q=falso, R=verdadero, S=verdadero}


(P Q) (S T) = (verdadero falso) (verdadero verdadero)
= (falso verdadero) = verdadero
(P => Q) = (verdadero => falso) = falso = verdadero
V-VERDAD-LP?(s,m) Algoritmo recursivo para evaluar la verdad de sentencia s
en modelo m.
14 de Abril 2011

Facundo Bromberg - Dharma Lab (c)

42

KB para Wumpus
Solo hechos y reglas referentes a Hoyos. Mismos pasos que Ejemplo (Sec. 7.3)
Vocabulario de simbolos proposicionales:
Hi,j verdadero si hay hoyo en [i,j]
Bi,j verdadero si hay brisa en [i,j]
Reglas:
No hay hoyo en casilla [1,1].
R1 : H1,1
Hay brisa iff (si y solo si) hay hoyo en casilla vecina.
R2 : B1,1 <=> (H1,2 v H2,1 )
R3: B2,1 <=> (H1,1 v H2,2 v H3,1 )
Percepciones (de brisas):
R4: B1,1
R5: B2,1
14 de Abril 2011

KB = R1 ^ R2 ^ R3 ^ R4 ^ R5

Facundo Bromberg - Dharma Lab (c)

43

Tabla de Verdad para Inferencia

Buscamos saber si KB |= (e.g., H2,2 ).

1er Algoritmo de inferencia usa definicin de |=: enumerar modelos y averiguar si


es verdadera en cada modelo en el que la KB lo es:
H1,1

H1,2

H2,1

H2,2

H3,1

ERRATA: Figura
7.9
p.234
Reemplazar P
por H en los
encabezados de
las columnas de
la tabla.

H1,2 verdadera en los 3 modelos en que KB es verdadera: podemos inferir H1,2 .

No ocurre lo mismo con H2,2 . No podemos inferir H2,2 .

22 de Abril 2009

Facundo Bromberg (c)

44

Inferencia por enumeracin

La enumeracin primero en profundidad de todos los modelos es


slida y completa.

Para n smbolos, complejidad temporal es O(2n), y espacial O(n).


ERRATA: Primer llamado recursivo (penltimo renglon) llama a
CHQUEAR-TV y debera llamar a COMPROBAR-TV.

22 de Abril 2009

Facundo Bromberg (c)

45

Equivalencia lgica
Definicin: Dos sentencias , son logicamente
equivalentes (significan lo mismo), denotado , sii (iff)
son verdaderas en los mismos modelos:
Teorema:
Demostracin:

22 de Abril 2009

Facundo Bromberg (c)

46

Equivalencias lgicas

22 de Abril 2009

Facundo Bromberg (c)

47

Validez, => vs.


Definicin: Una sentencia es vlida (tautologa) si es
verdadera en todos los modelos. E.g.,
Teorema (de la deduccin): Para cualquier par de
sentencias
si y solo si la sentencia
es vlida.
Demostracin:

Donde el ltimo paso se puede comprobar observando la


tabla de verdad de la implicacin =>.
22 de Abril 2009

Facundo Bromberg (c)

48

Satisfacibilidad
Definicin: Una sentencia es satisfactoria si es verdadera
para algn modelo. E.g., En fig. 7.9,
es satisfactoria ya que es verdadera en tres modelos.
Demostrar la satisfacibilidad de una sentencia es un
problema dificil de resolver (primero en demostrarse NPcompleto!).
Interesantemente, CSPs (y bsquedas) puede reducirse a
problemas de satisfacibilidad en LP.

22 de Abril 2009

Facundo Bromberg (c)

49

Reglas de inferencia
Utilizadas para hacer inferencia de manera mas eficiente
que enumeracin de modelos.
Modus ponens:

Eliminacin- :

Equivalencias como reglas de inferencia:

Todas las equiv. lgicas pueden usarse en ambos sentidos, pero no necesariamente todas las reglas de inferencia
22 de Abril 2009

Facundo Bromberg (c)

50

Modus ponens. Demostracin


de solidez.
Modus ponens:

Demostracin: Usando teorema de la deduccin,


equivalencias lgicas y definicin de validez.

Es decir, verdadero en todos los modelos.


22 de Abril 2009

Facundo Bromberg (c)

51

Validez vs Satisfacibilidad
Lemma auxiliar:
es vlida si y solo si
Demostracin: omitida, aunque trivial.

es insatisfacible

Teorema:
Demostracin:
//Teorema de la deduccin
// Lema auxiliar

14 de Abril 2011

Facundo Bromberg - Dharma Lab (c)

52

Resolucin
Un algoritmo de demostracin que utilice como
base un algoritmo de bsqueda completo (e.g.
BPI) no necesariamente es completo.
Esto depende de las reglas de inferencia que use.
(e.g., eliminando bicondicional imposibilita
probar
, p. 237)
Resolucin: regla de inferencia completa.
Intuitivamente: si hay hollo en [1,1] o en [3,1], y
no hay hoyo en [1,1], entonces hay uno en [3,1]
14 de Abril 2011

Facundo Bromberg - Dharma Lab (c)

53

Resolucin Unitaria
Literal: proposicin o su negacin.
Clusula: disjuncin de literales.
Clusula unitaria: disjuncin de un solo literal.
Resolucin unitaria:

Donde y son literales complementarios.


Toma clusula + literal y devuelve clusula.
14 de Abril 2011

Facundo Bromberg - Dharma Lab (c)

54

Resolucin General
Resolucin general:

donde

son complementarios

Toma dos clusulas y genera una clusula nueva


con los literales originales, menos los
complementarios. Versin simplificada:

14 de Abril 2011

Facundo Bromberg - Dharma Lab (c)

55

Forma normal conjuntiva (CNF)


Resolucin solo se puede aplicar a conjunciones
de clusulas, i.e., conjunciones de disjunciones
de literales. E.g.
A estas sentencias se dice que estan en forma
nomal conjuntiva (CNF, siglas en ingls).
Afortunadamente, se puede demostrar (ej 7.10)
que toda sentencia proposicional es equivalente
a un sentencia en CNF. Lo demostramos con un
mtodo.
14 de Abril 2011

Facundo Bromberg - Dharma Lab (c)

56

Mtodo de conversin a CNF

70'

B1,1 (H1,2 H2,1)


1. Eliminar , replazando con ( )( ).
(B1,1 (H1,2 H2,1)) ((H1,2 H2,1) B1,1)

2. Eliminar , replazando con .


(B1,1 H1,2 H2,1) ((H1,2 H2,1) B1,1)

3. Mover hacia adentro usando la regla de de Morgan y


la de doble-negacin:
(B1,1 H1,2 H2,1) ((1,2 2,1) B1,1)

4. Aplicar la distribucin de sobre :


(B1,1 H1,2 H2,1) (1,2 B1,1) (2,1 B1,1)

Dificil para humanos, facil para computadoras (resolucin).


14 de Abril 2011

Facundo Bromberg - Dharma Lab (c)

57

Mtodos de demostracin
Los mtodos de demostracin de entailment se dividen en
dos tipos:
Aplicacin secuencial de reglas de inferencia
Puede usarse las reglas de inferencia para generar sucesores en algoritmos de
bsqueda.
Tipicamente requiere transformar sentencias a una forma normal.
Se ahorra enumerar proposiciones irrelevantes (va poda del arbol)
Ejemplos son los algoritmos de inferencia mostrados a continuacion: algoritmo
de resolucin, encadenamiento hacia adelante/atrs .

Comprobacin de modelos
Enumeracin de la tabla de verdad (siempre exponencial en n)
Vuelta atrs, e.g., Davis--Putnam-Logemann-Loveland (DPLL)
Bsqueda local, e.g. ascencin de colinas, en espacio de modelos.(slido pero
incompleto)
14 de Abril 2011

Facundo Bromberg - Dharma Lab (c)

58

Algortmo de resolucin
Se pueden usar para demostrar la veracidad de una
sentencia dada, pero no para derivar nuevas sentencias.
Para demostrar
se demuestra que
es
insatisfacible (ver filmina 'Validez vs Satisfacibilidad').
Para ello es suficiente demostrar que
equivalente a una contradiccin (e.g.
sentencia que es falsa en todo modelo.

es
), osea, una

Observando la regla de resolucin notamos que solo es


posible derivar una sentencia vaca a partir de una
contradiccin:

14 de Abril 2011

Facundo Bromberg - Dharma Lab (c)

59

Algortmo de resolucin
Por lo tanto, si algoritmo resulta en una clausula vaca,
concluimos que KB , de lo contrario concluimos
KB

Problema de bsqueda: estados: conjuncin de clausulas,


sucesor: regla de resolucin, y objetivo: clausula vaca.

14 de Abril 2011

Facundo Bromberg - Dharma Lab (c)

60

Ejemplo de resolucin
(Nota: Pi,j representa aqu hoyo en i,j)
KB = (B1,1 (P1,2 P2,1)) B1,1
= P1,2

14 de Abril 2011

Facundo Bromberg - Dharma Lab (c)

61

Completitud de Resolucin
Teorema: El algoritmo de resolucin-LP es
completo.
Demostracin: omitido

14 de Abril 2011

Facundo Bromberg - Dharma Lab (c)

62

Encadenamiento hacia
adelante y hacia atrs.
Resolucin

es completo pero puede ser


lento a pesar de existir buenas heuristicas.
Alternativa: restringir las bases de conocimiento a conjunciones de clausulas de Horn.
Clausula de Horn: disyuncin con a lo sumo
un literal positivo. E.g.

14 de Abril 2011

Facundo Bromberg - Dharma Lab (c)

63

Encadenamiento hacia
adelante y hacia atrs.
Las

bases de conocimiento compuestas por una


conjuncin de clausulas de Horn:

Son comunes en el mundo real.


Permiten hacer inferencia con encadenamiento
hacia adelante y atrs.
Eficientes

(lineales) en la cantidad de clausulas en la KB


Faciles de comprender por humanos.

14 de Abril 2011

Facundo Bromberg - Dharma Lab (c)

64

Encadenamiento hacia adelante


Modus

ponens para clusulas de Horn:

Algoritmo:

Aplicacin reiterada de modus ponens,


aadiendo a KB las
proposiciones derivadas
(i.e., m) hasta encontrar
query q.

22 de Abril 2009

Facundo Bromberg (c)

65

Encadenamiento hacia adelante

El

algoritmo es slido y completo para bases de


conocimiento en forma de Horn.

22 de Abril 2009

Facundo Bromberg (c)

66

Ejemplo

22 de Abril 2009

Facundo Bromberg (c)

67

Ejemplo

22 de Abril 2009

Facundo Bromberg (c)

68

Ejemplo

22 de Abril 2009

Facundo Bromberg (c)

69

Ejemplo

22 de Abril 2009

Facundo Bromberg (c)

70

Ejemplo

22 de Abril 2009

Facundo Bromberg (c)

71

Ejemplo

22 de Abril 2009

Facundo Bromberg (c)

72

Ejemplo

22 de Abril 2009

Facundo Bromberg (c)

73

Ejemplo

22 de Abril 2009

Facundo Bromberg (c)

74

Ejemplo

22 de Abril 2009

Facundo Bromberg (c)

75

Encadenamiento hacia atrs


Idea: retroceder comenzando por la query q :
para probar q,
chequear si q es sabido es verdadera, o
probar (recursivamente) todas las premisas de aquellas reglas que
tienen a q como cabeza (consecuente).

Evitar loops: chequear si el nuevo sub-objetivo ya es un


objetivo.
Ahorrar computo: chequear si el nuevo objetivo ya ha sido
probado verdadero.
22 de Abril 2009

Facundo Bromberg (c)

76

Ejemplo de encadenamiento haci


atrs

22 de Abril 2009

Facundo Bromberg (c)

77

Ejemplo de encadenamiento haci


atrs

22 de Abril 2009

Facundo Bromberg (c)

78

Ejemplo de encadenamiento haci


atrs

22 de Abril 2009

Facundo Bromberg (c)

79

Ejemplo de encadenamiento haci


atrs

22 de Abril 2009

Facundo Bromberg (c)

80

Ejemplo de encadenamiento haci


atrs

22 de Abril 2009

Facundo Bromberg (c)

81

Ejemplo de encadenamiento haci


atrs

22 de Abril 2009

Facundo Bromberg (c)

82

Ejemplo de encadenamiento haci


atrs

22 de Abril 2009

Facundo Bromberg (c)

83

Ejemplo de encadenamiento haci


atrs

22 de Abril 2009

Facundo Bromberg (c)

84

Ejemplo de encadenamiento haci


atrs

22 de Abril 2009

Facundo Bromberg (c)

85

Ejemplo de encadenamiento haci


atrs

22 de Abril 2009

Facundo Bromberg (c)

86

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