UNIVERSIDAD NACIONAL DE TRUJILLO
RESOLUCIÓN SLD: OPERACIÓN DE DERIVACIÓN Y ÁRBOL SLD Trabajo de investigación como parte del curso de Programación Lógica presentan los alumnos:
ALVARADO ARAD O AL A LVARADO, ARAD O, Hecir Hec ir - ALV
ALVARADO V!"T#RA, Ronald - ALV
- $A%T&LLO '#&%P!, %amuel - $#"&A RO(!RO, At)ina - LARA ARA"A, *ean Pierre
AGOSTO – 2017
RESOLUCIÓN LSD: Operación de derivación y Árbo SLD 1. Intro!""#$n !l nombre +%LD resolution+ ue dado por (aarten van !mden para la regla de inerencia sin nombre introducida por Robert -o.als/i %u nombre deriva de la resolución de %L, 0ue es a la ve1 sonido 2 reutación completa de la orma clausal sin restricciones de la lógica +%LD+signiica +%L resolution .it) Deinite clauses+ !n ambos, %L 2 %LD, %L% representa el )ec)o de 0ue una prueba de resolución se puede restringir a una secuencia lineal de cl3usulas: C 1 C 2 C 3 .. . C n−1 C l
Donde la +cl3usula superior+ C , es una cl3usula de entrada, 2 cada otra cl3usula C i + es una 1
1
solución de cu2os padres es la cl3usula anterior C i La prueba es una reutación si la 4ltima cl3usula C l , es la cl3usula vac5a !n %LD, todas las cl3usulas son una secuencia cláusulas objetivo 2 el otro padre es una cláusula de entrada !n la resolución %L, el otro padre es una cl3usula de entrada o una cl3usula ancestral anterior en la secuencia Tanto en %L como en %LD, +%+ representa el 4nico literal resuelto en cual0uier cl3usula C i , es a0uel 0ue es seleccionado 4nicamente por una regla de selección o unción de selección !n la resolución %L, el literal seleccionado est3 restringido a uno 0ue )a sido introducido recientemente en la cl3usula !n el caso m3s simple, tal unción de selección de 4ltimo en entrar primero en salir puede especiicarse por el orden en el 0ue se escriben los literales, como en Prolog %in embargo, la unción de selección en la resolución %LD es m3s general 0ue en la resolución %L 2 en Prolog "o )a2 ninguna restricción sobre el literal 0ue se puede seleccionar
2. R&'o(!"#$n SLD 2.1 D&)#n#"#$n :
%ea S un conjunto de cl3usulas de Horn
2.1.1 La sucesión 6 C , C l , , 0
C n
7 es una resolución %LD a partir de S si se cumplen las
siguientes condiciones: 6a7 C ∈ S es una cl3usula negativa8 0
6b7 para todo i ∈ 9, , n;, e
La cl3usula C se llama cláusula base, las $i se llaman cl3usulas centrales 2 las = se 0
llaman cl3usulas laterales
2.1.2 La cl3usula $ es deducible por resolución %LD a partir de %, %>sld $, si e
C n
7, tal 0ue
C n
? C ❑
!l nombre de %LD viene de @Linear resolution .it) %election unction or Deinite clauses !jemplo %ea % ? 99 p ;, 9 p ;, 9B p ,B p ;, 3
1
4
2
9B p , B p , p ;, 9B p , p ;, 3
4
3
1
2
9B p ,B p ;; 1
2
!ntonces 69B p ,B p ;, 9B p ,B p ,B p ;, 9B p ,B p ;, 9B p ;, 9B p ;, C;7 1
2
3
4
2
4
2
2
3
es una resolución %LD partir de % Puede ilustrarse mediante el siguiente diagrama
*. Pro"&'o & Co+,!t-"#$n: R&'o(!"#$n SLD %ea una sustitución 2 E A , ,
A n
un objetivo !scribiremos
E 6 A , ,
A n
7 en lugar de E 6 A 7, , 6 A 7
1
1
n
1
*.1 D&)#n#"#$n %ea P un programa lógico, $ ? A E B , , ❑
1
B k una
cl3usula de P 2 F ?E A , , 1
A n
un
objetivo %e dice 0ue G es una resolvente de F 2 $ con umg (unificador más general) si 0
se veriican las siguientes condiciones: !
G
G d ?E
6 A , , A i− , B , , 1
1
1
B k ,
A i+1 , , A n 7
!n este caso, se dice 0ue A i es el to+o '&(&""#on-o.
/. D&r#-"#$n SLD /.1 D&)#n#"#$n %ea P un programa 2 F un objetivo %e dice 0ue 6G , G , 0
1
G2
8 C , C , 8 1
2
θ1 , θ 2
, 7
es una derivación %LD 6o, simplemente, derivación7 de P ∪ 9F; si G ? G 0
❑
G C es una variante de una cl3usula de P separada de G 1
G es una resolvente de G 2 C con umg θ 0
1
1
0
1
I para todo i J G 6a7 C i es una variante de una cl3usula de P 6b7 C i no tiene variables comunes con G , , Gi− , C , , C i− 0
6c7 G i es una resolvente de Gi− 2 C i com umg 1
1
1
1
θ1
Las cl3usulas C i se llaman cláusulas de entrada.
E&+,(o %ea P el programa p6<, K, <7 E p6<, s627, s6177 E p6<, 2, 17 2 F es objetivo E p6<, s6K7, s6s6s6K7777 !n la siguiente igura se muestra una derivación para P ∪ 9F;
Las derivaciones pueden ser initas o ininitas Las initas pueden terminar con
/.2 D&)#n#"#$n :#na reutación de P ∪ 9F; es una derivación inita de P ∪ 9F; 6 G , 0
, G n 8 C , C , , 1
2
C n
8
θ1 , θ2
,,
θn
G1 ,
G2
7 tal 0ue G n ? C %e dice 0ue n es la longitud de la
reutación
/.* D&)#n#"#$n :%ea una sustitución 2 VM ⊆ V un conjunto de variables La restricción de a VM es la sustitución M deinida por
La restricción de a VM se representa por M V KM /./ D&)#n#"#$n %ea P un programa 2 F un objetivo La sustitución es una respuesta computada para P ∪ 9F; si e
1
G2
, G n 8 C , C , , 1
2
C n
de P ∪ 9F; 2 ? 6 θn
8
θ1 , θ2
θ1 7
,,
θn
7
N var6 G 7 ❑
!jemplo La sustitución ? 96<, s6s6K777; es una respuesta computada para el ejemplo anterior
/. D&)#n#"#on !l conjunto de exitos de un programa P, E p , es el conjunto de los A ∈ =6P7 tales 0ue P ∪ 9E A; tiene una reutación
/.3 E&+,(o 1.
4 S&- &( '#5!#&nt& ,ro5r-+-: )ombre6marcos7 )ombre6juan7 espapa6juan,marcos7 espapa6juan,rosa7 esmama6maria,marcos7 esmama6maria,rosa7 es)ermano6,Q7 E tienenmismospadres6,Q7, )ombre67 tienenmismospadres6,Q7 E mismopapa6,Q7, mismamama6,Q7 mismopapa6,Q7 E espapa6A,7 , espapa6A,Q7 mismamama6,Q7 E esmama6=,7 , esmama6=,Q7
S!,on5-+o' 6!& &( USR 6!#&r& -&r#5!-r 8!#&n &' 9&r+-no & +-r"o'
E&+,(o 2.
4 S&- &( '#5!#&nt& ,ro5r-+-: iebre6 carlos 7 G dolordecuerpo6 carlos 7 %e)i1oanalisis6 carlos7 I %ediagnostico6carlos, dengue7 padece6 , Q 7 E tienesintomas 67 , tieneenermedad 6 , Q 7 S tienesintomas6 7 E iebre 6 7 , dolordecuerpo6 7 tieneenermedad6,Q7 E sediagnostico6,Q7, se)i1oan3lisis 67
S!,on5-+o' 6!& &( USR 6!#&r& -&r#5!-r 6!& ,-&"& "-r(o' padece6carlos, U7
. Ár;o( SLD #n 3rbol de derivación %LD representa un proceso de b4s0ueda, en el cual los nodos de un 3rbol vendr5an a representar los objetivos pendientes 63tomos por deducir7 Presenta dos tipos de nodos, los cuales son los nodos raíz 2 los nodos finales Los nodo ra51 vienen a ser representados por el objetivo inicial, de donde se partir3 para la derivación del 3rbol, 2 los nodos inales son a0uellos de los 0ue no se puede seguir derivando8 dentro de estos nodos inales tenemos lo nodos de fallo 0ue son obtenidos cuando su primer 3tomo no es uniicable con la cabe1a de ninguna regla o )ec)o 2 los nodos de éxito es a0uel 0ue no tiene objetivos pendientes Por 4ltimo tenemos a las ramas de
D&)#n#"#$n: %ea P un programa, F un objetivo 2 R una regla de computación #n 3rbol SLD de P ¿ G v5a R es un 3rbol veriicando las siguiente condiciones: $ada nodo del 3rbol es un objetivo G !l nodo ra51 es F Los nodos 0ue son la cl3usula vac5a no tienen )ijos Dic)os nodos se llaman noo' & <=#to. Las ramas de la ra51 a los nodos de
7 !ntonces para cada 1
cl3usula de P,
← θ ( A
1
tal 0ue A 2
A m
son uniicables el nodo tiene un )ijo
, . . . Ai −1 , B ' 1 , . . . , B ' k , A i+ 1 , .. . , A n )
donde θ es
C = A ← B1 , . . . , B k , A ' ← B' 1 , . .. , B ' k !s
una variante de $ separada de los antecesores de F> 2
un uniicador de m3 2 A i %i el nodo F >, no tiene
descendientes, se llama un noo )-((o, 2 las ramas de la ra51 F> se llaman r-+-' & )-((o Not-: cada rama del 3rbol representa una derivación de P∪ G } via R
E&+,(o: %ea el programa p ( x , z )← q ( x , y ) , p ( y , z ) p ( x , x )← p ( b , c )←
2 F el objetivo ← p ( x , c ) %i R es la regla de computación por la i10uierda 6ie, R (← A , … , A n= A 1
3rbol %LD para P∪{G } via R es:
1
) entonces el
%i R es la regla de computación por la derec)a 6ie,
R (← A1 ,
…,
A n= An )
7 entonces el
3rbol %LD para P∪ G via R es:
"ótese 0ue aun0ue el primer 3rbol es inito 2 el segundo es ininito, en ambos se obtiene las mismas respuestas
T&or&+-: si P∪ G } es un inconsistente, entonces el 3rbol %LD de P∪ G } v5a R tiene una rama de
T&or&+-: %i θ es una respuesta correcta de P∪{G } , entonces el 3rbol %LD de P∪{G } via R e
θ ' ,
es m3s general 0ue θ 6ie θ ' ≤ θ 7
T&or&+-: %i P es un programa 2 A es un 3tomo b3sico, son e0uivalentes:
P N?
A
G A ϵ M p A ϵ T P ↑ ω I A ϵ E p Todo 3rbol %LD para P∪{← A } tiene una rama de
←
contagiado6,Q7, inectado6Q,U7
inectado6,7 contagiado6a,b7 2 F el objetivo inectado6,b7 ← Hallar el 3rbol L%D, si R es la regla de computación por la i10uierda:
!jemplo KG : %ea el siguiente programa: tieneasma6,U7 sintomassimilares6,Q7, tieneasma6Q,U7 ← tieneasma6,7 sintomassimilares6a,b7 2 F el objetivo tieneasma6,b7 ←
Hallar el 3rbol L%D, si R es la regla de computación por la derec)a :
BIBLIOGRA?IA
[1] Cuena, J., Lógica informática. Alianza, 1985 [2] o!al"#i, $., Lógica, %rogramación e inteligencia artificial. &'az (e )anto", 198*. [+] uine, .., Lo" m/to(o" (e la lógica. Ariel, 1981. [0] $u""el, ). or3ig, 4. nteligencia Artificial6 7n enfoue o(erno :2n( e(ition; :4rentice