计算机科学

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

1
在约束编程中,是否有任何模型将变量更改的数量考虑在内?
考虑一个CSP模型,其中更改特定变量的值非常昂贵。在搜索过程中,目标函数是否还考虑变量值的变化次数? 一个示例:昂贵的更改变量可能在某些其他代理程序的控制下,并且涉及使该代理程序更改变量会产生一些开销。另一个示例:变量参与其中一个约束,并且满足此约束包括调用昂贵的函数(例如模拟器),例如是约束,而是昂贵的-计算功能。因此,和是变化昂贵的变量。z=f(x,y)z=f(x,y)z = f(x, y)fffxxxyyy

2
对元素进行排序,以使某些元素不会介于其他元素之间
给定一个整数和一组不同的整数的三元组 找到一种算法,该算法可以找到集合的置换,使得 或正确确定不存在这种排列。非正式地,我们想对数字1到重新排序;每个三元组在表示必须之前出现在新的顺序,但不能之间出现nnnS⊆{(i,j,k)∣1≤i,j,k≤n,i≠j,j≠k,i≠k},S⊆{(i,j,k)∣1≤i,j,k≤n,i≠j,j≠k,i≠k},S \subseteq \{(i, j, k) \mid 1\le i,j,k \le n, i \neq j, j \neq k, i \neq k\},ππ\pi{1,2,…,n}{1,2,…,n}\{1, 2, \dots, n\}(i,j,k)∈S⟹(π(j)&lt;π(i)&lt;π(k)) ∨ (π(i)&lt;π(k)&lt;π(j))(i,j,k)∈S⟹(π(j)&lt;π(i)&lt;π(k)) ∨ (π(i)&lt;π(k)&lt;π(j))(i,j,k) \in S \implies (\pi(j)<\pi(i)<\pi(k)) ~\lor~ (\pi(i)<\pi(k)<\pi(j))nnn(i,j,k)(i,j,k)(i,j,k)SSSiiikkkjjjiii和。kkk 例子1 假设且。然后n=5n=5n=5S={(1,2,3),(2,3,4)}S={(1,2,3),(2,3,4)}S = \{(1,2,3), (2,3,4)\} π=(5,4,3,2,1)π=(5,4,3,2,1)\pi = (5, 4, 3, 2, 1)是不有效的置换,由于,但。(1,2,3)∈S(1,2,3)∈S(1, 2, 3)\in Sπ(1)&gt;π(3)π(1)&gt;π(3)\pi(1) > …

3
识别Watson-Crick回文的空间复杂性
我有以下算法问题: 确定识别作为Watson-Crick回文的DNA字符串的空间图灵复杂性。 Watson-Crick回文是指其原始字符串反向排列的字符串。的补体被定义信明智的,通过DNA启发:A是T的补体和C是G.一个简单的例子的用于WC-回文的补ACGT。 我提出了两种解决方法。 一个需要空间。O(n)O(n)\mathcal{O}(n) 一旦机器完成读取输入。输入磁带必须以相反的顺序复制到工作磁带上。 然后,机器将从左侧读取输入和工作带,并比较每个条目,以验证工作带中的单元格是输入单元格的补充。这需要空间。O(n)O(n)\mathcal{O}(n) 另一个需要空间。O(logn)O(log⁡n)\mathcal{O}(\log n) 在读取输入时。计算输入磁带上的条目数。 输入磁带读完后 将信件的补语复制到工作带上 将字母L复制到工作带的末尾 (循环点)如果计数器= 0,请清除工作带并输入是,然后暂停 如果输入磁带显示L 将输入头向左移动计数器指示的次数(需要第二个计数器) 如果输入磁带显示R 将输入头向右移动计数器指示的次数(需要第二个计数器) 如果保存在工作带上的值的单元格与输入磁带上的当前单元格匹配 将计数器减2 向左或向右移动一个,分别取决于R或L在工作带上 将L或R的补语复制到工作带以代替当前的L或R 继续循环 如果值不匹配,请清除工作带并输入否,然后暂停 这大约占空间,用于存储两个计数器,当前补码和值L或R。2logn+22log⁡n+22\log n+2 我的问题 第一个需要线性时间和空间。第二个需要时间和空间。我从报价中得到了问题,并提出了这两种方法,但是我不知道该选择哪种方法。我只需要说明问题的空间复杂性。n22n22\frac{n^2}{2}lognlog⁡n\log n 我感到困惑的原因 我倾向于说第二个是最好的选择,因为它在时间上比较好,但是答案仅来自我很幸运并想出一种算法。看起来,如果我想给某些东西添加空间复杂性,那么不需要运气就可以得出正确的算法。我想念什么吗?我是否应该甚至提出解决问题的方法来解决空间的复杂性?

