23
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

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

Embed Size (px)

Citation preview

Page 1: 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

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

Page 2: 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

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

Si es mgu de Bi y C

Regla de resolución

En mayores(X, L1, L) L1 son los elementos mayores a X de la lista L

Page 3: 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

mayores(3,G, [4,1,5])

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

Page 4: 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

mayores(3,G, [4,1,5])

X1->3Y1->4

W1->[1,5]G->[4|Z1]

Unifica con 2)mayores(X1,[Y1|Z1],[Y1|W1]):-X1<Y1,mayores(X1,Z1,W1).

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

Unifica con 3)

Tip: Generar variables nuevas por cada nueva sustitución. Facilitamos la reconstrucción…

Page 5: 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

mayores(3,G, [4,1,5])

3<4,mayores(3, Z1, [1,5])

X1->3Y1->4

W1->[1,5]G->[4|Z1]

Unifica con 2)mayores(X1,[Y1|Z1],[Y1|W1]):-X1<Y1,mayores(X1,Z1,W1).

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

Unifica con 3)

Page 6: 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

mayores(3,G, [4,1,5])

3<4,mayores(3, Z1, [1,5])

X1->3Y1->4

W1->[1,5]G->[4|Z1]

Unifica con 2)mayores(X1,[Y1|Z1],[Y1|W1]):-X1<Y1,mayores(X1,Z1,W1).

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

Dado que 3<4 se satisface

Unifica con 3)

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

mayores(3,G, [4,1,5])

3<4,mayores(3, Z1, [1,5])

X1->3Y1->4

W1->[1,5]G->[4|Z1]

Unifica con 2)mayores(X1,[Y1|Z1],[Y1|W1]):-X1<Y1,mayores(X1,Z1,W1).

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

Dado que 3<4 se satisface

mayores(3, Z1, [1,5])

Unifica con 3)

Page 8: 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

mayores(3,G, [4,1,5])

3<4,mayores(3, Z1, [1,5])

X1->3Y1->4

W1->[1,5]G->[4|Z1]

Unifica con 2)mayores(X1,[Y1|Z1],[Y1|W1]):-X1<Y1,mayores(X1,Z1,W1).

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

Dado que 3<4 se satisface

mayores(3, Z1, [1,5])

Unifica con 2)mayores(X2,[Y2|Z2],[Y2|W2]):-X2<Y2,mayores(X2,Z2,W2).

X2->3Y2->1

W2->[5]Z1->[1|Z2]

Unifica con 3)

Unifica con 3)

Page 9: 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

mayores(3,G, [4,1,5])

3<4,mayores(3, Z1, [1,5])

X1->3Y1->4

W1->[1,5]G->[4|Z1]

Unifica con 2)mayores(X1,[Y1|Z1],[Y1|W1]):-X1<Y1,mayores(X1,Z1,W1).

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

Dado que 3<4 se satisface

mayores(3, Z1, [1,5])

Unifica con 2)mayores(X2,[Y2|Z2],[Y2|W2]):-X2<Y2,mayores(X2,Z2,W2).

X2->3Y2->1

W2->[5]Z1->[1|Z2]

3<1 falla

Unifica con 3)

Unifica con 3)

Page 10: 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

mayores(3,G, [4,1,5])

3<4,mayores(3, Z1, [1,5])

X1->3Y1->4

W1->[1,5]G->[4|Z1]

Unifica con 2)mayores(X1,[Y1|Z1],[Y1|W1]):-X1<Y1,mayores(X1,Z1,W1).

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

Dado que 3<4 se satisface

mayores(3, Z1, [1,5])

Unifica con 2)mayores(X2,[Y2|Z2],[Y2|W2]):-X2<Y2,mayores(X2,Z2,W2).

X2->3Y2->1

W2->[5]Z1->[1|Z2]

3<1 falla Backtracking al nodo donde hizo la última

decisión

Unifica con 3)

Unifica con 3)

Page 11: 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

mayores(3,G, [4,1,5])

3<4,mayores(3, Z1, [1,5])

