理论计算机科学

理论计算机科学家和相关领域的研究人员的问答

2
Coq中OCaml的形式语义
几年前,欧文斯(Owens)在HOL 中将 OCaml的很大子集(称为OCamllight)的语义形式化。最近,Kreitz,Hayden和Hickey在Nuprl中实现了OCaml较小子集的类型理论语义。 Coq是否有类似的发展?

2
向汉密尔顿路径添加匹配项以减少给定顶点对之间的最大距离
以下问题的复杂性是什么? 输入: 一个汉弥尔顿路径在 ķ ÑHHHKnKnK_n 顶点对的子集R⊆[n]2R⊆[n]2R \subseteq [n]^2 正整数kkk 查询:是否有一个匹配 ,使得对于每一个(v ,Û )∈ [R ,d G ^(v ,Û )≤ ķ? (其中,G ^ = ([ Ñ ] ,中号∪ ħ ))MMM(v,u)∈R(v,u)∈R(v,u) \in RdG(v,u)≤kdG(v,u)≤kd_G(v,u) \leq kG=([n],M∪H)G=([n],M∪H)G = ([n], M\cup H) 我一直在和朋友讨论这个问题。我的朋友认为问题出在多项式时间内。我认为它是NP完整的。

1
NP-Complete问题,在独特解决方案的保证下,可以接受有效的算法
我最近在阅读Valiant和Vazirani的一篇非常不错的论文,该论文显示,如果,那么即使有可能无法满足SAT或有独特解决方案的承诺,也无法解决SAT的高效算法。因此表明即使在存在最多一个解决方案的承诺下,SAT也无法接受有效的算法。N P ≠ R PñP≠[RP\mathbf{NP \neq RP} 通过简化的缩减(保留解决方案数量的缩减),很容易看出,即使在承诺最多存在一个解决方案的情况下,大多数NP完全问题(我能想到)也不接受有效的算法(除非)。例如VERTEX-COVER,3-SAT,MAX-CUT,3D-MATCHING。N P = R PñP=[RP\mathbf{NP = RP} 因此,我想知道是否存在已知的NP完全性问题,该问题允许在唯一性承诺下接受多时算法。


1
为什么函数式编程语言需要垃圾回收?
是什么阻止ghc将Haskell转换为连接编程语言(例如组合逻辑),然后仅对所有内容使用堆栈分配?根据Wikipedia的说法,从lambda演算到组合逻辑的转换是微不足道的,而且,级联编程语言可以仅依靠堆栈来进行内存分配。进行这种翻译从而消除Haskell和ocaml等语言的垃圾回收是否可行?这样做有不利之处吗? 编辑:移到这里/programming/39440412/why-do-functional-programming-languages-require-garbage-collection

1
NC2中未知的NC问题
是否存在有趣的问题,而是否存在未知的问题?Cook在论文“快速并行算法的问题分类法”中提到,MIS仅存在于但此后已归结为。我想知道多对数深度并行算法是否还有其他问题,我们似乎一直坚持提高深度。NCNC\mathsf{NC}NC2NC2\mathsf{NC^{2}}NC5NC5\mathsf{NC^{5}}NC2NC2\mathsf{NC^{2}} 为了进一步缩小范围,中是否存在未知的或?NC2NC2\mathsf{NC^{2}}AC1AC1\mathsf{AC^{1}}DETDET\mathsf{DET}

1
常规语言抽水引理的新颖证明
令是Σ上所有语言的族,满足常规语言的泵送特性。即:对于每个大号∈ 大号,有一个Ñ ∈ Ñ ST的每一个字瓦特∈ 大号,| w | > N可以写成w = x y z的形式 ,其中:1. | y | > 0,2 . | x y | ≤ Ñ,3 X ÿ 我 žLL\mathcal{L}ΣΣ\SigmaL∈LL∈LL\in\mathcal{L}N∈NN∈NN\in\mathbb{N}w∈Lw∈Lw\in L|w|>N|w|>N|w|> Nw=xyzw=xyz w=xyz|y|>0|y|>0|y|>0|xy|≤N|xy|≤N|xy|\le N所有我xyiz∈Lxyiz∈Lxy^i z\in L。i≥0i≥0i\ge 0 它是一个简单的练习[1]为了证明包含单语言大号= { σ },σ ∈ Σ以及下结合,并置,和Kleene星闭合。同样众所周知的是,常规语言族是包含单例的最小族,并且在联合,串联和Kleene星下封闭。结论:常规语言满足泵送特性。LL\mathcal{L}L={σ}L={σ}L=\{\sigma\}σ∈Σσ∈Σ\sigma\in\Sigma 问题:有人在文献中看到过这种证明吗?[1]由D. Berend提出。

3
确定性计算的非确定性加速
非确定性可以加速确定性计算吗?如果是,多少钱? 通过非确定性加速确定性计算,我的意思是以下形式的结果: DTime(f(n))⊆NTime(n)DTime(f(n))⊆NTime(n)\mathsf{DTime}(f(n)) \subseteq \mathsf{NTime}(n) 例如类似 DTime(n2)⊆NTime(n)DTime(n2)⊆NTime(n)\mathsf{DTime}(n^2) \subseteq \mathsf{NTime}(n) 通过非确定性进行确定性计算的最著名加速结果是什么?关于什么或者甚至甲Ť 我中号È(Ñ )代替Ñ Ť 我中号È(Ñ )?ΣPkTime(n)ΣkPTime(n)\mathsf{\Sigma^P_kTime}(n)ATime(n)ATime(n)\mathsf{ATime}(n)NTime(n)NTime(n)\mathsf{NTime}(n) 假设使用多带图灵机定义了复杂度类,以避免亚二次时间单带图灵机的众所周知的特性。

4
常规语言的层次结构
在常规语言类中是否存在任何已知的“不错的”层次结构(可能是有限的)?顺便说一句,每个层次结构中的类都捕获了不同的表现力/能力/复杂性。而且,每个类别的成员资格都由某些元素“很好地”证明了(不同于可能有问题的星高问题)。大号L0⊆L1⊆L2⊆…L0⊆L1⊆L2⊆…L_0 \subseteq L_1 \subseteq L_2 \subseteq \dotsLLL 谢谢!

2
常规与TC0
Reg⊆NC1Reg⊆NC1\mathsf{Reg} \subseteq \mathsf{NC^1}RegReg\mathsf{Reg}TC0⊈RegTC0⊈Reg\mathsf{TC^0} \not\subseteq \mathsf{Reg}Reg⊆TC0Reg⊆TC0\mathsf{Reg} \subseteq \mathsf{TC^0}NC1⊈TC0NC1⊈TC0\mathsf{NC^1}\not\subseteq\mathsf{TC^0}Reg⊈TC0Reg⊈TC0\mathsf{Reg} \not\subseteq \mathsf{TC^0} 中是否存在没有的问题的候选者?RegReg\mathsf{Reg}TC0TC0\mathsf{TC^0} 是否有条件结果暗示,例如,如果那么?Reg⊈TC0Reg⊈TC0\mathsf{Reg} \not\subseteq \mathsf{TC^0}NC1⊈TC0NC1⊈TC0\mathsf{NC^1} \not\subseteq \mathsf{TC^0}Reg⊈TC0Reg⊈TC0\mathsf{Reg} \not\subseteq \mathsf{TC^0}

1
如何将非终止
我一直在思考以下问题: 是否存在类型一致且图灵完成的lambda演算? /cs/65003/if-%CE%BB-xxx-has-a-type-then-is-the-type-system-inconsistent 在无类型设置中已经存在一些难以回答的相关问题!更具体地说,我很想知道我们是否可以通过以下方式从非终止中恢复图灵完备性: 问题:给定一个(纯)λλ\lambda -term ttt与没有弱头正常形式,确实有总是存在一个定点组合子YtYtY_t使得 Yt (λx.x)=tYt (λx.x)=t Y_t\ (\lambda x.x) = t 等式都取模βηβη\beta\eta。 其实,我怀疑这个版本的问题是假的,那么一个可以放松的问题,以循环组合程序,其中一个循环组合子YYY被定义为一个任期,从而使每一fff Y f=f (Y′ f)Y f=f (Y′ f) Y\ f=f\ (Y'\ f) ,其中Y′Y′Y'再次需要成为循环组合器。当然,这足以照常定义递归函数。 更一般而言,即使不满足上述公式,我也有兴趣寻找一种从非终止ttt到循环组合器的“自然”方法。 我也有兴趣在较弱的版本上面的问题,例如ttt可以被视为是一个应用程序t≡t1 t2…tnt≡t1 t2…tnt\equiv t_1\ t_2\ldots t_n每个titit_i在正常的形式(虽然我不知道确实有帮助)。 到目前为止:自然的方法是在整个过程中采用f的ttt和“ pepper”应用程序,例如fff Ω:=(λx.x x)(λx.x x)Ω:=(λx.x x)(λx.x x) \Omega:=(\lambda x.x\ x)(\lambda x.x\ x) 变成平常 YΩ:=λf.(λx.f …

1
基本对称多项式的单调算术电路复杂度?
第kkk个基本对称多项式Snk(x1,…,xn)Skn(x1,…,xn)S_k^n(x_1,\ldots,x_n)是所有 k个不同变量的乘积。我对该多项式的单调算术(+,×)电路复杂度感兴趣。一个简单的动态编程算法(以及下面的图1)给出了一个具有O(kn)门的(+,×)电路。(nk)(nk)\binom{n}{k}kkk(+,×)(+,×)(+,\times)(+,×)(+,×)(+,\times)O(kn)O(kn)O(kn) 问题: 是否 知道的下限? Ω(kn)Ω(kn)\Omega(kn) 甲电路是歪斜如果每个产品门的两个输入端的至少一个是可变的。这种电路实际上与开关和整流网络相同(有向无环图,其中的某些边缘用变量标记;每个st路径给出其标记的乘积,输出是所有st路径的总和)。早在40年前,马尔可夫就证明了一个令人吃惊的严格结果:S n k的最小单调算术偏斜电路恰好具有k (n - k + 1 )个乘积门。的上界如下从图1: (+,×)(+,×)(+,\times)SnkSknS_k^n k(n−k+1)k(n−k+1)k(n-k+1) 但是我没有看到任何尝试证明非偏斜电路的下限。这仅仅是我们的“自大”,还是一路上观察到一些固有的困难? PS我知道门对同时计算所有S n 1,… ,S n n是必要的。这是从对0-1输入进行排序的单调布尔电路的大小的下限开始的;请参阅Ingo Wegener的书的第158页。所述AKS排序网络也意味着ø (Ñ 登录Ñ )门在此(布尔值)的情况下就足够了。实际上,鲍尔(Baur)和斯特拉森(Strassen)已经证明了紧约束Θ (n log nΩ(nlogn)Ω(nlog⁡n)\Omega(n\log n)Sn1,…,SnnS1n,…,SnnS_1^n,\ldots,S_n^nO(nlogn)O(nlog⁡n)O(n\log n)Θ(nlogn)Θ(nlog⁡n)\Theta(n\log n)S n n / 2的非单调算术电路的大小。但是单调算术电路呢?Snn/2Sn/2nS_{n/2}^n

2
NP完整语言的Poly时间超集,其中包含无限多个字符串
对于任何任意的NP完整语言,是否总有一个多元时间超集,且其补充也是无限的? 在/cs//q/50123/42961上提出了一个普通版本,其中没有规定超集具有无限补码。 对于这个问题的目的,你可以假设。正如Vor解释的那样,如果P = N P,则答案为“否”。(如果P = Ñ P,则X = { X | X ∈ Ñ + ∧ X > 1 }是一个NP完全显然没有的超集。X是无限的,具有无限的补体,作为补体X仅具有因此,我们可以关注P ≠ N P的情况。P≠NPP≠NPP \ne NPP=NPP=NPP = NPP=NPP=NPP = NPX={x∣x∈N+∧x>1}X={x∣x∈N+∧x>1}X = \{x \mid x \in \mathbb{N^+} \land x > 1\}XXXXXXP≠NPP≠NPP \ne NP

4
面向程序员的理论计算机科学自学资源
我是一个非常熟练的软件工程师,但是我并不了解太多理论。我想学习更多理论。我感兴趣的特定主题是:计算复杂性,形式语言和类型理论。但是我对于如何开始学习这些领域一无所知。 您将向那些想通过自学学习更多理论的人推荐什么资源?是否有针对软件工程师的理论计算机科学自学指南?

1
谓语元理论中祈使系统的逻辑关系。
像系统F这样的命令性语言的逻辑关系似乎严重依赖于环境逻辑的命令性。具体来说,将根据所有类型的关系来定义forall类型的解释。在强制性系统(如CiC / Coq)中很好,但在谓词系统(如Agda)中似乎是不可能的。 如何才能做到这一点?例如,您将如何证明Agda中系统F的规范化?您是否必须建立自己的命令性宇宙?

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.