Backjumping is Exception Handling
Ed Robbins, Andy King, Jacob M. Howe

TL;DR
This paper shows how Prolog's catch and throw can be used to implement backjumping, enhancing control flow in logic programming with practical applications like graph coloring and SAT solving.
Contribution
It demonstrates that catch and throw can effectively implement backjumping semantics, providing a new perspective on exception handling in logic programming.
Findings
Implemented backjumping in Prolog using catch and throw
Applied backjumping to graph coloring and SAT solving
Showed improved search efficiency with backjumping
Abstract
ISO Prolog provides catch and throw to realise the control flow of exception handling. This pearl demonstrates that catch and throw are inconspicuously amenable to the implementation of backjumping. In fact, they have precisely the semantics required: rewinding the search to a specific point, and carrying of a preserved term to that point. The utility of these properties is demonstrated through an implementation of graph colouring with backjumping and a backjumping SAT solver that applies Conflict Driven Clause Learning.
Peer Reviews
No public reviews on file for this paper yet. If you reviewed it on a platform where reviews are public (OpenReview, ICLR, NeurIPS, ICML), you can paste yours below so the community can read it here.
Videos
No videos yet. Explain this paper in a talk, walkthrough, or lecture? Add one.
