towards rational deployment of multiple heuristics in a
play

Towards Rational Deployment of Multiple Heuristics in A* David - PowerPoint PPT Presentation

Lazy A Rational Lazy A Motivation Empirical Evaluation Towards Rational Deployment of Multiple Heuristics in A* David Tolpin Tal Beja Solomon Eyal Shimony Ariel Felner Erez Karpas ICAPS 2013 Workshop on Heuristic Search for


  1. Lazy A ∗ Rational Lazy A ∗ Motivation Empirical Evaluation Towards Rational Deployment of Multiple Heuristics in A* David Tolpin Tal Beja Solomon Eyal Shimony Ariel Felner Erez Karpas ICAPS 2013 Workshop on Heuristic Search for Domain-Independent Planning

  2. Lazy A ∗ Rational Lazy A ∗ Motivation Empirical Evaluation Outline Motivation 1 Lazy A ∗ 2 Rational Lazy A ∗ 3 Empirical Evaluation 4

  3. Lazy A ∗ Rational Lazy A ∗ Motivation Empirical Evaluation Motivation We want to find an optimal solution, and we have admissible heuristics Use A ∗

  4. Lazy A ∗ Rational Lazy A ∗ Motivation Empirical Evaluation Motivation We want to find an optimal solution, and we have admissible heuristics Use A ∗ f = g + h

  5. Lazy A ∗ Rational Lazy A ∗ Motivation Empirical Evaluation Motivation We want to find an optimal solution, and we have admissible heuristics Use A ∗ f = g + h h LM-CUT h m M & S h LA PDB SP h max

  6. Lazy A ∗ Rational Lazy A ∗ Motivation Empirical Evaluation Motivation We want to find an optimal solution, and we have admissible heuristics Use A ∗ f = g + h h LM-CUT h m M & S h LA PDB SP h max Which heuristic is the best?

  7. Lazy A ∗ Rational Lazy A ∗ Motivation Empirical Evaluation Why Settle for One? There is no single best heuristic, so why settle only for one? We can use the maximum of several heuristics to get a more informative heuristic

  8. Lazy A ∗ Rational Lazy A ∗ Motivation Empirical Evaluation Why Settle for One? There is no single best heuristic, so why settle only for one? We can use the maximum of several heuristics to get a more informative heuristic

  9. Lazy A ∗ Rational Lazy A ∗ Motivation Empirical Evaluation Why Settle for One? There is no single best heuristic, so why settle only for one? We can use the maximum of several heuristics to get a more informative heuristic Sample results: Domain h LA h LM-CUT max h openstacks-opt11 10 11 9 freecell 54 10 36 Number of problems solved in 5 minutes

  10. Lazy A ∗ Rational Lazy A ∗ Motivation Empirical Evaluation Why Settle for One? There is no single best heuristic, so why settle only for one? We can use the maximum of several heuristics to get a more informative heuristic Sample results: Domain h LA h LM-CUT max h openstacks-opt11 10 11 9 freecell 54 10 36 Number of problems solved in 5 minutes A more informed heuristic — max h — solves less problems

  11. Lazy A ∗ Rational Lazy A ∗ Motivation Empirical Evaluation The Accuracy / Computation Time Tradeoff More Informed Heuristic Less Search Effort

  12. Lazy A ∗ Rational Lazy A ∗ Motivation Empirical Evaluation The Accuracy / Computation Time Tradeoff More Informed Heuristic Less Search Effort Less Expanded States

  13. Lazy A ∗ Rational Lazy A ∗ Motivation Empirical Evaluation The Accuracy / Computation Time Tradeoff More Informed Heuristic Less Search Effort Less Expanded States More Time Per State

  14. Lazy A ∗ Rational Lazy A ∗ Motivation Empirical Evaluation Related Work Selective Max (Domshlak, Karpas and Markovitch 2012) Uses a classifier which tries to predict which heuristic to use for each state Classifier is learned online, during search Lazy A ∗ (Zhang and Bacchus, 2012) Calculates heuristics only “as needed” to push a state further back in the open list

  15. Lazy A ∗ Rational Lazy A ∗ Motivation Empirical Evaluation Contributions Theoretical analysis of lazy A ∗ Enhancements for lazy A ∗ Rational lazy A ∗ — applies rational meta-reasoning to decide whether or not to push a state back in the open list

  16. Lazy A ∗ Rational Lazy A ∗ Motivation Empirical Evaluation Outline Motivation 1 Lazy A ∗ 2 Rational Lazy A ∗ 3 Empirical Evaluation 4

  17. Lazy A ∗ Rational Lazy A ∗ Motivation Empirical Evaluation Notation and Assumptions Two heuristics: h 1 and h 2 h 1 is cheaper to compute than h 2 h 2 is more informative than h 1 on average h 1 computation time is t 1 , h 2 computation time is t 2 Open list insertion/removal takes t o time

  18. Lazy A ∗ Rational Lazy A ∗ Motivation Empirical Evaluation A ∗ Apply all heuristics to initial state s 0 Insert s 0 into O PEN while O PEN not empty do n ← best node from O PEN if Goal(n) then return trace(n) foreach child c of n do Apply h 1 to c insert c into O PEN Insert n into C LOSED return FAILURE

  19. Lazy A ∗ Rational Lazy A ∗ Motivation Empirical Evaluation Lazy A ∗ Apply all heuristics to initial state s 0 Insert s 0 into O PEN while O PEN not empty do n ← best node from O PEN if Goal(n) then return trace(n) if h 2 was not applied to n then Apply h 2 to n insert n into O PEN continue //next node in OPEN foreach child c of n do Apply h 1 to c insert c into O PEN Insert n into C LOSED return FAILURE

  20. Lazy A ∗ Rational Lazy A ∗ Motivation Empirical Evaluation Analysis of Lazy A ∗ As informative as A ∗ using max ( h 1 , h 2 ) (up to tie-breaking) The surplus states are those that were generated but not expanded (i.e., on the open list) when A ∗ MAX terminates Out of the surplus states, lazy A ∗ skips h 2 computation for some — denote them as good Expanded Surplus Alg Non good Good A ∗ t 1 + t 2 + 2 t o t 1 + t 2 + t o t 1 + t 2 + t o MAX LA ∗ t 1 + t 2 + 4 t o t 1 + t 2 + 3 t o t 1 + t o If g ( s )+ h 1 ( s ) > C ∗ then s will be good (if it is generated)

  21. Lazy A ∗ Rational Lazy A ∗ Motivation Empirical Evaluation Enhancements for Lazy A ∗ Open bypassing When state s is generated and h 1 ( s ) computed, if f ( s ) is smaller than the lowest f -value on OPEN , compute h 2 ( s ) right away When computing h 2 ( s ) , if the new f ( s ) is smaller than the lowest f -value on OPEN , expand s right away Reduces the overhead on OPEN operations Heuristic bypassing Suppose we can derive upper and lower bounds for h 1 ( s ) and h 2 ( s ) , e.g., when the heuristics are consistent With lazy A ∗ , if we can prove that h 1 ( s ) < h 2 ( s ) , we use h 2 ( s ) instead of computing h 1 We can also skip computing h 2 ( s ) when h 2 ( s ) ≤ h 1 ( s )

  22. Lazy A ∗ Rational Lazy A ∗ Motivation Empirical Evaluation Outline Motivation 1 Lazy A ∗ 2 Rational Lazy A ∗ 3 Empirical Evaluation 4

  23. Lazy A ∗ Rational Lazy A ∗ Motivation Empirical Evaluation Rational Lazy A ∗ Sometimes, it’s better to expand more states in less time Lazy A ∗ does not consider this option We introduce Rational Lazy A ∗ , which differs from lazy A ∗ by deciding whether or not to compute h 2 The decision is based on rational meta-reasoning

  24. Lazy A ∗ Rational Lazy A ∗ Motivation Empirical Evaluation Rational Decision When should we decide to compute h 2 ? Assume we computed h 2 for state s . Then either: s will be expanded later 1 s will not be expanded before the goal is found 2 We should only compute h 2 if outcome 2 will occur — call this h 2 being helpful

  25. Lazy A ∗ Rational Lazy A ∗ Motivation Empirical Evaluation Rational Decision When should we decide to compute h 2 ? Assume we computed h 2 for state s . Then either: s will be expanded later 1 s will not be expanded before the goal is found 2 We should only compute h 2 if outcome 2 will occur — call this h 2 being helpful

  26. Lazy A ∗ Rational Lazy A ∗ Motivation Empirical Evaluation Rational Decision When should we decide to compute h 2 ? Assume we computed h 2 for state s . Then either: s will be expanded later 1 s will not be expanded before the goal is found 2 We should only compute h 2 if outcome 2 will occur — call this h 2 being helpful

  27. Lazy A ∗ Rational Lazy A ∗ Motivation Empirical Evaluation Rational Decision When should we decide to compute h 2 ? Assume we computed h 2 for state s . Then either: s will be expanded later 1 s will not be expanded before the goal is found 2 We should only compute h 2 if outcome 2 will occur — call this h 2 being helpful “It is difficult to make predictions, especially about the future” — Yogi Berra / Neils Bohr

  28. Lazy A ∗ Rational Lazy A ∗ Motivation Empirical Evaluation Almost Rational Decision We look at an upper bound of the regret for each decision, under each possible future We assume rational lazy A ∗ is better than lazy A ∗ , so by assuming we continue with lazy A ∗ we get an upper bound on regret Compute h 2 Bypass h 2 ∼ b ( s ) t 1 +( b ( s ) − 1 ) t 2 h 2 helpful 0 h 2 not helpful ∼ t 2 0 b ( s ) denotes the number of successors of s Disclaimer: for the exact analysis, see the paper

  29. Lazy A ∗ Rational Lazy A ∗ Motivation Empirical Evaluation From Regret to Rational Decision Compute h 2 Bypass h 2 ∼ b ( s ) t 1 +( b ( s ) − 1 ) t 2 h 2 helpful 0 h 2 not helpful ∼ t 2 0 Assume the probability of h 2 being helpful is p h Then the rational decision is to compute h 2 iff: p h b ( s ) t 2 < 1 − p h b ( s ) t 1

  30. Lazy A ∗ Rational Lazy A ∗ Motivation Empirical Evaluation Approximating p h p h b ( s ) t 2 < 1 − p h b ( s ) t 1 We can directly measure t 1 , t 2 and b ( s ) , but we need to approximate p h If s is a state at which h 2 was helpful, then we computed h 2 for s , but did not expand s . Denote the number of such states by B . Denote by A the number of states for which we computed h 2 . We can use A B as an estimate for p h To get an estimate which is more stable, we use a weighted average with k fictitious examples giving an estimate of p init : ( A + p init · k ) B + k We use p init = 0 . 5 and k = 1000

Recommend


More recommend