Sei sulla pagina 1di 90

1

Agentes Lgicos
CAPITULO 7
Lgica proposicional
Dr. Facundo Bromberg
UNCuyo, Doctorado en Ingeniera
2008

2
Pensamiento Racional

3
Introduccin

Estudiaremos agentes basados en conocimiento.

Discutiremos conceptos centrales de la IA:

Representacin de conocimiento

Razonamiento

Ya vimos la importancia que tiene el conocimiento en bsquedas:

Espacio de estados (funcin sucesor) codifca la fsica del entorno, o consecuencia de


acciones.

Esto permite al agente decidir que es bueno (i.e., maximizar su rendimiento, i.e., ser
racional).

4
Introduccin

Problema 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:

Si llueve entonces cae agua del cielo

Paraguas frena agua del cielo

El hombre esta debajo del paraguas

No cae agua al hombre (conocimiento inferido, osea, no es necesario almacenarlo).

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

5
Introduccin

Problema 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).

6
Introduccin

Problema 3: Como introducimos estados objetivos nuevos sin conocer su funcin


predecesor?

Solucin: Definir un lenguaje para expresar conocimiento, i.e., sentencias que describen el mundo
y sus estados, que permita, en forma automtica, determinar desde que otros estados es
alcanzable.

Ejemplo:

8-puzzle. Lenguaje: lgica proposicional permite describir estados sucesores en forma general.

7
Contenidos
7.1. Diseo de agentes basados en conocimiento.
7.2. Introduccin de nuevo entorno: Mundo de Wumpus.
7.3. Principios generales de la lgica:

un lenguaje posible para representacin del conocimiento

Conocimiento categrico: proposiciones verdaderas o falsas (contrario a probabilidades por


ejemplo)
7.4. Lgica proposicional
(mucho) menos expresiva que lgica de 1er orden.
7.5. y 7.6. Razonamiento (basado en lgica proposic.)
7.7. Construccin de agente lgico para Mundo de Wumpus

8
7.1. Agentes basados en conocimiento

Componente principal: Base de Conocimiento (KB)

Conjunto de sentencias expresadas mediante lenguaje de representacin del conocimiento.

c/u representa asercin sobre del mundo (e.g., agente en Arad, dos reinas en mismo renglon se atacan,
etc.)

Interface de la KB:

DECIR sentencias a la KB, y

PREGUNTAR sentencias a la KB (almacenadas o inferidas)

9
7.1. Agentes basados en conocimiento

10
El mundo de Wumpus

11
Descripcin REAS

12
Caracterizacin Mundo Wumpus

Observable?

Determinisa?

Episodico?

Estatico?

Discreto?

Multi-Agente?

13

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

Multi-agente? No, Wumpus no es un agente.

14
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.

15
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]

16
[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.

17
Que es lgica?
Un lenguaje formal
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.

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 and x= 1
x+2 >= y es falso en un mundo donde x= 0 and y= 6

18
Entailment ( implicar)
(no existe traduccin de entailment)
Una cosa sigue de la otra
KB |=
KB entails si y solo si es
verdadera en los mundos
donde KB es verdadera.
.g. x+y=4 entails 4=x+y
La relacin de entailment es una
relacin entre sentencias que esta basada en su semntica.

19
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]}

20
Modelo del mundo de
Wumpus

21
Modelos del mundo de
Wumpus

22
Modelo del mundo de
Wumpus

23
Modelo del mundo de
Wumpus

24
Modelo del mundo de
Wumpus

25
Modelo del mundo de
Wumpus

26
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

Comprobacin de modelos (ver ejemplo de wumpus): enumerar todos los mundos posibles y chequear si es verdadero en todos
lo modelos en los que KB lo es.

27
Inferencia Lgica
Solidez: Un algoritmo de inferencia es slido si toda sentencia que produce es entailed por KB, es
decir, satisface KB |= .
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 sentenia que es entailed por KB.
i completo si siempre que KB |= es cierto que KB|-
i

28
Visin esquemtica

29
Lgica Proposicional

30
Lgica Proposicional

31
Sintxis

32
Sintxis

33
Semntica

34
Semntica

35
Semntica. Tablas de verdad

36
Implicacin (=>)

37
Bidireccional (<=>)

38
KB para Wumpus

39
Tabla de Verdad para Inferencia

40
Inferencia por enumeracin

41
Equivalencia lgica

42
Equivalencia lgica

43
Validez

44
Validez

45
Validez vs Satisfacibilidad

46
Reglas de inferencia

47
Modus ponens. Demostracin de solidez.

