当前位置: X-MOL 学术 › Fundam. Inform. › 论文详情
Our official English website, www.x-mol.net, welcomes your feedback! (Note: you will need to create a separate account there.)
Justifications in Constraint Handling Rules for Logical Retraction in Dynamic Algorithms: Theory, Implementations, and Complexity
Fundamenta Informaticae ( IF 1.166 ) Pub Date : 2020-03-31 , DOI: 10.3233/fi-2020-1924
Thom Frühwirth 1
Affiliation  

We present a concise source-to-source transformation that introduces justifications for user-defined constraints into the rule-based Constraint Handling Rules (CHR) programming language. There is no need to introduce a new semantics for justifications. This leads to a conservative extension of thelanguage, as we can show the equivalence of rule applications. A scheme of two rules suffices to allow for logical retraction (deletion, removal) of CHR constraints during computation. Without the need to recompute from scratch, these rules remove the constraint and also undo all its consequences. We prove a confluence result concerning the rule scheme. We prove its correctness in general and tighten the results for confluent programs. We give an implementation, show its correctness, present two classical examples of dynamic algorithms, and improve the implementation. The computational overhead of introducing justifications and of performing logical retraction, i.e. the additional time and space needed, is proportional to the derivation length in the original program. This overhead may increase space complexity, but does not change the worst-case time complexity.

中文翻译:

动态算法中逻辑撤消的约束处理规则的依据:理论,实现和复杂性

我们提出了一种简洁的源到源转换,将用户定义的约束的依据引入基于规则的约束处理规则(CHR)编程语言中。无需引入新的理由语义。因为我们可以证明规则应用程序的等效性,所以这导致了语言的保守扩展。两个规则的方案足以允许在计算期间对CHR约束进行逻辑撤消(删除,删除)。无需从头开始重新计算,这些规则消除了约束,也消除了其所有后果。我们证明了关于规则方案的融合结果。我们总体上证明了它的正确性,并加强了融合程序的结果。我们给出一个实现,展示其正确性,并给出两个经典的动态算法示例,并改善实施。引入证明和执行逻辑撤消的计算开销(即所需的额外时间和空间)与原始程序中的派生长度成比例。这种开销可能会增加空间复杂度,但不会改变最坏情况下的时间复杂度。
更新日期:2020-03-31
down
wechat
bug