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
翻译:动态问题在ASP中的表示通常归结为使用变量和约束的副本,每个时间戳对应一组,无论它是直接编码还是通过动作或时间语言实现。变量和约束的倍增通常在基化过程中完成,而求解器完全不了解不同实例间的时间关系。另一方面,现今ASP求解器性能的关键因素之一是冲突驱动约束学习。我们的问题现在在于:针对特定时间步学习到的约束能否被泛化并在其他时间戳复用,以及最终这是否能提升求解器在处理时间问题时的整体性能。在充分了解时间领域的前提下,我们研究了学习到的动态约束可被泛化的条件。我们提出对原始逻辑程序进行简单翻译,使得对于翻译后的程序,学习到的约束能够泛化到其他时间点。此外,我们识别出时间问题的一个属性,该属性允许我们将所有学习到的约束泛化到所有时间步。结果表明,许多规划问题都满足这一属性。最后,我们通过实验评估了将泛化约束添加到ASP求解器中的影响。