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(无上下文语言有序二进制决策图)。它们在本质上是BDD(二进制决策图)的替代品,因此对于表示某些类别的函数、矩阵、图形、关系等非常有用。CFLOBDDs具有与BDDs许多相同的优秀特性,但在最佳情况下,对于布尔函数,CFLOBDD甚至可以比任何BDD小指数级。与决策树的大小相比,CFLOBDD的大小在最佳情况下可以有两次指数级的缩小。它们有可能使得应用程序(i)执行速度更快,以及(ii)处理比以前更大的问题集。CFLOBDDs是一种新的决策图,超越了BDDs和它们的许多衍生品。关键的洞见是一种新的重复使用子决策图的方式:CFLOBDD的组件被分层结构化,因此可以将子决策图视为独立的“过程”并重复使用。我们将CFLOBDDs应用于模拟量子电路的问题上,并发现对于几个标准问题,与使用BDDs进行模拟相比,可扩展性上的改进是相当显著的。特别是,与BDDs相比,使用CFLOBDDs可以处理的量子比特数(qubits)是GHZ(128倍)、BV(1,024倍)、DJ(8,192倍)和Grover算法(128倍)的数量级。 (在15分钟的超时时间内,CFLOBDDs可以处理的量子比特数为65,536个GHZ、524,288个BV、4,194,304个DJ和4,096个Grover算法。)