理论计算机科学

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

1
查找两个多项式之间的距离(表示为树)
一位从事基因编程工作的同事问了我以下问题。我首先尝试基于贪婪方法来解决它,但经过第二次思考,我找到了贪婪算法的反例。因此,我认为在这里值得一提。 考虑由它们的表达式树表示的两个多项式。例如,x3−2x+1x3−2x+1x^3-2x+1和x2+4x2+4x^2 + 4说明如下: 规则: 每个节点可以是变量名(x,y,z,…x,y,z,…x, y, z, \ldots),数字或运算符(+,-,×)。 树的有序遍历将导致有效的多项式。 操作节点的度数为2。其他节点的度数为0。所有节点的度数为1(除了root,其度数为0)。 在树的节点N上,如下定义基本操作: xxx××\times 基本操作可以在N之上构建一个表达式树(请参见下面的示例)。 类型1的基本操作的成本为1。类型2的成本等于新建的表达式树中{+,-,×}操作的数量。 类型2的示例:由于在节点N顶部构建的表达式树使用两个操作(-和×),因此以下基本操作的成本为2。 令T1和T2是代表多项式的两个表达式树。定义T1和T2 的距离如下:将T1转换为T2的基本操作的最低成本。请注意,我们不需要转换后的树具有与T2相同的结构。我们只希望它计算与T2相同的多项式。(有关示例,请参见注释。) 问题:给定T1和T2,提出了一种计算距离的算法。 示例1:假设T1和T2是本文开头所示的两棵树。要将右树转换为左树,可以在×的顶部构建成本为3的树,然后将4更改为1(总成本为4)。 x4x4x^4x4+4x3+6x2+4x+1x4+4x3+6x2+4x+1x^4+4x^3+6x^2+4x+1xxx(x+1)4(x+1)4(x+1)^4xxx4x34x34x^36x26x26x^24x4x4x

3
在随机减少或P / poly减少下NP完全的问题。
在这个问题中,我们似乎已经确定了一个自然问题,即在随机归约条件下是NP完全的,但在确定性归约条件下可能不是(尽管这取决于数论中哪些未经证实的假设是正确的)。还有其他类似的问题吗?在P / poly降低下是否存在NP完全的自然问题,但在P降低下是否存在不存在的自然问题?

2
显式平衡矩阵
是否有可能建立一个明确的用-矩阵那些使得每个子矩阵包含小于的呢?0 / 1N×NN×NN \times N 0/10/10/1 Ñ 0.499 × Ñ 0.499 Ñ 0.501N1.5N1.5N^{1.5}N0.499×N0.499N0.499×N0.499N^{0.499} \times N^{0.499}N0.501N0.501N^{0.501} 或者,可能可以为此类属性建立显式命中集。 可以很容易地看出,随机矩阵具有此特性,其概率指数接近。而且,膨胀机混合引理不足以得出该性质。111 我猜想愚蠢的组合矩形可以帮助伪随机生成器,但是它们是为均匀分布而设计的,我在这里基本上需要。B(N2,N−0.5)B(N2,N−0.5)B(N^2, N^{-0.5})

