This paper presents a new compressed representation of Boolean functions, called CFLOBDDs (for Context-Free-Language Ordered Binary Decision Diagrams). They are essentially a plug-compatible alternative to BDDs (Binary Decision Diagrams), and hence useful for representing certain classes of functions, matrices, graphs, relations, etc. in a highly compressed fashion. CFLOBDDs share many of the good properties of BDDs, but--in the best case--the CFLOBDD for a Boolean function can be exponentially smaller than any BDD for that function. Compared with the size of the decision tree for a function, a CFLOBDD--again, in the best case--can give a double-exponential reduction in size. They have the potential to permit applications to (i) execute much faster, and (ii) handle much larger problem instances than has been possible heretofore. CFLOBDDs are a new kind of decision diagram that go beyond BDDs (and their many relatives). The key insight is a new way to reuse sub-decision-diagrams: components of CFLOBDDs are structured hierarchically, so that sub-decision-diagrams can be treated as standalone ''procedures'' and reused. We applied CFLOBDDs to the problem of simulating quantum circuits, and found that for several standard problems the improvement in scalability--compared to simulation using BDDs--is quite dramatic. In particular, the number of qubits that could be handled using CFLOBDDs was larger, compared to BDDs, by a factor of 128x for GHZ; 1,024x for BV; 8,192x for DJ; and 128x for Grover's algorithm. (With a 15-minute timeout, the number of qubits that CFLOBDDs can handle are 65,536 for GHZ, 524,288 for BV; 4,194,304 for DJ; and 4,096 for Grover's Algorithm.)
翻译:本文提出了一种新颖的布尔函数压缩表示方法——CFLOBDDs(上下文无关语言有序二叉决策图)。该方法本质上是BDDs(二叉决策图)的即插即用替代方案,因此适用于以高度压缩的形式表示特定类别的函数、矩阵、图、关系等数据结构。CFLOBDDs继承了BDDs的诸多优良特性,但在最优情况下,布尔函数的CFLOBDDs可比任意BDDs实现指数级的规模缩减。相对于函数的决策树规模,CFLOBDDs在最优情况下可实现双指数级的规模缩减。该技术有望推动以下应用场景的突破:(i) 显著提升执行速度;(ii) 处理规模远超现有能力的问题实例。CFLOBDDs作为一种突破BDDs(及其众多变体)的新型决策图,其核心创新在于重新利用子决策图:通过层次化组织CFLOBDDs组件,使子决策图可作为独立"程序"被复用。我们将CFLOBDDs应用于量子电路仿真问题,发现对于若干标准问题,相比基于BDDs的仿真,其可扩展性提升极为显著。具体而言,CFLOBDDs可处理的量子比特数相较BDDs呈现如下倍数增长:GHZ算法提升128倍;BV算法提升1,024倍;DJ算法提升8,192倍;Grover算法提升128倍(在15分钟超时限制下,CFLOBDDs可处理的量子比特数分别达到:GHZ为65,536量子比特;BV为524,288量子比特;DJ为4,194,304量子比特;Grover算法为4,096量子比特)。