【问题标题】:Declarative Models of Computation in Physical Machines物理机器中的声明式计算模型
【发布时间】:2015-02-03 03:58:01
【问题描述】:

我最近一直在研究计算模型,我想出了一个问题。

对于许多计算模型,似乎可以在物理机器中实现它们。事实上,有些实际上是基于物理实体的。

例如,自动机(FSM、PDA 和图灵机)、后置机器、RAM 机器等命令式计算模型就是这种情况。量子计算和生物计算也是如此。

但对于某些计算模型,我从未见过可以直接由物理机器实现的迹象。例如计算的函数模型(Lambda演算)和计算的逻辑模型(一阶逻辑的片段)。
然而,从理论上讲,这似乎是可能的……我们只需要在物理机器中模拟函数和 beta-reductions。不过,对于 Logic MoC 来说,这似乎更加困难。

有人对在物理机中实现功能 MoC 和逻辑 MoC 有任何想法吗?

提前致谢

【问题讨论】:

  • 函数式和逻辑编程语言在物理机器上运行的方式与当前的命令式编程语言非常相似。无论哪种方式,都没有与 RAM 机器一一对应。
  • 乍一看,我不得不同意@false。在机器级别,功能和逻辑编程使用几乎相同的“原语”有效地运行。尽管考虑到 Prolog 等语言的递归特性,它可能受益于针对堆栈优化的架构(例如,旧的 HP 小型计算机)。
  • 我说的是真的一直到底部。我认为所有机器最终都会归结为逻辑门和内存(触发器)与时钟一起工作,这正是计算的命令式模型。我说的是是否有可能有一台机器(底层)直接实现功能和逻辑MoC,也就是说,至少没有触发器和内存,也没有逻辑门。

标签: prolog lambda-calculus computation


【解决方案1】:

Prolog 的标准是 WAM。它是 Warren Abstract 的首字母缩写词 机器。它配备了一组指令和一个收据来编译 这些说明的序言。

但另外人们也可以很容易地看到这些说明如何 用一个简单的寄存器机器的机器代码来实现。

实际上,有一些基于 WAM 的 Prolog 系统可以生成代码 对于真实的现有 CPU。虽然 WAM 不是唯一的方法 实现一个 Prolog 解释器:

推荐阅读:

大卫 H. D. 沃伦(1983 年 10 月)。
一个抽象的 Prolog 指令集。
美国加利福尼亚州门洛帕克:SRI International 的人工智能中心。

Hassan Aït-Kaci(1999 年 2 月 18 日)。
沃伦的抽象机器:教程重构。
于 2003 年 2 月 13 日从原版存档。

您可以在此处找到工作链接:http://en.wikipedia.org/wiki/Warren_Abstract_Machine

再见

【讨论】:

    猜你喜欢
    • 2020-12-08
    • 2018-11-14
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-07-11
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多