4
P的不确定属性是否妨碍P和NP的确定?(答案:也许)
提出了五个链接的问题,并希望有一个综合的答案: Q1:你的存在语言被识别仅由那些图灵机 ,其运行时的指数是不可判定的?P大号LLPPP 问题2:能否有限构造图灵机的示例? Q3:这些图灵机可以具体实例化吗?(例如,由甲骨文“猜测”它们而不是有限地构造它们)。 问题4:目前已知P的其他哪些属性(运行时指数除外)是不确定的?什么属性开放?PPP 问题5:的不确定属性是否会阻碍的可确定性?P ≠ N PPPPP≠ NPP≠NPP \ne NP 请注意第1 季度中的 “唯一”一词(不包括Lance Fortnow的建议答案)。 结论和社区维基的转换 被问到的一个问题是:“ P的不确定特性是否会阻碍P与NP的决定?”这一问题是开放的,并且被认为是困难的,与之自然相关的许多具体问题(如上述Q1-4)也是如此。 Juris Hartmanis的1978年专着《可行的计算和可证明的复杂性》提供了很好的参考文献,并且(显然)自Hartmanis以来没有发表过任何评论。 此类问题尚未得到充分探讨,以致于找到严谨证据的挑战与选择良好起始定义的挑战紧密地混合在一起。 Travis Service和Alex 10 Brink提供的周到评论和有见地的证明草图受到人们的认可和赞赏。 因为这个问题是开放的,因为它正在多个数学博客线程讨论(1,2,3,4,5,6),这一问题已被标记用于转化为社区维基。 更新二和摘要 我已经意识到,Juris Harmanis的1978年专着《可行的计算和可证明的复杂性》可以理解为对Q1-5的深入回应。此外,下面由Travis Service和Alex 10 Brink提供的(出色的)Q1和Q4证明草图提供了对Hartmanis总体结论的现代肯定和扩展:如果仅考虑可以正式证明的计算属性(Hartmanis强调),则有关计算复杂性的结果将发生根本性的变化 ... 因此,我们应该期望,关于与给定程序计算相同功能的所有程序的最优性结果将不同于可以正式证明与给定程序等效的所有程序的最优性结果。... 我们[应该]考虑以下可能性:这个著名的问题[ ]在形式化数学理论(例如集合论)中可能。P=?ñPP=?NPP\overset{?}{=}NP最终,我希望将Hartmanis(非常有远见)专着的进一步报价作为TCS StackExchange的正式“答案”发布。 从Hartmanis的专着以及Travis和Alex提供的答案中可以明显看出,Q1-5大大超出了当前复杂性理论的最新水平。此外,这些问题/答案显然非常微妙,需要进行仔细的定义调整并证明专论长度的论述是正确的……我希望这不会妨碍人们发表进一步的答案。:) 有关进一步的技术讨论,请参阅乔尔·戴维·哈姆金斯(Joel David Hamkins)对MathOverflow的回答,即问题是否可以同时是多项式时间和不确定的?(由亚历克斯·十·布林克推荐)。 如果在Hartmanis的专着中用“动态计算”一词代替“功能计算”,则结果可以看作是有关系统工程的复杂性-理论极限的论文……这就是我们工程师关心这些的实际原因。问题。 Oded Goldreich最近在给CACM编辑的一封信中提到了与Hartmanis形成鲜明对比的一封信,标题为“关于计算复杂性”: 不幸的是,我们目前对有效计算的大多数自然问题缺乏良好的理论答案。出现这种情况并不是因为我们提出了错误的问题,而是因为这些问题非常艰巨。 (当然)完全可以想象,哈特曼尼斯和戈德赖希的观点都将被证明是正确的,例如,关于PvsNP可分离性不确定性的正式证据可以合理地视为对两个观点的验证。 更新我 Travis …

4
目前是否有关于随机抽取器实现的研究?
是否进行过实施随机性提取器构造的研究? 提取器证明似乎利用了Big-Oh,留下了大的隐藏常量的可能性,从而使程序实现可能不切实际。 一些背景:我对使用随机性提取器作为蒙特卡罗模拟中使用的(可证明的)随机数的快速来源感兴趣。我们(ETHZ计算物理小组)从量子随机数生成器中偏向了高熵源,我们希望从中提取随机性。先前的一名学生尝试实施Trevisan构造并遇到了空间复杂性问题。除了那个学生以外,我还没有找到任何尝试实现提取器的人的参考。 注意:我是CS本科生,他是理论CS和随机性提取器领域的新手。

