复杂性理论需要什么样的数学背景?


79

我目前是一名本科生,今年定会毕业。毕业后,我正在考虑成为一名TCS硕士/博士。我开始想知道哪些数学领域被认为对TCS有帮助,特别是(经典)复杂性理论。

对于想研究复杂性理论的人,您认为哪些领域至关重要?您是否知道涵盖这些领域的任何优秀教科书,如果有,请说明其难度等级(入门级,研究生等)。

如果您考虑的领域在复杂性理论中使用不多,但认为对TCS至关重要,则也请参考它。


14
我建议您开始阅读有关复杂性理论的标准教科书,例如Arora / Barak或Papadimitriou,并且每当由于不懂数学而陷入困境时,请在继续之前尝试详细了解相关的数学。
罗宾·科塔里

8
在您完成了Robin的建议之后,就可以开始处理一些小问题。您会兴奋地学习其背后的数学。作为一名研究生,我发现仅仅为了学习而学习一些数学领域并不是很有效。
亚历山德罗·科森蒂诺

Answers:


53

如果您看一下TCS StackExchange问​​题的答案,您会发现,在复杂性理论中,几乎所有数学领域都可能很重要。因此,如果您对某些似乎无关的数学真的很感兴趣,请继续学习。如果它确实与复杂性理论相关,那么您将是少数了解它的复杂性理论家之一。


20
这个答案并不意味着您不应该研究我们知道的相关领域(请参阅其他答案)。我会说这些包括线性代数,图论,概率论,基本抽象代数和基本逻辑。
彼得·索尔

6
当然,如果您想为Mulmuley的P NP 证明程序做些贡献,您需要的数学要比这多得多。
彼得·索尔

34

您应该将Dexter Kozen关于计算理论的书添加到列表中。非常有效地涵盖了复杂性理论的基础,而且简短的演讲形式很棒。

在数学背景方面,除上述内容外:

  • 概率论
  • 线性代数和抽象代数
  • 图论
  • 基本逻辑

我认为您不需要成为这些主题的精通者,但是一定程度上的舒适度无疑会有所帮助。


32

A C 0 Stasys Jukna撰写的《Extremal Combinatorics》一书在复杂性社区中对IMO知之甚少。它是大量组合技术的集合,主要着眼于其在TCS中的应用(主要是复杂性)。在其组合上下文中讨论了许多重要的复杂性技术,包括著名的结果(如单调和电路下限),以及一些您可能不会遇到的非常好的结果。而且有很多练习。AC0

(据我所知)这是唯一一本深入探讨“组合数学中的线性代数方法”的书,这是一种精巧而强大的工具。有一份有关Babai和Frankl的手稿草稿,内容更深入,但尚未发布或在线发布:

https://cs.uchicago.edu/page/linear-algebra-methods-combinatorics-applications-geometry-and-computer-science

您可能已经知道,组合论中的概率方法在复杂性理论中非常重要,甚至很重要。Jukna的书对此进行了介绍,但Alon和Spencer着名的《概率方法 Jukna的书进行了更深入的介绍(包括许多其他漂亮的例子)


2
同样,我想指出的是Jaikumar Radhakrishnan撰写的精美的熵方法指南“熵和计数”。熵方法是那些在合适的机会来临时非常令人满意的工具。
arnab 2010年

27

前面的答案已经列出了基本的答案:概率论,组合论,线性代数,抽象代数(有限域,群论等)。

我会补充:

傅立叶分析,请参阅Ryan O'Donnel的课程:http//www.cs.cmu.edu/~odonnell/boolean-analysis/

编码理论,请参见苏丹Madhu的课程:http//people.csail.mit.edu/madhu/coding/course.html

信息论,标准书是信息论的元素:http : //www.amazon.com/Elements-Information-Theory-Telecommunications-Processing/dp/0471241954

还有表示论,随机游走,还有更多我可能会忘记的...


5
大部分的东西你只是学习,因为你走了,不同的地方研究/生活所需:从课程,从讲座,由合作者,从论文等
达纳Moshkovitz

22

除基本内容外,可能:

  • 组合学 -您可能会发现自己很规律地数事物
  • 随机 -用于平均情况分析和随机算法

我喜欢Knuth的《具体数学》。它提供了许多重要工具的良好概述/基础知识。

如果您喜欢将生成函数(请参阅Wilf的generationfunctionology)作为工具,那么复杂的分析也将非常有用。


我爱具体数学,但这有点深奥。我会首先推荐一本比较主流的书,例如卡梅伦的“组合书”。
埃米尔(Emil)2010年

7
这就是我的印象-《具体数学》似乎是一本很棒的书,可以学习如何对Knuth的长处进行精确(或几乎精确)的算法分析。如果那是您想要做的,那就继续吧。但是请注意,大多数复杂性理论论文都给出的精确范围要小得多,因此CM的技术就没有那么重要了。
安迪·德鲁克

