JOHANNES K. FICHTE, SARAH ALICE GAGGL, MARKUS HECHER, DOMINIK RUSOVAC
{"title":"IASCAR:通过随时细化进行增量答案集计数","authors":"JOHANNES K. FICHTE, SARAH ALICE GAGGL, MARKUS HECHER, DOMINIK RUSOVAC","doi":"10.1017/s1471068424000036","DOIUrl":null,"url":null,"abstract":"Answer set programming (ASP) is a popular declarative programming paradigm with various applications. Programs can easily have many answer sets that cannot be enumerated in practice, but counting still allows quantifying solution spaces. If one counts under assumptions on literals, one obtains a tool to comprehend parts of the solution space, so-called <jats:italic>answer set navigation</jats:italic>. However, navigating through parts of the solution space requires counting many times, which is expensive in theory. <jats:italic>Knowledge compilation</jats:italic> compiles instances into representations on which counting works in polynomial time. However, these techniques exist only for conjunctive normal form (CNF) formulas, and compiling ASP programs into CNF formulas can introduce an exponential overhead. This paper introduces a technique to iteratively count answer sets under assumptions on knowledge compilations of CNFs that encode supported models. Our anytime technique uses the inclusion–exclusion principle to improve bounds by over- and undercounting systematically. In a preliminary empirical analysis, we demonstrate promising results. After compiling the input (offline phase), our approach quickly (re)counts.","PeriodicalId":49436,"journal":{"name":"Theory and Practice of Logic Programming","volume":"93 1","pages":""},"PeriodicalIF":1.4000,"publicationDate":"2024-02-21","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":"0","resultStr":"{\"title\":\"IASCAR: Incremental Answer Set Counting by Anytime Refinement\",\"authors\":\"JOHANNES K. FICHTE, SARAH ALICE GAGGL, MARKUS HECHER, DOMINIK RUSOVAC\",\"doi\":\"10.1017/s1471068424000036\",\"DOIUrl\":null,\"url\":null,\"abstract\":\"Answer set programming (ASP) is a popular declarative programming paradigm with various applications. Programs can easily have many answer sets that cannot be enumerated in practice, but counting still allows quantifying solution spaces. If one counts under assumptions on literals, one obtains a tool to comprehend parts of the solution space, so-called <jats:italic>answer set navigation</jats:italic>. However, navigating through parts of the solution space requires counting many times, which is expensive in theory. <jats:italic>Knowledge compilation</jats:italic> compiles instances into representations on which counting works in polynomial time. However, these techniques exist only for conjunctive normal form (CNF) formulas, and compiling ASP programs into CNF formulas can introduce an exponential overhead. This paper introduces a technique to iteratively count answer sets under assumptions on knowledge compilations of CNFs that encode supported models. Our anytime technique uses the inclusion–exclusion principle to improve bounds by over- and undercounting systematically. In a preliminary empirical analysis, we demonstrate promising results. After compiling the input (offline phase), our approach quickly (re)counts.\",\"PeriodicalId\":49436,\"journal\":{\"name\":\"Theory and Practice of Logic Programming\",\"volume\":\"93 1\",\"pages\":\"\"},\"PeriodicalIF\":1.4000,\"publicationDate\":\"2024-02-21\",\"publicationTypes\":\"Journal Article\",\"fieldsOfStudy\":null,\"isOpenAccess\":false,\"openAccessPdf\":\"\",\"citationCount\":\"0\",\"resultStr\":null,\"platform\":\"Semanticscholar\",\"paperid\":null,\"PeriodicalName\":\"Theory and Practice of Logic Programming\",\"FirstCategoryId\":\"94\",\"ListUrlMain\":\"https://doi.org/10.1017/s1471068424000036\",\"RegionNum\":2,\"RegionCategory\":\"数学\",\"ArticlePicture\":[],\"TitleCN\":null,\"AbstractTextCN\":null,\"PMCID\":null,\"EPubDate\":\"\",\"PubModel\":\"\",\"JCR\":\"Q3\",\"JCRName\":\"COMPUTER SCIENCE, SOFTWARE ENGINEERING\",\"Score\":null,\"Total\":0}","platform":"Semanticscholar","paperid":null,"PeriodicalName":"Theory and Practice of Logic Programming","FirstCategoryId":"94","ListUrlMain":"https://doi.org/10.1017/s1471068424000036","RegionNum":2,"RegionCategory":"数学","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":null,"EPubDate":"","PubModel":"","JCR":"Q3","JCRName":"COMPUTER SCIENCE, SOFTWARE ENGINEERING","Score":null,"Total":0}
引用次数: 0
摘要
答案集编程(ASP)是一种流行的声明式编程范式,应用广泛。程序很容易有很多答案集,在实践中无法枚举,但计数仍然可以量化解空间。如果在字面假设下进行计数,就能获得一种理解部分解空间的工具,即所谓的答案集导航。然而,浏览部分解空间需要多次计数,这在理论上是很昂贵的。知识编译可以将实例编译成表征,在多项式时间内进行计数。然而,这些技术只适用于连接正则表达式(CNF),而将 ASP 程序编译成 CNF 公式会带来指数级的开销。本文介绍了一种在编码支持模型的 CNF 知识编译假设下迭代计算答案集的技术。我们的随时计数技术利用包含-排除原理,通过系统地多计数和少计数来改进边界。在初步实证分析中,我们展示了很有前景的结果。在编译输入(离线阶段)后,我们的方法可以快速(重新)计数。
IASCAR: Incremental Answer Set Counting by Anytime Refinement
Answer set programming (ASP) is a popular declarative programming paradigm with various applications. Programs can easily have many answer sets that cannot be enumerated in practice, but counting still allows quantifying solution spaces. If one counts under assumptions on literals, one obtains a tool to comprehend parts of the solution space, so-called answer set navigation. However, navigating through parts of the solution space requires counting many times, which is expensive in theory. Knowledge compilation compiles instances into representations on which counting works in polynomial time. However, these techniques exist only for conjunctive normal form (CNF) formulas, and compiling ASP programs into CNF formulas can introduce an exponential overhead. This paper introduces a technique to iteratively count answer sets under assumptions on knowledge compilations of CNFs that encode supported models. Our anytime technique uses the inclusion–exclusion principle to improve bounds by over- and undercounting systematically. In a preliminary empirical analysis, we demonstrate promising results. After compiling the input (offline phase), our approach quickly (re)counts.
期刊介绍:
Theory and Practice of Logic Programming emphasises both the theory and practice of logic programming. Logic programming applies to all areas of artificial intelligence and computer science and is fundamental to them. Among the topics covered are AI applications that use logic programming, logic programming methodologies, specification, analysis and verification of systems, inductive logic programming, multi-relational data mining, natural language processing, knowledge representation, non-monotonic reasoning, semantic web reasoning, databases, implementations and architectures and constraint logic programming.