计算机科学

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

3
决定性的语言和不受限制的语法?
图灵机和不受限制的语法是定义RE语言的两种不同形式。某些RE语言是可以决定的,但并非全部。 我们可以用图灵机定义可判定的语言,方法是说一种语言是可判定的,前提是该语言有一个TM可以停止并接受该语言中的所有字符串,然后停止并拒绝该语言中不存在的所有字符串。我的问题是:是否存在基于无限制语法而非图灵机的可判定语言的类似定义?

1
Shift-解析解析-问题
我最近遇到了一篇描述标题中提到的解析技术的论文。不幸的是,上述论文中使用的术语超出了我的理解范围,因此我一直在尝试更直观地理解构造算法。我相信我成功了(本次演讲是啊哈时刻的源头),但是不胜感激的是,无论是熟悉该技术还是其中所包含的术语的人,都可以对其进行验证。 我将描述我对解决方案的看法(如果正确的话,我相信它可能会对尝试理解该技术的其他人有所帮助),然后再提出其他问题。为了确保有没有误会,我将使用下列标准符号:,甲,乙,Ç ,。。。∈ Ñ,。。。X ,ÿ ,ž ∈ Ñ ∪ Ť,α ,βa,b,c,...∈Ta,b,c,...∈Ta, b, c, ... \in TA,B,C,...∈NA,B,C,...∈NA, B, C, ... \in N...X,Y,Z∈N∪T...X,Y,Z∈N∪T... X, Y, Z \in N \cup T和,如在造纸,甲我 →交通 ω表示规则号我。但是,对于概念,我可能会使用与原始论文不同的名称。α,β,γ,...∈{N∪T}∗α,β,γ,...∈{N∪T}∗\alpha, \beta, \gamma, ... \in \{N \cup T\}^*A→iωA→iωA \xrightarrow{i} \omegaiii 此外,在整个说明书中,等价关系被使用。κ0κ0\kappa_0 施工 解析自动机内部有两种类型的项目:形式的简单LR(0)项目(我称之为移位项目) 和A i → α ∙ β ,m ,n形式的我称为解决项目项目 …

1
表明对二部图的最小顶点删除是NP完全的
考虑以下问题,其输入实例为简单图和自然整数。GGGķkk 是否有一个集合使得是二分式且?小号⊆ V(G )S⊆V(G)S \subseteq V(G)摹- 小号G−SG - S| 小号| ≤ķ|S|≤k|S| \leq k 我想通过减少3-SAT, -CLIQUE, -DOMINATING SET或 -VERTEX COVER来显示此问题是 -complete。ñ PNP\rm{NP}ķkkķkkķkk 我相信我可以减少3色问题,所以我只需要看看如何减少上述问题之一。但是,由于那将是一团糟,我想知道是否有人认为可以很好地减少上述问题。 另外,这个决策问题有名字吗?


1
潜在函数二进制堆提取最大值O(1)
我需要帮助来确定最大堆的潜在函数,以便在摊销时间内完成提取最大。我还要补充一点,就是我对潜在方法没有很好的了解。O(1)O(1)O(1) 我知道insert函数应该“付出更多”以减少提取的成本,这必须要考虑到堆的高度(如果给出了堆应该是或)⌊log(n)⌋⌊log⁡(n)⌋ \lfloor \log(n) \rfloor 2log(n)2log⁡(n)2\log(n)∑nk=12log(k)∑k=1n2log⁡(k) \sum_{k=1}^n 2\log(k)

2
现代计算机的理论最小寄存器数?
我在我的本科课程中学习了关于编译器的课程,其中我们编写了一个编译器,该编译器将类似于Java的玩具语言的源程序编译为玩具汇编语言(为此我们提供了解释器)。在项目中,我们对与“真正的”本机可执行文件密切相关的目标计算机做出了一些假设,包括: 运行时堆栈,由专用堆栈指针(“ SP”)寄存器跟踪 用于动态对象分配的堆,由专用堆指针(“ HP”)寄存器跟踪 专用程序计数器寄存器(“ PC”) 目标机器有16个寄存器 对数据的操作(与例如跳转相反)是寄存器到寄存器的操作 当我们到达使用寄存器分配作为优化的单元时,我感到很奇怪:这种机器的理论最小寄存器数量是多少?通过我们的假设,您可以看到我们在编译器中使用了五个寄存器(SP,HP,PC,另外两个用作二进制操作的存储)。尽管诸如寄存器分配之类的优化当然可以利用更多的寄存器,但有没有办法在保持堆栈结构(如堆栈和堆)的同时减少使用?我想通过寄存器寻址(寄存器到寄存器操作)我们至少需要两个寄存器,但是我们需要两个以上吗?

