计算科学中“两个容易,三个很难​​”的好例子


29

我最近遇到了一个元现象表述:“ 两个很容易,三个很困难 ”(Federico Poloni用这种方式表述),可以描述如下:

当为两个实体提出特定问题时,相对容易解决。但是,用于三实体公式化的算法极大地增加了难度,甚至可能使解决方案不可行或无法实现。

(我欢迎提出建议,以使措辞更加美观,简洁和准确。)

您知道在计算科学的各个领域(从纯线性代数开始,到总括式计算物理结束)有哪些好例子?


2
想到维的诅咒。
保罗

4
图2色(简单)与3色(NP硬),请参见此处
GoHokies,

5
@GoHokies请不要发布答案作为评论。
David Richerby,

4
从数学或递归背景的基础上,您可能会遇到TREE函数,其中TREE(2)= 3,而TREE(3)... ...很大。(不熟悉计算科学,我不确定这是否是您真正要寻找的答案,但看起来似乎足以就此发表评论)
BurnsBA

2
一个反例:“切勿使用两个天文钟出海;取一或三个。” 也就是说,有太多好的例子,没有正确的答案。这个问题应该是社区维基。
David Hammen

Answers:


35

两体问题是在物理学的许多领域中出现的一个例子,尤其是经典力学和量子物理学。这里的两体问题是指计算两个相互作用的粒子的动力学的任务,这些粒子例如通过重力或库仑力相互作用。通常可以通过将变量转换为质量中心和相对坐标来以封闭形式找到该问题的解决方案。

但是,一旦考虑了三个粒子,通常就不存在封闭形式的解


3
Nitpick,我确定您知道,但是您的答案没有说明:3体问题有封闭形式的解决方案,但仅适用于一些特殊情况
骆驼

好的nitpick,谢谢,“总体上”在这里不见了。
戴维高

请注意,三体问题确实有20世纪初由Sundman找到的(非常缓慢收敛)级数解,而1990年的n体问题发现了一个较弱的版本(忽略了物体碰撞的奇异点)。
WorldSEnder

27

布尔可满足性问题(SAT)是一个著名的例子。2-SAT在多项式时间内求解并不复杂,但是3-SAT是NP完全的。


3
3-SAT可以减少到图表3着色,或反之亦然
GoHokies

8
@GoHokies我认为每个np完整问题都正确吗?还是关于这两个特别值得注意的事情?抱歉,如果这是一个愚蠢的问题,我在这方面的知识很基础。但这就是我理解
库克

2
@findusl您完全正确。使3-SAT和三色“特殊”的是OP的2-vs-3二分法。
GoHokies

26

从一维和二维来看,所有道路都通向罗马,但在三个维度上却没有。

具体来说,如果在一维或二维整数上进行随机游走(平均可能朝任意方向移动),那么无论起点是多少(几乎可以肯定),随机游走最终都会到达指定的点(“罗马”)。

但是,对于三个或更多个维度,进入“罗马”的可能性小于一;随维数增加而降低的概率。

因此,例如,如果对从“罗马”开始的随机步行进行随机(蒙特卡洛)模拟,当返回罗马时该模拟将停止,那么在一维和二维中,您可以放心最终将其返回罗马并停止模拟-非常简单。在三个维度上,您可能永远都不会变得如此艰难。

https://zh.wikipedia.org/wiki/Random_walk#Higher_dimensions

为了可视化二维情况,可以想象一个人在城市周围随机行走。这座城市实际上是无限的,并排列在人行道的方形网格中。在每个交叉路口,人员都会随机选择四种可能的路线之一(包括最初从其出发的一条路线)。形式上,这是在平面上具有整数坐标的所有点的集合上的随机游动。

这个人会回到步行的原始起点吗?这是上面讨论的平交问题的二维等效项。1921年,乔治·波利亚(GeorgePólya)证明了该人几乎可以肯定会进行2维随机行走,但是对于3维或更高维,返回原点的可能性随维数的增加而降低。在3个维度上,概率降低到大约34%

有关数值,请参见http://mathworld.wolfram.com/PolyasRandomWalkConstants.html


21

这是SciComp.SE上那些贡献者的最接近的人:

纳维-斯托克斯存在和平滑问题

三维版本当然是一个著名的开放问题,并且是百万美元的Clay Millenium奖的主题。但是二维版本已经很久以前就得到了解决,并给出了肯定的答案。陶瑞(Terry Tao)指出,该解决方案可以追溯到1933年Leray的论文!

