Questions tagged «big-picture»

大标签用于“问题的广泛,整体视图或观点”。

29
部署核心算法
为了证明算法的重要性(例如,对于不从事理论研究甚至是完全不同领域的学生和教授),有时手头准备一些已经在商业,政府,或广泛使用的软件/硬件。 我正在寻找满足以下条件的示例: 使用该算法的软件/硬件现在应该被广泛使用。 该示例应具体。请参考特定的系统和特定的算法。 例如,在“算法X对图像处理有用”中,术语“图像处理”不够具体;在“ Google搜索使用图算法”中,“图算法”一词不够明确。 该算法应在典型的本科生或博士学位中教授。算法或数据结构中的类。理想情况下,典型算法教科书中会介绍该算法。例如,“众所周知的系统X使用鲜为人知的算法Y”是不好的。 更新: 再次感谢您的出色回答和链接!有人评论说,很难满足标准,因为核心算法无处不在,很难指出特定的用途。我看到了困难。但是我认为值得举一些具体的例子,因为根据我的经验告诉人们:“看,算法很重要,因为算法无处不在!” 不起作用。

11
学习有限自动机后,我应该得到什么启示?
我一直在有趣地修改计算理论,这个问题让我困扰了一段时间(当我在本科学习自动机理论时,从来没有想到过这个有趣的事情)。那么“为什么”我们到底要研究确定性和非确定性有限自动机(DFA / NFA)?所以这是我自言自语后得出的一些答案,但仍然看不到它们对“ aha”时刻的总体贡献: 研究它们是什么和没有能力,即限制 为什么? 由于它们是理论计算的基本模型,将为其他更强大的计算模型奠定基础。 是什么使它们“基本”?是否只有一点点的存储和状态转换? 好吧,那又如何呢?所有这些如何有助于回答可计算性问题?似乎图灵机确实很好地理解了这一点,并且有诸如P​​DA,DFA / NFA / Regexes等之类的“较少”计算模型。但是,如果人们不知道FA,它们会丢失什么呢? 因此,尽管我在某种程度上“明白了”,但我无法对自己回答这个问题?您如何最好地解释“为什么要学习D / N-FA”?他们想回答什么问题?它有什么帮助?为什么它是自动机理论中教授的第一件事? PS:我知道可以如此实现的各种字典应用程序和模式匹配器。但是,我不希望知道它可以实际使用什么,但是在学习计算理论的高潮中,他们为什么要使用/发明/设计的原因是什么。从历史上讲,是什么促使人们从这一点开始的?它应该导致什么“啊哈”理解?如果要向刚开始学习自动机理论的CS学生解释他们的重要性,您将如何做?

7
lambda演算对计算理论领域有什么贡献?
我只是在阅读lambda演算以“了解它”。我认为它是图灵机的另一种计算形式。这是一种有趣的用功能/约简做事的方式(简而言之)。一些问题一直困扰着我: Lambda微积分的意义是什么?为什么要经历所有这些功能/减少?什么目的? 结果,我不得不怀疑:lambda微积分到底是做什么来推动CS理论的?是什么使我有一个“哈哈”的时刻来了解其存在的必要性? 为什么关于自动机理论的文章中没有涵盖lambda演算?常见的途径是遍历各种自动机,语法,图灵机和复杂性类。Lambda演算仅包含在SICP样式课程的课程提纲中(也许不?)。但是我很少看到它是CS核心课程的一部分。这是否意味着它不那么有价值?也许不是,也许我在这里错过了一些东西? 我知道函数式编程语言基于lambda演算,但我不认为这是有效的贡献,因为它是在我们拥有编程语言之前就创建的。那么,了解/理解lambda演算的真正意义是什么,它对理论的应用/贡献呢?