4
求出GCD = 1的最小子集的大小
这是2012年波兰大学生程序设计比赛的练习部分出现的问题。尽管我可以找到主要比赛的解决方案,但似乎在任何地方都找不到该问题的解决方案。 的问题是:给定一组的ñNN不同的正整数不大于10910910^9中,找到大小米mm具有1以外没有公约数的最小子集的ñNN为至多500,并且可以假设的溶液存在。 米≤ 9m≤9m \le 9小号SS| 小号| =10|S|=10|S|=10小号SS1 &lt; 克1个&lt; g2&lt; 。。。&lt; g101&lt;g1&lt;g2&lt;...&lt;g101 < g_1 < g_2 < ... < g_{10}i ≠ j S g 2 g 3。。。g 10 g 2 g 3。。。克10 ≥ 3 × 5 × 7 × 11 × 。。。× 29 = 3234846615 &gt; 10 9GCD (克一世,g …

1
利用线性约束最大化凸函数
最大化 f(x)服从 A x = bmaximize f(x)subject to Ax=b\text{maximize } f(\mathbf{x}) \quad\text{subject to } \mathbf{Ax} = \mathbf{b} 哪里 F(x)= ∑我= 1ñ1 + x4一世(∑ñ我= 1X2一世)2-------------⎷,f(x)=∑i=1N1+xi4(∑i=1Nxi2)2,f(\mathbf{x}) = \sum_{i=1}^N\sqrt{1+\frac{x_i^4}{\left(\sum_{i=1}^{N}x_i^2\right)^2}}, x =[ x1个,X2,。。。,Xñ]Ť∈ [Rñ× 1x=[x1,x2,...,xN]T∈RN×1\mathbf{x} = [x_1,x_2,...,x_N]^T \in \mathbb{R}^{N\times 1}和。甲 ∈ ř中号× NA∈RM×N\mathbf{A} \in \mathbb{R}^{M\times N} 我们可以看到是凸的,形式为。还可以证明在是有界的。我知道,凸极大化问题通常是NP难的。√Fff f[ √1 + ÿ2-----√1+y2\sqrt{1+y^2}Fff[ 2–√,2 ][2,2][\sqrt{2}, 2] …


7
在哪里可以找到已发表的研究论文?
来自正在考虑攻读计算机科学博士学位的人的观点。 我在决定攻读博士学位时难以确定我的研究重点。另请参阅关于学术界的这个问题。 因此,我认为阅读/掌握正在进行的研究和发表哪些研究论文的最新信息是...灵感的好来源?加上要知道的好知识。 是否可以在中心位置/数据库/良好的起点查看最近发表的CS研究论文,或者它们全部隐藏在所写大学的网站内?

1
相对化背后的直觉
我上关于计算复杂性的课程。我的问题是我不了解相对化方法。不幸的是,到目前为止,我试图在许多教科书中找到一些直觉,但没有成功。如果有人可以阐明这个话题,我将不胜感激,这样我就可以自己继续下去。以下几句话是关于相对化的问题和我的想法,它们将有助于引导讨论。 相对化经常与对角化相比,对角化是一种有助于区分可数集和不可数集的方法。相对论的某种原因来自相对论,对角化不能解决对问题。我真的不明白相对论为什么对角化没有用,如果相对没用,为什么实际上是无用的。PPPNPNPNP 首先,oracle Turing机器背后的想法很明确。但是,当涉及到和,直觉就消失了。Oracle是专门为特殊语言设计的黑盒,它回答了oracle输入中的字符串是否使用时间1的语言的问题。据我了解,包含oracle的TM只是进行一些辅助操作并询问oracle。因此,TM的核心是预言,其他所有方面都不那么重要。和什么区别,甚至认为甲骨文在时间1都可以工作。MAMAM^ANPANPANP^APAPAP^APAPAP^ANPANPANP^A 的最后一件事是Oracle的证明存在使得。我在几本教科书中都找到了证明,而在所有教科书中,证明似乎都很模糊。我尝试使用Sipser第9章的“复杂性简介”。难解性,并没有构造所有多项式时间预言器的清单的想法。BBBPB≠NPBPB≠NPBP^B \neq NP^BMiMiM_i 这或多或少是我对相对化所了解的一切,如果有人决定分享他/她对该主题的想法,我将不胜感激。 附录:在一本教科书中,我发现了语言的示例(计算复杂性:Boaz Barak Sanjeev Arora的现代方法,定理3.7,第74页)。这是一元语言。我相信(1,11,111,1111,...)都在。作者确认这种语言是的语言,这是我无法理解的原因,因此B的oracle可以在时间1内解决所有问题。为什么我们需要使用oracle的不确定性TM。如果不是好例子,请提出您的观点,以批准的存在。NPBNPBNP^BUB={1n:some string of length n is in B}UB={1n:some string of length n is in B}U_B=\left \{ 1^n:some \space string \space of \space length \space n \space is \space in \space B\right \} UBUBU_BNPBNPBNP^BNPBNPBNP^BNPBNPBNP^B

3
证明如果
我非常希望您的帮助来证明以下内容。 如果然后P = Ñ P。NTime(n100)⊆DTime(n1000)NTime(n100)⊆DTime(n1000)\mathrm{NTime}(n^{100}) \subseteq \mathrm{DTime}(n^{1000})P=NPP=NP\mathrm{P}=\mathrm{NP} 这里,是所有语言的类别,可以由不确定性图灵机在O (n 100)的多项式时间内确定,而D T i m e(n 1000) 是所有语言的类别可以由确定性图灵机确定多项式时间为O (n 1000)。NTime(n100)NTime(n100)\mathrm{NTime}(n^{100})O(n100)O(n100)O(n^{100})DTime(n1000)DTime(n1000)\mathrm{DTime}(n^{1000})O(n1000)O(n1000)O(n^{1000}) 任何帮助/建议吗?


1
几天的分配问题
我有一个可以简化为分配问题的问题。(在上一个问题中,我发现了该怎么做的。) 这意味着我们有一组代理和一套的任务以及成本函数。我们需要找到一个任务,以使总成本最小。一个一个AŤŤTc (i ,j )C(一世,Ĵ)c(i,j) 在匈牙利算法可以找到至少一个最优解。对我来说听起来不错。Ø (ñ4)Ø(ñ4)O(n^4) 我的新问题是:有给定的天数。我必须每天解决分配问题,以便每个任务每天都完成,并且没有座席两次执行同​​一任务。 我尝试过的操作:我们可以每天分别运行匈牙利算法,并根据前一天的结果限制可能的组合数量。但这会使我们在以后的某些日子陷入困境,在最有可能找不到可行的解决方案的地方。 另一个想法是以某种方式集成本地搜索以更改前一天做出的决定。但是我认为我们不能依靠这一点。 我要面对的问题实例将在附近。成本矩阵将具有许多相同的值(例如,大多数为1或无穷大,只有大约2或3)。因此,在匈牙利算法期间,有很大的空间可以在一天内创建不同的最佳解决方案。| A | = | Ť| =500|一个|=|Ť|=500|A| = |T| = 500C(i ,j )C(一世,Ĵ)C(i,j) 我很高兴听到一些想法或建议如何为该问题找到一个好的解决方案。提前致谢。

2
快速k不匹配字符串匹配算法
我正在寻找一种快速的k不匹配字符串匹配算法。给定长度为m的模式字符串P和长度为n的文本字符串T,我需要一种快速(线性时间)算法来查找P匹配T的子字符串(最多不匹配k个)的所有位置。这与k差问题(编辑距离)不同。不匹配意味着子字符串和模式在最多k个位置具有不同的字母。我真的只需要k = 1(最多1个不匹配),因此针对k = 1的特定情况的快速算法也足够了。字母的大小为26(不区分大小写的英文文本),因此空间要求不应随字母的大小而增长太快(例如,我相信FAAST算法占用的字母空间大小是指数的,因此仅适用于蛋白质和基因序列)。 在最坏的情况下,基于动态编程的方法将趋于O(mn),这将太慢。我相信对此有Boyer-Moore算法的修改,但是我无法获得此类论文。我没有订阅访问学术期刊或出版物的权限,因此任何参考文献都必须在公共领域。 我将不胜感激任何指针,或指向免费文档的引用,或针对此问题的算法本身。

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.