+ All Categories
Home > Documents > ICS 275 Spring 2014dechter/courses/ics-275a/spring...Spring 2014 Ancestors and parents ! anc(x7) =...

ICS 275 Spring 2014dechter/courses/ics-275a/spring...Spring 2014 Ancestors and parents ! anc(x7) =...

Date post: 26-Jul-2020
Category:
Upload: others
View: 0 times
Download: 0 times
Share this document with a friend
52
Backtracking search: look-back ICS 275 Spring 2014 Spring 2014
Transcript
Page 1: ICS 275 Spring 2014dechter/courses/ics-275a/spring...Spring 2014 Ancestors and parents ! anc(x7) = {x5,x3,x4,x1} ! p(x7) =x5 ! p(r,b,b,b,g,r) = x5 Spring 2014 Internal Deadends Analysis

Backtracking search: look-back

ICS 275 Spring 2014

Spring 2014

Page 2: ICS 275 Spring 2014dechter/courses/ics-275a/spring...Spring 2014 Ancestors and parents ! anc(x7) = {x5,x3,x4,x1} ! p(x7) =x5 ! p(r,b,b,b,g,r) = x5 Spring 2014 Internal Deadends Analysis

Look-back: Backjumping / Learning

l  Backjumping: •  In deadends, go back to

the most recent culprit.

l  Learning: •  constraint-recording, no-

good recording. •  good-recording

Spring 2014

Page 3: ICS 275 Spring 2014dechter/courses/ics-275a/spring...Spring 2014 Ancestors and parents ! anc(x7) = {x5,x3,x4,x1} ! p(x7) =x5 ! p(r,b,b,b,g,r) = x5 Spring 2014 Internal Deadends Analysis

Backjumping

l  (X1=r,x2=b,x3=b,x4=b,x5=g,x6=r,x7={r,b}) l  (r,b,b,b,g,r) conflict set of x7 l  (r,-,b,b,g,-) c.s. of x7 l  (r,-,b,-,-,-,-) minimal conflict-set l  Leaf deadend: (r,b,b,b,g,r) l  Every conflict-set is a no-good

Spring 2014

Page 4: ICS 275 Spring 2014dechter/courses/ics-275a/spring...Spring 2014 Ancestors and parents ! anc(x7) = {x5,x3,x4,x1} ! p(x7) =x5 ! p(r,b,b,b,g,r) = x5 Spring 2014 Internal Deadends Analysis

Backjumping

l  (X1=r,x2=b,x3=b,x4=b,x5=g,x6=r,x7={r,b}) l  (r,b,b,b,g,r) conflict set of x7 l  (r,-,b,b,g,-) c.s. of x7 l  (r,-,b,-,-,-,-) minimal conflict-set l  Leaf deadend: (r,b,b,b,g,r) l  Every conflict-set is a no-good

Spring 2014

Page 5: ICS 275 Spring 2014dechter/courses/ics-275a/spring...Spring 2014 Ancestors and parents ! anc(x7) = {x5,x3,x4,x1} ! p(x7) =x5 ! p(r,b,b,b,g,r) = x5 Spring 2014 Internal Deadends Analysis

Gaschnig jumps only at leaf-dead-ends Internal dead-ends: dead-ends that are non-leaf

Spring 2014

Page 6: ICS 275 Spring 2014dechter/courses/ics-275a/spring...Spring 2014 Ancestors and parents ! anc(x7) = {x5,x3,x4,x1} ! p(x7) =x5 ! p(r,b,b,b,g,r) = x5 Spring 2014 Internal Deadends Analysis

Gaschnig jumps only at leaf-dead-ends Internal dead-ends: dead-ends that are non-leaf

Spring 2014

Page 7: ICS 275 Spring 2014dechter/courses/ics-275a/spring...Spring 2014 Ancestors and parents ! anc(x7) = {x5,x3,x4,x1} ! p(x7) =x5 ! p(r,b,b,b,g,r) = x5 Spring 2014 Internal Deadends Analysis

Backjumping styles

l  Jump at leaf only (Gaschnig 1977) •  Context-based

l  Graph-based (Dechter, 1990) •  Jumps at leaf and internal dead-ends, graph

information

l  Conflict-directed (Prosser 1993) •  Context-based, jumps at leaf and internal dead-ends

Spring 2014