X1->3Y1->4

W1->[1,5]G->[4|Z1]

Unifica con 2)mayores(X1,[Y1|Z1],[Y1|W1]):-X1<Y1,mayores(X1,Z1,W1).

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

Dado que 3<4 se satisface

mayores(3, Z1, [1,5])

Unifica con 2)mayores(X2,[Y2|Z2],[Y2|W2]):-X2<Y2,mayores(X2,Z2,W2).

X2->3Y2->1

W2->[5]Z1->[1|Z2]

3<1 falla Backtracking al nodo donde hizo la última

decisión

Unifica con 3)mayores(X3,Z3,[Y3|W3]):-X3>=Y3,mayores(X3,Z3,W3).

X3->3Y3->1

W3->[5]Z1->Z3

3>=4, mayores(3, Z3, [5])

Unifica con 3)

Page 12: 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

mayores(3,G, [4,1,5])

3<4,mayores(3, Z1, [1,5])

X1->3Y1->4

W1->[1,5]G->[4|Z1]

Unifica con 2)mayores(X1,[Y1|Z1],[Y1|W1]):-X1<Y1,mayores(X1,Z1,W1).

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

Dado que 3<4 se satisface

mayores(3, Z1, [1,5])

Unifica con 2)mayores(X2,[Y2|Z2],[Y2|W2]):-X2<Y2,mayores(X2,Z2,W2).

X2->3Y2->1

W2->[5]Z1->[1|Z2]

3<1 falla Backtracking al nodo donde hizo la última

decisión

Unifica con 3)mayores(X3,Z3,[Y3|W3]):-X3>=Y3,mayores(X3,Z3,W3).

X3->3Y3->1

W3->[5]Z1->Z3

3>=4, mayores(3, Z3, [5])

3>=1 es cierto

Unifica con 3)

Page 13: 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

mayores(3,G, [4,1,5])

3<4,mayores(3, Z1, [1,5])

X1->3Y1->4

W1->[1,5]G->[4|Z1]

Unifica con 2)mayores(X1,[Y1|Z1],[Y1|W1]):-X1<Y1,mayores(X1,Z1,W1).

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

Dado que 3<4 se satisface

mayores(3, Z1, [1,5])

Unifica con 2)mayores(X2,[Y2|Z2],[Y2|W2]):-X2<Y2,mayores(X2,Z2,W2).

X2->3Y2->1

W2->[5]Z1->[1|Z2]

3<1 falla Backtracking al nodo donde hizo la última

decisión

Unifica con 3)mayores(X3,Z3,[Y3|W3]):-X3>=Y3,mayores(X3,Z3,W3).

X3->3Y3->1

W3->[5]Z1->Z3

3>=4, mayores(3, Z3, [5])

mayores(3, Z3, [5])

3>=1 es cierto

Unifica con 3)

Page 14: 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

mayores(3,G, [4,1,5])

3<4,mayores(3, Z1, [1,5])

X1->3Y1->4

W1->[1,5]G->[4|Z1]

Unifica con 2)mayores(X1,[Y1|Z1],[Y1|W1]):-X1<Y1, mayores(X1,Z1,W1).

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

Dado que 3<4 se satisface

mayores(3, Z1, [1,5])

Unifica con 2)mayores(X2,[Y2|Z2],[Y2|W2]):-X2<Y2,mayores(X2,Z2,W2).

X2->3Y2->1

W2->[5]Z1->[1|Z2]

3<1 falla Backtracking al nodo donde hizo la última

decisión

Unifica con 3)mayores(X3,Z3,[Y3|W3]):-X3>=Y3,mayores(X3,Z3,W3).

X3->3Y3->1

W3->[5]Z1->Z3

3>=4, mayores(3, Z3, [5])

mayores(3, Z3, [5])

3>=1 es cierto

Unifica con 2)mayores(X4,[Y4|Z4],[Y4|W4]):-X4<Y4,mayores(X4,Z4,W4).

X4->3Y4->5W4->[ ]

Z3->[5|Z4]