48
Mtodos de demostracin

Los mtodos de demostracin se dividen en dos tipos:


Aplicacin de reglas de inferencia
Generacin legtima (slida) de nuevas sentencias a partir de sentencias existentes.
Demostracin (o prueba) = secuencia de aplicaciones de las 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 (e.g. sea cierto o no que es independiente del valor de verdad de
Comprobacin de modelos

Enumeracin de la tabla de verdad (siempre exponencial en n)

Vuelta atrs, e.g., Davis--Putnam-Logemann-Loveland (DPLL)

Bsqueda heuristica en espacio de modelos.(slido pero incompleto)


e.g., algoritmo de min-conflictos, hill-climbing.

49
Monotona

Si una sentencia es entailed por la base de conocimiento, agregando sentencias (e.g.


observaciones) a la base de conocimiento no puede cambiar este hecho:

50
Resolucin

Un algortmo de demostracin que utilice como base un algoritmo de bsqueda


completo (e.g. BPI) no necesariamente es completo.

Esto depende del conjunto de 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]

51
Resolucin Unitaria

Literal: proposicin o su negacin.

Clusula: disjuncin de literales.

Clusula unitaria: disjuncin de un solo literal.

Resolucin unitaria:
y son literales complementarios.
Toma clusula + literal y devuelve clusula.

52
Resolucin General

Resolucin:
donde y son complementarios

Toma dos clusulas y genera una clusula nueva con los literales originales, menos
los complementarios.

53
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).

Se puede demostrar (ej 7.10) que toda sentencia proposicional es equivalente a un


sentencia en CNF. Lo demostramos con un mtodo.

54
Mtodo de conversin a CNF
B
1,1
= (H
1,2
' H
2,1
)
1. Eliminar = , replazando = con ( = ) ( = ).
(B
1,1
= (H
1,2
' H
2,1
)) ((H
1,2
' H
2,1
) = B
1,1
)
2. Eliminar = , replazando = con ' .
(B
1,1
' H
1,2
' H
2,1
) ((H
1,2
' H
2,1
) ' B
1,1
)
3. Mover hacia adentro usando la regla de de Morgan y la de doble-negacin:
(B
1,1
' H
1,2
' H
2,1
) ((
1,2

2,1
) ' B
1,1
)
4. Aplicar la distribucin de sobre ':
(B
1,1
' H
1,2
' H
2,1
) (
1,2
' B
1,1
) (
2,1
' B
1,1
)
Dificil para humanos, facil para computadoras (resolucin).

55
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.
Para ello es suficiente demostrar que es equivalente a una contradiccin (e.g.
), osea, una sentencia que es falsa en todo modelo.

Observando la regla de resolucin notamos que solo es posible derivar una sentencia vaca a
partir de una contradiccin:

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

57
Ejemplo de resolucin
(Nota: P
i,j
representa aqu hoyo en i,j)
KB = (B
1,1
= (P
1,2
' P
2,1
)) B
1,1
= P
1,2

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

59
Encadenamiento hacia adelante y hacia atrs.

60
Encadenamiento hacia adelante y hacia atrs.

61
Encadenamiento hacia adelante

62
Encadenamiento hacia adelante

El algoritmo es slido y completo para bases de conocimiento en forma de Horn.

63
Ejemplo

64
Ejemplo

65
Ejemplo

66
Ejemplo

67
Ejemplo

68
Ejemplo

69
Ejemplo

70
Ejemplo

71
Ejemplo

72
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.

73
Ejemplo de encadenamiento haci
atrs

74

75

76

77

78

79

80

81

82
Agentes Lgicos
CAPITULO 7
Lgica proposicional
Dr. Facundo Bromberg
UNCuyo, Doctorado en Ingeniera
2008
30 de Abril 2008 Facundo Bromberg (c) 2
Pensamiento Racional

Agente Racional (caps


3, 4, 5)

Prueba de Turing
Actuan
como

Silogismos

Lgica

Ciencias cognitivas
Piensan
como
Racionalmente Humanos
Sistemas
que:
30 de Abril 2008 Facundo Bromberg (c) 3
Introduccin

Estudiaremos agentes basados en conocimiento.

Discutiremos conceptos centrales de la IA:

Representacin de conocimiento

Razonamiento

Ya vimos la importancia que tiene el conocimiento en


bsquedas:

Espacio de estados (funcin sucesor) codifca la


fsica del entorno, o consecuencia de acciones.

Esto permite al agente decidir que es bueno (i.e.,


maximizar su rendimiento, i.e., ser racional).
30 de Abril 2008 Facundo Bromberg (c) 4
Introduccin

