Questions tagged «machine-models»

6
哪种计算模型是“最佳”的?
图林在1937年描述了一种图灵机。从那时起,已经描述了许多计算模型,以试图找到一个类似于真实计算机但仍然足够简单以设计和分析算法的模型。 结果,我们有许多算法,例如针对不同计算模型的SORT问题。不幸的是,我们甚至不能确定在允许位向量运算的字RAM中运行时间为O(n)的算法的实现比在运行时间为O(n⋅logn)的算法中的实现快一个单词RAM(当然,我只在谈论“好的”实现)。 因此,我想了解现有模型中哪个是设计算法的“最佳方法”,并且我正在寻找有关计算模型的最新详细调查,以了解模型的优缺点及其与现实的接近程度。

7
Church-Turing论文在交互式计算模型中的适用性
保罗·韦格纳(Paul Wegner)和狄娜·高丁(Dina Goldin)十多年来一直在发表论文和书籍,主要论证的是“ Church-Turing”论题在CS理论界和其他地方常常被歪曲。就是说,它实际上涵盖了所有计算,而实际上仅适用于函数计算,这是所有计算的很小一部分。相反,他们建议我们应该尝试对交互式计算进行建模,其中在计算过程中会与外界进行通信。 我对这项工作的唯一评论是在Lambda Ultimate论坛中,有人对这些作者不断发表的东西表示感叹。那么我的问题是,对这种思维方式,尤其是他们的持久性图灵机,是否还有更多的批评。如果没有,那为什么它似乎研究得很少(我可能会误会)。最后,普遍性的概念如何转化为互动领域。

3
为当前和即将推出的高性能计算机设计算法的正确理论模型是什么
这个问题类似于一个更普遍的问题,即什么计算机在其中设计算法和数据结构的正确理论模型是正确的。 在这里,我专门询问当前的高性能计算机(例如列为前500强的计算机),甚至是关于即将到来的超级计算机。 鉴于这些计算机通常都在巨大的数据集上工作(似乎有些人使用这样的计算机,主要是因为它们具有庞大的组合主内存),其I / O模型(由Aggarwal和Vitter于1988年提出)及其并行版本,PEM(2008年Arge,Goodrich,Nelson和Sitchinava)应出席。另一方面,应该有一些关于通信的东西,特别是惩罚所有其他计算节点的超小型包装。 正如您可能想像的那样,在创建新模型时,我不担心会耗尽想法,但是我有点担心自己可能会忽略以前的尝试,特别是因为我印象中,1980年代大约在1995年,许多此类建模尝试(例如BSP或桥接模型)似乎并未得到广泛使用。 我应该仔细研究哪些型号?

1
哥德尔机器的可行性
最近,我偶然发现了一个有趣的理论结构。所谓的 哥德尔机器 这是一个能够自我优化的通用问题解决器。适用于反应性环境。 据我了解,它可以作为通用图灵机的程序来实现,尽管它的要求远远超出了当前可用的硬件。我找不到很多细节。 这样的机器可以在实践中制造吗?它们至少在我们的宇宙中可行吗?

