矩阵乘法不在


39

通常认为,对于所有ϵ>0,可以在O n 2 + ϵ时间内将两个n×n矩阵相乘。一些讨论在这里O(n2+ϵ)

我问过一些对研究更熟悉的人,他们是否认为存在独立于nk>0,以至于存在用于矩阵乘法的O n 2 log k n 算法,并且他们绝大多数都具有直觉答案是“否”,但无法解释原因。也就是说,他们认为我们可以在O n 2.001时间内完成此操作,但不能在O n 2 log 100 n 时间内完成。nO(n2logkn)O(n2.001)O(n2log100n)

有什么理由相信在固定k > 0时没有O(n2logkn)算法?k>0

Answers:


29

有用于相乘的算法N×N0.172矩阵与N0.172×N矩阵中N2polylog(N)的算术运算。用于它的主标识来自铜匠的论文“矩形矩阵的快速乘法”,但对于为什么它导致解释N2polylog(N)代替N2+ϵ是威廉姆斯的附录中,“新算法和具有线性阈值门的电路的下界”。

N×N×N


11

好吧,一件事是,我认为我们所知道的所有构造-甚至人们已经提出的潜在构造的族(例如,科恩-乌曼斯方法,科珀史密斯-温诺格拉德的概括)-都会“简单地”产生一系列算法Aϵ在运行时间O(n2+ϵ)O(n2poly(logn))

O(n2poly(logn))


3
我不确定拥有一个家庭怎么可能不会导致O(n ^ 2poly(log n)),因为如果一个人可以足够好地描述这个家庭,那么对于更大的n,可以选择越来越多的有效家庭成员。唯一不合理的理由是O(n ^ 2poly(log N))涉及的常数可能非常大,但事实并非必然如此。
约书亚

1
@JoshuaZ:原则上不是这样;实际上,由这些方法产生的族的每个成员都会生成一个运行时间为的算法,并且大多数方法的思想是简单地假设您拥有一个族,对于任何ε > 0O(n2+x)ε>0O(n2+ε)

1
@JoshuaZ我想可能会失败的另一种甚至更怪异的方法是,如果以某种方式选择/构建家庭成员花费的时间超过O(n ^ 2 poly(log n))-例如,可能需要O(1 / e)代码才能实现O(n ^(2 + e))算法或其他方法。那不是很疯狂吗?
丹尼尔·瓦格纳

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.