线性系统如何/为什么对计算机科学如此重要?


9

最近,我开始涉足数学优化,并且对此非常喜欢。似乎很多优化问题可以通过线性程序轻松表达和解决(例如,网络流量,边缘/顶点覆盖,旅行推销员等),我知道其中一些是NP难点的,但关键是它们可以如果未得到最佳解决,则“框架化为线性程序”。

那让我开始思考:在整个学校/学院中,我们一直都被教导线性方程组,线性代数系统。看到LP表达各种算法的强大功能,这真是令人着迷。

问题:尽管我们周围普遍存在非线性系统,但是线性系统对计算机科学为何如此重要?我确实知道,它们有助于简化理解,并且在大多数情况下在计算上易于处理,是吗?这个“近似值”有多好?我们过度简化了吗,结果在实践中仍然有意义吗?还是仅仅是“自然”,即最令人着迷的问题确实只是线性的?

确保“线性代数/方程/编程”是CS的基石是否安全?如果不是,那么有什么矛盾呢?我们多久处理一次非线性问题(我在理论上不一定是指,但从“可解决性”的角度来看也是如此,即仅说它是NP并不能解决问题;应该很好地近似解决这个问题并将其降落)线性吗?)


4
我没有投票,但是我不明白为什么可延展性对您来说不是令人满意的答案。有一些有趣的精确意义,其中非凸问题是棘手的,例如。arxiv.org/abs/1210.0420
科林·麦奎伦

2
拒绝投票的人可能有很多选择不发表评论的原因
泰森·威廉姆斯

1
一种看待它的方法是,可以在多项式时间内将任何NP问题简化为整数规划,然后可以放松整数规划问题。但是我们确实使用了频谱技术和SDP松弛,它们是可以有效解决的二次优化问题。
Sasho Nikolov 2012年

1
这个问题中的“线性系统”是什么意思?
伊藤刚(Tsuyoshi Ito)

1
线性系统在整个科学时期都可以找到。...它的简化得到了令人惊讶的高里程.....似乎对自然科学中数学的不合理有效性产生了很小的推论。.显然,CS符合“自然科学”这一类别” ....这是密切与物理结盟,可以说是越来越多,这样所有的时间[例如缩小晶体管,散热,低层次质量管理,能源消耗,熵等的研究] ...
VZN

Answers:


12

这个问题的前提是有一点缺陷的:许多人认为二次方是可扩展性和建模的真正“边界”,因为最小二乘问题几乎和线性问题一样“容易”。还有其他人认为凸度(在某些情况下甚至是亚模数)是易处理性的边界。

也许更相关的是“为什么线性系统接受可解的解决方案?” 这与您的要求不完全相同,但相关。关于此的一种观点是可组合性。由于线性系统的定义性质是FX+ÿ=FX+Fÿ,这给系统带来了一种“无记忆”。要建立问题的解决方案,我可以专注于各个部分,并将其组合在一起而不会受到任何惩罚。实际上,大多数流算法的前提就是这样。

这种无记忆的精神赋予了效率:我可以将事情分解成碎片,或者迭代地工作,而我不会因此而迷失。我仍然可以做出错误的决定(请参阅贪婪算法),但将事物本身拆分的行为并不会伤害我。

这就是线性具有如此功效的原因之一。可能还有很多其他的。


我喜欢这个答案,但是对于那些认为线性编程不是边界的人,我回答:“它是P完全的!” ;)。
Artem Kaznatcheev

是的,但是(例如)不是SDP吗?
Suresh Venkat 2012年

我们不必具有单个边界,并且P的某些边界(例如平方项具有正半定矩阵的二次编程)看起来更通用。我并不是要不同意,只是指出在选择P完全问题之间时,边界更多是一个品味问题。
Artem Kaznatcheev

5

尽管我们周围普遍存在着非线性系统,但是线性系统对计算机科学为何如此重要?”

这是我脑海中的部分答案:我认为这是因为自然中充斥着对象/现象-尽管可以在函数上表示非线性,但实际上它们是线性空间的成员。波在希尔伯特空间,傅立叶谱中的分量,多项式环,随机过程中起作用-它们都以这种方式起作用。弯曲空间的什至非常笼统的定义都是由小的平面空间图表(流形,黎曼曲面等)构成的。而且,自然充满了对称性,对对称性的研究总是进入线性算子的研究中(在我看来,表示理论正无所不在地进入计算机科学的许多领域)。

这些是运算符本身本质上是线性的情况的补充。

我们需要计算机程序解决的大部分问题,都是自然现象直接产生或从自然现象中抽象出来的。毕竟,也许研究/求解线性系统应该不会让人感到惊讶吗?


是的,举起地图的美妙乐趣。
Suresh Venkat 2012年
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.