5
反转量化器顺序的技术
众所周知,一般而言,通用量词和存在量词的顺序不能颠倒。换句话说,对于一般的逻辑公式ϕ(⋅,⋅)ϕ(⋅,⋅)\phi(\cdot,\cdot), (∀x)(∃y)ϕ(x,y)⇎(∃y)(∀x)ϕ(x,y)(∀x)(∃y)ϕ(x,y)⇎(∃y)(∀x)ϕ(x,y)(\forall x)(\exists y) \phi(x,y) \quad \not\Leftrightarrow \quad (\exists y)(\forall x) \phi(x,y) 另一方面,我们知道右侧比左侧更具限制性。也就是说,。(∃y)(∀x)ϕ(x,y)⇒(∀x)(∃y)ϕ(x,y)(∃y)(∀x)ϕ(x,y)⇒(∀x)(∃y)ϕ(x,y)(\exists y)(\forall x) \phi(x,y) \Rightarrow (\forall x)(\exists y) \phi(x,y) 这个问题的重点在于只要对成立,就可以导出。(∀x)(∃y)ϕ(x,y)⇒(∃y)(∀x)ϕ(x,y)(∀x)(∃y)ϕ(x,y)⇒(∃y)(∀x)ϕ(x,y)(\forall x)(\exists y) \phi(x,y) \Rightarrow (\exists y)(\forall x) \phi(x,y)ϕ(⋅,⋅)ϕ(⋅,⋅)\phi(\cdot,\cdot) 对角化就是这样一种技术。我首先在问题的相对论中P=?NPP=?NP\mathcal{P} \overset{?}{=} \mathcal{NP}看到了对角线的使用(另请参见Katz的简短说明)。在该论文中,作者首先证明: 对于任何确定性的多项式时间预言机M,都存在一种语言B,使得。LB≠L(MB)LB≠L(MB)L_B \ne L(M^B) 然后,他们反转量词的顺序(使用对角线化),以证明: 存在一种语言B,使得对于所有确定性的时间M,我们都有。LB≠L(MB)LB≠L(MB)L_B \ne L(M^B) 此技术已在其他论文中使用,例如[CGH]和[AH]。 我在[IR]定理6.3的证明中找到了另一种技术。它结合了测度理论和鸽子洞原理来逆转量词的顺序。 我想知道计算机科学中还使用了哪些其他技术来逆转通用量词和存在量词的顺序?

13
代数结构在理论计算机科学中的用途
我是一名软件从业人员,我正在撰写一项有关代数结构的调查报告,以进行个人研究,并试图提供有关如何在理论计算机科学(以及程度较小的计算机科学的其他子领域)中使用这些结构的示例。 。 在组理论下,我遇到了形式语言的句法半身像和并行/并发计算的轨迹和历史半身像。 从环论的角度来看,我遇到了用于图形处理和基于半环的解析的半环框架。 在我的研究中(但愿如此),我尚未从模块理论中找到任何代数结构的用途。 我假设还有更多示例,而我只是没有在正确的位置寻找它们。 理论计算机科学(以及计算机科学的其他子领域)中常见的上述领域的代数结构还有哪些其他示例?另外,您可以推荐哪些期刊或其他资源涵盖这些主题?

7
TCS中哪些有趣的定理依赖于选择公理?(或者,确定性公理?)
数学家有时会担心选择公理(AC)和决定性公理(AD)。 选择公理:给定任何集合的非空集,有一个函数,给定一组在,返回的成员。 f S C SCC{\cal C}fffSSSCC{\cal C}小号SS 确定性公理:令为一组无限长的位字符串。爱丽丝(Alice)和鲍勃(Bob)玩游戏,其中爱丽丝(Alice)选择第一位,鲍勃(Bob)选择第二位,依此类推,直到构造了无限字符串。如果x \ in S,爱丽丝赢得比赛,如果x \ not \ in S,鲍勃赢得比赛。假设每个S都有一个玩家获胜的策略。(例如,如果S仅由全1字符串组成,则Bob可以有限次数地获胜。)b 1 b 2 x = b 1 b 2 ⋯小号SSb1个b1b_1b2b2b_2x = b1个b2⋯x=b1b2⋯x = b_1 b_2 \cdots X ∈ 小号x∈Sx \in Sx∉Sx∉Sx \not \in S 小号SSSSSS 已知这两个公理彼此不一致。(考虑一下,或者去这里。) 其他数学家很少或根本不关注这些公理在证明中的使用。它们似乎与理论计算机科学几乎无关,因为我们认为我们主要处理有限的对象。但是,由于TCS将计算决策问题定义为无穷大的位字符串,并且我们将(例如)算法的时间复杂度作为自然值上的渐近函数进行测量,因此始终有可能使用这些公理之一变成一些证据。 在TCS中最引人注目的示例是什么,您知道其中需要这些公理之一吗?(你知道例子吗?) 只是预示了一点,请注意,对角化参数(例如,在所有图灵机的集合上)不是“选择公理”的应用。尽管图灵机定义的语言是一个无限的位字符串,但是每台图灵机都有一个有限的描述,因此我们实际上不需要在这里为无数个无限集选择函数。 (我放置了很多标签,因为我不知道示例将来自何处。)

