图灵完整性需要什么逻辑门?

时间:2011-02-05 18:54:08

标签: turing-complete

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

7 个答案:

答案 0 :(得分:10)

您不需要其中一个<或em> AND或OR就可以执行所有二进制逻辑。 这基本上是DeMorgan's Law

然而,这不足以图灵完整性。 为此,您还需要随机(或可简化的等效)访问 (理论上)无限记忆。

可能的是,你将能够构建一个触发器(D flip flop 是使用NAND构建的,所以很容易使用 可用的逻辑门。从那些,你可以建立一个 注册,并有足够的那些你将配备 建立一些简单的程序。

答案 1 :(得分:5)

nand gate就是所需要的,所有东西都可以从那里建造,所以你拥有的三个就足够了。这是一门课程,可以让您从逻辑门,到构建计算机,一直到编写操作系统:The Elements of Computing Systems: Building a Modern Computer from First Principles

答案 2 :(得分:4)

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

NAND和NOR是其他门的基本构建块,所以很有可能Turing completeness is just around the corner

答案 3 :(得分:3)

AND,OR和NOT是functionally complete,也就是说,可以表达所有可能的真值表。我相信它也使它完整,因为你可以用任何功能完整的门组构建一个通用处理器

答案 4 :(得分:1)

我知道我在这里比赛迟到但是是的。我玩LBP2,它有一个AND,OR,NOT,XOR,NAND,NOR。你也可以添加和减去信号,还有在游戏中做二进制的方法。

答案 5 :(得分:0)

你需要的唯一门是NOT和OR。有了这两个,您就可以构建所有其他逻辑门。例如,NOT(OR(NOT | NOT))是AND门,OR(NOT | NOT)是NAND,NOT(OR())是NOR等。难以制作(也是功能最大的)是XOR,可以用NAND门树制成,而如上图所示,它可以用NOT和OR制作。

答案 6 :(得分:0)

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

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

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

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

因此,仅给与非门即可构建任何逻辑电路。或者,您可以只使用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