为什么三维问题这么难解决?标准的手动波浪响应是,湍流在三个维度上比在两个维度上变得更加不稳定。要获得更严格的数学答案,请查看克莱研究所(Clay Institute)的查尔斯·费弗曼(Charles Fefferman)的正式问题陈述,陶瑞(Terry Tao)关于可能的证​​明策略的详尽论述


20

在社会选择理论中,设计有两个候选人的选举方案很容易(多数规则),但是设计有三个或三个以上候选人的选举方案必然涉及在各种合理条件之间进行权衡。(阿罗不可能定理)。


11

两个矩阵的同时对角化一种1个一种2

ü1个Ť一种1个V=Σ1个ü2Ť一种2V=Σ2
是通过现有的覆盖广义奇异值分解

但是,当需要同时将三个矩阵简化为规范形式时(与上述条件相比条件更弱):

QTA1Z=A1~,QTA2Z=A2~,QTA3Z=A3~
中不存在直接的方法。因此,必须使用近似SVD,张量分解等来选择更复杂的路线。

实际应用中会是一个二次特征值问题的解决方案:

(A1+λA2+λ2A3)x=0

资料来源:CF van Loan,“第6课:高阶广义奇异值分解”,CIME-EMS暑期学校,意大利Cetraro,2015年6月。


是否应ü Ť 2都为V - 1?在这里,甚至不要求它们相等。U1TU2ŤV1个
Rosie F