Page 8: ICS 275 Spring 2014dechter/courses/ics-275a/spring...Spring 2014 Ancestors and parents ! anc(x7) = {x5,x3,x4,x1} ! p(x7) =x5 ! p(r,b,b,b,g,r) = x5 Spring 2014 Internal Deadends Analysis

Conflict Analysis

• Conflict set • Leaf deadend • Nogood • Safe jump

Spring 2014

Page 9: ICS 275 Spring 2014dechter/courses/ics-275a/spring...Spring 2014 Ancestors and parents ! anc(x7) = {x5,x3,x4,x1} ! p(x7) =x5 ! p(r,b,b,b,g,r) = x5 Spring 2014 Internal Deadends Analysis

Gaschnig’s backjumping: Culprit variable

l 

Spring 2014

Page 10: ICS 275 Spring 2014dechter/courses/ics-275a/spring...Spring 2014 Ancestors and parents ! anc(x7) = {x5,x3,x4,x1} ! p(x7) =x5 ! p(r,b,b,b,g,r) = x5 Spring 2014 Internal Deadends Analysis

Gaschnig’s backjumping Implementation [1979]

l 

Spring 2014

Page 11: ICS 275 Spring 2014dechter/courses/ics-275a/spring...Spring 2014 Ancestors and parents ! anc(x7) = {x5,x3,x4,x1} ! p(x7) =x5 ! p(r,b,b,b,g,r) = x5 Spring 2014 Internal Deadends Analysis

Gaschnig’s backjumping

Spring 2014

Page 12: ICS 275 Spring 2014dechter/courses/ics-275a/spring...Spring 2014 Ancestors and parents ! anc(x7) = {x5,x3,x4,x1} ! p(x7) =x5 ! p(r,b,b,b,g,r) = x5 Spring 2014 Internal Deadends Analysis

Example of Gaschnig’s backjump

Page 13: ICS 275 Spring 2014dechter/courses/ics-275a/spring...Spring 2014 Ancestors and parents ! anc(x7) = {x5,x3,x4,x1} ! p(x7) =x5 ! p(r,b,b,b,g,r) = x5 Spring 2014 Internal Deadends Analysis

Properties

l  Gaschnig’s backjumping implements only safe and maximal backjumps in leaf-deadends.

Spring 2014

Page 14: ICS 275 Spring 2014dechter/courses/ics-275a/spring...Spring 2014 Ancestors and parents ! anc(x7) = {x5,x3,x4,x1} ! p(x7) =x5 ! p(r,b,b,b,g,r) = x5 Spring 2014 Internal Deadends Analysis

Gaschnig jumps only at leaf-dead-ends Internal dead-ends: dead-ends that are non-leaf

Spring 2014

Page 15: ICS 275 Spring 2014dechter/courses/ics-275a/spring...Spring 2014 Ancestors and parents ! anc(x7) = {x5,x3,x4,x1} ! p(x7) =x5 ! p(r,b,b,b,g,r) = x5 Spring 2014 Internal Deadends Analysis

Gaschnig jumps only at leaf-dead-ends Internal dead-ends: dead-ends that are non-leaf

Spring 2014

Page 16: ICS 275 Spring 2014dechter/courses/ics-275a/spring...Spring 2014 Ancestors and parents ! anc(x7) = {x5,x3,x4,x1} ! p(x7) =x5 ! p(r,b,b,b,g,r) = x5 Spring 2014 Internal Deadends Analysis

Graph-based backjumping scenarios Internal deadend at X4

