Implementing backjumping by means of exception handling

05/25/2023
by   Włodzimierz Drabent, et al.
0

We discuss how to implement backjumping (or intelligent backtracking) in Prolog by using the built-ins throw/1 and catch/3. We show that it is impossible in a general case, contrary to a claim that “backjumping is exception handling". We provide two solutions. One works for binary programs; in a general case it imposes a restriction on where backjumping may originate. The other restricts the class of backjump targets. We also discuss implementing backjumping by using backtracking and the Prolog database. Additionally, we explain the semantics of Prolog exception handling in the presence of coroutining.

READ FULL TEXT

page 1

page 2

page 3

page 4

research
08/21/2020

Implementing backjumping by throw/1 and catch/3 of Prolog

We discuss how to implement backjumping (or intelligent backtracking) in...
research
06/04/2017

Visualization of Constraint Handling Rules: Semantics and Applications

The work in the paper presents an animation extension (CHR^vis) to Const...
research
04/06/2023

Handling Wikidata Qualifiers in Reasoning

Wikidata is a knowledge graph increasingly adopted by many communities f...
research
10/31/2018

Exceptionally Monadic Error Handling

We notice that the type of src_haskellcatch :: c a -> (e -> c a) -> c a ...
research
10/05/2020

Wasm/k: Delimited Continuations for WebAssembly

WebAssembly is designed to be an alternative to JavaScript that is a saf...
research
08/11/2020

Backjumping is Exception Handling

ISO Prolog provides catch and throw to realise the control flow of excep...
research
08/15/2022

A Drift Handling Approach for Self-Adaptive ML Software in Scalable Industrial Processes

Most industrial processes in real-world manufacturing applications are c...

Please sign up or login with your details

Forgot password? Click here to reset