Unifica con 3)

Unifica con 3)

Page 15: 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

mayores(3,G, [4,1,5])

3<4,mayores(3, Z1, [1,5])

X1->3Y1->4

W1->[1,5]G->[4|Z1]

Unifica con 2)mayores(X1,[Y1|Z1],[Y1|W1]):-X1<Y1,mayores(X1,Z1,W1).

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

Dado que 3<4 se satisface

mayores(3, Z1, [1,5])

Unifica con 2)mayores(X2,[Y2|Z2],[Y2|W2]):-X2<Y2,mayores(X2,Z2,W2).

X2->3Y2->1

W2->[5]Z1->[1|Z2]

3<1 falla Backtracking al nodo donde hizo la última

decisión

Unifica con 3)mayores(X3,Z3,[Y3|W3]):-X3>=Y3,mayores(X3,Z3,W3).

X3->3Y3->1

W3->[5]Z1->Z3

3>=4, mayores(3, Z3, [5])

mayores(3, Z3, [5])

3>=1 es cierto

Unifica con 2)mayores(X4,[Y4|Z4],[Y4|W4]):-X4<Y4,mayores(X4,Z4,W4).

X4->3Y4->5

W4->[ ]Z3->[5|Z4]

3<5,mayores(3, Z4, [])

Unifica con 3)

Unifica con 3)

Page 16: 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

mayores(3,G, [4,1,5])

3<4,mayores(3, Z1, [1,5])

X1->3Y1->4

W1->[1,5]G->[4|Z1]

Unifica con 2)mayores(X1,[Y1|Z1],[Y1|W1]):-X1<Y1,mayores(X1,Z1,W1).

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

Dado que 3<4 se satisface

mayores(3, Z1, [1,5])

Unifica con 2)mayores(X2,[Y2|Z2],[Y2|W2]):-X2<Y2,mayores(X2,Z2,W2).

X2->3Y2->1

W2->[5]Z1->[1|Z2]

3<1 fallaBacktracking

al nodo donde hizo la última

decisión

Unifica con 3)mayores(X3,Z3,[Y3|W3]):-X3>=Y3,mayores(X3,Z3,W3).

X3->3Y3->1

W3->[5]Z1->Z3

3>=4, mayores(3, Z3, [5])

mayores(3, Z3, [5])

3>=1 es cierto

Unifica con 2)mayores(X4,[Y4|Z4],[Y4|W4]):-X4<Y4,mayores(X4,Z4,W4).

X4->3Y4->5

W4->[ ]Z3->[5|Z4]

3<5,mayores(3, Z4, [])

mayores(3, Z4, [])

Unifica con 3)

Unifica con 3)

Page 17: 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

mayores(3,G, [4,1,5])

3<4,mayores(3, Z1, [1,5])

X1->3Y1->4

W1->[1,5]G->[4|Z1]

Unifica con 2)mayores(X1,[Y1|Z1],[Y1|W1]):-X1<Y1,mayores(X1,Z1,W1).

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

Dado que 3<4 se satisface

mayores(3, Z1, [1,5])

Unifica con 2)mayores(X2,[Y2|Z2],[Y2|W2]):-X2<Y2,mayores(X2,Z2,W2).

X2->3Y2->1

W2->[5]Z1->[1|Z2]

3<1 fallaBacktracking

al nodo donde hizo la última

decisión

Unifica con 3)mayores(X3,Z3,[Y3|W3]):-X3>=Y3,mayores(X3,Z3,W3).

X3->3Y3->1

W3->[5]Z1->Z3

3>=4, mayores(3, Z3, [5])

mayores(3, Z3, [5])

3>=1 es cierto

Unifica con 2)mayores(X4,[Y4|Z4],[Y4|W4]):-X4<Y4,mayores(X4,Z4,W4).

X4->3Y4->5

W4->[ ]Z3->[5|Z4]

3<5,mayores(3, Z4, [])

mayores(3, Z4, [])

Unifica con 1)

mayores(X5,[ ], [ ]).Z4->[ ]X5->3

