2009年01月01日
コンピュータは2進法が効率的でとかいう話
何じゃこりゃ。
なぜコンピューターは2進法で、人間はそうでないのか - 悪魔の妄想
実は、2進法には数学的な根拠があります。
最も数少ない部品で数字を表すことができるのは「e進法=2.71828・・・進法」だからです。
「点灯するか、消灯するか」の2状態しかないランプを使って、数字を表すことを考えてみましょう。
例えば999までの数を、2進法、3進法、10進法で表してみたのが下の図です。
2進法では10個(1×10:引用者追記)のランプ、3進法では14個(2×7)のランプ、10進法では27個(9×3)のランプが必要です。
2進法が最も効率的ですね。.........
1.実生活上2進法は不便。
実際に、ちょっとやってみれば分かりますよね。
1と0を、ずらずらずらーっと連続して書くのは、どう見ても無駄だし、間違いやすい。
数字の種類が少なければ、数字の桁数は長くなる傾向にある。
かといって数字の種類を増やせば、今度はその、たくさんの種類の数字を扱うのが煩雑です。
ということは、数字の種類と長さの間で、最もよいバランスがとれることになります。
前者がコンピュータで2進数が使われることの説明、後者が人間が10進数を使う(というか効率的であるはずなのに2進数を使わない)説明らしいのですが、何のことはない、前者の説明での、ランプの横方向の数+1(前者の説明ではランプ全部オフが0なので)が後者の説明での数字の種類、前者の説明でのランプの縦方向の数が、後者の桁数を表しているだけで、両者は同じことを説明しているだけです。
同じことを説明しているにも関わらず、なんで結論が違うのでしょう?
ランプの数、とかもっともらしいことを書いてますが、そもそも当初からランプという「ON、OFF」しかない2進数に適した素子を使うという前提で話しているからそうなるのであって(2進数に適した素子を使うなら2進数がもっとも高効率になるのは当たり前)、数字の種類を一素子あたりの採り得る状態数、桁数を素子数と考えれば、3状態を採り得る素子さえ使ったなら、2進数で処理すると10素子必要なのに3進数だと7素子ですみ、3進数の方が効率的になる。
1素子10状態を記録できるような素子が開発できるのならば、10進数で処理するのがたった3素子で処理できて効率的、というそれだけのことだと思うのですが。
実際には、こちらの方も書かれているとおり3状態の素子を作るのは製造的にも運用的にも困難が多い(いわんや10状態をや)ので、ON/OFFのビット素子が使われている(そしてそれこそが2進数が使われている理由)のだと思いますが、件の元記事の方は出だしの問題意識自体が
よく「2進法はONとOFFだけなので、実際に電気回路を作るのが簡単だから」という説明が為されています。
でも、電気にはプラスとマイナスがあるのだから、 プラス、マイナス、ゼロの3つを使った3進法の方が、ひょっとしたら効率的ってことはないですかね。実は、2進法には数学的な根拠があります。
という形で、3状態を採り得る素子の存在可能性を否定せずに、しかしそれが使われずに2進数素子が使われる理由を数学的に説明しようとしています。
である以上、論証の中でも3状態素子の可能性を考慮して論証しなければならないにも関わらず、いきなり「2状態素子でもっとも効率的に表現できるのは2進数だ」等とそもそもの「3状態素子の可能性を否定した論証」をしてしまってるから変なことになってしまってる。
当初の疑問どおり、3状態素子を考慮していたなら、3状態素子ならもっとも効率がいいのは3進数という結論になり、にも関わらず3進法や3状態素子が利用されないのは数学ではない別の理由があるのだと結論付けられたはずなのですが。
=== 1/3 追記 ===
それはそれとして、ネイピア数eが2と3の間にあるということについて私も無根拠の妄想を爆発させれば、なんとなく最小の素数2つの間にそれが存在するという事に何か意味があったりするのかな、とか思ったりする。
|
素数に憑かれた人たち ~リーマン予想への挑戦~
posted with amazlet at 09.01.03
John Derbyshire 松浦 俊輔 ジョン・ダービーシャー
日経BP社 売り上げランキング: 103751
おすすめ度の平均:
数学の魔性を知る 素人向けに頑張って数学の解説をしている 不思議の国の住人ゼータ関数 歯ごたえのある一般人向けリーマン予想解説本 リーマンの予想 |
最近上記の本を読んだ(正確には、3分の1くらいしかまだ読んでないけど)のだけど、自然数全体の集合をn、素数全体の集合をpとした場合に、
という美しい式が成り立つらしい(Πは全体の乗算を表す記号)。
いや、数学に関しては本当に無知なもんで、素数なんて暗号とかには使えて便利だけど、単にそれより小さい数に因数がないだけの単なる偶然の数の集まりじゃないの?ぐらいにしか捉えてなかったんだけど、まさか、自然数なんていう直感的といえばこれ以上直感的なものもないような数集合と、こんなきれいな関係が成り立つような数集合だとは思いもしなかった。
で、eとの関係は、まだ証明されていないらしいのだけど予想されている素数定理というのがあるらしくて、π(N)というのを自然数Nまでに含まれる素数の個数を求める関数と定義すると、
あるいは
といった関係が成立すると予想されているらしい。
この辺の美しさから妄想すると、eが最小の素数2つの間にあるのは実はちゃんと意味があって、実はあらゆる素数、そして数の原理の秘密は2と3の間に詰まっている、みたいな形になったりしないのかな、とか妄想してしまいます。
アイヌリンク:
世界の先住民族団結 来春ネット設立 権利回復へ毎年サミット アイヌ民族主導
アイヌ民族と海外十一カ国の先住民族が参加した七月の「先住民族サミット」の元実行委員会メンバーが来春、世界の先住民族のネットワークを設立する。二〇一〇年にカナダで開かれる主要国首脳会議(G8サミット)以降、先住民族サミットと同様の会議を毎年開催する。権利回復を粘り強く各国首脳に提言していく考えだ。
いつも拝読してます。
ちょうど今さっき奇遇にもそれっぽい記事を読んでました。
生物のDNAはA/T/C/Gの4つから成り、
AとT・CとGは必ず対構造をしているんだそうです。
そのらせんによると。
http://japan.cnet.com/blog/murakami/2008/04/27/entry_27000911/
この構造が、途中の状態が、まさに2.7付近なのかも!?とか思いました。。
というか、不完全な状態も含め2.7を割らない加減があり、故に、
二次元バーコードのエラー訂正みたいに利いている、とか。。
連続POSTすみません。
そういえば両親と子供、っていう状態も、マクロ的に俯瞰すると
不完全な子供を0.7と見れば2.7付近とか言えるのかもしれず
それが社会の最低単位を構成しているようにみえます。
これも何かを意味するのでしょうか。徒然に。
Posted by: dokasen at 2009年01月01日 19:18実際3値論理コンピュータありますしねぇ
http://www2a.biglobe.ne.jp/~mizuki/lifelog/0.htm
エントリほどまじめな話じゃないけど
以前ゴルゴ13で電圧で3状態を実現するとかいう
話があったかと。
まあ結局その技術は抹殺されちゃうんだけど、
ちょっと思い出したので書いてみました。
どもです。
> dokasenさん
うーん、そういういろいろの妄想(悪い意味ではなく)を広げるのは、それが小説とか新たな創作アイデアの基点となる可能性もあるので、それと判ってやっている分には楽しめるのですが、
元記事のように「妄想」ではなく「根拠(=事実)」と書いているにも関わらず、それがいきなり間違っているような状況では、萎えてしまってそれ以上楽しめません...。
> 二次元バーコードのエラー訂正みたいに利いている、とか。。
二次元バーコードのエラー訂正とDNAの復元可能構造とは明らかに違うと思います。
前者はチェックサム(よりはかなりかしこいですが)みたいなもので、数学的に一部のデータが壊れても計算で復元できる、というものですが、
後者はもっとプリミティブで、鋳物と鋳型が一体化しているようなもので、一方が壊れてももう一方から復元できるという、単純にデータの2重持ちです。
> 名無しさん
確か、元記事の関連エントリだったかどっかで、ENIACは10進法を使っていたとの話がありました。
Wikipediaを見ると実際そうみたいですね。
http://ja.wikipedia.org/wiki/ENIAC
> まぐろさん
どうも、お久しぶりです。
お元気ですか?
私は、自分で
> 3状態を採り得る素子さえ使ったなら、2進数で処理すると10素子必要なのに3進数だと7素子ですみ
あたりのくだりを書きながら、二進化十進表現(BCD)のこと思い出してました。
http://ja.wikipedia.org/wiki/%E4%BA%8C%E9%80%B2%E5%8C%96%E5%8D%81%E9%80%B2%E8%A1%A8%E7%8F%BE
Posted by: kokogiko at 2009年01月02日 11:14>素数なんて暗号とかには使えて便利だけど、単にそれより小さい数に因数がないだけの単なる偶然の
単なる奇数の…、ですよね。わかります。
Posted by: とおりすがり at 2009年01月05日 23:08![[ここギコ!]](http://kokogiko.net/logo.png)

数学の魔性を知る
不思議の国の住人ゼータ関数




・MovableType 3.2、MT::App::Trackback.pmの修正(selvirremdor)
・MovableType 3.2、MT::App::Trackback.pmの修正(antulaseesi)
・3D PaPaGO! 登場(pereezdkv)
・MovableType 3.2、MT::App::Trackback.pmの修正(spezinstr)
・MovableType 3.2、MT::App::Trackback.pmの修正(dimdimov)
・MovableType 3.2、MT::App::Trackback.pmの修正(deanteywee)
・MovableType 3.2、MT::App::Trackback.pmの修正(keyjiolso)
・MovableType 3.2、MT::App::Trackback.pmの修正(leyliautumfe)
・MovableType 3.2、MT::App::Trackback.pmの修正(selvirremdor)