不了解TCS的策略


19

我是一名正在学习计算理论课程的研究生,一旦被要求,我在制作内容方面存在严重的困难。我能够按照教科书(Michael Sipser的计算理论简介)和讲座进行学习;但是,当被要求证明某件事或提出特定TM的正式描述时,我只是cho之以鼻。

在这种情况下我该怎么办?我想我的问题是完全理解抽象概念,以至于我可以实际使用它们。是否有一种结构化的方法来处理新的抽象概念并最终建立直觉?


5
打败我。对于这个网站,这似乎是一个合理的问题。
Suresh 2012年

4
我投票决定关闭。我看到的主要问题是,问题实际上与计算机科学无关。它是关于如何学习计算机科学的。后者没有客观答案,因为每个人都会有自己的最佳方法。即将结束的三票全都归因于“过于本地化”的原因,但是我认为这个问题也离题,因为这与计算机科学无关。
卡尔·默默特

1
我认为这个问题有其优点,也是我一直在努力解决的问题类型。我认为,从一个值得信赖的社区那里获得有关这些类型问题的指导是许多CS学生都在努力的事情。我确实理解对这个问题的反对。在我看来,这个问题与该网站的meta部分相当合适。
BrotherJack 2012年

6
@CarlMummert:每个关于计算机科学的问题都是关于如何学习计算机科学的问题。
JeffE 2012年

2
当前的问题过于笼统。关注您的问题,例如请求资源(例如问题书)以帮助您提高在课程中解决问题的能力,或者您是否有针对该问题的具体示例并询问解决类似问题的直觉或方法。
卡夫

Answers:


15

在计算机科学中,抽象几乎是头等大事,但不幸的是,很难明确地讲授。

我认为,理解概念比能够机械地计算或证明事物更重要。当然,您需要了解一些基本方法,但是其他地方都没有问题。

首先,您必须在某种程度上掌握内容。为此,我发现在您不清楚的地方提出以下问题很有用:

  • 我们为什么要这样做?
  • 什么是我们要利用这个呢?
  • 什么相似
  • 其他资料如何解释呢?
  • 到底不明白什么?

在您回答了这些问题(或发现后续问题并以相同的方式对其进行了处理)后仍然有问题,请联系您的老师(或在此处)。到现在为止,您应该能够提出一个有针对性的,精确制定的问题;回答此类问题是您老师的工作(也是StackExchange的理念)。

除此之外,它是锻炼和经验。阅读证明后,请尝试复制证明;注意不要刻骨铭心地学习它们,而要从中提炼出重要的思想。一段时间后,您应该能够通过填补主要步骤之间的空隙来复制所有基本证明。甚至以后,您将开始在陈述和证明中看到模式。人们就是这样看待语句的:“哦,是的,当然,将方法X与定理Y一起使用,然后仅使用Z获得您想要的。” 多年的培训助长了模式识别。耐心一点。

至于基本练习,请去寻找一些相关的教科书。在我的脑海中,我可以参考Graham,Knuth和Patashnik的《具体数学》。本书不仅是计算机科学家的宝贵工具箱,还包含大量练习和解决方案(!)。请记住在查找答案之前尝试解决它们,并重现必须查找的答案。

另一本有用的书是Cormen,Leiserson,Rivest和Stein 撰写的算法介绍。其中包括有关数学基础的相当大的一章。它还包含许多练习。解决方案可通过链接页面(补充内容)获得。还有一位作者的视频讲座,可能与本书很相配。

有关证明的入门讲座,请查看可汗学院的线性代数证明。我没有看过它们,但希望它们既基本又有用。可汗学院(Khan Academy)上还有更多证据。我只是认为线性代数证明可能最适合计算机科学。也不要犹豫,看着别人。


7
我同意理解概念比计算或证明事物的能力更重要。但是,理解是实践的结果,需要进行计算和证明,不能代替该实践。
JeffE 2012年

感谢您的见解。我会认真听取您的建议,并尝试在此基础上进行改进。
trigoman 2012年

对于更基本的需求,《证明书》可能是有价值的参考。
拉斐尔

8

我有时会发现理论上做得不好的人,只是基础知识不正确(在前1-3堂课中,他们认为材料很简单,因此他们并没有太在意,但是,在第5-7讲中,事情加速了,现在回顾为时已晚。

正如@fbernardo所说,从头开始可能是一个好主意。远不及FLA(学习TC,恕我直言时没有用),但一定要打开Sipser并开始按顺序逐个解决问题。有了这些经验,您将获得更高级的概念必不可少的直觉和基本工具。

如果您不能应付第一章中Sipser的基本问题(如果您学习TM的话,则不是自动机的章节),那么您可能甚至缺少更基本的概念,例如基本证明方法(归纳法等)或基本集合-理论和离散数学。

祝你好运!


3

我唯一的建议是从头开始。在我的课程中,我们也使用Sipser的书,我认为这是一本好书。但是我们在TC之前确实有一门课程,称为FLA(形式语言是自动机),可以更好地了解TC。因此,同样,每个人的学习速度都不同,您有一本非常好的书。您可以在此处始终找到任何其他特定问题的帮助。:)


2

您在标题中提出一个一般性问题,然后在问题中至少提出两个基本/特定要点,我认为每个问题都有很好的(单独的)答案:

  • 如何证明东西
  • 创建TM行为的正式描述

这里只解决第一个项目(本质上是广泛的,应该得到它)-它是STEM(科学,技术,工程,数学)教育中的一头大象,但很快就会被忽略,并且常常被掩盖到令人震惊的程度。似乎没有人真正知道如何教如何建立证明。该主题始于几何,三角学和微积分类,但很少是其中的严格元素。大多数教师将其视为可选。似乎整个课程都致力于“如何证明东西”,这将是对STEM教育的极好甚至关键的补充或改变。

在我快速搜索如何证明事物的过程中,这里有一些参考资料,我认为还有很多其他好的资源。如今也可能有很多关于该主题的视频可以通过搜索找到,但是我还没有看到一个很好的全面组织“如何证明事物”类型的视频。

证明的关键部分是掌握数学的基础知识并将其全部用作工具或构建部件。例如,知道什么是集合,什么是元组,什么是差异/相似性,何时使用一个而不使用另一个等等。

另一种方法是像钻一样对待它。自己做许多练习证明,从容易到难做(希望我知道更多这样的书,似乎没有很多)。


1
添加Pólya的经典作品“如何解决”。环顾四周进行数学写作也很有用(特别是对于毕业生而言),例如Knuth等人的“数学写作”。这是一种经常被认为是理所当然的技能。
vonbrand
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.