Problema 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:

Si llueve entonces cae agua del cielo

Paraguas frena agua del cielo

El hombre esta debajo del paraguas

No cae agua al hombre (conocimiento inferido, osea, no es


necesario almacenarlo).

En la prctica es posible que |K'| exponencialmente


mayor que |K|.
30 de Abril 2008 Facundo Bromberg (c) 5
Introduccin

Problema 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).
30 de Abril 2008 Facundo Bromberg (c) 6
Introduccin

Problema 3: Como introducimos estados objetivos


nuevos sin conocer su funcin predecesor?

Solucin: Definir un lenguaje para expresar conocimiento,


i.e., sentencias que describen el mundo y sus estados,
que permita, en forma automtica, determinar desde que
otros estados es alcanzable.

Ejemplo:

8-puzzle. Lenguaje: lgica proposicional permite


describir estados sucesores en forma general.
Vecino( A,B) Vacio( B) =Mover ( A,B)
30 de Abril 2008 Facundo Bromberg (c) 7
Contenidos
7.1. Diseo de agentes basados en conocimiento.
7.2. Introduccin de nuevo entorno: Mundo de Wumpus.
7.3. Principios generales de la lgica:

un lenguaje posible para representacin del conocimiento

Conocimiento categrico: proposiciones verdaderas o


falsas (contrario a probabilidades por ejemplo)
7.4. Lgica proposicional
(mucho) menos expresiva que lgica de 1er orden.
7.5. y 7.6. Razonamiento (basado en lgica proposic.)
7.7. Construccin de agente lgico para Mundo de Wumpus
30 de Abril 2008 Facundo Bromberg (c) 8
7.1. Agentes basados en
conocimiento

Componente principal: Base de Conocimiento (KB)

Conjunto de sentencias expresadas mediante lenguaje de


representacin del conocimiento.

c/u representa asercin sobre del mundo (e.g., agente en


Arad, dos reinas en mismo renglon se atacan, etc.)

Interface de la KB:

DECIR sentencias a la KB, y

PREGUNTAR sentencias a la KB (almacenadas o inferidas)


decir decir
preguntar preguntar
motor de inferencia
Base de Conocimiento
(KB)
algoritmo genrico
contenido especfico del problema
30 de Abril 2008 Facundo Bromberg (c) 9
7.1. Agentes basados en
conocimiento
funcion AGENTE-BC(percepcion) return una accion
variables estaticas: KB, base de conocimiento
t, un contador del tiempo
DECIR(KB, CONSTRUIR-SENTENCIA-PERCEPCION(percepcion, t))
accion+ PREGUNTAR(KB, PEDIR-ACCION(t))
DECIR(KB, CONSTRUIR-SENTENCIA-ACCION(accion, t))
t + t+1
return accion

Detalles de lenguaje de representacin e inferencia


ocultos en: DECIR, PREGUNTAR y
CONTRUIR-SENTENCIA-*.

AGENTE-BC es un agente con estado interno (cap 2)


30 de Abril 2008 Facundo Bromberg (c) 10
El mundo de Wumpus
Wumpus
Wumpus
30 de Abril 2008 Facundo Bromberg (c) 11
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]
30 de Abril 2008 Facundo Bromberg (c) 12
Caracterizacin Mundo Wumpus

Observable?

Determinisa?

Episodico?

Estatico?

Discreto?

Multi-Agente?
30 de Abril 2008 Facundo Bromberg (c) 13

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

Multi-agente? No, Wumpus no es un agente.


Caracterizacin Mundo Wumpus
30 de Abril 2008 Facundo Bromberg (c) 14
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.
30 de Abril 2008 Facundo Bromberg (c) 15
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]
30 de Abril 2008 Facundo Bromberg (c) 16
[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.
Explorando el mundo de Wumpus
30 de Abril 2008 Facundo Bromberg (c) 17
Que es lgica?

Un lenguaje formal

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.

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 and x= 1

x+2 >= y es falso en un mundo donde x= 0 and y= 6


30 de Abril 2008 Facundo Bromberg (c) 18
mundos
donde es
verdadera
M( )
Entailment ( implicar)
(no existe traduccin de entailment)

Una cosa sigue de la otra


KB |=

KB entails si y solo si es

verdadera en los mundos

donde KB es verdadera.

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

La relacin de entailment es una

relacin entre sentencias que esta basada en


su semntica.
Mundos
donde
KB es
verdadera
M(KB)
KB |=

30 de Abril 2008 Facundo Bromberg (c) 19


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]}
30 de Abril 2008 Facundo Bromberg (c) 20
Modelo del mundo de
Wumpus
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
30 de Abril 2008 Facundo Bromberg (c) 21
Modelos del mundo de
Wumpus
30 de Abril 2008 Facundo Bromberg (c) 22
Modelo del mundo de
Wumpus
KB = Reglas del mundo de Wumpus + observaciones
30 de Abril 2008 Facundo Bromberg (c) 23
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
30 de Abril 2008 Facundo Bromberg (c) 24
Modelo del mundo de
Wumpus
KB = Reglas del mundo de Wumpus + observaciones
30 de Abril 2008 Facundo Bromberg (c) 25
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
30 de Abril 2008 Facundo Bromberg (c) 26
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