7
我们怎么知道形式方法有效?
形式化方法的一个重要目标是通过自动化或人工指导的方法来证明系统的正确性。但是,似乎即使您可以提供正确性证明,也可能无法保证系统不会失败。例如: 规范可能无法正确地对系统进行建模,或者生产系统可能过于复杂而无法建模,或者由于相互矛盾的要求,系统可能固有地存在缺陷。已知哪些技术可以测试规范是否完全有意义? 证明过程也可能有缺陷!谁知道这些推理规则是正确和合法的?此外,证明可能非常大,我们如何知道它们不包含错误?这是de Millo,Lipton和Perlis的“社会过程以及定理和程序证明”的批评的核心。现代形式方法研究人员如何回应这种批评? 在运行时,有许多不确定的事件和因素会严重影响系统。例如,宇宙射线会以不可预测的方式改变RAM,更一般地说,我们无法保证硬件不会遭受拜占庭式的故障,而Lamport证明了这种故障很难克服。因此,静态系统的正确性不能保证系统不会失败!是否有已知的技术可以解释真实硬件的易失性? 目前,测试是我们确定软件有效的最重要工具。似乎它应该是形式方法的补充工具。但是,我主要看到的是侧重于形式方法或测试的研究。关于两者结合的已知知识?

6
并行伪随机数生成器
这个问题主要与一个实际的软件工程问题有关,但是我很想知道理论家是否可以对此提供更多的见解。 简而言之,我有一个使用伪随机数生成器的蒙特卡洛模拟,我想对其进行并行化,以便有1000台计算机并行运行同一模拟。因此,我需要1000个独立的伪随机数流。 我们可以拥有具有以下属性的1000个并行流吗?在此,XXX应该是一个非常著名且经过广泛研究的PRNG,具有各种良好的理论和经验特性。 事实证明,这些流与我仅使用XXX并将生成的流拆分XXX为1000个流的情况一样好。 在任何流中生成下一个数字(几乎)与使用生成下一个数字一样快XXX。 换句话说:我们可以“免费”获得多个独立的流吗? 当然,如果我们仅使用XXX,总是丢弃999个数字并选择1,那么我们当然将拥有属性1,但是运行时间将损失1000倍。 一个简单的想法是使用 1000个副本XXX,并带有种子1、2,...,1000。这当然会很快,但是如果流具有良好的统计特性,则并不明显。 经过一番谷歌搜索后,我发现了以下内容: 该SPRNG库似乎是专出于这样的目的,它支持多种的PRNG。 如今,梅森捻线机似乎是一种流行的PRNG,我发现了一些引用,该引用可以并行产生多个流。 但是所有这一切都离我自己的研究领域很远,以至于我无法弄清楚什么是最先进的技术,以及哪种结构不仅在理论上而且在实践上都行之有效。 一些澄清:我不需要任何类型的密码属性;这是用于科学计算。我将需要数十亿个随机数,因此我们可以忘记周期任何生成器&lt;232&lt;232< 2^{32}。 编辑:我不能使用真正的RNG;我需要确定性PRNG。首先,它在调试方面有很大帮助,并使所有内容都可重复。其次,它使我能够利用我可以使用多次通过模型的事实非常有效地进行中值查找(请参阅此问题)。 编辑2:有一个密切相关的问题@ StackOverflow:用于集群环境的伪随机数生成器。

