我知道NAND门可用于创建实现每个真值表的电路,现代计算机由NAND门构成。与非门与图灵完整性之间的理论联系是什么?在我看来,“与非”门电路比图灵机更接近有限自动机。我的直觉是,我可以构建触发器,并因此从NAND门之外构建寄存器和存储器,并且无限制的存储器是Turing完整系统的关键属性。我正在寻找更理论或数学上的解释,或关于阅读内容的指导。
我知道NAND门可用于创建实现每个真值表的电路,现代计算机由NAND门构成。与非门与图灵完整性之间的理论联系是什么?在我看来,“与非”门电路比图灵机更接近有限自动机。我的直觉是,我可以构建触发器,并因此从NAND门之外构建寄存器和存储器,并且无限制的存储器是Turing完整系统的关键属性。我正在寻找更理论或数学上的解释,或关于阅读内容的指导。
Answers:
确实没有什么联系。为了全面理解,让我解释一下程序和电路之间的连接。
甲程序(或算法,或机器)是用于计算的功能的机构。为了确定起见,让我们假设输入是二进制字符串,而输出是布尔输出b。输入的大小可能不受限制。一个示例是确定输入是否为素数的二进制编码的程序。
(布尔)电路是用于计算某些有限条件的指令的集合函数。我们可以将电路描述为电路,也可以将其视为一系列指令(此视图被混淆为直线程序)。具体而言,我们可以假设输入是长度为n的二进制字符串,而输出是布尔值。一个示例是确定输入是否编码素数的电路(就像以前一样,只是现在输入的长度必须为n)。
我们可以转换程序到电路P Ñ模拟P上长度的输入Ñ。电路P 0,P 1,P 2,…的对应顺序不是任意的-它们都可以由给定n个输出的程序来构造。我们把电路的这种序列的统一电路(容易混淆,我们通常认为的顺序为“单一的”电路的 P ñ无限期 ñ)。
并非每个电路序列都是统一的。确实,一系列电路可以计算从字符串到布尔,可计算或不可计算的每个函数!然而,在复杂性理论中,我们对电路受限制的这种非均匀模型感兴趣。例如,问题P = NP指出NP完全问题无法通过多项式时间算法解决。这意味着不能用多项式大小统一电路来解决NP完全问题。此外,可以推测,如果不要求均一性,则不能用多项式大小的电路来解决NP完全问题。
图灵完备的计算模型是实现所有可计算功能(且不再需要)的模型。相反,完整的门系统(例如AND,OR,NOT或NAND)允许使用由这些门构成的电路来计算任意有限函数。这样的完整系统可以使用(不受限制的)电路序列来计算完全任意的函数。
您实际上是正确的。组合逻辑电路等效于有限自动机。NAND门并没有使其变得更强大。之所以使用它们,是因为仅用一种门来构建数字逻辑电路要比用所有不同门来构建数字逻辑电路便宜。实际上,“与非”门可以仅由“与”门和“非”门构成。触发器使电路图灵完成。这是一个方便的钥匙:
组合电路〜有限自动机〜正则语言〜正则表达式〜命题演算〜直线程序
顺序电路〜图灵机〜递归可列举的语言〜谓词演算〜
如果您想了解更多信息,有一本非常好的书,可以免费下载PDF格式的书,它解释了所有这一切:
https://cs.brown.edu/people/jes/book/pdfs/ModelsOfComputation.pdf