The representation of a dynamic problem in ASP usually boils down to using copies of variables and constraints, one for each time stamp, no matter whether it is directly encoded or via an action or temporal language. The multiplication of variables and constraints is commonly done during grounding and the solver is completely ignorant about the temporal relationship among the different instances. On the other hand, a key factor in the performance of today's ASP solvers is conflict-driven constraint learning. Our question is now whether a constraint learned for particular time steps can be generalized and reused at other time stamps, and ultimately whether this enhances the overall solver performance on temporal problems. Knowing full well the domain of time, we study conditions under which learned dynamic constraints can be generalized. We propose a simple translation of the original logic program such that, for the translated programs, the learned constraints can be generalized to other time points. Additionally, we identify a property of temporal problems that allows us to generalize all learned constraints to all time steps. It turns out that this property is satisfied by many planning problems. Finally, we empirically evaluate the impact of adding the generalized constraints to an ASP solver. Under consideration in Theory and Practice of Logic Programming (TPLP).
翻译:在ASP中表示动态问题通常归结为使用变量和约束的副本——每个时间戳对应一个副本,无论这是直接编码还是通过动作语言或时序语言实现。变量和约束的倍增通常在实例化过程中完成,而求解器对不同实例之间的时序关系完全不知情。另一方面,当代ASP求解器性能的一个关键因素是冲突驱动的约束学习。我们研究的问题是:针对特定时间步学习的约束能否泛化并重用于其他时间戳,以及这最终是否会提升求解器在时序问题上的整体性能。基于对时间域的充分认知,我们研究了学习到的动态约束能够被泛化的条件。我们提出对原始逻辑程序的简单转换,使得转换后的程序中学习到的约束可以泛化到其他时间点。此外,我们识别出时序问题的一个特性,该特性允许将所有学习到的约束泛化到所有时间步。结果表明,许多规划问题都满足这一特性。最后,我们通过实验评估了将泛化约束加入ASP求解器的影响。本文已提交《逻辑程序设计理论与实践》(TPLP)审议。