YOSSI COHEN
P R O F . A R I E L F E L N E R , D R . R O N I S T E R N
Solving the Longest Simple Path Problem with Heuristic Search
1
Problem with Heuristic Search YOSSI COHEN P R O F . A R I E L F E - - PowerPoint PPT Presentation
Solving the Longest Simple Path Problem with Heuristic Search YOSSI COHEN P R O F . A R I E L F E L N E R , D R . R O N I S T E R N 1 LSP - Definition s # # # # # #
YOSSI COHEN
P R O F . A R I E L F E L N E R , D R . R O N I S T E R N
1
2
LSP - Definition
ο Find the longest simple path from Start to Target (π‘ β π’). ο NP Hard problem - even hard to estimate by a constant factor s # # # # # # # # # # # # # # # # # # # # t β β β β # # β β β β β β # β β β β β β β β β β # β β # β β β β β β # # β β β # # β β # β β β β β β β β β β β # β # # # β β # # β β β β β β β β # # β β β β β β β β # β β β # β β t
Background
3
Motivation
Real world application:
ο VLSI design (integrated circuit design) ο Gray code - error correction ο Robot patrolling
Background
4
ο Unlike many problems that are solved by finding a
solution with minimal cost, LSP solution requires maximal reward.
ο Simple Path from 1 to 2 ο MIN vs MAX ο Shortest Path ο Longest Simple Path (LPP)
Maximum vs. Minimum
Background
5
Whatβs the problem? Lets just use Best First Search!
ο [s:0] ο [a:1, b:2] ο [a:1,g:3]
MIN vs. MAX
s g a b 2 1 1 3
Background
6
Search Space is Bigger
Both nodes are same place - but they not the same valid operators: [S,W] [N,S] Moreover one is part of MAX solution and the other is not. We must keep the entire path in every search node. Due to this the search space is much bigger.
t s t s
Background
7
ο f(Β·) = g(Β·) + h(Β·) ο A*
ο‘ MAX problems: the first state in the open list is the maximal
ο‘ Stops when open-list is empty or when:
maxf β€ BestGoalFound
ο DFBnB
ο‘ If F < best candidate β prune
ο Better heuristics are heuristics that tightly upper
bounds the remaining path
A* and DFBnB Adaptations
Background
8
Heuristics
9
Reachable Biconnected components
Existing heuristics
Heuristics
s t f Cut point Block s t t s
10
Works on bipartite graph. 4 connected grid for instance. Count the groups separately, |Ξ| β€ 1
Alternate Steps
Heuristics
S # # # T S # # # T S # # # T
11
Run Alternate step (Alt.) on each block of the BCT separately. h(BCC alt.) = 33 h(BCC s. alt.) = 31
BCC + Separate Alternate Steps
Heuristics
S # # # # # # # T
12
Pruning
Pruning
13
Search Tree Example
t s t s t s t s t s t s t s t s t s t s
Pruning
14
Search Tree Example
t s t s t s t s t s t s t s t s t s t s
When using heuristic search to solve LSP A* traverse over many similar states
s t t s f f
Pruning
15
Basic Symmetry Detection
Same frontier location & same path coverage On open list: Generated node:
ο How to efficiently compare states?
s s t t f f
Pruning
16
Reachable Dominance Detection
Same frontier & contained (subset or equal) reachable coverage On open list: Generated node:
ο Can prune retroactively! ο How to efficiently compare states?
s t s t f f
Pruning
17
Reachable Dominance Detection
s t s t f f
Pruning
Pruning Conditions:
2.|N.Ο|β₯|Nβ.Ο| 3.Nβ.Rβ N.R N Nβ
18
Experimental Results
Experimental Results
19
Experimental Results
ο Grid maps with random blocked cells - 360 maps
with variety of blocked percentile
ο 10Minutes, solved by all permutations
20
Experimental Results
ο Grid maps with rooms - 400 maps with variety of
number of rooms, room size and blocked percentile
ο 10Minutes, solved by all permutations
A* DFBnB Runtime
(BCC Based only)
21
Experimental Results
Success rate β Bigger grids and non-uniform reward 1Hr.
Uniform reward Life Grid (non-uniform)
22
Conclusion
Contributions
ο Novel heuristic for the longest simple path problem ο Several state space pruning techniques
Results
ο All proposed pruning techniques reduce # searched nodes. ο Pruning effectiveness: None β€ BSD β€ RDP ο Heuristic effectiveness: R β€ R+ALT β€ BCC β€ BCC+ALT β€ BCC+Sep. ALT
Challenge for Future Work
ο BSD has the fastest runtime and RDD has the strongest pruning ability ο Challenge: How to get RDD faster?
23
https://github.com/YossiCohen/Heuristic-Search-Max