{"title":"Tractable representations for Boolean functional synthesis","authors":"S. Akshay, Supratik Chakraborty, Shetal Shah","doi":"10.1007/s10472-023-09907-5","DOIUrl":null,"url":null,"abstract":"<div><p>Given a Boolean relational specification <span>\\(F(\\textbf{X}, \\textbf{Y})\\)</span>, where <span>\\(\\textbf{X}\\)</span> is a vector of inputs and <span>\\(\\textbf{Y}\\)</span> is a vector of outputs, Boolean functional synthesis requires us to compute a vector of (Skolem) functions <span>\\(\\varvec{\\Psi }(\\textbf{X})\\)</span>, one for each output in <span>\\(\\textbf{Y}\\)</span>, such that <span>\\(F(\\textbf{X}, \\varvec{\\Psi }(\\textbf{X})) \\leftrightarrow \\exists \\textbf{Y}\\,F(\\textbf{X},\\textbf{Y})\\)</span> holds. This problem lies at the heart of many applications and has received significant attention in recent years. In this paper, we investigate the role of representation of <span>\\(F(\\textbf{X}, \\textbf{Y})\\)</span> and of <span>\\(\\varvec{\\Psi }(\\textbf{X})\\)</span> in determining the computational hardness of Boolean functional synthesis. We start by showing that an efficient way of existentially quantifying variables from a Boolean formula in a given order yields an efficient solution to Boolean functional synthesis and vice versa. We then propose a semantic normal form, called <span>SynNNF</span>, that guarantees polynomial-time synthesis and characterizes polynomial-time existential quantification for a given order of quantification of variables. We show that several syntactic and other semantic normal forms for Boolean formulas studied in the knowledge compilation literature are subsumed by <span>SynNNF</span>, and that <span>SynNNF</span> is exponentially more succinct than most of them. We also investigate how the representation of the synthesized (Skolem) functions <span>\\(\\varvec{\\Psi }(\\textbf{X})\\)</span> affects the complexity of Boolean functional synthesis, and present a map of complexity based on the representations of <span>\\(F(\\textbf{X},\\textbf{Y})\\)</span> and <span>\\(\\varvec{\\Psi }(\\textbf{X})\\)</span>. Finally, we propose an algorithm to compile a specification represented as a <span>NNF</span> (including <span>CNF</span>) circuit to <span>SynNNF</span>. We present results of an extensive set of experiments conducted using an implementation of the above algorithm, and two other tools available in the public domain.</p></div>","PeriodicalId":7971,"journal":{"name":"Annals of Mathematics and Artificial Intelligence","volume":"92 5","pages":"1051 - 1096"},"PeriodicalIF":1.2000,"publicationDate":"2023-12-05","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":"0","resultStr":null,"platform":"Semanticscholar","paperid":null,"PeriodicalName":"Annals of Mathematics and Artificial Intelligence","FirstCategoryId":"94","ListUrlMain":"https://link.springer.com/article/10.1007/s10472-023-09907-5","RegionNum":4,"RegionCategory":"计算机科学","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":null,"EPubDate":"","PubModel":"","JCR":"Q4","JCRName":"COMPUTER SCIENCE, ARTIFICIAL INTELLIGENCE","Score":null,"Total":0}
引用次数: 0
Abstract
Given a Boolean relational specification \(F(\textbf{X}, \textbf{Y})\), where \(\textbf{X}\) is a vector of inputs and \(\textbf{Y}\) is a vector of outputs, Boolean functional synthesis requires us to compute a vector of (Skolem) functions \(\varvec{\Psi }(\textbf{X})\), one for each output in \(\textbf{Y}\), such that \(F(\textbf{X}, \varvec{\Psi }(\textbf{X})) \leftrightarrow \exists \textbf{Y}\,F(\textbf{X},\textbf{Y})\) holds. This problem lies at the heart of many applications and has received significant attention in recent years. In this paper, we investigate the role of representation of \(F(\textbf{X}, \textbf{Y})\) and of \(\varvec{\Psi }(\textbf{X})\) in determining the computational hardness of Boolean functional synthesis. We start by showing that an efficient way of existentially quantifying variables from a Boolean formula in a given order yields an efficient solution to Boolean functional synthesis and vice versa. We then propose a semantic normal form, called SynNNF, that guarantees polynomial-time synthesis and characterizes polynomial-time existential quantification for a given order of quantification of variables. We show that several syntactic and other semantic normal forms for Boolean formulas studied in the knowledge compilation literature are subsumed by SynNNF, and that SynNNF is exponentially more succinct than most of them. We also investigate how the representation of the synthesized (Skolem) functions \(\varvec{\Psi }(\textbf{X})\) affects the complexity of Boolean functional synthesis, and present a map of complexity based on the representations of \(F(\textbf{X},\textbf{Y})\) and \(\varvec{\Psi }(\textbf{X})\). Finally, we propose an algorithm to compile a specification represented as a NNF (including CNF) circuit to SynNNF. We present results of an extensive set of experiments conducted using an implementation of the above algorithm, and two other tools available in the public domain.
期刊介绍:
Annals of Mathematics and Artificial Intelligence presents a range of topics of concern to scholars applying quantitative, combinatorial, logical, algebraic and algorithmic methods to diverse areas of Artificial Intelligence, from decision support, automated deduction, and reasoning, to knowledge-based systems, machine learning, computer vision, robotics and planning.
The journal features collections of papers appearing either in volumes (400 pages) or in separate issues (100-300 pages), which focus on one topic and have one or more guest editors.
Annals of Mathematics and Artificial Intelligence hopes to influence the spawning of new areas of applied mathematics and strengthen the scientific underpinnings of Artificial Intelligence.