1
@RosieF不用于(通用)SVD。请参阅此处的第一个方程,只是不表达的。Σ
安东·孟索夫(

9

量子计算中有很多示例,尽管我已经有一段时间没有这样做了,所以不记得很多。一个主要的问题是二分纠缠(两个系统之间的纠缠)相对容易,而三个或更多系统之间的纠缠是一个未解决的混乱,大概有一百篇关于该主题的论文。

这样做的根源是可以通过奇异值分解来分析2级张量(即矩阵)。3级或更高的张量没有类似的东西。实际上,即使是像maxu一种vbwCŤ一种bC/üvw这样简单的事情(下标/上标表示爱因斯坦求和),IIRC也不能有效解决。 。

这篇文章似乎很相关,尽管我还没有读过:大多数张量问题都是NP难的


2
我觉得你在得到真正的问题是,张秩分解是容易为了-1张量(矢量)和订单2张量(矩阵),但NP-很难休息
理查德·张

这是其中的一部分,但是即使您有分解它们的方法,仍然存在分类/分类的问题。对于纠缠,本地unit无关紧要,因此在阶数为2的情况下剩下的只是一个奇异值的列表(在这种情况下,SVD称为Schmidt分解)。对于更高的订单,有很多可能性。诸如可以通过本地操作将哪些状态转换为其他状态之类的问题最终非常困难(从理论角度来看,不一定是计算方面的)。
Dan Stahlke

5

带有直尺和罗盘的角度平分很简单,通常不可能进行角度平分。



4

这是优化中的一个精巧方法:乘数交替方向法(ADMM)算法。

给定两个变量的非耦合凸目标函数(变量本身可以是向量)和耦合两个变量的线性约束:

F1个X1个+F2X2
sŤ一种1个X1个+一种2X2=b

然后,针对该优化问题的增强拉格朗日函数为

Lρ(x1,x2,λ)=f1(x1)+f2(x2)+λT(A1x1+A2x2b)+ρ2||A1x1+A2x2b||22

The ADMM algorithm roughly works by performing a "Gauss-Seidel" splitting on the augmented Lagrangian function for this optimization problem by minimizing Lρ(x1,x2,λ) first with respect to x1 (while x2,λ remain fixed), then by minimizing Lρ(x1,x2,λ) with respect to x2 (while x1,λ remain fixed), then by updating λ. This cycle goes on until a stopping criterion is reached.

(Note: some researchers such as Eckstein discard the Gauss-Siedel splitting view in favor of proximal operators, for example see http://rutcor.rutgers.edu/pub/rrr/reports2012/32_2012.pdf )

For convex problems, this algorithm has been proven to converge - for two sets of variables. This is not the case for three variables. For example, the optimization problem

minf1(x1)+f2(x2)+f3(x3)
s.t.A1x1+A2x2+A3x3=b

Even if all the f are convex, the ADMM-like approach (minimizing the Augmented Lagrangian with respect to each variable xi, then updating the dual variable λ) is NOT guaranteed to converge, as was shown in this paper.

https://web.stanford.edu/~yyye/ADMM-final.pdf


3

Folding a piece of paper in half without tools is easy. Folding it into thirds is hard.

Factoring a polynomial with two roots is easy. Factoring a polynomial with three roots is significantly more complicated.


3
Your first example doesn't fit the spirit of the quote. The idea is that as it gets higher past two it's more difficult, however with folding a paper, 4ths is just about as easy as half. The quote here would be "Even is easier than odd" I think the second one is good though--and 'grats on trying to hyper-simplify it with the paper!
Bill K

3

A smooth curve of degree 2 (i.e. given as the solution of f(x,y)=0 where f is a polynomial of degree 2) with a given point is rational, meaning that it can be parameterized by quotients of polynomials, of degree 3 it isn't. The former are considered well understood, the latter, called elliptic curves when a base point, i.e. a specific solution, is singled out, are the object of intense research.

This difference has several implications:

  • In degree 2 there are algorithms to find all rational points (solutions in rational numbers), in degree 3 no such algorithm is known.
  • Integrals involving f(x) with f of degree 1 or 2 have solutions in elementary functions, but not for f of degree 3 or higher.
  • The discrete logarithm problem is tractable on curves of degree 2, hence not suitable for cryptographic applications, whereas the assumed hardness of the same problem on elliptic curves is at the basis of some of the most popular public key cryptosystems.

1

The TREE function.

我们可以计算TREE(2) = 3,但TREE(3)在宇宙寿命中无法计算,我们只知道它是有限的。


TREE(3)给定足够的时间是“可计算的”。例如,对于每个ñ 您可以生成所有大小的彩色树 ñ并验证每个树是否满足必要的条件,直到不存在任何此类树为止。但是,这将花费大量的时间和空间。
恢复莫妮卡

是的,为这个错误感到抱歉。修正了我的陈述。谢谢所罗门诺夫!
刚刚

1
有关Tree(3)的相关发烧友视频:youtube.com/watch?
新手C


0

在量子多体物理学中,我们在不同模型(例如,海森堡模型,玻色-哈伯德模型,伊辛模型等)的框架内研究n自旋的不同晶格。当然,您有不同的数值方法来研究它们(DMRG,精确对角化,神经网络等),而我们尝试开发不同方法的原因之一是因为当n变得太“高”时,您无法求解这些模型。 ,如果您进行更高维度的研究,当然会更糟。例如,对于Ising模型,对于n不大于20的情况,精确对角线化在1d中效果很好。因此,对于n较高的情况,请尝试另一种方法:DMRG。但是,后者对于较高的n确实确实有效(例如n = 70但对于较高的n效果不好)。再次,您需要用于n更高的另一种方法:神经网络(即人工智能)。除了神经网络 您可以“更轻松地”(即n相对较高)研究这些模型的更高维度(但对于维度= 3且n较小),例如,仍然需要大量时间(数天)才能获得基态或可以观察到您想要的...)。顺便说一句,当n对于您的数值方法(以及计算机的容量)变得“太高”时,您需要执行新的方法(如果可以,请使用超级计算机),这与您的尺寸相同系统,但当然会更糟,因为您会迅速卡住(除非您等待大量时间,否则很难获得尺寸= 4)。仍然需要很多小时(几天)才能获得基态或您想要的可观察到的东西...)。顺便说一句,当n对于您的数值方法(以及计算机的容量)变得“太高”时,您需要执行新的方法(如果可以,请使用超级计算机),这与您的尺寸相同系统,但当然会更糟,因为您会迅速卡住(除非您等待大量时间,否则很难获得尺寸= 4)。仍然需要很多小时(几天)才能获得基态或您想要的可观察到的东西...)。顺便说一句,当n对于您的数值方法(以及计算机的容量)变得“太高”时,您需要执行新的方法(如果可以,请使用超级计算机),这与您的尺寸相同系统,但当然会更糟,因为您会迅速卡住(除非您等待大量时间,否则很难获得尺寸= 4)。
当然,这里是您问题的更多附加信息,因为实际上,在量子多体物理学中,n = 3并不高(但是,如果采用的是超立方体的晶格,则不能采用n = 3的当然(由于条件)。


-3

真实世界:

自动化百分比-例如,很容易以30%或50%或80%的速度自动化某些东西,而很难达到例如95%以上,并且难以达到甚至几乎不可能达到100%。


2
您可以为您的主张提供参考吗?
nicoguaro

我不能,但是看看例如自动驾驶汽车。学习汽车直行和控制速度可能比学习像普通人那样开车要容易得多。更为复杂的过程是,当您想要使其完全自动化时,会出现更多的边界案例
Joelty

然后,我认为您的问题不适合该网站。
nicoguaro
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.