私の息子は最近リトルビッグプラネット2をプレイしていますが、ゲームエディタでANDゲート、ORゲート、NOTゲートが許可されていることに気付きました...チューリングは完了しましたか?もしそうなら、誰かがそれらのプリミティブをより高いレベルの条件付きのようなものに変えることを学ぶための情報源を推薦できますか?
7 に答える
すべてのバイナリ ロジックを実行するには、 NOT とAND または ORのいずれかが必要です。これは基本的にDeMorgan の法則です。
ただし、これはチューリングの完全性には十分ではありません。そのためには、ランダムな(または同等の)アクセス(理論的には)無限のメモリも必要です。
おそらく、利用可能な論理ゲートを使用してフリップフロップを構築できます ( D フリップフロップ は NAND を使用して構築されるため、簡単です)。それらからレジスターを構築することができ、十分な数のレジスターがあれば、簡単なプログラムを構築する準備が整います。
必要なのは NAND ゲートだけで、そこからすべてを構築できるので、3 つあれば十分です。ここでは、論理ゲートからコンピュータの構築、オペレーティング システムの作成までを説明するコースを紹介します:コンピューティング システムの要素: 第一原理から最新のコンピュータを構築する
アイデア: NANDゲートを構築できるはずなので、XORゲートを構築できます。XOR と AND を使用すると、半加算器を構築できます。半加算器を組み合わせて全加算器を構築します。それは少なくとも始まりです。
NAND と NOR は他のゲートの基本的な構成要素であるため、チューリングの完全性はすぐそこまで来ている可能性があります。
AND、OR、NOT は機能的に完全です。つまり、可能なすべての真理値表を表現できます。機能的に完全なゲートのセットを備えた汎用プロセッサを構築できるため、チューリングが完全になると私は信じています
ここでゲームに遅れていることはわかっていますが、そうです。私は LBP2 をプレイしていますが、AND、OR、NOT、XOR、NAND、NOR があります。また、シグナルを加算および減算することもできます。ゲーム内でバイナリを実行する方法もあります。
必要なゲートは NOT と OR だけです。これらの 2 つを使用すると、他のすべての論理ゲートを構築できます。たとえば、NOT(OR(NOT|NOT)) は AND ゲート、OR(NOT|NOT) は NAND、NOT(OR()) は NOR などです。 XOR は、NAND ゲートのツリーで作成でき、上記のように NOT と OR で作成できます。
NANDまたはNORゲートを使用して、複雑な論理回路を構築できます。
NAND は、出力ピンに NOT がある AND です。
NOR は、出力ピンに NOT がある OR です。
NAND ベースの回路は、NOR のみを使用して再構築でき、その逆も可能です。
したがって、NAND ゲートのみが与えられた任意の論理回路を構築できます。または、NOR ゲートのみを使用することもできます。または、NOT および AND ゲートを使用できます。または、NOT および OR ゲートを使用できます。または、AND、NOT、OR ゲートを使用することもできます。3 種類のゲートすべてを使用して最適な組み合わせを作成することで、トランジスタの数を確実に減らすことができます。
これはすべて、真理値表を使用したブール代数によって証明できます。真理値表の任意の組み合わせは、上記のゲートの組み合わせから構築できます。入力が 2 つの場合、可能な入力の組み合わせは 4 つあり、16 の可能な真理値表が得られます。上記のゲートの組み合わせを使用すると、これら 16 の真理値表をすべて作成できるため、16 の異なるゲートは必要ありません。これは、入力と出力を追加する場合や、レジスタとラッチを作成してメモリ ビット、CPU レジスタ、および/または順序論理回路を作成する場合にも当てはまります。
https://en.wikipedia.org/wiki/NAND_logic