7 ,, -complete和 -hard 的定义是什么? 我正在上一门有关计算和复杂性的课程,无法理解这些术语的含义。 我只知道NP是NP-complete的子集,而NP-hard是NP-hard的子集,但我不知道它们的实际含义。维基百科也没有太大帮助,因为解释仍然太高了。 247 complexity-theory terminology complexity-classes p-vs-np reference-question
3 如何知道使用哪种时间复杂度分析符号? 在大多数入门算法课中,都引入了(大O)和等符号,并且学生通常会学会使用其中之一来查找时间复杂度。ΘØOOΘΘ\Theta 但是,还有其他符号,例如,和。在任何特定情况下,一种表示法要优于另一种表示法吗?ØooΩΩ\Omegaωω\omega 90 algorithms terminology asymptotics landau-notation reference-question
12 为什么图像尺寸单位不是Pixel²? 如果计算矩形的面积,则只需将高度和宽度相乘,然后取平方的单位即可。例如:5cm * 10cm =50cm² 相反,如果您计算图像的大小,则还需要将高度和宽度相乘,但是您会获得像素单位-就像乘以之前的高度和宽度单位一样。示例:您实际计算的内容如下:3840像素* 2160像素= 8294400像素 我期望的是:3840像素* 2160像素= 8294400像素² 为什么乘以像素的单位没有平方? 79 terminology
2 “ Lambda演算”中的“ Lambda”代表什么? 我最近一直在阅读有关Lambda演算的信息,但奇怪的是我找不到为什么它被称为“ Lambda”或表达式从何而来的解释。 谁能解释这个词的由来? 73 terminology computation-models lambda-calculus history
2 什么是共生? 我听说过(结构性)归纳法。它使您可以从较小的结构中构建有限的结构,并为证明这种结构的原理提供证明。这个想法很明确。 但是共生呢?它是如何工作的?怎么能说出无限结构的定论呢? 有(至少)两个角度需要解决,即共归作为一种定义事物的方式和一种证明技术。 关于共生作为证明技术,共生和双仿真之间是什么关系? 67 terminology logic proof-techniques formal-methods coinduction
6 分布式与并行计算 我经常听到人们谈论并行计算和分布式计算,但是我给人的印象是两者之间没有明确的界限,人们往往很容易混淆这一点,尽管我相信这是非常不同的: 并行计算与多线程或如何充分利用单个CPU紧密结合。 分布式计算是指分而治之的概念,即在不同的计算机上执行子任务,然后合并结果。 但是,自从我们迈入大数据时代以来,这种区别似乎确实正在消失,并且当今大多数系统都使用并行计算和分布式计算的组合。 我在日常工作中使用的示例是具有Map / Reduce范式的Hadoop,它是一个分布清晰的系统,其工作人员在不同的计算机上执行任务,但也充分利用了每台计算机的并行计算优势。 我想征询一些建议,以了解如何在当今世界中真正实现区分,以及我们是否仍然可以谈论并行计算还是不再存在明显的区分。在我看来,分布式计算在过去几年中增长了很多,而并行计算似乎停滞了,这可能可以解释为什么我听到了更多关于分布式计算而不是并行化的讨论。 60 terminology distributed-systems parallel-computing
3 依存类型与细化类型 有人可以解释依赖类型和优化类型之间的区别吗?据我了解,精简类型包含满足谓词的类型的所有值。有依赖类型的特征来区分它们吗? 如果有帮助,我通过Liquid Haskell项目遇到了精炼类型,并通过Coq和Agda遇到了依赖类型。就是说,我正在寻找有关理论差异的解释。 57 terminology programming-languages type-theory functional-programming dependent-types
4 为什么多项式时间称为“有效”? 为什么在计算机科学中将最多多项式的复杂度视为有效的? 对于任何实际应用(a)来说,复杂度为的算法比及时运行的算法(即要快得多,但是前者被认为效率低下,而后者是有效的。逻辑在哪里?nlognnlognn^{\log n}n80n80n^{80} (a)例如,假设宇宙中的原子数约为。1080108010^{80} 50 algorithms complexity-theory terminology efficiency
2 是什么意思? 这是一个基本问题,但是我认为与,因为在我们趋于无穷大时,较大的项应该起主导作用?同样,这将不同于O(\ min(m,n))。那正确吗?我一直看到这种表示法,尤其是在讨论图形算法时。例如,您通常会看到:O(| V | + | E |)(例如,参见此处)。O(m+n)O(m+n)O(m+n)O(max(m,n))O(max(m,n))O(\max(m,n))O(min(m,n))O(min(m,n))O(\min(m,n))O(|V|+|E|)O(|V|+|E|)O(|V| + |E|) 44 terminology asymptotics mathematical-analysis landau-notation
5 并行编程与并行编程之间的区别? 查看并发编程时,通常使用两个术语,即并发和并行。 一些编程语言特别要求支持并行编程,例如Java。 这是否意味着并行和并行编程实际上是不同的? 44 terminology parallel-computing concurrency
4 O(n log n)描述的函数类的名称是什么? 在“ Big O”中,通用符号具有通用名称(而不是说“某些常数的哦”): O(1)为“常数” O(log n)是“对数” O(n)是“线性” O(n ^ 2)是“二次方” O(n * log n)是??? 它只是“ n log n”还是像上面这样的特殊名称? 40 terminology asymptotics
1 算法,语言和问题之间有什么区别? 似乎在此站点上,人们经常会因“算法”和“问题”引起混淆而纠正他人。这些有什么区别?我怎么知道什么时候应该考虑算法并考虑问题?这些与形式语言理论中的语言概念有何关系? 40 algorithms complexity-theory formal-languages terminology reference-question
7 计算机科学的定义是什么,计算机科学中的科学是什么? 我正在攻读计算机科学学士学位,但是我还处于初期阶段,并且我相信我会为自己的选择感到满意,因为这似乎是一种学术上和职业上灵活的教育。 话虽如此,关于计算机科学在学术界,私营部门和“计算机科学”中实际的“科学”方面的真正定义似乎有各种各样的定义,我想得到答案(或共同思考)关于可以应用计算机科学教育的事物的广度,以及最终计算机科学领域所追求的各种途径。 39 terminology history
5 “哈希”到底是什么(又到底是什么)? 我听说过“散列”一词在不同的上下文中(在计算世界中)都有不同的含义。例如,在“难于学习Python”这本书中,在字典一章中说:“ Python称它们为“字典”。其他语言称它们为“哈希”。”那么,哈希字典是否有用? 该词的另一种常见用法是与加密有关。我也听说(和阅读)人们在高级编程中使用“哈希”一词作为特定功能。 那到底是什么呢? 任何人(有时间并且有知识的人)都可以友善地解释“哈希(或哈希)”的本质吗? 38 terminology hashing
2 赖斯定理感到困惑 摘要:根据赖斯定理,一切都是不可能的。但是,我一直都在做这不可能的事情! 当然,赖斯定理并不仅仅是说“一切皆有可能”。它说得更具体一些:“计算机程序的每个属性都是不可计算的。” (如果要分割头发,则每个“非平凡的”属性。也就是说,所有程序具有或没有程序具有的属性都是微不足道的。但是其他任何属性都是不可计算的。) 这就是定理说的或似乎要说的。大概许多非常聪明的人已经仔细验证了该定理的正确性。但这似乎完全违背了逻辑!程序具有众多特性,可以轻松计算!!例如: 程序在暂停之前执行多少步?要确定此数字是有限的还是无限的,恰好是停止问题,该问题不可计算。决定此数字是大于还是小于某个有限的是微不足道的!只需运行该程序最多n步,然后查看它是否停止。简单!nnnnnn 同样,程序在前m个执行步骤中使用的存储单元是否少于nnn个?微不足道的。mmm 程序文本中是否提到了名为k的变量kkk?简单的文本分析将揭示答案。 程序是否调用命令σσ\sigma?再次,扫描程序文本以查找该命令名称。 我可以看到很多性能之间做一下非可计算为好; 例如,一个完整的程序运行会执行多少次添加?嗯,这几乎与询问程序执行多少步骤相同,这实际上是“停止问题”。但是看起来确实有很多程序属性,它们确实非常容易计算。然而,赖斯定理坚持认为它们都不是可计算的。 我在这里想念什么? 37 terminology computability undecidability rice-theorem