【问题标题】:What logic gates are required for Turing completeness?图灵完备性需要哪些逻辑门?
【发布时间】:2011-06-21 23:42:42
【问题描述】:

我儿子最近一直在玩 Little Big Planet 2,我注意到游戏编辑器允许 AND 门、OR 门和 NOT 门……图灵完备吗?如果是这样,任何人都可以推荐一个资源来学习将这些原语转换为更高级别的条件 if 吗?

【问题讨论】:

标签: turing-complete


【解决方案1】:

您需要 NOT 和 其中一个 AND 或 OR 才能执行所有二进制逻辑。 基本上是DeMorgan's Law

但是,这不足以保证图灵完备。 为此,您还需要随机(或可简化等效)访问 (理论上)无限的记忆。

很有可能,您将能够制作人字拖(D flip flop 是使用 NAND 构建的,所以很简单)使用 可用的逻辑门。从这些,你可以建立一个 注册,并拥有足够的装备 构建一些简单的程序。

【讨论】:

  • 内存系统的规格,尤其是随机存取内存,并不是证明图灵完备的必要条件。请参阅 SKI 组合子演算。 en.wikipedia.org/wiki/SKI_combinator_calculus
  • 可以使用有限数量的逻辑门定义的机器集是可以构建为确定性有限自动机的机器集的子集。
【解决方案2】:

只需要一个与非门,一切都可以从它构建,所以你拥有的三个就足够了。这是一门课程,带您从逻辑门到构建计算机,一直到编写操作系统:The Elements of Computing Systems: Building a Modern Computer from First Principles

【讨论】:

【解决方案3】:

一个想法:你应该能够构造一个NAND gate,然后你可以构造a XOR gate。使用 XOR 和 AND,您可以构建 half-adder。结合半加器来构建一个full-adder。这至少是一个开始。

NAND 和 NOR 是其他门的基本构建块,所以机会是 Turing completeness is just around the corner

【讨论】:

  • 也是一个减法器,用于进行比较,可能还有触发器电路来存储数据。
【解决方案4】:

AND、OR 和 NOT 是functionally complete,即可以表达所有可能的真值表。我相信这也使它变得完整,因为您可以构建具有任何功能完整的门集的通用处理器

【讨论】:

    【解决方案5】:

    我知道我在这里玩游戏迟到了,但是是的。我玩 LBP2,它有 AND、OR、NOT、XOR、NAND、NOR。也可以加减信号,游戏里也有做二进制的方法。

    【讨论】:

      【解决方案6】:

      您需要的唯一门是 NOT 和 OR。使用这两个,您可以构建所有其他逻辑门。例如,NOT(OR(NOT|NOT)) 是 AND 门,OR(NOT|NOT) 是 NAND,NOT(OR()) 是 NOR,等等。难于制作(也是最实用的)是XOR,可以用 NAND 门树构成,而后者又可以用 NOT 和 OR 构成,如上所示。

      【讨论】:

        【解决方案7】:

        您可以使用 NAND 或 NOR 门构建任何复杂的逻辑电路。

        NAND 是一个 AND,输出引脚上有一个 NOT。

        NOR 是在输出引脚上带有 NOT 的 OR。

        任何基于 NAND 的电路都可以仅使用 NOR 重建,反之亦然。

        因此,您可以构建任何仅给定与非门的逻辑电路。或者你可以只使用或非门。或者您可以使用 NOT 和 AND 门。或者您可以使用 NOT 和 OR 门。或者,您也可以使用 AND、NOT 和 OR 门:您当然可以通过使用所有三种类型的门创建最佳组合来减少晶体管的数量。

        所有这些都可以通过布尔代数使用真值表来证明:真值表的任何组合都可以由上述门的组合构建而成。当有两个输入时,有 4 种可能的输入组合,给出 16 个可能的真值表。通过使用上述门的组合,您可以创建所有这 16 个真值表,因此,您不需要 16 个不同的门。当您添加更多输入和输出时,甚至当您创建寄存器和锁存器以创建内存位、CPU 寄存器和/或任何时序逻辑电路时,这一点都成立。

        https://en.wikipedia.org/wiki/NAND_logic

        https://en.wikipedia.org/wiki/NOR_logic

        https://en.wikipedia.org/wiki/Truth_table

        【讨论】:

          猜你喜欢
          • 2011-11-11
          • 1970-01-01
          • 1970-01-01
          • 2011-05-01
          • 1970-01-01
          • 2021-03-07
          • 1970-01-01
          • 2011-02-28
          • 2014-12-26
          相关资源
          最近更新 更多