我目前正在大学[计算机科学]上学习,在那里我们有很多机会可以开始研究。在找到该网站之前,我无意继续这种方式(我想与AI合作,可能是游戏开发者。),但现在我可以(或需要)做出选择。
您能说服我加入这个“世界”吗?我可以遵循哪些“细分”?关于计算机科学家或研究人员从事何种主题的事情,有什么问题吗?
我目前正在大学[计算机科学]上学习,在那里我们有很多机会可以开始研究。在找到该网站之前,我无意继续这种方式(我想与AI合作,可能是游戏开发者。),但现在我可以(或需要)做出选择。
您能说服我加入这个“世界”吗?我可以遵循哪些“细分”?关于计算机科学家或研究人员从事何种主题的事情,有什么问题吗?
Answers:
在即将到来的冬季,我可以将我作为本科生申请TCS研究生课程的原因联系起来(剩下的时间很少!)。
确实,您是否决定进入理论计算机科学领域的研究是一个选择问题。但是,即使仔细阅读本站点上的问题(如您可能已经做过的那样),也有望给您带来广度,让您领会这一领域的美丽。我什至不知道从哪里开始将您引向您可以阅读的资料,以欣赏理论家所做的工作,但是我认为这个站点上有一个问题可能会让您感兴趣。
保罗·埃尔多斯(Paul Erdos)谈论了“书”,其中上帝保留了每个数学定理的最优雅的证明。这甚至启发了一本书(我相信现在是第四版):书中的证明。
如果上帝有一本类似的算法书,那么您认为哪种算法是候选人?
目前,该问题有64个答案,涵盖小问题,大问题,难题和深度数学的算法。我坚信,如果您所做的一切只是遍历此列表,并详细了解引起您注意的任何算法,您将学到很多理论计算机科学家的工作方式以及我们为什么这样做的知识。
祝好运 !
我们许多人从事研究的原因是,因为我们发现突破了已知的既有智力回报又令人愉悦的事物的界限。做研究还给了我们几乎无与伦比的自由,可以自由地解决我们发现的有意义和有趣的问题,并且使我们不断受到挑战(我们喜欢)。
TCS(与其他领域相对)是计算机科学的数学研究。您可以研究从分布式系统到机器学习的许多不同领域的理论方面。在TCS和计算机科学其他领域之间的选择取决于您的口味和能力所在。如果您的自然兴趣和能力更多地在于编程或系统设计,而不是数学分析,那么也许您不应该进入TCS。另一方面,如果您的技能和兴趣更多地在于数学方面,则应考虑使用TCS。
另外,您不必总是选择一个区域而不是所有其他区域。许多人从理论和实践两个方面来研究问题。例如,这在机器学习中很常见,在机器学习中,我们首先设计和分析算法(通常是理论),然后在现实世界中对它们进行测试(实验设计,应用程序等)。
弄清楚您想做什么的一个好方法是在许多不同的领域上课,并可能在夏天尝试行业和研究。在学习结束时,您可能会对自己想做的事情有个好主意。
编程语言理论对年轻人和年轻人都很有趣。它将逻辑应用于现实世界。快来参加游行!!
更严重的是,对我来说,编程语言理论之所以有趣是因为以下原因:
感知到的对现实世界的影响:Haskell和其他功能语言中的大量类型系统工作源自纯粹的逻辑思想(系统F),极大地影响了Java(其可怕的泛型,闭包)和Scala(现代的理论会议在操场上举行的那一天)。
美丽:编程语言理论中使用的许多工具都是基于逻辑的。它的大部分源于Curry-Howard对应关系,它表明了逻辑证明规则与编程语言的输入规则之间的紧密联系,以及逻辑中的切分消除与编程语言中的评估之间的紧密联系。逻辑在编程语言研究中的两个最近的美丽例子是在验证中的分离逻辑上的大量工作,以及证明思想的应用在理解编程语言概念(如评估顺序和模式匹配)方面的应用。
好玩:您可以同时进行编程和理论,尤其是当您使用Coq等证明助手来形式化和验证您的理论时。
还有很多。
我之所以认为计算理论(理论计算机科学的“我的”分支)令人着迷并且值得研究的主要原因之一,是因为以下原因:它为我们提供了一种研究一些深层(有时令人费解)哲学问题的方法。
计算理论的奠基人之一,艾伦·图灵(Alan Turing)试图通过对过程进行数学描述,来确定配备一张纸的人的“计算函数”的含义。我并不是唯一一个认为他非常成功的人,图灵机被证明是许多其他计算过程的精确模型。
现在我们拥有一类描述计算的数学对象,我们实际上可以证明有关它们的定理,从而试图揭示可计算的内容以及如何计算的定理。立刻发现,根本无法计算出很多完全合法的函数,并且可以根据不可计算的程度对它们进行分类(某些函数比其他函数“更不可计算”)。
其他一些人(通常由Juris Hartmanis和Richard E. Stearns共同识别的第一个人)试图用数学方法描述难以或易于计算(例如解决)的函数(分别是问题)的含义。有几种复杂性度量可以用来描述问题的严重性;最常见的是我们需要多少时间来解决它们。Alan Cobham和Jack Edmonds在确定“高效计算”的合理概念方面非常成功。
现在,在计算复杂度框架内,我们可以证明一些与我们的直观计算概念一致的结果。我最喜欢的示例是时间层次定理:如果给我们更多的时间进行计算,我们可以解决更困难的问题。
复杂性理论的中心开放问题P vs NP只是另一个哲学上重要问题的形式化:解决一个问题真的比检查一个所谓的解决方案是否正确难得多吗?我认为,无论其实际意义如何,这个问题都值得提出和回答。
我们无法“说服”您,因为计算机科学在数学上并不比AI或任何其他领域都要好。因此,我们无法证明其优势!海事组织,更多的是品味问题。
很难肯定地回答这个问题,但是这里有几点需要牢记。
如果您从事计算机科学家的职业,那么您的工作可能不仅会涉及以有用和高效地使用数据的方式来处理和构建数据,而且还会考虑您的工作方式和原因以及工作方式。它的作用范围(如果没有其他原因,除非足以理解它以实现它)。AI / NLP / IR尤其是这种情况,即使您不在学术界,这也需要大量研究。实际上,进入AI几乎可以确保您将大量地处理“理论上的”问题,实际上,如果没有这一背景,可能很难找到工作。因此,这可能是您考虑的一个令人信服的原因。
不仅如此,但它很可能是很难花大部分生活在任何CS野战,你必须保持这样的细腻和反复无常(更不要说难)过程,亲密接触,同时保持不甚至对事物运作的基础都感兴趣。换句话说,我想您可以在余生中将库粘合在一起,但是,如果这听起来不像您的事情,那么您至少必须对所处理问题的基础知识有所了解。
积极参与TCS研究是一个可能只有您可以回答的问题,一个好的出发点(IMO)是从您感兴趣的问题出发并从那里出发。您甚至可能没有足够的信息来回答该问题,因此更好的进行方法可能是仅查看您的兴趣将您带到何处。