230 likes | 387 Views
Resolución de Objetivos. Se recorren las reglas de arriba abajo y de izquierda a derecha Buscamos hechos o cabezas de reglas que unifiquen con la meta actual Si es cabeza de regla, aplicamos la sustición a la parte derecha y las agregamos como metas La búsqueda es DFS
E N D
Resolución de Objetivos • Se recorren las reglas de arriba abajo y de izquierda a derecha • Buscamos hechos o cabezas de reglas que unifiquen con la meta actual • Si es cabeza de regla, aplicamos la sustición a la parte derecha y las agregamos como metas • La búsqueda es DFS • Si una prueba falla volvemos al punto donde se tomo la última decisión
En mayores(X, L1, L) L1 son los elementos mayores a X de la lista L 1. mayores(X,[],[]). 2. mayores(X,[Y|Z],[Y|W]):-X<Y,mayores(X,Z,W). 3. mayores(X,Z,[Y|W]):-X>=Y,mayores(X,Z,W). Regla de resolución Si es mgu de Bi y C
Tip: Generar variables nuevas por cada nueva sustitución. Facilitamos la reconstrucción…
Unifica con 3 ) mayores ( 3 , G , [ 4 , 1 , 5 ]) Unifica con 2 ) mayores ( X 1 , [ Y 1 | Z 1 ] , [ Y 1 | W 1 ]): - X 1 < Y 1 , mayores ( X 1 , Z 1 , W 1 ). X 1 - > 3 Y 1 - > 4 W 1 - > [ 1 , 5 ] G - > [ 4 | Z 1 ] 3 < 4 , mayores ( 3 , Z 1 , [ 1 , 5 ]) Dado que 3 < 4 se satisface Unifica con 3 ) mayores ( X 3 , Z 3 , [ Y 3 | W 3 ]): - X 3 > = Y 3 , mayores ( X 3 , Z 3 , W 3 ). mayores ( 3 , Z 1 , [ 1 , 5 ]) 3 > = 4 , mayores ( 3 , Z 3 , [ 5 ]) X 3 - > 3 Y 3 - > 1 X 2 - > 3 Unifica con 2 ) W 3 - > [ 5 ] 3 > = 1 es cierto Y 2 - > 1 mayores ( X 2 , [ Y 2 | Z 2 ] , [ Y 2 | W 2 ]): - X 2 < Y 2 , mayores ( X 2 , Z 2 , W 2 ). Z 1 - > Z 3 W 2 - > [ 5 ] Z 1 - > [ 1 | Z 2 ] Unifica con 3 ) mayores ( 3 , Z 3 , [ 5 ]) Backtracking 3 < 1 falla Unifica con 2 ) al nodo donde mayores ( X 4 , [ Y 4 | Z 4 ] , [ Y 4 | W 4 ]): - X 4 < Y 4 , mayores ( X 4 , Z 4 , W 4 ). hizo la última decisión X 4 - > 3 Y 4 - > 5 1 . mayores ( X , [] , []). W 4 - > [ ] 2 . mayores ( X , [ Y | Z ] , [ Y | W ]): - X < Y , mayores ( X , Z , W ). Z 3 - > [ 5 | Z 4 ] 3 . mayores ( X , Z , [ Y | W ]): - X > = Y , mayores ( X , Z , W ).