¿Cómo obtengo el valor de G?G->[4|Z1]Z1->Z3

Z3->[5|Z4]Z4->[ ]

G->[4,5]

Unifica con 3)

Unifica con 3)

Page 18: 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

mayores(3,G, [4,1,5])

3<4,mayores(3, Z1, [1,5])

X1->3Y1->4

W1->[1,5]G->[4|Z1]

Unifica con 2)mayores(X1,[Y1|Z1],[Y1|W1]):-X1<Y1,mayores(X1,Z1,W1).

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

Dado que 3<4 se satisface

mayores(3, Z1, [1,5])

Unifica con 2)mayores(X2,[Y2|Z2],[Y2|W2]):-X2<Y2,mayores(X2,Z2,W2).

X2->3Y2->1

W2->[5]Z1->[1|Z2]

3<1 falla Backtracking al nodo donde hizo la última

decisión

Unifica con 3)mayores(X3,Z3,[Y3|W3]):-X3>=Y3,mayores(X3,Z3,W3).

X3->3Y3->1

W3->[5]Z1->Z3

3>=4, mayores(3, Z3, [5])

mayores(3, Z3, [5])

3>=1 es cierto

Unifica con 2)mayores(X4,[Y4|Z4],[Y4|W4]):-X4<Y4,mayores(X4,Z4,W4).

X4->3Y4->5

W4->[ ]Z3->[5|Z4]

3<5,mayores(3, Z4, [])

mayores(3, Z4, [])

Unifica con 1)

mayores(X5,[ ], [ ]).Z4->[ ]X5->3

¿Cómo obtengo el valor de G?G->[4|Z1]Z1->Z3

Z3->[5|Z4]Z4->[ ]

G->[4,5]

Backtracking para buscar

otra respuesta

Unifica con 3)mayores(X6,Z6,[Y6|W6]):-X6>=Y6,mayores(X6,Z6,W6)

X6->3Y6->5

W6->[ ]Z3->Z6

Unifica con 3)

Page 19: 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

mayores(3,G, [4,1,5])

3<4,mayores(3, Z1, [1,5])

X1->3Y1->4

W1->[1,5]G->[4|Z1]

Unifica con 2)mayores(X1,[Y1|Z1],[Y1|W1]):-X1<Y1,mayores(X1,Z1,W1).

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

Dado que 3<4 se satisface

mayores(3, Z1, [1,5])

Unifica con 2)mayores(X2,[Y2|Z2],[Y2|W2]):-X2<Y2,mayores(X2,Z2,W2).

X2->3Y2->1

W2->[5]Z1->[1|Z2]

3<1 fallaBacktracking

al nodo donde hizo la última

decisión

Unifica con 3)mayores(X3,Z3,[Y3|W3]):-X3>=Y3,mayores(X3,Z3,W3).

X3->3Y3->1

W3->[5]Z1->Z3

3>=4, mayores(3, Z3, [5])

mayores(3, Z3, [5])

3>=1 es cierto

Unifica con 2)mayores(X4,[Y4|Z4],[Y4|W4]):-X4<Y4,mayores(X4,Z4,W4).

X4->3Y4->5

W4->[ ]Z3->[5|Z4]

3<5,mayores(3, Z4, [])

mayores(3, Z4, [])

Unifica con 1)

mayores(X5,[ ], [ ]).Z4->[ ]X5->3

¿Cómo obtengo el valor de G?G->[4|Z1]Z1->Z3

Z3->[5|Z4]Z4->[ ]

G->[4,5]

Backtracking para buscar

otra respuesta

3>=5, mayores(3, Z6, [])

Unifica con 3)mayores(X6,Z6,[Y6|W6]):-X6>=Y6,mayores(X6,Z6,W6)

X6->3Y6->5W6->[ ]Z3->Z6

Unifica con 3)

Page 20: 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

mayores(3,G, [4,1,5])

3<4,mayores(3, Z1, [1,5])

X1->3Y1->4

W1->[1,5]G->[4|Z1]