1
有人可能会说这是因为复杂性理论家是懒惰的。但是我认为这是因为(a)精确界限可能比其价值更大,(b)已知的上限和下限之间通常存在很大的差距,以至于两侧的小改进似乎都没有什么价值。
安迪·德鲁克

我应该说,书中有很多很酷的东西,我的言论主要涉及求和与递归关系的精确解的材料。
安迪·德鲁克

22

Sanjeev Arora 教给他的研究生课程(一年级学生)有一个很好的文档,叫做“理论家的工具包”,其中包含许多理论知识应由学生掌握的基础材料。您可以等到研究生毕业后才能学习很多此类内容,但这可以使您对需要了解的知识和一些先决条件有一个很好的了解。


20

对于TCS社区中许多成功的研究人员来说,一个通用的范例(当然不是通用的)如下:在本科层次上了解一些基础知识,例如逻辑,线性代数,概率,优化,图论,组合论,基本抽象代数。除此之外,不要强迫自己学习其他任何东西,除非您真的认为自己需要它来解决您几个月来一直在苦苦挣扎的问题,或者如果您认为自己真的乐于学习一些东西。

您问:“如果我从未见过它,我怎么知道我需要它?” 好问题。有时,您会感到幸运并感觉到:“您知道吗,我正在尝试解决的这个子问题听起来像是傅立叶变换法则,Fred不会闭嘴。我必须检查一下或陷入Fred在一个房间里,请他给我快速讲解基础知识。” 在其他时候,您会在房间里困住一群比您自己知识渊博的人,例如在研讨会上发表演讲或类似的话,然后抱怨您如何解决这个问题,直到弗雷德发出“嘿,我打赌您,可以通过傅立叶分析解决这个问题。让我告诉你如何做。” 最后,您与弗雷德(Fred)获得了一份联合论文,学到了一些新知识,而您和弗雷德(Fred)现在是最好的伙伴,每隔一个星期六晚上出去喝酒。


18

我认为没有用的数学领域列表会比没有数学领域的列表短得多!我想不到。

研究任何看起来有趣的数学,和/或目前所需的任何数学。即使您不直接使用它,它也将帮助您学习所做的其他事情。


4
我将回答这个问题。无论您发现什么数学最有趣,它都会指导您找到最有趣的问题以及最适合解决的问题。
Derrick Stolee



9

数论尚未被提及,但它对于许多密码学和复杂性理论构造而言是非常重要的工具。


6

有限组的表示理论(也适用于有限域)对于各种任务可能出奇地有用,包括:

  • 矩阵乘法算法(Cohn--Kleinberg-Szegedy-Umans

  • 构建本地可解码代码(例如,参见Klim Efremenko的本文

  • 在量子计算中的应用(非阿贝尔群的隐藏子群问题,乘性对抗法)

Sn


不要忘了扩展器图的确定性构造
Sasho Nikolov 2012年

您是指使用属性(T)la Lubotzky的代数构造?在这种情况下,其风格与上述示例略有不同(不要使用有限组的irreps)。
Marcin Kotowski

4

我建议阅读Garey和Johnson的书

计算机与难处理性:NP完全性理论指南

只需很少的数学背景即可阅读。我认为这本书读起来很有趣,我会推荐这本书作为Papadimitriou和Arora / Barak的第一本书。阅读完这些内容后,您可以阅读其他书籍并确定理解感兴趣的高级主题所需的各种数学知识。


1
我从这本书中学到了复杂性,但是发现它不平衡,有很多古怪但最终都不重要的细节,但即使在撰写本书时,也没有涵盖重要的问题。另一方面,它有时是重要的参考书。相比之下,另一个答案中提到的Kozen的案文清晰,全面和现代。
安德拉斯·萨拉蒙

1

曾几何时,UWaterloo CS 的本科课程CS464(2002)使用了Christos H. Papadimitriou的Computational Complexity,Addison-Wesley,1994。

列出的背景主题包括图灵机,不确定性,时间复杂度和NP完整性。

对于背景,请浏览QA267.G57附近的图书馆(Goddard的介绍计算理论,是基于一两个快速的速读内容以及对我的实用性,似乎涵盖了背景知识的CS方面;我感到有些困惑和困惑。纯数学方面的理论也将很有用。)


2
我希望我有足够的声誉可以投反对票。为什么这些提到一所大学及其图书馆?
亚历山德罗·科森蒂诺

2
FWIW,QA267.G57是美国国会图书馆的电话号码,这是一种广泛使用的图书馆标准。它不特定于滑铁卢大学(可能的最后数字除外)。
埃米尔·杰拉贝克(EmilJeřábek),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.