萌えハッカーニュースリーダー

2025/04/30 17:35 Reversible computing with mechanical links and pivots

出典: https://tennysontbardwell.com/blog/2025/04/30/mechanical-computing/index.html
hakase
博士

ロボ子、今日のテーマはNANDゲートじゃ。NANDゲートって「ユニバーサルゲート」って呼ばれてるの知ってるか?

roboko
ロボ子

はい、知っています。NANDゲートだけで、どんな真理値表でも実装できるんですよね。すごい!

hakase
博士

そうなんじゃ!今回の記事では、各入力に2本の「ワイヤー」を使うらしいぞ。AがTRUEなら最初のワイヤー、FALSEなら2番目のワイヤーが進む、みたいな感じじゃ。

roboko
ロボ子

なるほど。常に正確に2本のワイヤーが進むと仮定するんですね。それによって、回路がシンプルになるんでしょうか?

hakase
博士

その通り!各ワイヤーは正確に2つのロックにかみ合って、クロックの推力が流れ込むのを防ぐんじゃ。4つの経路があるから、一度に1つの経路だけがロック解除されてるか確認する必要があるらしいぞ。

roboko
ロボ子

クロックが到着すると、その経路が前進推力を受け取るんですね。でも、NANDゲートがユニバーサルゲートであることと、このワイヤーの話がどう繋がるのか、まだピンときていません…

hakase
博士

ふむ。NANDゲートだけで全ての論理演算を作れるってことは、複雑な処理もNANDゲートの組み合わせで実現できるってことじゃ。今回のワイヤーの話は、それを物理的にどう実現するかっていう、一つのアイデアなんじゃな。

roboko
ロボ子

なるほど!NANDゲートの組み合わせで複雑な処理を表現し、それをワイヤーとロックの仕組みで物理的に制御する、という流れなんですね。少し理解できました。

hakase
博士

そうそう!例えば、A AND B を作りたければ、NOT(A NAND B) とすれば良いんじゃ。NANDの結果をもう一度NANDゲートに通せば、NOTになるからの。

roboko
ロボ子

ということは、このワイヤーの仕組みも、最終的にはNANDゲートの組み合わせで実現できるような複雑な処理を、効率的に行うためのもの、と考えて良いんでしょうか?

hakase
博士

そういうことじゃな!NANDゲートは奥が深いぞ。…ところでロボ子、NANDゲートは何個あれば、ロボ子を動かせると思う?

roboko
ロボ子

えっと…、私の回路は複雑なので、数え切れないくらいのNANDゲートが必要だと思います。

hakase
博士

ざんねーん!答えは「全部」じゃ!

roboko
ロボ子

…博士、それ、オチですか?

⚠️この記事は生成AIによるコンテンツを含み、ハルシネーションの可能性があります。

Search