7
当前,在大输入的一般情况下,解决问题或问题是不可行的。但是,两者都可以在指数时间和多项式空间中求解。P S P A C EñPNPNPP小号P一çËPSPACEPSPACE 由于我们无法构建不确定的或“幸运的”计算机,因此如果问题是 -complete或 -complete,对我们有什么影响?P S P A C EñPNPNPP小号P一çËPSPACEPSPACE

5
树宽概念的由来
我今天的问题(像往常一样)有点愚蠢。但请您考虑一下。 我想知道树宽概念背后的起源和/或动机。我肯定知道FPT算法中使用了它,但是我不认为这就是定义此概念的原因。 我在Robin Thomas教授的课堂上写了关于这个主题的笔记笔记。我想我了解这个概念的一些应用(因为它将树的分离属性传递给分解的图),但是由于某种原因,我并不十分相信这个概念的产生是为了测量图的紧密度到树上。 我将努力使自己更加清楚(我不确定是否可以,如果问题不清楚,请告诉我)。我想知道在数学的其他分支中其他地方是否也存在类似的概念。我的猜测将是拓扑结构-但是由于缺乏背景,我什么也不能说。 我对此感到好奇的主要原因是,当我第一次阅读它的定义时,我不确定有人为什么会以及如何构想它以及达到什么目的。如果问题仍然不清楚,我将最终尝试以这种方式进行说明-让我们假装不存在树宽的概念。什么是离散设置的自然问题(或某些数学定理/概念的扩展)会导致人们将定义(如涉及的词)定义为树宽。

