计算机科学

为学生,研究人员和计算机科学从业者提供的问答

3
Landau的总和出了什么问题?
我写 ∑i=1n1i=∑i=1nO(1)=O(n)∑i=1n1i=∑i=1nO(1)=O(n)\qquad \displaystyle \sum\limits_{i=1}^n \frac{1}{i} = \sum\limits_{i=1}^n \cal{O}(1) = \cal{O}(n) 但是我的朋友说这是错误的。从TCS备忘单中,我知道总和也称为,其对数增长。所以我的界限不是很敏锐,但足以满足我需要的分析需求。HnHnH_nnnn 我做错了什么? 编辑:我的朋友说,以同样的理由,我们可以证明 ∑i=1ni=∑i=1nO(1)=O(n)∑i=1ni=∑i=1nO(1)=O(n)\qquad \displaystyle \sum\limits_{i=1}^n i = \sum\limits_{i=1}^n \cal{O}(1) = \cal{O}(n) 现在,这显然是错误的!这里发生了什么?

2
Lambda微积分中的“应用顺序”和“正常顺序”
应用顺序:在评估函数本身之前,请始终充分评估函数的参数,例如- (λ X 。X2(λ X 。(X + 1 )2 )))→ (λ X 。X 2(2 + 1 ))→ (λ X 。X 2(3 ))→ 3 2 → 9 (λx.x2(λx.(x+1) 2)))→(λx.x2(2+1))→ (λx.x2(3))→ 32 → 9(\lambda x. x^2(\lambda x.(x+1) \ \ 2))) \rightarrow (\lambda x. x^2(2+1))\rightarrow \ (\lambda x. x^2(3)) \rightarrow \ 3^2 \ …

2
什么是计算机科学中的“关键”?
我对计算机科学中“键”的确切含义有些困惑。我了解键值对,主键等。但是我找不到“键”一词本身的定义。 据我所知,这仅意味着一条数据。在CLRS中,与树节点关联的数据称为“键”。搜索哈希表的数据称为“键”。这是“钥匙”吗?

1
确保退出迷宫的步骤
给定一个二维迷宫,您可以在其中给出4个命令“上/下/右/左”。了解迷宫但不知道人在哪里,如何找到保证退出迷宫的最小命令顺序?我正在寻找一个命令序列,无论您从迷宫中的哪个位置开始,它们都将起作用。 假设如果在右边有隔离墙时向我们的伙伴发出“向右移动”命令,那么他只会呆在原处。 换句话说,我们被赋予了迷宫,我们必须选择一系列命令。然后,我们的伙伴将被放置在迷宫中的某个地方,并将遵循我们预先选择的命令序列。无论我们最初放置在哪里,我们都希望以此顺序来确保我们的伴侣能够逃脱。请注意,允许的命令没有任何条件语句,因此根据您的伙伴的不同,它们不能遵循不同的顺序。 给定迷宫的描述,是否有多项式时间算法来构造这样的序列? Yuval Filmus提到这是同步单词问题的特例,并且可能与通用遍历序列有关。我还发现了一篇似乎相关的论文: 同时解决迷宫问题。Stefan Funke,AndréNusser,Sabine Storandt。AAAI 2017年。 不幸的是,对于一般图形来说,这似乎是一个未解决的问题,但是我想知道对于这种特定情况是否有好的算法。我想出了一种候选方法:在每个位置上标注退出所需的最小步骤数,并跟踪迷宫中的每个特工。这样可以进行A *搜索。

1
SICP的话说:“著名的逻辑学家在这里犯了令人尴尬的错误。” 这指的是什么?
这是上下文(计算机程序的结构和解释,第1.1.8节,在“本地名称”下): 过程的形式参数在过程定义中具有非常特殊的作用,因为形式参数的名称无关紧要。这样的名称称为绑定变量,我们说过程定义绑定了它的形式参数。如果在整个定义中始终对绑定变量进行重命名,则过程定义的含义不变。 最后一行的末尾有一个脚注(26),其中: 一致重命名的概念实际上是微妙的,很难正式定义。著名的逻辑学家在这里犯了令人尴尬的错误。 文本指的是谁?为什么定义“一致的重命名”会很困难,哪些逻辑学家在定义该定义时犯了错误,这些错误是什么?
14 logic 

1
自动定理证明可以解决什么样的数学问题?
我可以使用可用的自动定理证明者来证明以下陈述吗? (a+b)2=a2+b2+2ab(a+b)2=a2+b2+2ab(a+b)^2=a^2+b^2+2ab。 如果11∣2a−3b11∣2a−3b 11 \mid 2a-3b,则11∣7a−5b11∣7a−5b 11 \mid 7a-5b 。 如果ax2+bx+c=0ax2+bx+c=0 ax^2+bx+c=0,则x=−b±b2−4ac√2ax=−b±b2−4ac2ax=\frac{-b\pm\sqrt{b^2-4ac} }{2a}。 如果aaa为偶数,则4a4a4a为偶数。 等等! 我问这个问题是因为我刚刚发现自动定理证明者在证明逻辑定理中的应用。