l  Scenario 1, deadend at x4: l  Scenario 2: deadend at x5: l  Scenario 3: deadend at x7: l  Scenario 4: deadend at x6:

} , { ) , , (

} , { ) , , (

} { ) , (

} { ) (

3 1 4 5 6 4

3 1 4 5 7 4

1 5 4 4

1 4 4

x x x x x I

x x x x x I

x x x I

x x I

=

=

=

=

Spring 2014

Page 17: ICS 275 Spring 2014dechter/courses/ics-275a/spring...Spring 2014 Ancestors and parents ! anc(x7) = {x5,x3,x4,x1} ! p(x7) =x5 ! p(r,b,b,b,g,r) = x5 Spring 2014 Internal Deadends Analysis

Graph-based backjumping l  Uses only graph information to find culprit l  Jumps both at leaf and at internal dead-ends l  Whenever a deadend occurs at x, it jumps to the most

recent variable y connected to x in the graph. If y is an internal deadend it jumps back further to the most recent variable connected to x or y.

l  The analysis of conflict is approximated by the graph. l  Graph-based algorithm provide graph-theoretic bounds.

Spring 2014

Page 18: ICS 275 Spring 2014dechter/courses/ics-275a/spring...Spring 2014 Ancestors and parents ! anc(x7) = {x5,x3,x4,x1} ! p(x7) =x5 ! p(r,b,b,b,g,r) = x5 Spring 2014 Internal Deadends Analysis

Ancestors and parents

l  anc(x7) = {x5,x3,x4,x1} l  p(x7) =x5 l  p(r,b,b,b,g,r) = x5

Spring 2014

Page 19: ICS 275 Spring 2014dechter/courses/ics-275a/spring...Spring 2014 Ancestors and parents ! anc(x7) = {x5,x3,x4,x1} ! p(x7) =x5 ! p(r,b,b,b,g,r) = x5 Spring 2014 Internal Deadends Analysis

Internal Deadends Analysis

The induced-parents of a variable X along an ordering, approximates its induced parent set

Page 20: ICS 275 Spring 2014dechter/courses/ics-275a/spring...Spring 2014 Ancestors and parents ! anc(x7) = {x5,x3,x4,x1} ! p(x7) =x5 ! p(r,b,b,b,g,r) = x5 Spring 2014 Internal Deadends Analysis

Graph-based backjumping scenarios Internal deadend at X4

l  Scenario 1, deadend at x4: l  Scenario 2: deadend at x5: l  Scenario 3: deadend at x7: l  Scenario 4: deadend at x6:

} , { ) , , (

} , { ) , , (

} { ) , (

} { ) (

3 1 4 5 6 4

3 1 4 5 7 4

1 5 4 4

1 4 4

x x x x x I

x x x x x I

x x x I

x x I

=

=

=

=

Spring 2014

Page 21: ICS 275 Spring 2014dechter/courses/ics-275a/spring...Spring 2014 Ancestors and parents ! anc(x7) = {x5,x3,x4,x1} ! p(x7) =x5 ! p(r,b,b,b,g,r) = x5 Spring 2014 Internal Deadends Analysis

Graph-based backjumping algorithm, but we need to jump at internal deadends too

When not all variables In the session above X_i are relevant deadends? read example 6.6

Page 22: ICS 275 Spring 2014dechter/courses/ics-275a/spring...Spring 2014 Ancestors and parents ! anc(x7) = {x5,x3,x4,x1} ! p(x7) =x5 ! p(r,b,b,b,g,r) = x5 Spring 2014 Internal Deadends Analysis

Properties of graph-based backjumping

l 

Spring 2014

Page 23: ICS 275 Spring 2014dechter/courses/ics-275a/spring...Spring 2014 Ancestors and parents ! anc(x7) = {x5,x3,x4,x1} ! p(x7) =x5 ! p(r,b,b,b,g,r) = x5 Spring 2014 Internal Deadends Analysis

Conflict-directed backjumping (Prosser 1990)

l 

Spring 2014

Page 24: ICS 275 Spring 2014dechter/courses/ics-275a/spring...Spring 2014 Ancestors and parents ! anc(x7) = {x5,x3,x4,x1} ! p(x7) =x5 ! p(r,b,b,b,g,r) = x5 Spring 2014 Internal Deadends Analysis

Example of conflict-directed backjumping

Spring 2014

Page 25: ICS 275 Spring 2014dechter/courses/ics-275a/spring...Spring 2014 Ancestors and parents ! anc(x7) = {x5,x3,x4,x1} ! p(x7) =x5 ! p(r,b,b,b,g,r) = x5 Spring 2014 Internal Deadends Analysis

Properties

l  Given a dead-end , the latest variable in its jumpback set is the earliest variable to which it is safe to jump.

l  This is the culprit. l  Algorithm conflict-directed backtracking jumps back

to the latest variable in the dead-ends’s jumpback set, and is therefore safe and maximal.

ia!

iJ

Spring 2014

Page 26: ICS 275 Spring 2014dechter/courses/ics-275a/spring...Spring 2014 Ancestors and parents ! anc(x7) = {x5,x3,x4,x1} ! p(x7) =x5 ! p(r,b,b,b,g,r) = x5 Spring 2014 Internal Deadends Analysis

Conflict-directed backjumping

Page 27: ICS 275 Spring 2014dechter/courses/ics-275a/spring...Spring 2014 Ancestors and parents ! anc(x7) = {x5,x3,x4,x1} ! p(x7) =x5 ! p(r,b,b,b,g,r) = x5 Spring 2014 Internal Deadends Analysis

Graph-Based Backjumping on DFS Orderings

Spring 2014

Page 28: ICS 275 Spring 2014dechter/courses/ics-275a/spring...Spring 2014 Ancestors and parents ! anc(x7) = {x5,x3,x4,x1} ! p(x7) =x5 ! p(r,b,b,b,g,r) = x5 Spring 2014 Internal Deadends Analysis

Graph-based Backjumping on DFS ordering

l 

Spring 2014

Page 29: ICS 275 Spring 2014dechter/courses/ics-275a/spring...Spring 2014 Ancestors and parents ! anc(x7) = {x5,x3,x4,x1} ! p(x7) =x5 ! p(r,b,b,b,g,r) = x5 Spring 2014 Internal Deadends Analysis

Complexity of Graph-based Backjumping

l 

1+= mmm kbT

Spring 2014

Page 30: ICS 275 Spring 2014dechter/courses/ics-275a/spring...Spring 2014 Ancestors and parents ! anc(x7) = {x5,x3,x4,x1} ! p(x7) =x5 ! p(r,b,b,b,g,r) = x5 Spring 2014 Internal Deadends Analysis

DFS of graph and induced graphs

Spanning-tree of a graph; DFS spanning trees, Pseudo-tree Pseudo-tree is a spanning tree that does not allow arcs across branches.

Spring 2014

Page 31: ICS 275 Spring 2014dechter/courses/ics-275a/spring...Spring 2014 Ancestors and parents ! anc(x7) = {x5,x3,x4,x1} ! p(x7) =x5 ! p(r,b,b,b,g,r) = x5 Spring 2014 Internal Deadends Analysis

Complexity of Backjumping uses pseudo-tree analysis

Simple: always jump back to parent in pseudo tree Complexity for csp: exp(tree-depth) Complexity for csp: exp(w*log n)

Spring 2014

Page 32: ICS 275 Spring 2014dechter/courses/ics-275a/spring...Spring 2014 Ancestors and parents ! anc(x7) = {x5,x3,x4,x1} ! p(x7) =x5 ! p(r,b,b,b,g,r) = x5 Spring 2014 Internal Deadends Analysis

Complexity of Backjumping

Spring 2014

Page 33: ICS 275 Spring 2014dechter/courses/ics-275a/spring...Spring 2014 Ancestors and parents ! anc(x7) = {x5,x3,x4,x1} ! p(x7) =x5 ! p(r,b,b,b,g,r) = x5 Spring 2014 Internal Deadends Analysis

Look-back: No-good Learning

l 

Learning means recording conflict sets used as constraints to prune future search space.

Spring 2014

Page 34: ICS 275 Spring 2014dechter/courses/ics-275a/spring...Spring 2014 Ancestors and parents ! anc(x7) = {x5,x3,x4,x1} ! p(x7) =x5 ! p(r,b,b,b,g,r) = x5 Spring 2014 Internal Deadends Analysis

Learning, constraint recording

l  Learning means recording conflict sets l  An opportunity to learn is when deadend is

discovered. l  Goal of learning is to not discover the same

deadends. l  Try to identify small conflict sets l  Learning prunes the search space.

Spring 2014

Page 35: ICS 275 Spring 2014dechter/courses/ics-275a/spring...Spring 2014 Ancestors and parents ! anc(x7) = {x5,x3,x4,x1} ! p(x7) =x5 ! p(r,b,b,b,g,r) = x5 Spring 2014 Internal Deadends Analysis

Nogoods explain deadends

l Conflicts to record are explanations

•  (x1=2,x2=2,x3=1,x4=2) 4-ary •  (x1=2,x2=2,x3=1,x4=2)à (x5 ≠1) and •  (x3=1,x4=2) à •  (x4=2) à (x5 ≠1)

Learning means recording explanations to conflicts They are implied constraints

(x5 ≠1)

Spring 2014

Page 36: ICS 275 Spring 2014dechter/courses/ics-275a/spring...Spring 2014 Ancestors and parents ! anc(x7) = {x5,x3,x4,x1} ! p(x7) =x5 ! p(r,b,b,b,g,r) = x5 Spring 2014 Internal Deadends Analysis

Learning example

Spring 2014

Page 37: ICS 275 Spring 2014dechter/courses/ics-275a/spring...Spring 2014 Ancestors and parents ! anc(x7) = {x5,x3,x4,x1} ! p(x7) =x5 ! p(r,b,b,b,g,r) = x5 Spring 2014 Internal Deadends Analysis

Learning Issues l  Learning styles

•  Graph-based or context-based •  i-bounded, scope-bounded •  Relevance-based

l  Non-systematic randomized learning l  Implies time and space overhead l  Applicable to SAT

Spring 2014

Page 38: ICS 275 Spring 2014dechter/courses/ics-275a/spring...Spring 2014 Ancestors and parents ! anc(x7) = {x5,x3,x4,x1} ! p(x7) =x5 ! p(r,b,b,b,g,r) = x5 Spring 2014 Internal Deadends Analysis

Graph-based learning algorithm

Spring 2014

Page 39: ICS 275 Spring 2014dechter/courses/ics-275a/spring...Spring 2014 Ancestors and parents ! anc(x7) = {x5,x3,x4,x1} ! p(x7) =x5 ! p(r,b,b,b,g,r) = x5 Spring 2014 Internal Deadends Analysis

Deep learning

l  Deep learning: recording all and only minimal conflict sets

l  Example: l  Although most accurate, overhead can be

prohibitive: the number of conflict sets in the worst-case:

r

rr

22/

=⎟⎟⎠

⎞⎜⎜⎝

Spring 2014

Page 40: ICS 275 Spring 2014dechter/courses/ics-275a/spring...Spring 2014 Ancestors and parents ! anc(x7) = {x5,x3,x4,x1} ! p(x7) =x5 ! p(r,b,b,b,g,r) = x5 Spring 2014 Internal Deadends Analysis

Jumpback Learning

l  Record the jumpback assignment

Page 41: ICS 275 Spring 2014dechter/courses/ics-275a/spring...Spring 2014 Ancestors and parents ! anc(x7) = {x5,x3,x4,x1} ! p(x7) =x5 ! p(r,b,b,b,g,r) = x5 Spring 2014 Internal Deadends Analysis

Bounded and relevance-based learning Bounding the arity of constraints recorded. l  When bound is i: i-ordered graph-based,i-order jumpback or

i-order deep learning. l  Overhead complexity of i-bounded learning is time and

space exponential in i.

Spring 2014

Page 42: ICS 275 Spring 2014dechter/courses/ics-275a/spring...Spring 2014 Ancestors and parents ! anc(x7) = {x5,x3,x4,x1} ! p(x7) =x5 ! p(r,b,b,b,g,r) = x5 Spring 2014 Internal Deadends Analysis

Complexity of Backtrack-Learning for CSP

The number of dead-ends is bounded by Number of constraint tests per dead-end are Space complexity is Time complexity is Learning and backjumping: )(

)()(

1)(*

1)(*2

)(*

+

+

dw

dw

dw

knmO

knOnkO

l  The complexity of learning along d is time and space exponential in w*(d):

)( )*(dwnkO)(eO

m- depth of tree, e- number of constraints

Spring 2014

Page 43: ICS 275 Spring 2014dechter/courses/ics-275a/spring...Spring 2014 Ancestors and parents ! anc(x7) = {x5,x3,x4,x1} ! p(x7) =x5 ! p(r,b,b,b,g,r) = x5 Spring 2014 Internal Deadends Analysis

Good caching: Moving from one to all or counting

E 0 1 0 1 0 1 0 1

0 C 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1

F 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1

D 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1

0 B 1 0 1

A 0 1

E 0 1 0 1 0 1 0 1

0 C 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1

F 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1

D 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1

0 B 1 0 1

A 0 1

E 0 1 0 1 0 1 0 1

0 C 1 0 1 0 1 0 1 0 1 0 1 0 1

F 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1

D 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1

0 B 1 0 1

A 0 1

E 0 1 0 1 0 1 0 1

0 C 1 0 1 0 1 0 1 0 1

F 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1

D 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1

0 B 1 0 1

A 0 1

E 0 1 0 1 0 1 0 1

0 C 1 0 1 0 1 0 1 0 1 0 1

F 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1

D 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1

0 B 1 0 1

A 0 1

E 0 1 0 1 0 1 0 1

0 C 1 0 1 0 1 0 1

F 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1

D 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1

0 B 1 0 1

A 0 1

0 1 0 1 0 1 0 1

0 1 0 1 0 1 0 1

0 1

0 1 0 1

E

C

F

D

B

A 0 1

0 1

0 1 0 1 0 1

A

D

B C

E

F

Page 44: ICS 275 Spring 2014dechter/courses/ics-275a/spring...Spring 2014 Ancestors and parents ! anc(x7) = {x5,x3,x4,x1} ! p(x7) =x5 ! p(r,b,b,b,g,r) = x5 Spring 2014 Internal Deadends Analysis

Summary: Time-space for constraint processing (consistency and counting)

l 

Spring 2014

Page 45: ICS 275 Spring 2014dechter/courses/ics-275a/spring...Spring 2014 Ancestors and parents ! anc(x7) = {x5,x3,x4,x1} ! p(x7) =x5 ! p(r,b,b,b,g,r) = x5 Spring 2014 Internal Deadends Analysis

Non-Systematic Randomized Learning

l  Do search in a random way with interupts, restarts, unsafe backjumping, but record conflicts.

l  Guaranteed completeness.

Spring 2014

Page 46: ICS 275 Spring 2014dechter/courses/ics-275a/spring...Spring 2014 Ancestors and parents ! anc(x7) = {x5,x3,x4,x1} ! p(x7) =x5 ! p(r,b,b,b,g,r) = x5 Spring 2014 Internal Deadends Analysis

Look-back for SAT

l  σ

σσ

Spring 2014

Page 47: ICS 275 Spring 2014dechter/courses/ics-275a/spring...Spring 2014 Ancestors and parents ! anc(x7) = {x5,x3,x4,x1} ! p(x7) =x5 ! p(r,b,b,b,g,r) = x5 Spring 2014 Internal Deadends Analysis

Integration of algorithms

Spring 2014

Page 48: ICS 275 Spring 2014dechter/courses/ics-275a/spring...Spring 2014 Ancestors and parents ! anc(x7) = {x5,x3,x4,x1} ! p(x7) =x5 ! p(r,b,b,b,g,r) = x5 Spring 2014 Internal Deadends Analysis

Spring 2014

Page 49: ICS 275 Spring 2014dechter/courses/ics-275a/spring...Spring 2014 Ancestors and parents ! anc(x7) = {x5,x3,x4,x1} ! p(x7) =x5 ! p(r,b,b,b,g,r) = x5 Spring 2014 Internal Deadends Analysis

Relationships between various backtracking algrithms

Spring 2014

Page 50: ICS 275 Spring 2014dechter/courses/ics-275a/spring...Spring 2014 Ancestors and parents ! anc(x7) = {x5,x3,x4,x1} ! p(x7) =x5 ! p(r,b,b,b,g,r) = x5 Spring 2014 Internal Deadends Analysis

Empirical comparison of algorithms

l  Benchmark instances l  Random problems l  Application-based random problems l  Generating fixed length random k-sat

(n,m) uniformly at random l  Generating fixed length random CSPs l  (N,K,T,C) also arity, r.

Spring 2014

Page 51: ICS 275 Spring 2014dechter/courses/ics-275a/spring...Spring 2014 Ancestors and parents ! anc(x7) = {x5,x3,x4,x1} ! p(x7) =x5 ! p(r,b,b,b,g,r) = x5 Spring 2014 Internal Deadends Analysis

The Phase transition (m/n)

Spring 2014

Page 52: ICS 275 Spring 2014dechter/courses/ics-275a/spring...Spring 2014 Ancestors and parents ! anc(x7) = {x5,x3,x4,x1} ! p(x7) =x5 ! p(r,b,b,b,g,r) = x5 Spring 2014 Internal Deadends Analysis

Some empirical evaluation l  Sets 1-3 reports average over 2000 instances of random

csps from 50% hardness. Set 1: 200 variables, set 2: 300, Set 3: 350. All had 3 values.:

l  Dimacs problems


Recommended