高斯消除的实际时间复杂度是多少?


72

在回答前面的问题时,我提到了普遍但错误的信念,即“高斯”消除在时间内运行。显然,该算法使用算术运算,但是粗心的实现可能会创建位数成倍增长的数字。作为一个简单的示例,假设我们要对角以下矩阵:O(n3)O(n3)

[2000120011201112]

如果我们使用不除法的消除算法版本,该算法仅将一行的数倍与另一行相加,并且我们始终以矩阵的对角线为中心,则输出矩阵的向量为沿对角线。(2,4,16,256,,22n1)

但是,什么高斯消元法的实际时间复杂度? 大多数组合优化作者似乎对“强多项式”感到满意,但我很好奇多项式实际上是什么。

杰克·埃德蒙兹(Jack Edmonds)于1967年发表的论文描述了在强多项式时间内运行的高斯消去形式(“可能由于高斯”)。Edmonds的主要见解是,每个中间矩阵中的每个条目都是原始输入矩阵中次要元素的决定因素。对于具有位整数条目的 ×矩阵,Edmonds证明了他的算法需要最多具有位的整数。在的“合理”假设下,如果我们使用教科书整数算术,则Edmonds的算法在时间内运行,或者如果我们使用则运行在标准整数RAM上使用基于FFT的乘法,可以执行n×nmO(n(m+logn))m=O(logn)O(n5)O~(n4)O(logn)时间恒定的位运算。(Edmonds并未进行此时间分析;他只是声称自己的算法“不错”。)

这仍然是最好的分析方法吗?是否有标准参考书给出了更好的显式时间界限,或至少在要求的精度上有更好的界限?

更笼统地说:求解任意线性方程组的最快算法的运行时间(在整数RAM上)是多少?


2
(插入剧烈的手波)在这种特殊情况下,您是否无法使用小模数的主要技巧对哈希进行处理来解决大整数问题?该算法将是随机的,但仍然..诚然,这不能回答您提出的问题...
Suresh Venkat 2010年

1
也许以下参考资料会有所帮助?lovasz的讲义yap关于行列式的章节(Yap给出位复杂度,用于通过Bareiss算法计算行列式)。从Yap的书(练习10.1.1(iii))中,我的印象是,尚不清楚高斯归约是否给出中间值是否按位大小成指数增长,但是现在我不确定。O(n3MB[n(logn+L)])
user834 2010年

1
标准高斯消除算法将枢轴行除以枢轴元素,然后再减少后面的行。未解决的问题涉及此标准版本。我在问题开始时给出的示例使用了一个不同的变体,该变体不会被数据透视元素分割。
Jeffε

3
好奇。Yap对Bereiss算法的时间界限与Edmonds对高斯消去的分析所暗示的时间界限相同
Jeffε

1
rjlipton 最近对该地区进行调查,并引用了Kannan Phd的论文。分析的关键部分是wrt Smith正常形式
vzn15年

Answers:


35

我认为答案是,其中我们忽略了(对数)对数因子。该边界在“ W. Eberly,M。Giesbrecht,P。Giorgi,A。Storjohann,G。Villard。解决稀疏整数线性系统。Proc。ISSAC'06,意大利热那亚,ACM Press,63-70,7月2006”,但它基于Dixon的论文:“使用P-adic展开的线性方程组的精确解,John D. Dixon,NUMERISCHE MATHEMATIK,第40卷,第1期,137-141”。O~(n3log(A+b))


感谢您的参考!这回答了我的第二个问题,但没有回答我的第一个问题。
Jeffε

3
如果使用旋转,则高斯消除(GE)中中间结果的位大小是多项式,因此不会发生指数爆炸。我认为这是Bareiss的结果。至于GE的复杂性,Gathen和Gerhard的书中有一种算法“现代计算机代数”,用于计算矩阵的行列式,该算法基于GE,模块化算术和中文余数定理(第5.5节, pp 101-105)。复杂度为。我认为使用快速算法可以节省倍。如果我没看错,这就是user834提到的范围。AO(n4log2A)n
埃里亚斯

@Elias,该表达式中规范的定义是什么?它是绝对大小中最大的系数吗?是位大小吗?另外,这是任意有理矩阵的结果吗?
Juan Bermejo Vega

13

我认为您的第一个问题的答案也是原因如下:Edmonds的论文并未描述高斯消去的一种变体但是它证明了在算法步骤中计算出的任何数字都是A的某些子矩阵的决定因素。通过Schrijver的《线性和整数编程理论》一书,我们知道,如果A的编码需要b位(b应该在O~(n3log(A+b))O~(log(A)),则其任何后继子最多需要2b位(定理3.2)。为了使高斯消元成为多项式时间算法,我们必须关心计算的商:我们必须从任何中间步骤中计算出的每个分数中消除公因数,然后所有数字的编码长度都与A的编码长度成线性关系。

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.