Comprobacin de modelos (ver ejemplo de wumpus): enumerar todos los


mundos posibles y chequear si es verdadero en todos lo modelos en los
que KB lo es.
30 de Abril 2008 Facundo Bromberg (c) 27
Inferencia Lgica
Solidez: Un algoritmo de inferencia es slido si toda
sentencia que produce es entailed por KB, es decir,
satisface KB |= .

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 sentenia que es
entailed por KB.
i completo si siempre que KB |= es cierto que KB|-
i

30 de Abril 2008 Facundo Bromberg (c) 28
Visin esquemtica
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.
entails
Se sigue
30 de Abril 2008 Facundo Bromberg (c) 29
Lgica Proposicional
30 de Abril 2008 Facundo Bromberg (c) 30
Lgica Proposicional

Derivaremos sintxis y semntica.

Luego relacin de entailment.

Derivacin de algoritmo de inferencia.


30 de Abril 2008 Facundo Bromberg (c) 31
Sintxis

Sentencias atmicas (elementos sintcticos


indivisibles): simbolo proposicional (e.g., P, Q, R).

Pueden tomar solo valor verdadero y falso.

Ejemplo: W
1,3
simbolo que representa que el
Wumpus esta en la casilla [1,3].

Simbolos con valor prefijado: Verdadero y Falso.


(verdadera y falsa en todos los mundos,
respectiv.)
30 de Abril 2008 Facundo Bromberg (c) 32
Sintxis

Sentencias complejas: sentencias atmicas +


conectivas lgicas:
(no, negacin): W
1,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. Tambin se les llama reglas o afirmaciones if-then (si-
entonces).
<=> (si y solo si, iff). Bicondicional o doble implicancia.
Precedencia: , , , => y <=>.
Ejemplo: P Q R => S es equivalente a ((P) (Q R)) => S
30 de Abril 2008 Facundo Bromberg (c) 33
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?
30 de Abril 2008 Facundo Bromberg (c) 34
Semntica

Sentencias atmicas:

Verdadero (Falso) es verdadero (falso) en todos


los modelos.

El valor de verdad de un simbolo proposicional


esta dado directamente por el modelo.

En el modelo {P=verdadero, Q=falso}, el valor


de verdad de P es verdadero.

Conectivas: se utilizan tablas de verdad.


30 de Abril 2008 Facundo Bromberg (c) 35
Semntica. Tablas de verdad
P
falso
falso
verdadero
verdadero
Q
falso
verdadero
false
verdadero
P
verdadero
verdadero
falso
falso
P Q
falso
falso
falso
verdadero
P Q
falso
verdadero
verdadero
verdadero
P => Q
verdadero
verdadero
falso
verdadero
P <=> Q
verdadero
falso
falso
verdadero
Ejemplo: considere el modlo {P=verdadero, Q=falso, R=verdadero, S=verdadero}
(P ^ Q) v (S ^ T) = (verdadero ^falso) v (verdadero ^verdadero)
= (falso v verdadero) = verdadero
(P => Q) = (verdadero => falso) = falso = verdadero
V-VERDAD-LP?(s,m) Algoritmo recursivo para evaluar la verdad de s en modelo m.
30 de Abril 2008 Facundo Bromberg (c) 36
Implicacin (=>)

Comprencin intuitiva erronea.

Implica no corresponde nece-


sariamente con causalidad:
e.g., 5 es impar => Tokio Capital de Japon es verdadero!

Intuicin: P=>Q equivale a Q es verdadero si P lo


