Sesion 9 Sbc
-
Upload
jonathan-becs -
Category
Documents
-
view
2 -
download
0
description
Transcript of 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
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
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
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
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
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