4
沟通的复杂性...等级?
讨论内容: 我最近一直在花一些个人时间来学习通讯复杂性方面的各种知识。例如,我重新熟悉了Arora / Barak中的相关章节,开始阅读一些论文,并由Kushilevitz / Nisan订购了该书。直观地讲,我想将通信复杂度与计算复杂度进行对比。特别是,我对以下事实感到震惊:计算复杂性已发展成为将计算问题放入复杂性类的丰富理论,其中某些问题(至少从一个角度而言)可以反过来针对(例如,至少从一个角度来看)完整问题进行设想。每个给定的班级。例如,当解释NPNPNP 对于第一次接触某人的人,很难避免与SAT或其他一些NP完全问题进行比较。 相比之下,我从未听说过通信复杂性类的类似概念。我知道许多关于“定理完成”的问题的例子。举例来说,作为一个总体框架,作者可以描述给定的通信问题,然后证明了相关定理牛逼持有我˚F ˚F通信问题可以得到解决X或更少的位(对于某些X依赖于特定的定理/问题对)。当时在文献中使用的术语是P对T是“完整的” 。PPPTTTiffiffiffXXXXXXPPPTTT 此外,在Arora / Barak通信复杂性一章草案中有一条诱人的线(似乎已在最终印刷版中删除/调整)指出:“通常,人们可以考虑类似于,c o N P的通信协议。,P ħ等。” 但是,我注意到两个重要的遗漏:NPNPNPcoNPcoNPcoNPPHPHPH “类比”概念似乎是一种计算通信复杂度的方法,该通信复杂度是通过访问不同类型的资源来解决给定协议的,但是仅在定义适当的通信复杂度类别时就停止了... 从绝大多数结果/定理/等的意义上讲,大多数通信复杂性似乎都相对较低。围绕较小的,特定的,多项式大小的值。这有点令人困惑,为什么说对于计算很有趣,但是类似的概念对于通信却似乎不太有趣。(当然,我可能只是因为不了解“高级”通信复杂性概念而感到过失。) NEXPNEXPNEXP 问题: 通信复杂度是否与计算复杂度类有类似的概念? 和: 如果是这样,它与复杂性类的“标准”概念相比如何?(例如,“通信复杂性类”是否存在自然的局限性,从而导致它们本质上无法满足所有计算复杂性类的需求?)如果不是,“大局面”的原因是,类对于计算复杂性是一种有趣的形式主义,但并非如此沟通复杂吗?

5
一类特殊的语言:“循环”语言。知道吗
在有限字母Sigma上定义以下“循环”语言类。实际上,该名称已经存在,用来表示看起来似乎与DNA计算领域不同的事物。AFAICT,这是另一种语言。 语言L是所有的话圆形IFF在,我们有:Σ *wwwΣ∗Σ∗\Sigma^* k &gt; 0 w kwww属于L如果且仅当对于所有整数,属于L.k&gt;0k&gt;0k > 0wkwkw^k 这类语言是否已知?我对常规的循环语言感兴趣,尤其是: 他们的名字,如果他们已经知道 在自动机(尤其是DFA)的情况下,问题的可判定性是否接受的语言是否符合上述定义

2
为什么不考虑将Montgomery模幂用于量子分解?
众所周知,模幂运算(RSA操作的主要部分)在计算上很昂贵,据我所知,蒙哥马利模幂运算技术是首选方法。模幂运算在量子分解算法中也很突出,在那也很昂贵。 那么:为什么在量子分解的当前详细子例程中显然没有出现蒙哥马利模幂呢? 我只能想象的是,出于某些非显而易见的原因,量子比特的开销很高。 通过Google学术搜索运行蒙哥马利量子“模幂”运算不会产生有用的结果。我知道Van Meter和其他人在量子加法和模幂运算方面的工作,但是检查他们的参考文献(我尚未阅读此工作)表明,没有迹象表明在那里考虑了蒙哥马利方法。 我发现似乎在讨论此问题的唯一参考文献是日语,可悲的是我看不懂,尽管显然是从2002年的会议记录看的。机器翻译会在下面附加提示,表示可能存在有用的内容。但是,我找不到任何迹象表明已进行了跟进,这使我认为已经将该想法a)考虑了,然后b)放弃了。 进行算术邦弘的量子电路 ...在这项研究中,但需要相对较大的量子位,我们提出了一种模幂电路的量子计算时间较短。蒙哥马利约简[8]和右二元法[9]结合起来,它们构成了回路Ru。通过运算将还原蒙哥马利m随机选择为自然数,mod 2m,执行余数运算If,在消除中进行mod n运算。这将减少计算时间... 3.2 Montgomery Reduction的应用Montgomery Reduction [8]的公式如下...该算法可以返回正确的值,可以很容易地确认。MR(Y)他要求定律2m拥有2m点的多项式很重要,只需要除以即可。另外,在蒙哥马利约简中,有不同的计算方法。...通常,蒙哥马利约简不是一对一的功能... ...所提出的方法使用正确的二元方法,蒙哥马利还原剂具有被采用的功能。比起传统方法,其特点是电路的元件很小。可以以更少的计算时间Be来计算需要具有很高期望的qubit故障。未来,蒙哥马利的还原和控制电路,尤其是量子比特未真正描述的真正需要的评估数,预计将评估计算时间。此外,每个人都利用研究成果,在有效量子电路的计划配置方面,不仅采用了模幂非算术(欧几里德互除法,等等)。 ... [8] 蒙哥马利(PL Montgomery),“不进行模除的模乘”,计算数学,44,170,pp。519-521,1985 ...