1
涉及教堂数字的Lambda微积分评估
我知道教堂数字 看起来像(... n次...)。这意味着“将函数应用于函数次”。 λ 小号。λ ž 。小号小号cncnc_nλs.λz.sλs.λz.s\lambda s. \lambda z. s小号ñ žszszs\;zsssnnnzzz 函数的可能定义如下:。看着身体,我了解了功能背后的逻辑。但是,当我开始评估时,会陷入困境。我将用一个例子来说明:吨我米Ë 小号 = λ 米。λ ñ 。λ 小号。米timestimes\mathtt{times}Ť 我中号Ë 小号 =λ米。λñ。λ小号。米(ns )Ť一世米Ës=λ米。λñ。λs。米(ñs)\mathtt{times} = \lambda m. \lambda n. \lambda s. m \; (n\; s) (λ 米。λ Ñ 。λ 小号。米(ns))(λs.λz.ssz)(λs.λz.sssz)→∗→∗→∗λs.(λs.λz.ssz)((λs.λz.sssz)s))λs.(λs.λz.ssz)(λz.sssz)λs.λz.(λz.sssz)(λz.sssz)z(λm.λn.λs.m(ns))(λs.λz.ssz)(λs.λz.sssz)→∗λs.(λs.λz.ssz)((λs.λz.sssz)s))→∗λs.(λs.λz.ssz)(λz.sssz)→∗λs.λz.(λz.sssz)(λz.sssz)z\begin{align*} (\lambda m. \lambda n. \lambda s. m \; (n\; s))(\lambda …

1
惠特射线追踪器中的阴影射线是否被透明物体遮挡?
在Whitted射线追踪器中,每个射线与对象的交点都会生成透射射线(如果对象是半透明的),反射射线和阴影射线。阴影射线有助于直接照明。 但是,如果阴影射线与透明物体相交会发生什么?是否忽略了直接照明组件?如果没有从阴影射线获得任何直接的光线照射,浸没在水中的散射物体将如何被照亮?
10 graphics 

1
纠错率令人误解
在编码理论中,“代码的质量”是指可以纠正或更好地纠正代码可以处理的最大噪声水平的信道错误数量。 为了获得更好的代码,这些代码是使用大字母(而不是二进制字母)设计的。然后,如果该代码可以处理大量错误的“符号”,则该代码是好的。 为什么不考虑作弊呢?我的意思是,我们不应该只在乎将每个符号“转换”为二进制字符串时会发生什么吗?“位错误率”与“符号错误”率不同。例如,如果使用足够大的字母,则误码率不能超过1/2,而如果我理解正确的话,则符号误码率可以升至。这是因为我们人为地限制了通道只能更改“符号”而不是位,还是因为代码实际上更好?1 − ϵ1个-ϵ1-\epsilon

2
与无用状态的图灵机有关的问题
好的,这是我的计算理论课上的一个过去测试中的问题: TM中的无用状态是永远不会在任何输入字符串上输入的状态。令 证明。ü 小号Ë 大号Ë 小号小号Ť 中号USELESSTM={⟨M,q⟩∣q is a useless state in M}.USELESSTM={⟨M,q⟩∣q is a useless state in M}.\mathrm{USELESS}_{\mathrm{TM}} = \{\langle M, q \rangle \mid q \text{ is a useless state in }M\}.USELESSTMUSELESSTM\mathrm{USELESS}_{\mathrm{TM}} 我想我有一个答案,但是我不确定是否正确。将其包含在答案部分中。

3
多态和归纳数据类型
我很好奇。我一直在OCaml中处理此数据类型: type 'a exptree = | Epsilon | Delta of 'a exptree * 'a exptree | Omicron of 'a | Iota of 'a exptree exptree 可以使用显式类型的递归函数(最近添加的功能)进行操作。例: let rec map : 'a 'b. ('a -&gt; 'b) -&gt; 'a exptree -&gt; 'b exptree = fun f -&gt; begin function | Epsilon -&gt; …

1
给定一个字符串和一个CFG,可以在字符串之后跟随哪些字符(以CFG的句子形式)?
令是某些上下文无关文法G的终结符集合,N是非终结符符号G的非终结符集合。ΣΣ\SigmañNNGGG 说我有一个字符串,使得X 一Ý ∈ 小号(ģ )其中X ,ÿ ∈ (&Sigma; ∪ Ñ )*和小号(ģ )是的句型ģ。一个∈ (&Sigma; ∪ Ñ)+a∈(Σ∪N)+a \in (\Sigma \cup N)^+X 一ÿ∈ 小号(G )xay∈S(G)x a y \in \mathcal{S}(G)X ,ÿ∈ (&Sigma; ∪ Ñ)∗x,y∈(Σ∪N)∗x,y\in (\Sigma \cup N)^*小号(G )S(G)\mathcal{S}(G)GGG 鉴于,我想以确定一组C ^ = { b | 瓦特一个b ž ∈ 小号(ģ ),b ∈ &Sigma; ∪ Ñ …

3
使用渐近符号时出错
我试图了解以下重复发生的以下证明有什么问题 T(n)=2T(⌊n2⌋)+nT(n)=2T(⌊n2⌋)+n T(n) = 2\,T\!\left(\left\lfloor\frac{n}{2}\right\rfloor\right)+n T(n)≤2(c⌊n2⌋)+n≤cn+n=n(c+1)=O(n)T(n)≤2(c⌊n2⌋)+n≤cn+n=n(c+1)=O(n) T(n) \leq 2\left(c\left\lfloor\frac{n}{2}\right\rfloor\right)+n \leq cn+n = n(c+1) =O(n) 文档说,因为归纳假设它的错误是 T(n)≤cnT(n)≤cn T(n) \leq cn 我在想什么?

1
两级调度程序仅对管理交换有用吗?
当系统运行的进程超出RAM的容量时,两级调度很有用:较低级的调度程序在驻留的进程之间切换,而较高级的调度程序则将进程组交换进出。 我没有在Andrew Tanenbaum的《操作系统:设计与实现》第一版中提到过两级调度。练习2.22提出了为什么可以使用两级计划的问题。我不知道它是否可以作为阅读理解检查,还是有其他未在正文中突出提及的原因。 二级调度对管理内存以外的其他资源争用是否有用?

5
仿射函数值的语言
写为的十进制扩展(不带前导)。令和为整数,其中。考虑的倍数的扩张小数的语言加上一个常数:n¯n¯\bar nnnn0aaabbba&gt;0a&gt;0a > 0aaa M={ax+b¯¯¯¯¯¯¯¯¯¯¯¯¯¯∣x∈N}M={ax+b¯∣x∈N}M = \{ \overline{a\,x+b} \mid x\in\mathbb{N} \} 是正常吗?上下文无关?MMM (与仿射函数图的语言对比) 我认为这将是一个不错的家庭作业问题,因此从一两个提示开始的答案不仅说明了如何解决问题,而且还解释了如何决定使用哪种技术。

1
稳定匹配问题中夫妻的稳定性
在“ 稳定匹配问题”中,指出可能存在个男人列表可以满足其决策的情况,但是当算法与男人的提议一起运行时列表不能满足要求。米米mFFf 根据我的阅读,当和彼此偏爱当前的伙伴时,就会出现不稳定的匹配。米米mFFf 在这种情况下,我对稳定匹配的定义有些迷惑。我在这里浏览幻灯片。 只要女性满意,即使男性满意一对稳定?(米,˚F)(米,F)(m, f)


2
在这种平方根边界查找算法中,如何获得循环不变性?
最初在math.SE上,但在那里没有答案。 考虑以下算法。 u := 0 v := n+1; while ( (u + 1) is not equal to v) do x := (u + v) / 2; if ( x * x &lt;= n) u := x; else v := x; end_if end_while 其中u,v和n是整数,除法运算是整数除法。 解释算法计算的结果。 使用您对第一部分的回答作为算法的后置条件,建立循环不变式,并证明算法终止且正确。 在类中,后置条件被发现是和不变是0 ≤ ü 2 ≤ …

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.