确定二进制乘法的最高有效位


10

我有兴趣确定以下决策问题的复杂性:给定两个整数和(每个整数最多具有m位),请确定乘法的最高有效位是否为1(结果打印在2m位,可能以0开头)?2 12l1l2l1l2

问题的一些背景:显然,此问题是二进制乘法的一种特殊情况,它询问乘法第位是否为1。在他们的论文中,用于除法和迭代乘法的统一恒定深度阈值电路,Hesse,Allender和Barrington证明了 - 统一存在迭代(因此是二进制)乘法。此外,众所周知,二进制乘法已经是 - 统一12il1l2DLogTime D L o g T i m eTC0DLogTime TC0-硬。但是,我找不到能证明这种硬度结果的特定来源。作为电路复杂性的非专家,我也希望能得到指向这种一般硬度结果的指针。最后,假设二进制乘法是 - 统一难的,我的问题也可以被理解为:它保持 - 统一 -如果我们只想决定二进制乘法的最高有效位,那很难吗?DLogTime D L o g T i m e T C 0ŤC0d大号ØGŤ一世Ë ŤC0

更新:Kaveh的答案阐明了为什么二进制乘法是 -hard(从COUNT减少)。确定二进制乘法的最高有效位的精确复杂性仍然是未知的(赏金是这个问题)。ŤC0


描述复杂性书iirc中有一个证明。不知道您所说的最高有效位是什么,根据定义它始终是最高的。
卡夫

这只是您老师的一个笑话:位是0或1,最高有效位是最高位置的非0位。根据定义,它等于1(除非因子和为零)。21个2
加莫

@Kaveh感谢您的参考:我会检查一下。对于最重要的位所造成的混乱,我们深表歉意。我隐式地假设结果以2m-1位打印,如有必要,以0开头。
Heyheyhey

@Kaveh:在描述性复杂性书中,只提到了上限。但是,我找不到关于二进制乘法的硬度的任何信息。
Heyheyhey

您写道:“此外,二进制乘法似乎已经 - 统一 -hard ,这是众所周知的。” 为什么看起来如此?我知道二进制乘法不在,而这正是我目前所关心的。T C 0 A C 0d大号ØGŤ一世Ë ŤC0一个C0
托马斯·克里姆佩尔

Answers:


6

乘法已完成,这是众所周知的结果。减少来自Count(二进制数中1位的数目)。二进制数的比较位于 因此可简化为。Ç 0中号一个Ĵ ö ř ý Ç Ò ù Ñ ŤC0一个C0中号一个ĴØ[R一世ŤÿCØüñŤ

要将减少为请执行以下操作:考虑输入为。在 s 之间插入 0s 并将其称为。与乘法它这就好比不同之处在于 S IN它与1秒代替。选择。中间部分的数字就是答案。减少量在,显示 。中号ü 一个0 一个1 ... 一个Ñ ķ 一个一个b 一个一个 ķ > 3 Ñ 一个b ˚F ö Ç Ò ù Ñ ˚F ø 中号Ú CØüñŤ中号üŤa0a1ankaiabaaik>3nabFOCountFO(Mult


1
感谢您的回答!是的,这验证了TC0的二进制乘法是否完成。至于最重要的部分,还有一些问题。乘法的最高有效位(111 x 111)= 110001为1,而对于这个(100 x 100)= 010000,则为0。请注意,在两种情况下,被乘数的最高有效位相同。因此,我认为一般而言,将最高有效位相加是不够的。我想念什么吗?
Heyheyhey

1
如果且,则的MSB为0,而的MSB 为1 ,即使和只能在一个最低有效位上有所不同。Ŷ = 2 Ñ + 1 / 2X 2 ý 2 X ÿx=2ñ+1个/2ÿ=2ñ+1个/2X2ÿ2Xÿ
EmilJeřábek'17

3
编辑不正确。由于我们要添加m个数字,因此进位可能不止一位,而是对数m。决定传播多少变得更加困难。
EmilJeřábek'17

1
实际上,无视其他所有内容:计算单个位置(例如,中间位置)的进位额已经等于Count,因此TC ^ 0-complete。
EmilJeřábek'17

1
@Heyheyhey,我写的公式是FO,因此是统一的AC0。
卡夫
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.