- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
在大学学习期间,我必须学习很多有关计算理论的知识。我学习了这个主题三个学期。我过得很艰难,我不得不承认我忘记了很多。
我想知道这是否是个人问题,或者我们是否只是必须学习很多(或多或少)无用的东西。
所以我的问题是:您认为计算理论领域中哪些主题最重要,哪些部分值得学习,以及您在平时工作中使用哪些主题?
就我个人而言,我很高兴听说 theory of languages (特别是正则语言 => 正则表达式 - 何时可以应用,何时不可以)以及不同的 time (and space) complexities ,特别是 O(n) 表示法。
但是我们必须研究更多,包括:
听到这些话题很有趣,但我不确定有多大必要就是要深入研究它们。
我知道这个问题是主观的,答案会有很大差异取决于您的日常工作和个人经验。但我想了解可能比我内存中更有趣的主题。
最佳答案
What topics in the field of the theory of computation do you think are most important
这个问题很模糊。对谁重要?
which parts are worth learning about?
所有这些都值得学习。这是一个特例,说明所有人类的努力本质上都值得学习。
如果您的问题是“哪些主题给我带来的好处大于我学习这些主题所花费的时间和精力的成本?”那么这个问题只有你自己才能回答。例如,学习古希腊历史对我的好处与它如何影响我完成工作的能力无关。
Which topics do you use during your normal work?
我使用了你列出的所有主题——语言理论、渐近阶分析、可判定性、复杂性理论、定理证明系统等等。
我不会在正式意义上使用它们;我没有坐在办公 table 前使用主定理来导出特定算法的阶次分析。我使用它们的意义是,能够非常方便地采用提议的语言功能并快速计算出实现它是否需要编译器解决线性、多项式、指数、NP 困难或等价于的问题停机问题。
例如,很容易计算出 C# 3 中嵌套 lambda 的重载解析是 NP 困难的,但并不等同于停止问题。因此,我们知道(1)即使尝试在多项式时间内解决问题也是浪费时间,(2)至少我们知道可以在一定时间内找到解决方案,(3)我们可以想出简单的启发式方法来检测不良场景,并在需要时快速失败。
我个人不太使用证明系统,尽管将问题视为定理证明者的特殊情况是有帮助的。有各种各样的语言特性相当于你向定理证明者提出的问题,特别是在类型推断和流分析领域。幸运的是,C# 的任何功能实际上都不需要实现定理证明器;在此建筑中实现的其他语言确实具有该属性,例如 F#。
关于theory - 计算理论中的重要主题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2388346/
最近我试图向我的项目经理解释一些设计不佳的代码。所有的管理器类都是单例的(“这就是我不能轻易改变它的原因”)并且代码在任何一个函数调用就足够的地方使用事件分派(dispatch)(“这就是为什么它很难
我有一个简单的问题。这里的上标加号是什么意思? = {w ∈ {0,1} : w ∈ (0^+)(1^+)} 我做这些已经有一段时间了。这是为了制作一个非确定性的有限自动机 最佳答案 0^+ 这意味着
就目前而言,这个问题不适合我们的问答形式。我们希望答案得到事实、引用或专业知识的支持,但这个问题可能会引起辩论、争论、投票或扩展讨论。如果您觉得这个问题可以改进并可能重新打开,visit the he
引用自 Algorithms for Java (sedgwick 2003) p。 135: “我们通常在开发或调试广告时使用驱动程序” 驱动程序是什么意思? 谷歌只是给了我大量关于编程驱动程序的信
我坚信这样一种观点,即您从学习一门新语言中获得的最重要的东西之一不是如何使用一门新语言,而是您从中获得的概念知识。我不是问你认为 Assembly 有多重要或有用,我也不关心我是否从未在我的任何实
对于example,任何图灵机都不能接受不接受其自身编码的图灵机的语言。 最佳答案 TM不能决定无限多种语言。确实,“大多数”语言是不确定的。有许多可判定的语言,但有无数种语言(因此,无数许多不可判定
关闭。这个问题不符合Stack Overflow guidelines .它目前不接受答案。 想改进这个问题?将问题更新为 on-topic对于堆栈溢出。 5年前关闭。 Improve this qu
关闭。这个问题是off-topic .它目前不接受答案。 想改善这个问题吗? Update the question所以它是 on-topic对于堆栈溢出。 8年前关闭。 Improve this q
我已经尝试证明这很有趣 bubble_main已订购,但似乎没有任何方法有效。这里有人能帮我证明引理is_ordered (bubble_main L)请。 我只是删除了我以前的所有引理,因为似乎没有
我目前正在研究离散数学测试,其中我们正在学习Chomsky's hierarchy和识别层次结构各个级别的自动机的类型。有人告诉我,大多数计算机语言都属于层次结构的“2级和1级”,但不完全属于该级别。
在我的编程类(class)原则中,我们谈论的是不同的调用方法。我们讨论了一些: 按值调用 通过引用进行调用 按值/结果调用 和调用,名称为 我找不到有关按名称调用的工作方式的示例。有人在乎给我举个例子
关闭。这个问题需要更多focused .它目前不接受答案。 想改善这个问题吗?更新问题,使其仅关注一个问题 editing this post . 3年前关闭。 Improve this questi
需要明确的是,我不是在寻找 NaN 或无穷大,也不是在问 x/0 的答案是什么。应该是。我要找的是这个: 根据硬件中的除法方式(我不知道它是如何进行的),如果除以除数为0的除法,并且处理器在操作中愉快
关闭。这个问题需要details or clarity .它目前不接受答案。 想改善这个问题吗?通过 editing this post 添加详细信息并澄清问题. 4年前关闭。 Improve thi
我已经阅读了几页,包括 wiki 页面 http://en.wikipedia.org/wiki/Strong_and_weak_typing处理强类型语言和弱类型语言。在大多数情况下,我想我理解其中
停机问题对于图灵完备的语言是无法解决的,对于一些非 TC 语言,比如它总是停机的正则表达式,它可以很容易地解决。 我想知道是否有任何语言既可以停止也可以不停止,但承认一种可以确定它是否停止的算法。 最
好吧,我想这完全是主观的,但我在考虑随机数生成器的熵源。大多数生成器都是用当前时间播种的,对吗?好吧,我很好奇可以使用哪些其他来源来生成完全有效的随机(松散定义)数字。 使用多个来源(例如时间 + 当
我正在学习计算复杂性类(class),到目前为止,我的印象是它对开发人员没有太大帮助。 我可能是错的,但如果你以前走这条路,你能举一个例子来说明复杂性理论如何帮助你的工作吗?万分感谢。 最佳答案 O(
在类里面,我们学习了停机问题,图灵机,归约等。很多同学说这些都是抽象无用的概念,了解它们没有任何意义(即,一旦类(class)结束就可以忘记它们)结束并且不会丢失任何东西)。 为什么理论有用?您是否曾
在多任务系统中,某些异常情况会阻止进程或线程的执行进度。我将进程和线程简称为“进程”。其中两种情况称为死锁和活锁。 前者指的是相互阻塞的进程,从而阻止其中一个进程执行。后者指的是相互阻止进程,但实际上
我是一名优秀的程序员,十分优秀!