近似求解线性二阶方程


15

考虑以下问题:

输入:一个超平面ħ = { ý ∈ [R Ñ:一个 Ť Ŷ = b }H={y∈Rn:aTy=b},由矢量给定一个 ∈ Ž Ña∈Zn和b ∈ Žb∈Z在标准二进制表示。

X ∈ ž Ñ = ARG 分钟d (X,ħ )x∈Zn=argmind(x,H)

在上面的符号,和被定义为,即,这是一组点与单个点之间的自然欧氏距离。d (X,小号)d(x,S)X ∈ [R Ñx∈Rn小号⊆ ř ÑS⊆Rn d (X,小号)= 分钟Ý ∈ 小号 ‖ X - ÿ ‖ 2d(x,S)=miny∈S∥x−y∥2

换句话说,我们得到了一个超平面,我们正在寻找最接近超平面的整数点阵中的点。

问题是:

这个问题的复杂性是什么?

请注意,此处的多项式时间将表示输入位数的多项式。据我所知,这个问题即使在二维上也很有趣。因此,不难发现仅考虑具有0 \ leq x_1 \ leq | a_1 | / \ mathsf {gcd}(a_1,a_2)的那些解决方案(x_1,x_2)就足够了,但是这是许多选项的总称。(x 1,x 2)(x1,x2)0 ≤ X 1 ≤ | 一个1 | / g c d(a 1,a 2)0≤x1≤|a1|/gcd(a1,a2)

一个密切相关的问题是求解线性二项方程方程,即在\ mathbb {Z} ^ n中找到\ mathbf {x} \,X ∈ ž ñx∈Zn使得一个 Ť X =baTx=b或确定没有这样的Xx存在。因此,求解线性二项方程方程等同于确定是否存在针对上述问题I的值0的解决方案。线性二项方程方程可以在多项式时间内求解。实际上,甚至线性二项方程方程组的系统也可以通过计算给定系统的矩阵\ mathbf {A}的Smith正规形式在多项式时间内求解。有多项式时间算法可计算整数矩阵的Smith正规形式,第一个由一种A坎南和巴赫姆。

为了直观了解线性二阶方程方程,我们可以再次考虑二维情况。显然,如果g c d(a 1,a 2)gcd(a1,a2)不除b,则没有确切的解决方案bb。如果确实除了bb,则可以运行扩展的GCD算法来获得两个数字ss和Ťt这样a 1 s + a 2 t = g c d(a 1,a 2)a1s+a2t=gcd(a1,a2)并设置x 1 = s b / g c d(a 1,a 2)x1=sb/gcd(a1,a2)和x 2 = t b / g c d(a 1,a 2)x2=tb/gcd(a1,a2)。现在你可以看到近似版本如何不同的是:当g c d(a 1,a 2)gcd(a1,a2)不分bb,如何才能找到整数X 1,X 2x1,x2这样(x 1,x 2)(x1,x2)与线a 1 x 1 + a 2 x 2 = ba1x1+a2x2=b距离最小?

对我来说,这个问题听起来有点像格子中最接近的向量问题,但是我看不到从一个问题到另一个问题的明显减少。



不,它不是:色阶近似是与求解色阶方程不同的问题。在双色子逼近问题中,您将得到实数,并且希望将它们全部乘以一个整数以使它们均位于某个整数的之内。问题是在和的大小之间找到最佳折衷。我看不到我的问题和这个问题之间的关系。ñnQ ε Q εQϵQϵ
— Sasho Nikolov

您的输入格式是什么?好像任何两个坐标值都不相等,那么所讨论的最小值为零(与适当的二维平面相交,得到形式为的方程,其中和不相等的,即不合理的,然后使用标准的上结果以表明线通过任意接近格子点。一个小号X + 吨Ŷ = 瓦特小号吨α ≡ 小号asx+ty=wst吨 {Ñα}α≡st(国防部1 ){nα}(mod1)
— 史蒂文·斯塔德尼克(Steven Stadnicki)2012年

特别是,这意味着您的“最小”应该是一个“ inf”(正弦,您要把它无限多地取整),以及是从是否存在一些问题不同用。这意味着的系数必须是有理数,才能使问题具有非平凡的解,然后该问题似乎采用非常欧氏的形式,与多维GCD算法紧密相关。我想念什么吗?i n f d (x,H )= 0  x d (x,H )= 0 ainf d(x,H)=0xd(x,H)=0a
— 史蒂文·斯塔德尼基

@StevenStadnicki对。您可以假设和(我将添加到问题中,我一定已经错过了它)。输入以标准二进制表示形式给出。即使这个问题也很有趣。那么它足以考虑所有可能的解决方案与但是暴力破解搜索将在二进制表示是superpolynomial。一个 ∈ ž Ñ b ∈ Ž Ñ = 2 (X 1,X 2)X 1 ≤ | 一个1 | / g c d(a 1,a 2)a 1,a 2a∈Znb∈Zn=2(x1,x2)x1≤|a1|/gcd(a1,a2)a1,a2
— Sasho Nikolov

Answers:


5

好吧,经过更多的考虑,我相信我已经从这个问题明显地减少到扩展的GCD。我将在情况下进行解释,但我相信它会扩展到任意。请注意,这会找到一个,该会使与超平面的距离最小化,但不一定是最小的(实际上,有无数个值可以达到相同的最小距离)-我认为后一个问题是也可行,但是还没有真正考虑过。该算法基于一些简单的原理:n = 2 nn=2n X Xxx

  • 如果,则恰好是 ; 此外,值和与可以高效地发现(这是完全扩展欧几里德算法)。克= G ^ C ^ d(一个1,一个2)一个 ⋅ X = 一个1 X 1 + 一个2 X 2 { 0 ,± 克,± 2 克,± 3 克,... } X 1 X 2 一个1 X 1 + a 2 x 2 = gg=GCD(a1,a2)a⋅x=a1x1+a2x2{0,±g,±2g,±3g,…}x1x2a1x1+a2x2=g
  • 从超平面到晶格上的点的最小距离是从晶格上的点到超平面的最小距离(显而易见,但对问题的反演很有用)。
  • 从给定点到超平面距离与成比例(具体来说,是该值的倍-但由于将所有距离乘以该值不会影响最小值的位置,因此我们可以忽略归一化因子)。X 一 ⋅ Ŷ = b | 一个 ⋅ X - b | 1 / | 一个|xa⋅y=b|a⋅x−b|1/|a|

这建议以下过程:

  • 计算以及使得。g = G C D(a 1,a 2)x 0 1,x 0 2 a 1 x 0 1 + a 2 x 0 2 = gg=GCD(a1,a2)x01,x02a1x01+a2x02=g
  • 计算并计算 ; 是从晶格到超平面的(缩放的)最小距离。令为或(除非是的倍数,否则),取决于哪一个达到了最小距离。[R = ⌊ bg⌋r=⌊bg⌋d=min(b−rg,(r+1)g−b)d=min(b−rg,(r+1)g−b)ddsrr+1=⌈bg⌉bg
  • 计算和 ; 那么是与的最接近倍数,因此在所有晶格点上都达到该距离的最小值。x1=sx01x2=sx02a⋅x=sggb|a⋅x−b|

据我所知,完全相同的过程应该可以在任意维度上正常工作;关键是维GCD仍然满足Bezout的身份,因此要找到距晶格点的最小距离,只需找到与的最接近倍数即可。ngb

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.