Implementing backjumping by throw/1 and catch/3 of Prolog
Włodzimierz Drabent
Abstract
Open-access reader
Włodzimierz Drabent
Abstract
Open-access reader
We discuss how to implement backjumping (or intelligent backtracking) in Prolog programs by means of exception handling. This seems impossible in a general case. 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 a class of backjump targets. We also show how to simulate backjumping by means of backtracking and the Prolog database.
A significance statement is not available in the OpenAlex record.
A contribution statement is not available in the OpenAlex record.
Method details are not available in the OpenAlex metadata.
Findings are not separately available in the OpenAlex metadata.
Limitations are not available in the OpenAlex metadata.
Application details are not available in the OpenAlex metadata.
We discuss how to implement backjumping (or intelligent backtracking) in Prolog programs by means of exception handling. This seems impossible in a general case. 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 a class of backjump targets. We also show how to simulate backjumping by means of backtracking and the Prolog database.
Key concepts: Backtracking, Prolog, Computer science, Programming language, Binary number, Arithmetic, Mathematics