「プログラムを書くと、その通りにコンピュータが動く」という説明に違和感を覚える人は少なくありません。
特に、「人間なら報酬や意思があるから指示に従うが、機械には動機がないのになぜ動くのか?」という疑問は、本質的で非常に面白い視点です。
この記事では、プログラムが動く仕組みを「命令」「エネルギー」「物理法則」という観点から分かりやすく解説します。
コンピュータは「意思」で動いているわけではない
まず重要なのは、コンピュータは人間のように「考えて従っている」わけではありません。
機械には「報酬が欲しい」「命令に従いたい」という感情や目的は存在しません。
コンピュータは、物理法則に従って電気信号が変化しているだけです。
つまり、「従う」というより、「そういう構造になっているから変化する」という方が近いです。
ドミノ倒しに近い考え方
質問にあるドミノの例えは、実はかなり本質に近いです。
ドミノは「倒れたい」と思っているわけではありません。
重力と形状の条件によって、一定条件で倒れるだけです。
コンピュータ内部でも似たことが起きています。
| ドミノ | コンピュータ |
|---|---|
| 重力 | 電気エネルギー |
| 倒れる | 電圧変化 |
| 連鎖 | 論理回路 |
| 配置 | 回路設計 |
つまり、プログラムとは「電気の流れ方を設計したもの」と考えると分かりやすくなります。
CPUは電気で動いている
コンピュータ内部では、大量のトランジスタが高速でON/OFFしています。
このON/OFFが「0」と「1」になり、計算や命令実行になります。
CPUは電源から供給される電気エネルギーによって動いています。
つまり、永久機関ではなく、常に外部エネルギーを消費しています。
プログラムは「電気の通り道の設計図」
例えば、次のような簡単なコードがあります。
if (x == 1) { y = 5;}
人間から見ると「条件を判断している」ように見えます。
しかし物理的には、電圧状態によって回路が切り替わっているだけです。
つまりCPU内部では、電気信号が決められたルール通りに変化しています。
なぜ命令通りに動けるのか
これはCPUが「命令セット」という固定ルールを持っているからです。
CPUは特定のビット列を見ると、それを決まった動作として解釈します。
例
- あるビット列 → 足し算
- あるビット列 → メモリ読み込み
- あるビット列 → 条件分岐
つまり「命令」というより、「入力された形に応じて物理的に反応している」と言えます。
「動機」は存在しない
質問で非常に鋭いのは、「機械には動機がないのに、なぜ動くのか」という点です。
実際、コンピュータには動機や意志はありません。
人間は「命令されたから働く」と考えますが、機械はそうではなく、単に物理法則に従って状態変化しているだけです。
つまり、機械は“従っている”のではなく、“変化している”だけなのです。
プログラムは抽象化された物理現象
普段私たちは「アプリ」「プログラム」「AI」などを高レベルな概念で見ています。
しかし最終的にはすべて、電気が流れるか流れないかの世界へ変換されています。
その意味では、プログラムも物理現象の一種です。
重力の代わりに「電位差」がある
ドミノには重力がありますが、コンピュータには「電位差」があります。
電圧差によって電子が流れ、それが回路内で変化を引き起こします。
つまりコンピュータの“動力”は電気です。
永久機関ではない理由
コンピュータは永久に動き続けるわけではありません。
電源が切れれば停止しますし、熱も発生します。
これはエネルギー保存則に従っています。
CPUが発熱するのも、電気エネルギーが熱へ変換されているからです。
AIも最終的には物理現象
最近はAIが「考えている」ように見えますが、AIも最終的には巨大な数値計算です。
そこにも意志や報酬感情があるわけではなく、電気信号が大量に処理されているだけです。
ただし、人間から見ると非常に複雑なので、知性のように見える場合があります。
まとめ
プログラムが動くのは、「機械が命令に従いたいから」ではありません。
CPUや回路が、電気エネルギーと物理法則に従って状態変化しているだけです。
ドミノが重力で倒れるように、コンピュータも電位差と回路設計によって動いています。
つまり、プログラムとは「電気の流れ方を記述した設計」であり、その背後にはしっかり物理法則とエネルギーが存在しているのです。


コメント