2
通过首先找到另一个算法来计算功能的算法是否存在概念?
如果我正确理解的话,如果满足以下条件,则计算实函数的值的算法将具有计算复杂度O (g (n )):当我们计算f到精度δ时,需要g (n )步的数量级。FffÔ (克(n ))O(g(n))O(g(n))Fffδδ\deltaG(n )g(n)g(n) 但是,如果我们有一个算法“首先找到一个更有效的算法来计算 ”,然后再计算f会怎样?FffFff 换句话说,如果我们有一个算法执行以下操作,该怎么办:一种AA 找到一个有效的算法计算˚F。乙BBFff 用计算f。乙BBFff 在这种情况下,我们可以不再说话的计算时间则需计算例如,因为它完全依赖于算法是否一个已经找到算法乙。换句话说,需要计算的计算时间˚F (5 )如果5是第一comoputed数目远远大于所需的计算的计算时间更大˚F (5 )后˚F (3 )是已经计算。F(5 )f(5)f(5)一种AA乙BBF(5 )f(5)f(5)555F(5 )f(5)f(5)F(3 )f(3)f(3) 我的问题是,关于这种算法的概念/理论是否在计算函数之前先找到另一种算法?具体而言,我想知道有关此类算法的计算复杂性的分析。

1
图的导数与邻接表相关吗?
Conor McBride的某些作品《Diff,Dissect》将数据类型的派生与它们的“单孔上下文类型”相关联。也就是说,如果采用该类型的派生形式,则将剩下一个数据类型,该数据类型向您显示该数据类型在任何给定点从内部看起来如何。 因此,例如,如果您有一个列表(在Haskell中) data List a = [] | a : List a 这对应于 data List a = 1 + a * List a 通过一点数学魔术,导数是 data ListDeriv a = List a * List a 这被解释为意味着在列表中的任何一点处,左侧都会有一个列表,而右侧则有一个列表。我们可以使用派生数据结构浏览原始列表。 现在,我有兴趣对图形进行类似的操作。图的常见表示形式是一组顶点和边,它们可以通过以下数据类型来简单地实现: data Gr a b i = Gr [(i,a)] [(i,i,b)] 如果我正确理解的话,就图索引而言,这种数据类型的派生i应该是类似的。 data GrDeriv a b …


3
为什么Kleene星运算符也称为Kleene'closure'运算符?
我发现,如果我不了解CS /编程术语背后的词源,通常意味着我已经错过或误解了一些重要的基本概念。 我不明白为什么Kleene星也被称为Kleene闭合。它与编程中的闭包(具有绑定的非局部变量的函数)有关吗? ...经过反思,也许是因为它允许将开放式集以封闭表达式形式编写? ……以一种古老的橡皮鸭解释方式,现在我猜是这样,但是仍然欢迎权威人士回答。

2
我可以有一个“依赖的副产品类型”吗?
我正在阅读HoTT的书,并且对第一章中的内容有一个(可能很幼稚)问题。 本章介绍函数类型 ,然后通过使依赖于来对其进行概括 这就是所谓的从属函数类型。B x :A B :A → U,f:A→Bf:A→B f:A\to B BBBx:Ax:Ax:A B:A→U,g:∏x:AB(x)B:A→U,g:∏x:AB(x)B:A\to\mathcal{U},\qquad g:\prod_{x:A}B(x) 接下来,本章介绍产品类型 ,然后通过使依赖于归纳产品类型 ,这称为依赖对类型。B x :A B :A → U,f:A×Bf:A×B f:A\times BBBBx:Ax:Ax:A B:A→U,g:∑x:AB(x)B:A→U,g:∑x:AB(x)B:A\to\mathcal{U},\qquad g:\sum_{x:A}B(x) 我绝对可以在这里看到一个模式。 接下来,本章将介绍副产品类型 和... combobreaker ...没有讨论这种类型的依赖版本。f:A+Bf:A+B f:A+B 对此是否有一些基本限制,或者与本书的主题无关?无论如何,有人可以帮助我了解功能和产品类型的原因吗?是什么让这两个如此特别,以至于它们被泛化为依赖类型,然后用于构建其他所有内容?

1
计算复杂度与乔姆斯基层次结构
总的来说,我想知道计算复杂性和Chomsky层次结构之间的关系。 特别是,如果我知道某个问题是NP完全的,那么该问题的语言是否不是上下文无关的? 例如,集团问题是NP完全的。是否遵循这样的观点,即与集团相关的模型的语言在Chomsky层次结构中具有最小的复杂性(用于将模型编码为字符串的所有/某些方式?)

2
是{ww | ……}是否与上下文无关?
将语言定义为。换句话说,包含不能表示为重复两次的某个单词的单词。是否与上下文无关?LLLL={a,b}∗−{ww∣w∈{a,b}∗}L={a,b}∗−{ww∣w∈{a,b}∗}L = \{a, b\}^* - \{ww\mid w \in \{a, b\}^*\}LLLLLL 我试图将与相交,但是我仍然无法证明任何东西。我也看了帕里克定理,但这没有帮助。LLLa∗b∗a∗b∗a∗b∗a∗b∗a^*b^*a^*b^*

2
从ILP到SAT的多时减少?
因此,众所周知,ILP的0-1决策问题是NP完全的。用NP显示它很容易,最初的减少来自SAT。从那时起,许多其他NP-Complete问题已被证明具有ILP公式(其作用是将这些问题简化为ILP),因为ILP非常有用。 排量从 ILP似乎更难要么自己或追查。 因此,我的问题是,有谁知道从ILP到SAT的多时减少,即说明如何使用SAT解决任何0-1 ILP决策问题?

2
最小顶点覆盖树的贪婪算法的正确性证明
有一种贪婪算法,用于查找使用DFS遍历的树的最小顶点覆盖。 对于树的每个叶子,选择其父级(即,其父级处于最小顶点覆盖范围内)。 对于每个内部节点: 如果未选择其任何子节点,则选择此节点。 如何证明这种贪婪策略给出了最佳答案?是否没有比上述算法产生的顶点覆盖更小的尺寸?

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.