1 / 28

Learning From your mistakes, or By thinking

Learning From your mistakes, or By thinking. St Andrews. … for constraint satisfaction problems. Why learn?. Improve performance stop making the same mistakes! Provide explanations why is there no solution? why can’t I have a chocolate tea pot? React to change

aric
Download Presentation

Learning From your mistakes, or By thinking

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Learning • From your mistakes, or • By thinking St Andrews

  2. … for constraint satisfaction problems

  3. Why learn? • Improve performance • stop making the same mistakes! • Provide explanations • why is there no solution? • why can’t I have a chocolate tea pot? • React to change • when constraints are retracted/relaxed

  4. Why bother? all good sat solvers learn constraint programmers don’t learn But some are starting to (palm, the Germans, …) cp might be ignoring a win

  5. Learning while searching Brief/incomplete history of learning • Dechter’s deep and shallow learning (late 80’s ?) • The reactive scheduling agent (IJCAI91) • DAS (PhD thesis, 1990) • Ginsberg’s Dynamic Backtracking (DB or not DB?, JAIR 93) • Conflict-directed backjumping (CI 9(3)) • MAC-CBJ (apes report) • Relevance bounded learning (help!) • Nogood recording in local search (Richards2 CP98 (BMS external?)) • Quick Xplain (Ulrich Junkers, IJCAI 2001) • Sat solvers (see paper by Innes) Almost all are learning from mistakes

  6. Learning by thinking Reformulate the problem and think about it for as long as you want

  7. Reformulate a csp as a problem of finding a maximal independent set of a hypergraph

  8. What’s that then? • A hypergraph G = (V,E) • V is a set of vertices • E is a set of hyperedges • an edge with 2 or more vertices • An independent set S • assume vertices(e) is set of vertices in hyperedge e • Maximal independent set S • there is no independent set S’ that subsumes S

  9. A Hypergraph Show Me! 1 9 2 3 4 5 7 8 6

  10. An Independent Set Show Me! 1 It aint maximal 9 2 3 4 5 7 8 6 You could add vertex 3 or vertex 8!

  11. A Maximal Independent Set Show Me! 1 9 2 3 4 5 7 8 6 There are 11 maximal independent sets of size 6

  12. The Largest Independent Set Show Me! 1 9 2 3 4 5 7 8 6 There is only one for this graph

  13. A Minimal Maximal Independent Set Show Me! 1 9 2 3 4 5 7 8 6 There are 3 minimal maximal independent set Honest!

  14. CP/Choco 1 9 2 3 4 5 7 8 6 But what about maximality?

  15. Encoding Maximality CP/Choco 1 9 2 3 4 5 7 8 6 An example, vertex 2 That is, we state when a variable MUST be selected and when it MUST NOT be selected

  16. CP/Choco 1 9 2 3 4 5 7 8 6 Example, vertices 1,2, and 3

  17. More Generally

  18. So?

  19. You can reformulate a csp as a problem of finding a independent set of a hypergraph (this is not new) The independent set has to be of size n It is also maximal

  20. An Example X + Y + Z = 2 where X, Y and Z are in {0,1} Give me an independent set of size n We have n.m vertices A hyper edge for each nogood An m-clique for each variable’s domain

  21. Golomb Ruler Another Example • A ruler with N “ticks” • Distance between every pair of ticks is different • Ruler is of length L Independent Set encoding N.L vertices, corresponding to the L possible values for each of the N ticks N cliques of size L (binary nogoods) Hyper edges of arity 3

  22. Maximality learning Learning by thinking • Use maximality as learning, at the top of search? • For a csp with n variables, what is a maximal independent set of size less than n, say k? • It is a nogood, but what kind of nogood? • It is a set of instantiations of k variables such that • no other variable can be instantiated with any value • i.e. EVERYTHING is in conflict We can find a maximal independent set in polytime It is NPC to find a maximal independent set of a specified size

  23. Conclusion • We might learn by thinking • reformulate the problem • look for maximal independent sets • post these as new constraints • will this be useful?

  24. Easy questions only

More Related