Unifica con 2)mayores(X1,[Y1|Z1],[Y1|W1]):-X1<Y1,mayores(X1,Z1,W1).

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

Dado que 3<4 se satisface

mayores(3, Z1, [1,5])

Unifica con 2)mayores(X2,[Y2|Z2],[Y2|W2]):-X2<Y2,mayores(X2,Z2,W2).

X2->3Y2->1

W2->[5]Z1->[1|Z2]

3<1 falla Backtracking al nodo donde hizo la última

decisión

Unifica con 3)mayores(X3,Z3,[Y3|W3]):-X3>=Y3,mayores(X3,Z3,W3).

X3->3Y3->1

W3->[5]Z1->Z3

3>=4, mayores(3, Z3, [5])

mayores(3, Z3, [5])

3>=1 es cierto

Unifica con 2)mayores(X4,[Y4|Z4],[Y4|W4]):-X4<Y4,mayores(X4,Z4,W4).

X4->3Y4->5

W4->[ ]Z3->[5|Z4]

3<5,mayores(3, Z4, [])

mayores(3, Z4, [])

Unifica con 1)

mayores(X5,[ ], [ ]).Z4->[ ]X5->3

¿Cómo obtengo el valor de G?G->[4|Z1]Z1->Z3

Z3->[5|Z4]Z4->[ ]

G->[4,5]

Backtracking para buscar

otra respuesta

3>=5, mayores(3, Z6, [])

Unifica con 3)mayores(X6,Z6,[Y6|W6]):-X6>=Y6,mayores(X6,Z6,W6)

X6->3Y6->5

W6->[ ]Z3->Z6

3>=5 falla

Unifica con 3)

Page 21: 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

mayores(3,G, [4,1,5])

3<4,mayores(3, Z1, [1,5])

X1->3Y1->4

W1->[1,5]G->[4|Z1]

Unifica con 2)mayores(X1,[Y1|Z1],[Y1|W1]):-X1<Y1,mayores(X1,Z1,W1).

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

Dado que 3<4 se satisface

mayores(3, Z1, [1,5])

Unifica con 2)mayores(X2,[Y2|Z2],[Y2|W2]):-X2<Y2,mayores(X2,Z2,W2).

X2->3Y2->1

W2->[5]Z1->[1|Z2]

3<1 falla Backtracking al nodo donde hizo la última

decisión

Unifica con 3)mayores(X3,Z3,[Y3|W3]):-X3>=Y3,mayores(X3,Z3,W3).

X3->3Y3->1

W3->[5]Z1->Z3

3>=4, mayores(3, Z3, [5])

mayores(3, Z3, [5])

3>=1 es cierto

Unifica con 2)mayores(X4,[Y4|Z4],[Y4|W4]):-X4<Y4,mayores(X4,Z4,W4).

X4->3Y4->5

W4->[ ]Z3->[5|Z4]

3<5,mayores(3, Z4, [])

mayores(3, Z4, [])

Unifica con 1)

mayores(X5,[ ], [ ]).Z4->[ ]X5->3

¿Cómo obtengo el valor de G?G->[4|Z1]Z1->Z3

Z3->[5|Z4]Z4->[ ]

G->[4,5]

Backtracking para buscar

otra respuesta

3>=5, mayores(3, Z6, [])

Unifica con 3)mayores(X6,Z6,[Y6|W6]):-X6>=Y6,mayores(X6,Z6,W6)

X6->3Y6->5

W6->[ ]Z3->Z6

3>=5 falla

Mensaje1

Backtracking al nodo donde hizo la última

decisión

Unifica con 3)mayores(X7,Z7,[Y7|W7]):-X7>=Y7,mayores(X7,Z7,W7)

X7->3Y7->4

W7->[1,5]G->Z7

Page 22: 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

mayores(3,G, [4,1,5])

3<4,mayores(3, Z1, [1,5])

X1->3Y1->4

W1->[1,5]G->[4|Z1]

Unifica con 2)mayores(X1,[Y1|Z1],[Y1|W1]):-X1<Y1,mayores(X1,Z1,W1).

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