2
是否存在量子复杂度类别的描述性复杂度表示形式?
标题或多或少说明了一切,但我想我可以添加一些背景知识和一些我感兴趣的特定示例。 描述性复杂性理论家,例如Immerman和Fagin,已经使用逻辑对许多最著名的复杂性类进行了表征。例如,NP可以通过二阶存在性查询来表征。P可以通过添加最小固定点运算符的一阶查询来表征。 我的问题是:是否有过尝试,尤其是成功的尝试,提出了诸如BQP或NQP等量子复杂性类的表示形式?如果没有,为什么不呢? 谢谢。 Update(主持人):此问题已由mathoverflow上的这篇帖子完全回答。


1
是否存在有效的一般Bonferroni风格边界?
概率论中的一个经典问题是用更具体的事件来表达事件的概率。在最简单的情况下,可以说。让我们为事件写。P[A∪B]=P[A]+P[B]−P[A∩B]P[A∪B]=P[A]+P[B]−P[A∩B]P[A \cup B] = P[A] + P[B] - P[A \cap B]ABABABA∩BA∩BA \cap B 然后,有一些方法可以绑定,而无需假定有限的多个事件独立性。Bonferroni给出了上限 (有时也归因于Boole),而Kounias将其精简为 P[∪Ai]P[∪Ai]P[\cup A_i]AiAiA_iP[∪Ai]≤∑P[Ai]P[∪Ai]≤∑P[Ai]P[\cup A_i] \le \sum P[A_i]P[∪Ai]≤∑iP[Ai]−maxj∑i≠jP[AiAj].P[∪Ai]≤∑iP[Ai]−maxj∑i≠jP[AiAj].P[\cup A_i] \le \sum_i P[A_i] - \max_j \sum_{i \ne j} P[A_i A_j]. 可以将事件的依存结构视为具有顶点A_i的加权超图,AiAiA_i边缘的权重表示事件与边缘中顶点的交点关联的概率。 包含-排除样式参数将事件的越来越大的子集一起考虑。这些产生Bonferroni边界。这些边界将所有权重用于最大为k的边缘kkk。 如果依存关系结构“足够好”,则可以使用Lovász局部引理将概率限制为远离极端值0和1。与Bonferroni方法相反,LLL使用了有关依存关系结构的相当粗略的信息。 现在假设依赖性结构中相对较少的权重为非零。此外,假设有许多事件是成对独立的,但不是相互独立的(更一般地说,一组kkk事件不是互相独立的,而是每个r &lt;k都是rrr方向独立的)。r&lt;kr&lt;kr < k 是否可以显式地使用事件的依存结构来改善Bonferroni / Kounias边界,并且可以有效地进行计算? 我希望答案是肯定的,并且希望您能参考到引用。我知道亨特(Hunter)于1976年发表的论文,但它仅涉及成对依赖性。Hunter考虑通过忽略大小为3或更大的依存结构中的边形成的图中的生成树。 戴维·亨特(David Hunter),《工会概率的上限》,《应用概率杂志》13 597–603。 http://www.jstor.org/stable/3212481