es. Ahora, si P no lo es, no digo nada sobre Q
(osea, es valido decir que Q es tanto falso como
verdadero, 2 primeros renglones de TV).
e.g., 5 es par => Tokio Capital de Japon es verdadero!
P
falso
falso
verdadero
verdadero
Q
falso
verdadero
false
verdadero
P => Q
verdadero
verdadero
falso
verdadero
30 de Abril 2008 Facundo Bromberg (c) 37
P <=> Q
verdadero
falso
falso
verdadero
P => Q
verdadero
verdadero
falso
verdadero
Q => P
verdadero
falso
verdadero
verdadero
P=>Q ^ Q=>P
verdadero
falso
falso
verdadero
Bidireccional (<=>)

P<=>Q Es equivalente a (P=>Q) ^(Q=>P)


P
falso
falso
verdadero
verdadero
Q
falso
verdadero
falso
verdadero

Wumpus: B
1,1
<=> (H
1,2
v H
2,1
) (brisa en [1,1] si y solo si
hoyo en [1,2] o [2,1].

B
1,1
=> (H
1,2
v H
2,1
) es incompleta. Permite que haya hoyo
en [1,2] cuando no hay brisa en [1,1] (demostrar).
30 de Abril 2008 Facundo Bromberg (c) 38
KB = R1 ^ R2 ^ R3 ^ R4 ^ R5
KB para Wumpus

Solo hechos y reglas referentes a Hoyos. Mismos pasos que Ejemplo (Sec. 7.3)

Vocabulario de simbolos proposicionales:


H
i,j
verdadero si hay hoyo en [i,j]
B
i,j
verdadero si hay brisa en [i,j]

Reglas:

No hay hoyo en casilla [1,1].


R1 : H
1,1


Hay brisa iff (si y solo si) hay hoyo en casilla vecina.
R2 : B
1,1
<=> (H
1,2
v H
2,1
)
R3: B
2,1
<=> (H
1,1
v H
2,2
v H
3,1
)

Percepciones (de brisas):


R4: B
1,1
R5: B
2,1

30 de Abril 2008 Facundo Bromberg (c) 39
Tabla de Verdad para Inferencia

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

H
1,1
H
1,2
H
2,1
H
2,2
H
3,1

Buscamos saber si KB |=

(e.g., H
2,2
).

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


es verdadera en cada modelo en el que la BC lo es (ver fig. filmina 19).

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

No ocurre lo mismo con H


2,2
. No podemos inferir H
2,2
.

30 de Abril 2008 Facundo Bromberg (c) 40
Inferencia por enumeracin

La enumeracin primero en profundidad de todos los modelos es


slida y completa.

Para n smbolos, complejidad temporal es O(2


n
), y espacial O(n).

ERRATA: Primer llamado recursivo (penltimo renglon) llama a


CHQUEAR-TV y debera llamar a COMPROBAR-TV.
30 de Abril 2008 Facundo Bromberg (c) 42
Equivalencia lgica

Mtodo de conversin a CNF
B
1,1
= (H
1,2
' H
2,1
)
1. Eliminar = , replazando = con ( = ) ( = ).
(B
1,1
= (H
1,2
' H
2,1
)) ((H
1,2
' H
2,1
) = B
1,1
)
2. Eliminar = , replazando = con ' .
(B
1,1
' H
1,2
' H
2,1
) ((H
1,2
' H
2,1
) ' B
1,1
)
3. Mover hacia adentro usando la regla de de Morgan y
la de doble-negacin:
(B
1,1
' H
1,2
' H
2,1
) ((
1,2

2,1
) ' B
1,1
)
4. Aplicar la distribucin de sobre ':
(B
1,1
' H
1,2
' H
2,1
) (
1,2
' B
1,1
) (
2,1
' B
1,1
)
Dificil para humanos, facil para computadoras (resolucin).

Ejemplo de resolucin
(Nota: P
i,j
representa aqu hoyo en i,j)
KB = (B
1,1
= (P
1,2
' P
2,1
)) B
1,1
= P
1,2

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

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.



Encadenamiento hacia adelante

El algoritmo es slido y completo para bases de


conocimiento en forma de Horn.

Ejemplo

Ejemplo

Ejemplo

Ejemplo

Ejemplo

Ejemplo

Ejemplo

Ejemplo

Ejemplo

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.

Ejemplo de encadenamiento haci
atrs

Ejemplo de encadenamiento haci
atrs

Ejemplo de encadenamiento haci
atrs

Ejemplo de encadenamiento haci
atrs

Ejemplo de encadenamiento haci
atrs

Ejemplo de encadenamiento haci
atrs

Ejemplo de encadenamiento haci
atrs

Ejemplo de encadenamiento haci
atrs

Ejemplo de encadenamiento haci
atrs

Ejemplo de encadenamiento haci
atrs

Potrebbero piacerti anche