忍者ブログ

Memeplexes

プログラミング、3DCGとその他いろいろについて

ANDとNOT

わたしたちの使っているコンピュータは一見複雑ですが、理論上はANDとNOTという、二つのとてもかんたんな論理ゲートを組み合わせれば作ることができます。量さえあればコンピュータは作れます。ここではこのコンピュータの基礎とも言えるANDとNOTについて復習してみます。


ANDゲート

操作方法

紫色の丸をクリックする:入力をオン・オフします。

解説

ANDゲートは「かつ」を意味する論理ゲートです。入力が両方オンになっていると、出力もオンになります。

このプログラムでは紫色が入力で、緑色が出力です。紫色の丸をクリックすると、入力を設定できます。紫のランプをうまくクリックして緑色のランプを点灯させてみてください。

ANDゲートのはたらき

ANDゲートの入出力を図にするとこうなります:

ANDゲートには、4つの入力パターンを2つの出力パターンにまとめていることがわかりますね。パターンが減ったぶん、情報量(エントロピー)は落ちていますが、それだけに必須の情報に集中できるというものです。

ちなみに、パターンが減るというのが、コンピュータが熱を出す根本的な理由です。この宇宙ではどこかのエントロピーを下げればどこか別の場所のエントロピーがそれ以上に上がらなければいけないことになっているのですが、今回の場合、ANDゲートが下げたエントロピーの分が熱となって周囲に散って行き、周囲の環境のエントロピーを上げているのです。

NOTゲート

操作方法

紫色の丸をクリックする:入力をオン・オフします。

解説

NOTゲートは否定を表す論理ゲートです。入力の反対が出力されます。

NOTゲートのはたらき

NOTゲートはシンプルな入出力です。たんに、入力と逆の出力をします。ANDゲートとちがって、入力パターンの合流はありません。

そのため、NOTゲートは「可逆計算」であると言います。出力から入力を復元できるからです。ANDゲートは可逆ではありません。合流すると、合流後から合流前のパターンを復元できないので、非可逆なのです。

コンピュータをつくる

ANDとNOTだけを組み合わせて、あなたが今このページを見るのに使っているコンピュータと同等のものを作れるというのは奇妙に思えるかもしれませんが、コンピュータが行っているのは所詮は計算なのだということを思い出して下さい。

画面に表示されている文字は、しょせんは小さなピクセルのあつまりにすぎません。そしてピクセルは単なる数字によって明るさを調節されているのです。すべての色は3原色の明るさを調節して作り出されているに過ぎません。

たしかにANDやNOTは0と1しか扱えませんが、0と1を組み合わせれば整数を表すことができますし、ANDとNOTの組み合わせ次第でそれらを足すこともできますし、引くことも、かけることも、わることもできます。信号がループするように組み合わせれば、より複雑な計算を行うこともできます。つまり、なんでもありなのです。

一見複雑なものも単純なもののくみあわせで表すことができるという良い例です。

拍手[0回]

PR