Dado que 3<4 se satisface

mayores(3, Z1, [1,5])

Unifica con 2)mayores(X2,[Y2|Z2],[Y2|W2]):-X2<Y2,mayores(X2,Z2,W2).

X2->3Y2->1

W2->[5]Z1->[1|Z2]

3<1 falla Backtracking al nodo donde hizo la última

decisión

Unifica con 3)mayores(X3,Z3,[Y3|W3]):-X3>=Y3,mayores(X3,Z3,W3).

X3->3Y3->1

W3->[5]Z1->Z3

3>=4, mayores(3, Z3, [5])

mayores(3, Z3, [5])

3>=1 es cierto

Unifica con 2)mayores(X4,[Y4|Z4],[Y4|W4]):-X4<Y4,mayores(X4,Z4,W4).

X4->3Y4->5

W4->[ ]Z3->[5|Z4]

3<5,mayores(3, Z4, [])

mayores(3, Z4, [])

Unifica con 1)

mayores(X5,[ ], [ ]).Z4->[ ]X5->3

¿Cómo obtengo el valor de G?G->[4|Z1]Z1->Z3

Z3->[5|Z4]Z4->[ ]

G->[4,5]

Backtracking para buscar

otra respuesta

3>=5, mayores(3, Z6, [])

Unifica con 3)mayores(X6,Z6,[Y6|W6]):-X6>=Y6,mayores(X6,Z6,W6)

X6->3Y6->5

W6->[ ]Z3->Z6

3>=5 falla

Mensaje1

Backtracking al nodo donde hizo la última

decisión

Unifica con 3)mayores(X7,Z7,[Y7|W7]):-X7>=Y7,mayores(X7,Z7,W7)

3>=4, mayores(3, Z7,[1,5])

X7->3Y7->4

W7->[1,5]G->Z7

Page 23: 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

mayores(3,G, [4,1,5])

3<4,mayores(3, Z1, [1,5])

X1->3Y1->4

W1->[1,5]G->[4|Z1]

Unifica con 2)mayores(X1,[Y1|Z1],[Y1|W1]):-X1<Y1,mayores(X1,Z1,W1).

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

Dado que 3<4 se satisface

mayores(3, Z1, [1,5])

Unifica con 2)mayores(X2,[Y2|Z2],[Y2|W2]):-X2<Y2,mayores(X2,Z2,W2).

X2->3Y2->1

W2->[5]Z1->[1|Z2]

3<1 falla Backtracking al nodo donde hizo la última

decisión

Unifica con 3)mayores(X3,Z3,[Y3|W3]):-X3>=Y3,mayores(X3,Z3,W3).

X3->3Y3->1

W3->[5]Z1->Z3

3>=4, mayores(3, Z3, [5])

mayores(3, Z3, [5])

3>=1 es cierto

Unifica con 2)mayores(X4,[Y4|Z4],[Y4|W4]):-X4<Y4,mayores(X4,Z4,W4).

X4->3Y4->5

W4->[ ]Z3->[5|Z4]

3<5,mayores(3, Z4, [])

mayores(3, Z4, [])

Unifica con 1)

mayores(X5,[ ], [ ]).Z4->[ ]X5->3

¿Cómo obtengo el valor de G?G->[4|Z1]Z1->Z3

Z3->[5|Z4]Z4->[ ]

G->[4,5]

Backtracking para buscar

otra respuesta

3>=5, mayores(3, Z6, [])

Unifica con 3)mayores(X6,Z6,[Y6|W6]):-X6>=Y6,mayores(X6,Z6,W6)

X6->3Y6->5

W6->[ ]Z3->Z6

3>=5 falla

Mensaje1

Backtracking al nodo donde hizo la última

decisión

Unifica con 3)mayores(X7,Z7,[Y7|W7]):-X7>=Y7,mayores(X7,Z7,W7)

3>=4, mayores(3, Z7,[1,5])

X7->3Y7->4

W7->[1,5]G->Z7

3>=4 falla