5
P或BPP中出现问题的总体原因
最近,当我与物理学家交谈时,我声称,根据我的经验,当天真的看起来需要花费指数时间的问题变成P或BPP时,这通常可以识别出发生还原的“总体原因” ---并且几乎总是,这个原因属于一打或更少的“通常的可疑对象”(例如:动态编程,线性代数...)。但是,那让我开始思考:我们真的可以写下这样的原因的体面清单吗?这是第一个不完整的尝试: (0)数学表征。问题具有非显而易见的“纯数学”特征,一旦知道,它就可以立即使您可以对一系列poly(n)可能性进行详尽的搜索。 例如:图平面度,从Kuratowski定理出发,遵循O(n 6)算法。 (正如下面的“平面”所指出的,这是一个糟糕的例子:即使您知道平面度的组合特征,给出多项式时间算法还是很不容易的。因此,让我在这里替换一个更好的例子:如何,例如,“假设输入n用二进制编写,则计算需要多少颜色才能对嵌入在具有n个孔的表面上的任意地图进行着色。”毫无疑问,这是完全可计算的(甚至是有限的!)。但是,有一个已知的公式给出了答案,一旦您知道了该公式,就可以用多项式时间进行计算,与此同时,应该添加“减少未成年未成年人/罗伯逊-西摩理论”作为一个单独的总体原因在P.) 无论如何,这不是我最感兴趣的情况。 (1)动态编程。 可以以一种无需递归分解的方式进行递归求解的方式分解问题-通常是因为要满足的约束以线性或其他简单顺序排列。“完全组合”;不需要代数结构。可以说,图可达性(因此2SAT)是特殊情况。 (2)拟阵 问题具有拟阵结构,可使贪婪算法起作用。示例:匹配,最小生成树。 (3)线性代数。 可以将问题简化为求解线性系统,计算行列式,计算特征值等。可以说,大多数涉及“奇迹般的取消”的问题,包括可以由Valiant的Matchgate形式主义解决的那些问题,也都属于线性代数的范畴。 (4)凸性。 问题可以表示为某种凸优化。半定规划,线性规划和零和博弈是常见的(越来越多)特殊情况。 (5)多项式恒等检验。 可以通过检查多项式恒等式来减少问题,从而使代数的基本定理产生有效的随机算法-在某些情况下,例如素数,甚至是可证明的确定性算法。 (6)马尔可夫链蒙特卡洛。 可以将问题简化为从快速混合步行的结果中取样。(例如:大约计算完美匹配。) (7)欧几里得算法。 GCD,连续分数... 杂项/分类方法不明确:稳定的婚姻,多项式因式分解,置换组的隶属度问题,数论和群论中的各种其他问题,低维晶格问题... 我的问题是:我遗漏的最重要的事情是什么? 澄清: 我意识到不可能有一个完整的清单:无论您给出多少有限的原因,某人都将能够找到P中的奇特问题,但由于任何这些原因都不会。部分由于这个原因,我对在P或BPP中提出许多不同的,看似无关的问题的想法比只对一个问题有用的想法更感兴趣。 我也意识到,如何划分事物是主观的。例如,拟阵是动态编程的特例吗?深度优先搜索的可溶解性是否足够重要,足以成为其自身的理由,与动态编程分开?同样,通常由于多种原因,P中可能存在相同的问题,具体取决于您如何看待它:例如,由于线性代数,找到一个本征值在P中,这也是因为它是一个凸优化问题。 简而言之,我不希望有一个“分类定理”,只是希望有一个列表能有效地反映我们目前对有效算法的了解。这就是为什么我最感兴趣的是将这些东西应用到P或BPP中的技术,这些技术具有广泛的适用性,但不适合上面的清单-或其他一些改进我的初次尝试以弥补我夸耀的想法。物理学家。


3
令人惊讶的问题计数算法
存在一些计数问题,其中涉及对许多事物进行指数计数(相对于输入的大小),但是却具有令人惊讶的多项式时间精确确定性算法。示例包括: 在平面图中计算完美匹配(FKT算法),这是全息算法如何工作的基础。 计算图中的生成树(通过基尔霍夫矩阵树定理)。 这两个示例中的关键步骤是减少计数问题,从而计算出某个矩阵的行列式。当然,行列式本身就是指数式许多事物的总和,但令人惊讶地可以在多项式时间内计算。 我的问题是:是否有已知的“令人惊讶的高效”精确和确定性算法可以计算问题,而不会减少计算行列式?

4
为什么我们将对数空间视为有效计算的模型(而不是多对数空间)?
无论如何,这可能是一个主观的问题,而不是一个具体的答案。 在复杂性理论中,我们研究有效计算的概念。像代表多项式时间,而代表对数空间。他们都被认为是一种“效率”,并且很好地抓住了一些问题的困难。大号PP\mathsf{P}大号大号\mathsf{L} 但是和之间是有区别的:多项式时间被定义为问题的并集,对于任何常数,问题的时间为。, 那是,L P O (n k)kPP\mathsf{P}大号大号\mathsf{L}PP\mathsf{P}Ø (ñķ)Ø(ñķ)O(n^k)ķķk P = ⋃ķ ≥ 0Ť 我中号ë [ Ñķ]P=⋃ķ≥0Ť一世中号Ë[ñķ]\mathsf{P} = \bigcup_{k \geq 0} \mathsf{TIME[n^k]}, 日志空间定义为。如果我们模仿的定义,它将变成S P A C E [ log n ] P大号大号\mathsf{L}S P A C E [ 日志ñ ]小号P一种CË[日志⁡ñ]\mathsf{SPACE[\log n]}PP\mathsf{P} P ø 升Ŷ 大号 = ⋃ķ ≥ 0S P A …

