Forgetting - or variable elimination - is an operation that allows the removal, from a knowledge base, of middle variables no longer deemed relevant. In recent years, many different approaches for forgetting in Answer Set Programming have been proposed, in the form of specific operators, or classes of such operators, commonly following different principles and obeying different properties. Each such approach was developed to address some particular view on forgetting, aimed at obeying a specific set of properties deemed desirable in such view, but a comprehensive and uniform overview of all the existing operators and properties is missing. In this paper, we thoroughly examine existing properties and (classes of) operators for forgetting in Answer Set Programming, drawing a complete picture of the landscape of these classes of forgetting operators, which includes many novel results on relations between properties and operators, including considerations on concrete operators to compute results of forgetting and computational complexity. Our goal is to provide guidance to help users in choosing the operator most adequate for their application requirements.
翻译:忘记(或变数消除)是一种行动,它使得人们能够从知识库中去除不再认为相关的中变数。近年来,以特定操作者或此类操作者类别的形式,提出了许多不同的方法,在答盘编程中遗忘,通常遵循不同原则并服从不同特性。每种方法都是针对某些关于忘却的特殊观点制定的,目的是遵从这种观点中认为可取的一套特定属性,但缺少对所有现有操作者和属性的全面和统一概览。在本文中,我们彻底审查了在答盘编程中遗忘的现有属性和(操作者类别)操作者,全面描绘了这些类别“忘却操作者”的全貌,其中包括关于属性和操作者之间关系的许多新结果,包括考虑具体操作者计算遗忘和计算复杂性的结果。我们的目标是提供指导,帮助用户选择最适合其应用要求的操作者。