AILOPLJun 24, 2017

Justifications in Constraint Handling Rules for Logical Retraction in Dynamic Algorithms

arXiv:1706.07946v22 citations
Originality Incremental advance
AI Analysis

This work addresses the need for fully dynamic algorithms in CHR by adding decrementality, which is incremental as it builds on CHR's existing incremental nature.

The authors tackled the problem of enabling logical retraction of constraints in Constraint Handling Rules (CHR) to support dynamic algorithms, resulting in a scheme that allows removal of constraints and undoing their consequences without recomputation, as demonstrated in examples like maintaining minimum values and shortest paths.

We present a straightforward source-to-source transformation that introduces justifications for user-defined constraints into the CHR programming language. Then a scheme of two rules suffices to allow for logical retraction (deletion, removal) of constraints during computation. Without the need to recompute from scratch, these rules remove not only the constraint but also undo all consequences of the rule applications that involved the constraint. We prove a confluence result concerning the rule scheme and show its correctness. When algorithms are written in CHR, constraints represent both data and operations. CHR is already incremental by nature, i.e. constraints can be added at runtime. Logical retraction adds decrementality. Hence any algorithm written in CHR with justifications will become fully dynamic. Operations can be undone and data can be removed at any point in the computation without compromising the correctness of the result. We present two classical examples of dynamic algorithms, written in our prototype implementation of CHR with justifications that is available online: maintaining the minimum of a changing set of numbers and shortest paths in a graph whose edges change.

Foundations

The foundational work for this paper's niche, ranked by how specifically the neighbourhood builds on it — not by global fame.

Your Notes