5
复杂性理论中有守恒定律吗?
让我从一些例子开始。为什么在C中显示CVP如此琐碎,而在P中显示LP却如此困难?而两者都是P完全问题。 或接受素养。与NP中的质数(需要Pratt)以及最终在P中的质数相比,NP中的复合物更容易显示。为什么它必须完全显示这种不对称性? 我知道希尔伯特(Hilbert),对创造力的需求,NP中的证明等。但这并没有阻止我产生一种令人不安的感觉,即这不仅仅满足于视觉。 在复杂性理论中是否存在可量化的“工作”概念和“守恒律”?例如,这表明即使CVP和LP都是P完全的,它们也将它们的复杂性隐藏在“不同的地方”-一个在归约中(CVP是否简单,因为所有工作都在归约中完成?),语言的可表达性。 还有其他人感到疲倦并且有一些见解吗?还是我们耸耸肩说/接受这就是计算的本质? 这是我向论坛提出的第一个问题:双手合十。 编辑: CVP是电路值问题,LP是线性编程。 感谢Sadeq,指出混乱之处。

7
什么是指称语义?
在另一个线程上,Andrej Bauer将指称语义定义为: 程序的含义是程序各部分含义的函数。 使我困扰的是该定义,它似乎并未从通常被认为是非名词性语义的东西(即结构操作语义)中分离出通常被认为是指称语义的东西。 更准确地说,这里的关键要素是语义的模块化或组合性,或者换句话说,它们是根据程序的抽象结构定义的。 由于当今大多数(全部?)形式语义趋向于结构化,这是否是必需的定义? 所以,我的问题是:什么是指称语义?

5
乔姆斯基层次结构过时了吗?
Chomsky(–Schützenberger)层次结构用于理论计算机科学的教科书中,但是与完整的“ 复杂度动物园图”相比,它显然只覆盖很小一部分形式的语言(REG,CFL,CSL,RE)。层次结构是否在当前研究中起任何作用?在cstheory.stackexchange上,我只发现很少提及Chomsky,而在Complexity Zoo中,根本没有提及Chomsky和Schützenberger。 当前的研究是否更多地关注于形式描述语法以外的其他描述方式?我一直在寻找实用的方法来描述具有不同表现力的形式语言,却偶然发现越来越多的上下文敏感语言(GCSL)和可见下推语言(VPL)都位于经典的乔姆斯基语言之间。不应该将Chomsky层次结构更新为包括它们吗?还是没有从整个复杂度类集中选择特定的层次结构?据我所知,我尝试仅选择那些适合于乔姆斯基层次结构的语言: REG(= Chomsky 3)⊊VPL⊊DCFL⊊CFL(= Chomsky 2)⊊GCSL⊊CSL(= Chomsky 1)⊊R⊊RE 尽管似乎与自然语言处理有实际相关性,但我仍然不了解“对上下文敏感的语言”和“索引语言”是否适合(在CFL和CSL之间的某个地方)(但是,任何与实际相关性都不那么有趣)在理论研究中;-)。另外,您可以提及GCSL→P→NP→PSPACE和CSL→PSPACE→R,以显示与著名的P和NP类的关系。 我在GCSL和VPL上发现: 罗伯特·麦克诺顿(Robert McNaughton):《乔姆斯基体系的插入?在:珠宝是永恒的,为纪念Arto Salomaa在理论计算机科学上的贡献。S.204-212,1999年 http://en.wikipedia.org/wiki/Nested_word#参考(VPL) 如果您知道任何有关VPL,DCLF,GCSL和索引语法的正式语法的最新教科书(也更适合实际应用的指针),我也将很高兴。

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.