Sesion 9 Sbc

6
1 1 /48 SUSTITUCION 2 /48 Sustitución Se utilizará la notación SUST(q, α) para representar el resultado de aplicar la sustitución (o lista de enlace) q a la oración α, por ejemplo: q = {x/Juan, y/CursoIA} α = ConcurreA(x, y) GustaDe(x, y) subst( {x/Juan, y/CursoIA} , ConcurreA(x, y) GustaDe(x, y) ) ConcurreA(Juan, CursoIA) GustaDe(Juan, CursoIA) Juan concurre a curso de IA y Juan gusta de curso de IA. SESION 09 -PROLOG

description

Sesion de Trabajo numero 9 para PROLOG

Transcript of Sesion 9 Sbc

Page 1: Sesion 9 Sbc

1

1 /48

SUSTITUCION

2 /48

Sustitución• Se utilizará la notación SUST(θ, α) para representar el

resultado de aplicar la sustitución (o lista de enlace) θ a laoración α, por ejemplo:

θ = {x/Juan, y/CursoIA}α = ConcurreA(x, y) ∧ GustaDe(x, y)

subst( {x/Juan, y/CursoIA} , ConcurreA(x, y) ∧ GustaDe(x, y) ) ≡ ConcurreA(Juan, CursoIA) ∧ GustaDe(Juan, CursoIA)

• Juan concurre a curso de IA y Juan gusta de curso de IA.SESION 09

-PROLO

G

Page 2: Sesion 9 Sbc

2

3 /48

Sustitución• Dadas las variables x1, x2, ..., xn y los términos t1, t2, .., tn

(sin variables), la sustitución θ es un conjunto de paresordenados:

• θ = {x1/t1, x2/t2,..,xn/tn} (x/t se lee sustituir x por t)

• La operación consiste en, dado un literal α que contiene x1,x2, .., xn, y una sustitución θ, reemplazar en todos loslugares de α donde aparezca xi por ti.

Ejemplo:subst({X/george, Y/tony} , likes(X,Y)) = likes(george, tony)

4 /48

Ejercicio 1Diga que se obtiene al aplicar SUST(θ, α) en los siguientes casos:

α = monopolio(M) ⇒penalizado(M) θ = {M/LosGarcia}

α = realiza(M,W) ∧ feo(W) ⇒ odiado(M)θ = {M/Hormel, W/Spam}

α = presidente(X)àinteligente(X)θ = {X/Bush}SESIO

N 09 -P

ROLOG

Page 3: Sesion 9 Sbc

3

5 /48

UNIFICACION

6 /48

Unificación• Lo que hace la rutina de unificación UNIFICAR es convertir

dos oraciones α y β en una sustitución mediante la cual α yβ resultan idénticas. De no existir tal unificación, UNIFICARproduce una falla.

• Formalmente:– UNIFICAR(α, β) = θ, donde SUST(θ, α) = SUST(θ, β)

• θ se conoce como el unificador de las dos oraciones.

SESION 09

-PROLO

G

Page 4: Sesion 9 Sbc

4

7 /48

Unificación• Supongamos que tenemos la regla

conoce(juan,X) ⇒ odia(juan,X) “Juan odia a todos los queconoce”

• Y la queremos utilizar como regla de inferencia de ModusPonens y poder saber a quién odia Juan. Es decir, tenemosque saber a qué oraciones de la base de conocimiento seunifican a conoce(juan,X).

• Supongamos que nuestra base de conocimiento contiene:§ conoce(juan,jane) ▪ conoce(Y,leónidas)§ conoce(Y,madre(Y)) ▪ conoce(X, isabel)

8 /48

UnificaciónAl unificar el antecedente de la regla con cada una de las oraciones de la BC obtenemos:conoce(juan,X) ⇒ odia(juan,X)

UNIFICAR(conoce(juan, X),conoce(juan, jane)) = {X/jane}UNIFICAR(conoce(juan, X),conoce(Y, leónidas)) = {X/leónidas, Y/Juan}UNIFICAR(conoce(juan, X),conoce(Y, madre(Y))) = {Y/juan, X/madre(juan)}UNIFICAR(conoce(juan, X),conoce(X, isabel))= falla

– conoce(juan,jane)– conoce(Y,leónidas)– conoce(Y,madre(Y))– conoce(X, isabel)SESIO

N 09 -P

ROLOG

Page 5: Sesion 9 Sbc

5

9 /48

Unificación• La última unificación falla, porque X no puede tomar el

valor de juan e isabel al mismo tiempo.• De manera intuitiva, sabemos que Juan odia a todos los

que conoce, y que todos conocen a Isabel, por lo quepodríamos inferir que Juan odia a Isabel.

• Para resolver este problema, se pueden normalizar porseparado las dos oraciones que se van a unificar, lo quesignifica renombrar las variables de una de ellas (o deambas) para evitar que haya repetición de nombres:

UNIFICAR(conoce(juan,x1),conoce(x2,isabel))={x1/isabel, x2/juan}

10 /48

Ejercicio 3Unifique y resuelva.

1. femenino(ana)

2. padre (juan, ana)

3. femenino(X) Λ padre (Y, X) à hija(X, Y)

SESION 09

-PROLO

G

Page 6: Sesion 9 Sbc

6

11 /48

Ejercicio 3

femenino(ana) femenino(X) Λ padre (Y, X) à hija(X, Y)

padre(Y,ana) à hija(ana,Y)

hija(ana, juan)

padre (juan, ana)

θ1 = {X/ana}

θ2 = {Y/juan}

1. femenino(ana)2. padre (juan, ana)3. femenino(X) Λ padre (Y, X) à hija(X, Y)

12 /48

PREGUNTAS

SESION 09

-PROLO

G