4
硬度相变的例子
假设我们有一个用实值参数p参数化的问题,对于某些值p 0,p 1,当时“容易”解决,而当p = p 1时“难” 解决。p = p0p=p0p=p_0p = p1个p=p1p=p_1p0p0p_0p1个p1p_1 一个示例是计算图形上的旋转配置。计数加权的正确着色,独立集合,欧拉子图分别对应于硬核,Potts和Ising模型的分区函数,对于“高温”来说很容易近似,对于“低温”来说很难。对于简单的MCMC,硬度相变对应于混合时间从多项式跃迁到指数的点(Martineli,2006)。 另一个例子是概率模型的推论。我们通过采取“简化”给定的模型,p它结合了“所有的变量是独立的”模型。对于p = 1,这个问题微不足道;对于p = 0,这是棘手的,而硬度阈值介于两者之间。对于最流行的推理方法,当该方法无法收敛时,问题将变得棘手,并且问题发生的时间点对应于某个吉布斯分布的相变(从物理意义上来说)(Tatikonda,2002)。1 − p1−p1-ppppp = 1p=1p=1p = 0p=0p=0 当某些连续参数发生变化时,硬度“跳跃”的其他有趣示例是什么? 动机:查看除图形类型或逻辑类型以外的另一种硬度“维”的示例

5
用于协作的版本控制(带有单词级差异)?
现在,大多数论文都是协作编写的,而协作者通常位于不同的地方。我一直在文档和代码中使用版本控制系统,并且发现版本控制对于协作软件项目至关重要,但是从理论上讲,似乎许多研究人员都避免将其用于撰写联合论文。为了说服我的合作者,版本控制(修订控制)是一起工作的一个好主意,似乎有一些先决条件。 不可能强迫所有人担心换行符和段落的特定约定集,或者避免制表符/空格转换。 有人提供免费托管的小型共享文档存储库,并且具有可处理单词级差异(不是基于行)的文本文档友好版本控制吗? 如果没有,那么我将欢迎基于经验的其他建议(请避免猜测)。 我想到的是Git,Subversion,Mercurial,darcs或Bazaar,它们被设置为使用wdiff处理字级差异,以及一种设置公用密钥(例如,通过ssh)保护访问的简单方法。但是,我看过的版本控制提供程序似乎都没有提供这样的功能。对于科学合作,许多公司强调的“企业”功能不是很重要(分支机构,与trac集成,第三方审核,分层项目团队)。但是单词级差异似乎很关键,但却不受支持。以我的经验,使用文本文件的行级差异,每个人都必须避免重新格式化将选项卡更改为空格的段落和编辑器,反之亦然,这会导致问题;似乎还有许多虚假的编辑冲突。 请参阅MO上有关协作工具的相关问题,以及TeX.SE上有关LaTeX文档的版本控制和LaTeX软件包的版本控制的相关问题。另请参见SVN主机比较比较图表,以获取大量的主机提供程序列表,仅是主要版本控制系统之一。 编辑: Jukka Suomela对TeX.SE问题“ 最佳的可识别LaTeX的差异化和合并工具以进行颠覆 ” 的回答似乎是迄今为止最好的建议,涵盖了如何在字级上解释增量。此外,Jukka还解释了存储库端上连续版本之间的差异如何与用于冲突检测和更改合并的用户级别差异分开。Jukka在TeX.SE上的答案明确地排除了同时进行的编辑和合并,而是依靠传统的原子编辑令牌来避免编辑冲突。澄清(并修改)我的原始问题,是否有一种方法可以确保可以在单词差异的基础上而不是在行差异的基础上解决编辑冲突?换句话说,可以wdiff还是将类似的工具集成到版本控制工具的冲突检测部分中,以类似的方式可以忽略行尾差异和空格差异?

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.