2
用于TSP的Bellman-Held-Karp算法的时间复杂度,取2
一个独立于Bellman和Held-Karp的问题最近讨论了TSP的当前经典动态编程算法。据普遍报道,该算法在时间内运行。但是,正如我的一名学生最近指出的那样,这种运行时间可能需要一个不合理的强大计算模型。O(2nn2)O(2nn2)O(2^n n^2) 这是该算法的简要说明。输入由具有个顶点的有向图和非负长度函数。对于任何顶点和,以及任何不包含和的顶点子集,令表示诱导子图从到的最短哈密顿路径的长度。。Bellman-Held-Karp算法基于以下递归(或经济学家和控制理论家喜欢称其为“ Bellman方程”):Ñ ℓ :È → [R +小号吨X 小号吨大号(小号,X ,吨)小号吨ģ [ X ∪ { 小号,吨} ]G=(V,E)G=(V,E)G=(V,E)nnnℓ:E→R+ℓ:E→R+\ell\colon E\to\mathbb{R}^+ssstttXXXssstttL(s,X,t)L(s,X,t)L(s,X,t)ssstttG[X∪{s,t}]G[X∪{s,t}]G[X\cup\{s,t\}] L(s,X,t)={ℓ(s,t)minv∈X (L(s,X∖{v},v)+ℓ(v,t))if X=∅otherwiseL(s,X,t)={ℓ(s,t)if X=∅minv∈X (L(s,X∖{v},v)+ℓ(v,t))otherwise L(s,X,t) = \begin{cases} \ell(s,t) & \text{if $X = \varnothing_{\strut} $} \\ \min_{v\in X}~ \big(L(s, X\setminus\lbrace v\rbrace, v) + \ell(v,t)\big) & \text{otherwise} \end{cases} 对于任何顶点sss,最优旅行推销员巡视的长度为L(s,V∖{s},s)L(s,V∖{s},s)L(s,V\setminus\{s\}, s)。因为第一个参数sss在所有递归调用中都是常数,所以存在Θ(2nn)Θ(2nn)\Theta(2^n n)不同的子问题,并且每个子问题最多依赖于其他n个子问题nnn。因此,动态编程算法以O(2nn2)O(2nn2)O(2^n n^2)时间运行。 还是呢? …


6
对可靠计算的有效性了解多少?
在TCS中对以下问题的调查情况如何?(如果问题陈述含糊,我深表歉意!) 给定计算 MC 模型(车床,元胞自动机,Kolmogorov-Uspenskii机器等)和可能影响MC计算的噪声模型,是否有办法从这种噪声引起的误差中恢复?一个有效的方法是什么?例如,假设某种类型的噪声会影响图灵机M,是否可以设计出一种图灵机M'来模拟M而又不会花费大量成本并且可靠(这意味着M'可以忍受这种噪声)? 看起来某些计算模型在此方面比其他模型更好:例如Cellular Automata。如果将噪声替换为对手模型,结果如何? 对不起,标签!我没有足够的声誉来放置合适的标签(可靠计算,容错计算等)。

2
决策树复杂度与“真实”复杂度之间的可弥补差距
标题有点误导性:但是希望这个问题不是: Grønlund和Pettie的新结果表明3SUM只有决策树的复杂性让我疑惑:Ø (ñ3 / 2)O(n3/2)O(n^{3/2}) 是否有一个简单的例子,说明决策树复杂度为但它允许ω (f )的下限(在更详细的模型中)?Ø (˚F)O(f)O(f)ω (˚F)ω(f)\omega(f) 换句话说,关于3SUM的结果应该如何改变我们对问题复杂度明显低于上限的可能性的看法?ñ2n2n^2

3
可以机械地实施任何程序吗?
是否可以构建一个单一目的的(非图灵完整的)机械实现,例如Microsoft Word?是否可以实现诸如迭代器,一阶函数以及整个编程技术之类的东西?齿轮和其他机械零件能否代表数据结构甚至是程序对象?在某种程度上,这是否有必要建造一台通用的图灵等效机器,或者每个功能,变量等都可以以飞轮和/或齿轮,棘轮的形式拥有自己独特的机械结构,那么您呢?总之,我想知道标准计算机上的任何给定软件是否可以编译为机械蓝图。


1
人们会看布尔电路中的回路嵌套吗?
在EE本科生期间,我参加了一些讲座,就布尔电路有多少个嵌套循环的角度很好地描述了布尔电路。在复杂性方面,布尔电路通常被认为是dags,但在实际硬件周期中却很常见。现在,对关于什么是循环以及什么构成嵌套循环的一些技术进行模运算,声称基本上是为了在硬件中实现自动机需要两个嵌套循环,而为了实现处理器则需要三个嵌套循环。(我可能会与这些计数一一对应。) 两件事困扰着我: 没有什么比正式的证明更合适了。 我没有在其他地方看到这个。 有人调查过这种精确的陈述吗? 在搜寻教授的名字时,我发现了一本关于这种分类法的小网页和一本书(第4章)。 背景知识:如果您想知道为什么循环在实际的硬件中根本没有用,这里是一个简单的示例。循环连接两个逆变器。(逆变器是计算布尔函数NOT的门。)该电路具有两个稳定的平衡点(和一个不稳定的平衡点)。在没有任何外部干预的情况下,电路将仅停留在两种状态之一。但是,可以通过施加外部信号将电路强制为一种特定状态。情况可以这样看:当循环连接到外部信号“我们读取输入”时,否则我们仅“记住我们看到的最后一个值”。因此,一个循环可以帮助我们记住东西。

1
可逆的图灵柏油?
这个问题是关于是否存在已知的可逆图灵tarpit,其中“可逆”在Axelsen和Glück的意义上是指“ tarpit”是一个更为非正式的概念(可能不是一个很好的词选择),但我会尽力解释我的意思。 我所说的“焦油” 一些计算模型被设计为以某种方式有用。其他人恰好是图灵完整的,实际上并没有任何特别有用的属性。这些被称为“ Turing tarpits”。例子包括Brainfuck语言,Rule 110细胞自动机语言和Bitwise Cyclic Tag语言(我喜欢它,因为它很容易实现并且任何二进制字符串都是有效程序)。 “ Turing tarpit”没有正式的定义,但是对于这个问题,我用它来表示一个相当简单的系统(就少量“规则”而言),“发生”是图灵完整的,没有其内部状态具有任何明显的语义含义。对我而言,最重要的方面是规则的简单性,而不是缺乏明显的语义。基本上,我们谈论的是斯蒂芬·沃尔夫拉姆(Stephen Wolfram)曾经写过的一本非常大的书,尽管他没有使用“ tarpit”一词。 我所说的“可逆” 我对可逆计算感兴趣。特别是,我对Axelsen和Glück所说的r-Turing完整的语言感兴趣,这意味着它们可以计算每个可计算的内射函数,并且只能计算内射函数。现在,从这个意义上讲,有许多可逆的计算模型,例如Axelsen的可逆通用图灵机或高级可逆语言Janus。(文献中还有许多其他示例;这是一个活跃的研究领域。) 应该注意的是,由于Bennett,Axelsen和Glück对r-Turing完整性的定义是与通常方法不同的可逆计算方法。在Bennett的方法中,允许系统产生“垃圾数据”,这些数据在计算结束时就被丢弃了。在这种情况下,可逆系统可以成为图灵完整的系统。但是,在Axelsen和Glück的方法中,不允许该系统生成此类“垃圾数据”,这限制了它可以计算的问题类别。(因此,“ r-Turing完成”而不是“ Turing完成”。) 注意:Axelsen和Glück纸位于付费专线后面。不幸的是-据我所知,目前还没有关于r-Turing完整性的任何非付费资源。如果有时间,我将尝试启动Wikipedia页面,但没有任何承诺。 我在寻找什么 上面提到的可逆计算的例子都相当“充满语义”。在大多数情况下,这是一件好事,但这意味着在每个时间步更新其状态所需的规则相当复杂。我正在寻找可逆计算的“目标”。也就是说,具有相当简单规则的任意系统或多或少会“恰好”成为r-Turing完整语言。我重申,对于我要寻找的内容没有正式定义,但是当我看到它时就会知道,而且我认为这是合理的事情。 我知道有很多事情符合要求,但并不完全符合要求。有几种可逆的细胞自动机已被证明是图灵完整的。 兰顿的蚂蚁(一种具有相当任意和非常简单的可逆状态转换功能的二维图灵机)只要其初始条件包含无限的重复模式,它也是图灵完备的。但是,对于这些系统,以不丢弃任何垃圾数据的方式定义从其状态到“输出”的映射并非易事。我对系统特别感兴趣,可以将其视为输入,对它执行一系列(可逆)转换,然后(如果终止)返回一些输出。 (我希望这个问题比我以前的有关可逆等效于lambda微积分的问题更容易回答。)


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.