resolución de objetivos se recorren las reglas de arriba abajo y de izquierda a derecha buscamos...

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

Upload: julia-rios-miguelez

Post on 24-Jan-2016

217 views

Category:

Documents


0 download

TRANSCRIPT

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