整数乘法和二进制决策图的最高有效位


15

和两个具有位的二进制数,并且和乘积的二进制数(长度)。我们要计算乘积最接近位。Xÿñž=Xÿ 2ñXÿž2ñ-1个ž=ž2ñ-1个ž0

为了在二进制决策图模型(尤其是一次性分支程序)的模型中分析此功能的复杂性,我尝试在的情况下寻找一些等效表达式。首先显而易见的是(此处和是二进制数的对应整数)。我想得到一个直觉,如果我将一些输入位设置为常数会发生什么。例如,如果我将和的最高有效输入位设置为0,则得到常数0。但是,具有较低重要性的位不会对结果产生这样的影响。ž2ñ-1个=1个ž2ñ-1个=1个Xÿ22ñ-1个XÿXÿ

在的情况下,是否还有其他等效表达式可以帮助我进一步了解如果修复某些输入位会发生什么情况?是否有任何精炼的方法可以计算两个二进制数的乘积,对您有帮助?还是您有其他解决此问题的方法?ž2ñ-1个=1个


我发现最后一段中的三个问题比较模糊。请考虑提出一个更具体的问题。
slimton 2010年

这些问题是故意含糊的。也许有人对这个问题有新的方法或新的想法。
马克·伯里

您是否正在寻找问题的BDD宽度?
Sylvain Peyronnet,2010年

我对BDD大小的下限感兴趣。
Marc Bury 2010年

1
您的意思是多项式下限?乘法的单位为L,因此具有均匀的多项式大小的BDD(因为宽度为,所以宽度为5 )。ñC1个
EmilJeřábek在2011年

Answers:


5

有趣的资料是DE Knuth:《计算机编程艺术》,第4卷,第1卷,按位技巧与技巧;二元决策图,Addison-Wesley,培生教育2009

在第96页上,z =x⋅y的所有位都有一个BDD,其中x和y具有3位。它表明,在3位的情况下,代表最高有效位的BDD具有7个非终端节点。看到下面的图像,我已经使用您的索引x =(x2,x1,x0)和y =(y2,y1,y0)重绘了它。

在Knuth的书的第140页上,有一个关于BDD的问题(第183号),该问题代表两个数字与无限多个位相乘的最高有效位(称为“限制前导位函数”)-这类似于您在寻找!第223页的答案给出了所生成BDD的第一级,并讨论了所有级别上的节点数,但是不幸的是,它没有给出构造此类BDD的算法。

两个3位数字相乘的最高有效位

图1:(x2,x1,x0)*(y2,y1,y0)的最高有效位


1
感谢您的参考。我不知道二进制决策图是该“编程百科全书”的一部分。
马克·伯里
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.