2017年3月29日水曜日

飼い馴らされたデータが情報と認められた

水に落ちたインクのしずくは拡散していって、もはや取り返しがつかない。
けれど水に垂らした油を、力の限りにシェイクしても、いずれ水とは分離する。
時間は、混沌へと、常に、一方向へ突き進むといわれているけれども。

―― そういうわけで。
 当面のところ、世界はただひたすらに、一方的に「混沌としていく」というのは、例外のない話でなければならないはずでした。
 それは、水面に投じられた石が作る波の広がりは、たとえ障壁によって逆方向へ向かっても、一致団結して、もとの中心部には戻っていかないことからも、経験的に知られています。

みなもにゆれる波紋の不可逆と一点への収束の可能性


 うえに述べた景観を、いま一度繰り返すなら、池に落ちた蛙は波紋を拡げていくけれど、円形を描いた波が逆向きに集中した結果として一点に収束していくことは非常に困難である、ということです。
 しかしながら、〈時の矢〉もしくは〈エントロピーの増大〉は、なにも地球上の古池に限って語られることでもありませんので、宇宙規模で、ひとつこれを考えてみましょう。

 もしやよく例に出される、たとえ話でしょうか。アレンジして書くと。

陸地のない、一面が深い水に覆われた惑星を、ほぼ球体の形で想像する。
その惑星の水面に対して垂直に、巨大隕石並みの蛙を直撃させる。
蛙の落下で生じた波紋は、ただひたすらに、拡がっていくだろう。
そして最大円周を越えると。今度は、ちょうど反対側の一点へと波は収束していく。
そこから、勢い余った、不死身の蛙が飛び出してくるかも知れない。
―― 理解しやすいように、北極・南極・赤道を想定すれば、
北極に発した波動は、赤道を越えて進めばそのまま南極へと、一点に集中していくだろう。

 この、たとえ話をさらに全宇宙規模で考えてみれば。―― さすれば。
 宇宙は、球体の表面のように曲がっているらしいので、
 こちらで拡がっていった〈エントロピー〉の増大する波は、
 あちらで〈エントロピー〉を減少させていく可能性は、ゼロではない、と ――。

 その論理的な飛躍を無視すれば蛙の跳躍力だけが残るのでしょうけど。しかし最後の跳躍は。
 宇宙はとてつもない勢いで膨張しているらしいので、蛙が飛び込んだ波紋は、いつまでたっても、向こう側へは届かないかも知れません。

 ボルツマンは、自身の確率論にもとづく解釈を人類の決定的理論だとは、思っていないようでした。
 理論を決定的としないというその考え方の正当性は、歴史に明瞭にあかされています。
 人類の科学技術の進歩がこれ以上には想像できなくても、いつだって、その先の未来はありました。
 当面の説明が可能ならば、いまはそれでいいじゃないか、と。
 その結果残された〝混沌〟を巡って、解釈の混乱は続いているようですが、しかしそこに決定論的〈ラプラスの魔〉が見え隠れしているようで、なりません。

 制御可能なものを情報といって価値を見出し、もしそれですべてがわかった気になっても、きっと制御不可能な部分に「ふた」をして見えなくなっているだけでしょう。
 理解不可能な、その手からはみ出てこぼれた〝混沌〟は、存在しなくなったわけではありませんから。


〈未知〉の途上 〈不可知〉の価値
http://theendoftakechan.web.fc2.com/sStage/entropy/unknown.html

2017年3月27日月曜日

〈未知〉への途上で切り捨てたものを〝混沌〟という

 データ・情報・知識の区別として、次のような捉え方があります。
〔参照:大村茂雄「情報とは何か」『情報と経済活動』所収 (p.47)

  データ=評価されていないメッセージ
  情 報=データ+特定の状況における評価
  知 識=データ+将来の一般的な使用の評価
〔アドリアン・M・マクドノウ著『情報の経済学と経営システム』(好学社、1966 年)長阪精三郎訳 (p.78)

 データというのは、つまり記録の提示で、それが一定の評価の後に、情報として認められるという見解のようです。
 けれどデータ化されたインフォメーション(情報)が、
―― ノイズ(雑音)と区別されていく過程、
―― を、考えるならば、〈情報〉はデータの前提となるべきものとも認められましょう。
 この場合は、データ化以前の情報がそこにすでにある、という見解なわけです。
 いずれも、個人的な捉え方での意見に過ぎませんが……。
 シャノンの追求した工学的な通信の理論では、情報に意味は求められていませんでした。
 その情報理論では、受信した情報にはノイズが混ざり込んでいる前提がありました。
 そういう、受信した信号を読み出す行為は、情報化ではなく、やはり与えられた情報のデータ化ではないでしょうか。
 さらには。相互のコミュニケーションにおいて、〈情報〉とは、受け手側に〝価値〟をもたらすものとして考えれば。すると、そこにただあるだけの、相互伝達の皆無な〈情報〉は、それを〈情報〉と認める受け手すら想定し得ないことになります。

 〝価値が評価されたデータ〟をようやく〈情報〉とみなす見解は最初に見たとおりです。
 この場合には、データが〈情報〉を取り出す基盤となっています。
 〈情報〉の定義は、立場によって、かなり異なるようです。

可能性は混沌に潜む


―― このように考えていくと、一般には、
 やはり〈情報〉は、受け手にとって〝価値〟あるものと、いうことができるのではないか、と。
 するとそれはまた、与えられた者に「制御可能」と認定される内容でなければならない、のであるし。
 それ故、〈情報〉は「安心と秩序」に裏づけられて、そこに存在するのだ。と、みなされるなら。

 制御不能な〈情報〉というような概念は、そもそもその意味が成立しないでしょう。
 ところで、ランダムと均一は、対極にあるようです。

たとえば、0 と 1 で表現される二進数で、
「延々と均一に 0 が続く状態」に、多くの意味は求め難いけど、
「ランダムに 1 が混入する状態」は、何かしらの意味をもつ場合がある。
すなわち、何らかの違いがなければ、意味をもつ情報とはいえないわけで。

 この場合には、はっきりと、行き当たりばったりのでたらめなランダムさが、均一を破っているのですけれども。
―― けれども。
 熱力学や統計力学では、そういう果てしなき「散逸」の果ての〝混沌〟に「均一」を想定しているようです。
 ようするに、データ化をみずから諦めたそれらの〈情報〉を、エントロピーといい、その状態を均一に〝無秩序〟や〝乱雑〟と称して切り捨てたわけです。
 しかしながらそれらの状態は、それなりの細やかな視点で見れば、均一ではなく、多様な情報を秘めたデータの宝庫でもあったりするし、あるいは「新しい発見」とはそういう誰の眼も届かなかった、〝混沌〟のなかにあるようです。

 そうして西洋では、そういう偶然の発見や出会いを「セレンディピティ」というのですね。

2017年3月24日金曜日

〝場合の数〟で計算する〈情報エントロピー〉

イカサマなしのサイコロの場合だと、「〝わからなさの程度〟を示す」ともいわれる
〈情報エントロピー〉は、前回の計算で、約 2.6 ビットでした。
このとき 6 種の事象としての数字 ―― 出る目の確率は、均等に 6 分の 1 ずつです。
ではこれが、出る目の確率が異なる場合だと、どうなるのでしょう。

 確率が異なる場合といえば、〝場合の数〟が現実的に算出可能なので、それで計算してみることにしました。
―― というわけで、このたび「確率」の本を参考にしようと繙いておりましたら、〝場合の数〟というのは、数学の用語で、「そういう〈場合〉の数」というふうに全体的なさまざまの〈場合〉の数という用いられ方がされると再認できましたので、その点に関し、これまでの〝その場しのぎの表現〟を、つつしんで訂正させていただきます。
―― なので。「正しい表現」は、やはり専門家に確認してくだされませ。
(ひとはうろたえると、嘘を、嘘や誤魔化しで訂正しかねない、と追加で銘じておきませう。)

さて。これまで使っていた〈場合の数〉というのは、
教科書的には〈組み合わせ〉の数といわれるようです。
そうしてまた、〈ビット数〉での 2 進数の組み合わせの計算などは、
〈重複順列〉もしくは「積の法則」というものが、該当するようです。
これは、「ひとケタずつ数を選んでいく場合」に、使えるようです。
「数を選んでいく〈場合〉」だと、「数字の個数のケタ数乗」で、
―― 例として、2 進数で、数字が 0, 1 の 2 個だと、
ケタ数が n として、「 2 の n 乗」と、なります。

また、この〈重複順列〉は、左右の箱に球を分けた場合の数にも該当します。
箱の数は、原則的には何箱でもいいのですが、
2 進数で〈情報エントロピー〉を考える都合上、今回は、
左と右のふたつとします。これを 0, 1 の 2 進数の数字と、考えます。
―― 左を 0 としたら、右は 1 として、数字を入れます。

 ケタ数が、球の数となります。球にも、ケタ数に該当する数字を書いておきましょう。
 球数(ケタ数)を、比較のためにサイコロの目の数に合わせれば 6 個となる。―― のですが、事象の数は、球数プラス 1 となるので、5 個と設定し、これで 5 ケタの数字を組み立てます。
 この球をランダムに箱に投入すると、それぞれのケタが、入った箱の数字で 0 か 1 と決まります。
 1 ケタ目の球から、5 ケタまで、どちらの箱に入っていたかを 0 と 1 で記録していけば、
―― その〝場合の数〟は、2 の 5 乗と、なります。

これは〈重複順列〉の計算と同じです。箱の数が 2 で、球の数が 5 です。
球の数を n とすれば、2 の n 乗となります。
箱の数を変えるなら、2 の代わりに、箱の数を使いましょう。
これは次に出てくる〈組み合わせ〉の合計数と、一致します。

◆ 5 個の球を、左右の箱に入れる〈組み合わせ〉の確率を計算する


まず〈組み合わせ〉の種類とその確率を「左:右」で並べてみる

5 : 0 ⇒  1 通り  1 / 32
4 : 1 ⇒  5 通り  5 / 32
3 : 2 ⇒ 10 通り  10 / 32
2 : 3 ⇒ 10 通り  10 / 32
1 : 4 ⇒  5 通り  5 / 32
0 : 5 ⇒  1 通り  1 / 32

 合計  32 通り 【( 2 の 5 乗) 通り】

★〔ここで復習
自己情報量と定義されている量を、シャノンは、
ある事柄 X が起こる確率を P(X) としたとき、
これが与える情報量 H(X) として、

   H ( X ) = lb {1 / P ( X )} = - lb {P ( X )}

と表した。単位は〈ビット〉だから、対数の底は、2 となる。
lb は大文字で書けば LB で、2 を底とする対数記号)

この自己情報量に、さらにその出現確率をかけてから、全部足す。
――総和、つまりその集合に含まれるすべての[(出現)確率×自己情報量]を合計して、
期待値とする。これが〈情報エントロピー〉と呼ばれる量である。

H = - ∑ pi lb pi

★〔うえに示された式をもとに計算する

2 × { (1 / 32) * lb 32 + (5 / 32) * lb (32 / 5) + (10 / 32) * lb (32 / 10) }
 ≒ 2 × ( 0.03125 * 5 + 0.15625 * 2.678071905112638 + 0.3125 * 1.6780719051126378 )
 ≒ 2 × ( 0.15625 +  0.4184487351738497  + 0.5243974703476993 )
 ≒ 2 × 1.099096205521549
 ≒ 2.198192411

☆ 今回の計算では、約 2.198 ビットであった。

H ≒ 2.198

☆ 前回は、約 2.585 ビットが、サイコロの〈情報エントロピー〉と計算された。

H  6 * (1 / 6) * 2.584962500721156 ≒ 2.585

この結果は、
均等な確率のほうが〈情報エントロピー〉は大きくなるといわれていることと一致する

◆ この計算は、以下にリンクしてある資料ページの最後にある自前の計算式と同等内容となっています。
◇ JavaScript を使った【計算例】を、そのページ末尾にまたも、添付しておきました。


1948 ; 情報科学のエントロピー (情報エントロピー Ⅱ)
http://theendoftakechan.web.fc2.com/sStage/entropy/Shannon.html

2017年3月22日水曜日

サイコロのエントロピー

―― 前回のおしまいに、
 確率を〝逆数〟にしたあげく、その対数式にマイナス符号をつけるという手法は、〈情報エントロピー〉の基本手順となっています。
と書いたのですが、この表現には少々語弊(ごへい)があり、

「確率を〝逆数〟にしたうえで、対数式にマイナス符号をつける」
のじゃなくて、
確率を〝逆数〟で書くかわりに、対数式にマイナス符号をつける

という手法が、〈情報エントロピー〉算出の基本定理で用いられています。
シャノンの『通信の数学的理論』(岩波文庫版 90 ページ参照)の「定理 2 」です。
分数を使うよりも、短い横線(-)を計算式の冒頭に置いたほうが簡便ではあります。

ということは、するってと、確率が小さくなればなるほど、答えは大きくなるのです。
その基本的な計算の手順が、どうしてそうなるのか、計算式の変遷する形態を段階的に見ます。

そして、最後にそれをサイコロのエントロピーで考えてみて、
均等な 1 / 6 の確率が 6 個のときのエントロピーとは
単純な計算で、一応は算出できることが、今回の結論となります。

――以下、マイナス符号の位置を計算式の先頭に移動させる手順の羅列となっています。

〈情報エントロピー〉の計算

◉ まず「情報量」の計算式

   H ( X ) = - pi log pi

にいたる過程とその意味
● これは、確率の逆数の対数に〝確率を掛けたものを意味する

◎ 逆数の対数関数は、負の符号をつけて表現されたので

  X = log pi のとき(対数の底は問わない)
  - X = log (1 / pi) となり、また
  - X = - (log pi) なので
∴ log (1 / pi) = - (log pi)

さらに pi × log (1 / pi) = pi * log (1 / pi) という表記は、さらに
 pi × log (1 / pi) = pi log (1 / pi) と、簡便に表記されるので

● log (1 / pi) = - (log pi) より

pi log (1 / pi) = pi × { - (log pi) }
 = pi × { - 1 × (log pi) }
 = - 1 × pi × (log pi)
 = - { pi × (log pi) }
 = - pi (log pi)
 = - pi log pi

∴ pi log (1 / p) = - pi log pi

◉ 次に、互に排反の n 個の事象の確率をすべて足せば 1 となる確率の集合を考える。
――「確率」を全部足せば通常は 1 になる
(「排反」というのは「同時には起きない」ことをいう)

[p 1] + [p 2] + … + [p n] = 1

H を、確率の集合 ([p 1], [p 2], …, [p n]) のエントロピーであるというとき
 ∑ (シグマ)を、1 から n までの総和(全部足すこと)の表記記号として用いて

● pi log (1 / pi) = - pi log pi より

H = [p 1] log (1 / [p 1]) + [p 2] log (1 / [p 2]) + … + [p n] log (1 / [p n])
 = ∑ { pi log (1 / pi) }
 = ∑ { - 1 × (pi log pi) }
 = - 1 × ∑ (pi log pi)
 = - ∑ pi log pi

◎ 情報エントロピーというのは、情報量の世界の期待値にあたる
シャノンの定義した「情報量」は、〈ビット〉を単位とする、二択の回数で表現される。

自己情報量と定義されている量を、シャノンは、
ある事柄 X が起こる確率を P(X) としたとき、
これが与える情報量 H(X) として、

   H ( X ) = lb {1 / P ( X )} = - lb {P ( X )}

とあらわした。単位は〈ビット〉だから、対数の底は、2 となる。
lb は大文字で書けば LB で、2 を底とする対数記号)

この自己情報量に、さらにその出現確率をかけてから、全部足す。
――総和、つまりその集合に含まれるすべての[(出現)確率×自己情報量]を合計して、
期待値とする。これが〈情報エントロピー〉と呼ばれる量である。

   H = - ∑ pi lb pi

● すなわちこれが〈情報エントロピー H の計算式である

―― ここでようやくついにとうとう。
サイコロで考えてみるなら
1 / 6 の確率が 6 個、で計算すればよい

◎ 確率×自己情報量
   H (サイコロの目) = - (1 / 6) lb (1 / 6)
   = (1 / 6) lb 6

● この前作った、JavaScript を使った計算ページで、

lb 6 ≒ 2.584962500721156
これに、(1 / 6) を掛けたらいい。
つまりは 6 で割る。

さらにそれを、全部で 6 個足すなら結局、6 で割ったものに、6 を掛けることになる。
(2.584962500721156 ÷ 6) × 6 = 2.584962500721156

6 * (2.584962500721156 / 6) ≒ 2.585

約 2.585 ビットが、サイコロの〈情報エントロピー〉と計算された。
つまり、3 ビット以内ということは、2 × 2 × 2 = 8 種までの多様性で表現可能。

 そういうことか。均等に 1 / 6 ずつの確率だから、そうなるわなぁ。

2017年3月20日月曜日

〝逆数〟の対数は プラス・マイナスが逆になる

 ASCII 文字セットは、256 文字で構成されています。
 日本語版 Visual Basic 2.0 添付の『リファレンス』には、そう書いてあります。

 ASCII はそもそも 7 ビット 128 文字分で構成されています。その後、ISO 規格で、8 ビット文字が採用されて、これがいわゆる、8 ビット = 1 バイト文字として定番となりました。
 JIS 規格の文字セットでは、ASCII の 128 文字に、一部変更と追加が施されて、256 文字分の領域で表現されます。

 現在では、1 Byte = 8 bits 文字が、あたりまえとなりました。
 〈ビット bit〉の略号は〈 b 〉で、〈バイト Byte 〉の略号は〈 B 〉となっています。
 ですから、〈メガバイト MB 〉や〈ギガバイト GB 〉の略号の大文字〈 B 〉は、〈ビット b 〉ではなく、〈バイト B 〉の意味であるとして、区別できるわけです。
 でもって、ここから算数になります。
 この 1 Byte = 8 bits で 256 文字ということを覚えてたら、8 ビットはいかほどか計算するまでもないでしょうが、先日の〝指数の引き算は割り算として考える〟ということを逆にして〝指数の割り算は引き算として考える〟なら。

2 の 10 乗 = 1024 さえ覚えておけば、

   2 の 10 乗 ÷ 2 の 2 乗 = 2 の (10 - 2) 乗 = 2 の 8 乗

であることがわかるので、これから、

   2 の 2 乗 = 2 × 2 = 4
   1024 ÷ 4 = 256

と、暗算でも計算できそうな塩梅(あんばい)となります。また、

   2 の (10 - 2) 乗 = 2 の 8 乗
   2 の (2 - 10) 乗 = 2 の -8 乗

   1024 ÷ 4 = 1024 / 4
   4 ÷ 1024 = 4 / 1024

と、分数表示したときに、

 分母と分子が逆になる数を〝逆数〟といって、ここが第一ポイントです。
 〝逆数〟は、正しくは 1 が分子になる場合に、いうらしいです。
 ある数を〈 N 〉としたとき、〈 N 分の 1 〉をその〝逆数〟と称するわけです。
 これは、〈 N のマイナス 1 乗〉と、同じことを意味します。
 思い起こせば「累乗」を

   1 × N × N × N × N ……

と考えれば、「マイナスの累乗」は

   1 ÷ N ÷ N ÷ N ÷ N ……

なわけで、この最初の〈 N のマイナス 1 乗〉部分に注目した

   1 ÷ N = 〈 N 分の 1 〉

こそが ―― 説明しよう ――〈 N の逆数〉と呼ばれるのだ、と覚えておきましょう。
このとき、〈 N 〉という数字は〈 0 〉以外なら何でもアリだそうで、

   N = 4 分の 1 = 1 ÷ 4

ならば、〈 N の逆数〉は、〈 N 分の 1 〉 = (4 分の 1) 分の 1

   1 ÷ N = 1 ÷ (4 分の 1) = 1 ÷ (1 ÷ 4) = 1 × (4 ÷ 1) = 4

この〈 N 〉の数字を少し変えて、

   N = 3 分の 2 = 2 ÷ 3

ならば、〈 N の逆数〉は、〈 N 分の 1 〉 = (3 分の 2) 分の 1

   1 ÷ N = 1 ÷ (3 分の 2) = 1 ÷ (2 ÷ 3) = 1 × (3 ÷ 2) = 2 分の 3 = 1.5

というわけで。かくのごとく、
分母と分子が入れかわった状態が〝逆数〟と称されることになるのだ。

 最後の、掛け算で割り算がひっくり返る部分さえ、理解できるなら、否、理解できなくても。
(カッコのある計算で、カッコを外したときに、プラスとマイナスの符号が逆になる原理の発展版として考えれば次の如く)

   1 - (2 - 3) = 1 + (- 2 + 3) = 1 - 2 + 3 = 1
   1 ÷ (2 ÷ 3) = 1 × (÷ 2 × 3) = 1 ÷ 2 × 3 = 1.5

――いずれにせよ、うえの計算式に誤植はないと思うけれども、あったとしても。
 このことは「対数」の計算で、恐るべき能力を発揮することになります。
 いかに発揮されるのか。

   2 の (10 - 2) 乗 = 2 の 8 乗
   2 の (2 - 10) 乗 = 2 の -8 乗

   1024 ÷ 4 = 1024 / 4
   4 ÷ 1024 = 4 / 1024

だったので

   2 の 8 乗 = 2 の (10 - 2) 乗 = (1024 / 4)
   2 の -8 乗 = 2 の (2 - 10) 乗 = (4 / 1024)

なので、これを対数関数で表現すると、

   8 = lb (1024 / 4)
   -8 = lb (4 / 1024)

というわけで、このとき、4 を 1 に交換したら、

   10 = lb (1024 / 1)
   -10 = lb (1 / 1024)

「〝逆数〟の対数は プラス・マイナスが逆になる」
という、本日のお題の解説と、あいなった次第であります。
これはもっと簡単に、次のように訂正すべきでしょうか。
「〝逆数〟の対数には マイナス符号をつければよい」
この正しい表現がどうなるのかは、手近な先生にでも尋ねてみてください。

――と、いうわけで。
 lb は、2 を底とする対数( 2 進対数)の略号として、今後も、ISO 標準として、使っていきたく思います、のでよろしく。
 確率を〝逆数〟にしたあげく、その対数式にマイナス符号をつけるという手法は、〈情報エントロピー〉の基本手順となっています。

2017年3月18日土曜日

JavaScript で計算する常用対数と〈ビット〉数

 コンピュータの起原とか、日本での開発秘話について読書していたときのことです。。
 田原総一朗著『日本コンピュータの黎明』の 124 ページに、次のように書いてありました。

無理は承知だ。しかし、チャレンジャーには、無理だ、などという贅沢は許されないんだよ
 これが池田敏雄の口ぐせだった。

 どっかで、耳にした、セリフの起原までもが、わかっちまったのでした。


 ところで、少し前に、〝常用対数に 10 の自然対数を掛け算すると自然対数になる〟と知って、さっそく、計算式を作って試みたのでした。「常用対数」は、「 10 を底とする対数」で、「自然対数」とは「(自然対数の底) e を底とする対数」であります。
 JavaScript を利用して計算してみたところ、少々の誤差は残るものの、その通りの結果を確認できました。
―― が、このところ〈エントロピー〉に関わる資料を読んでいて紛らわしいのは、
〝 2, e, 10 が底の場合には、底の省略が可能である〟という「対数」での取り決めであります。

log 2lb / log eln / log 10lg

という、簡単明瞭に区別できる ISO 規格の記号があるのに、なぜ、それがあまり使われないのでしょうか?
 専門家であれば、無論、底が何かは、書くまでもないことなのでしょうが。
 JIS 規格の記載には「常用対数」と「自然対数」に並んで「 2 進対数」などと言葉はあれども、どうやら〈ビット〉数を算出する lb にいたっては、JIS 規格では採用すら、されていないらしく……。
 わざわざ、日本ではそのひとつを除外する理由が、専門家でない身にはわかりかねます。

 それはそうと ――。
 JavaScript で、常用対数の計算を直接可能とする関数はないようなのですが、
 この度、とある本に〝 2 を底とする対数に 2 の自然対数を掛け算すると自然対数になる〟と書いてあったので、

   ln N = ln 2 × log 2 N
   ln N = ln 10 × log 10 N

ならば、

   log 2 N = lb N = ln N ÷ ln 2
   log 10 N = lg N = ln N ÷ ln 10

という割り算で、求めることができるのであれば。

 これも、さっそく試してみたところ、多少の誤差は残るものの、まったくもって、その通りの結果となりました。
 というわけで、この下のほうでリンクしている資料ページの末尾に、【計算例】として、見本をのっけておきました。
 JavaScript のコードは、ページ末尾の HTML の近辺に記載しておりますが、文字のスタイルやレイアウトなどは、別途スタイル・シートを読み込んだり、またヘッダー内にも少々書いております。

function init() {
var i;
// set Num
var Str = '<OPTION value=1 SELECTED>1</OPTION><OPTION value=2>2</OPTION><OPTION value=2.718281828459045>2.718281828459045</OPTION>';
for(i=3; i<11; i++) {
Str = Str + '<OPTION value=' + i + '>' + i + '</OPTION>';
}
Str += '<OPTION value=16>16</OPTION><OPTION value=32>32</OPTION><OPTION value=64>64</OPTION><OPTION value=100>100</OPTION>';
Str += '<OPTION value=128>128</OPTION><OPTION value=256>256</OPTION><OPTION value=512>512</OPTION><OPTION value=1000>1000</OPTION>';
Str += '<OPTION value=1024>1024</OPTION><OPTION value=2048>2048</OPTION><OPTION value=4096>4096</OPTION><OPTION value=8192>8192</OPTION>';
for(i=10000; i<100000000000; i*=10) {
Str = Str + '<OPTION value=' + i + '>' + i + '</OPTION>';
}
document.getElementById('sNum').innerHTML = '<SELECT NAME="selN" id="selN" onChange="logMath(this.value)">' + Str + '</SELECT>';
}
// ln Math
function logMath(target) {
document.getElementById('lnMath').value = Math.log(target);
document.getElementById('lbMath').innerHTML = Math.log(target) / Math.LN2;
document.getElementById('lgMath').innerHTML = Math.log(target) / Math.LN10;
}

コピーして、参考にしていただくことは可能なのですが、注意事項として、
BODY タグ内に、 onLoad="init()" 〉の記述をしないと、
数字の選択肢としての、オプション・ボックスが存在しなくなります。
ページ読み込み時の、組み込み機能を使っているというわけです。

便利なのは、選択ボックスに一度フォーカスがあえば、そのあとは、
カーソルキーの上下で動作して、数字がずずいと変わっていくところです。
デフォルトで、フォーカスをあわせておくことも、組み込み時に可能なので、
ご希望で、お試しください。


情報エントロピー Ⅰ: 情報化とエントロピー教化思想
http://theendoftakechan.web.fc2.com/sStage/entropy/information.html

2017年3月16日木曜日

指数の引き算は割り算として考える

単位の話 またたび
思い起こすと、速度の単位は〝メートル毎秒〟などであらわされますが、
加速度になるとこれが〝メートル毎秒毎秒〟などと、わけのわからぬものになります。

これは、たとえば、〝 5 メートル毎秒毎秒〟の加速度という場合、
「 1 秒につき〝 5 メートル毎秒〟の速度が追加もしくは削減される」
ことを表現しています。
(ブレーキも、計算上は、加速度なのです。マイナスをつけて考えます。)

〝 5 メートル毎秒〟というのは、1 秒ごとに 5 メートル移動する能力ですから、
〝毎秒その能力が変化していく〟という状態なわけです。
だから、〝 5 メートル毎秒毎秒〟ということになるのですが……。
それがすなわち、加速している、という状態の表現になるわけですな。
――さっぱり、前に進めない、解説なのですけれども。

割り算で考える
このことは、割り算をあらわしている〈スラッシュ / 〉を使って書いてみると、
少しはわかりやすくなるかもしれません。
〝 5 メートル毎秒〟は〝 5 メートル / 秒〟と書くことになっています。

これが、〝 5 メートル毎秒毎秒〟の加速度ということであれば、
〝( 5 メートル / 秒) / 秒〟という具合になります。これで、
(毎秒 5 メートル) の速度が、毎秒( 1 秒ごとに)変化する、という次第です。

それでもって、この〝(メートル / 秒) / 秒〟の単位は、
〝メートル / (秒の 2 乗)〟とも、書かれます。

またこの単位を、割り算の〈スラッシュ / 〉を使わずに、
掛け算をあらわしている〈中黒 ・〉を使って書くと、
〈スラッシュ〉の右側にあった単位はすべて、「マイナス何乗」という表現になります。
〝(メートル) / (秒)〟は、〝(メートル) ・ (秒のマイナス 1 乗)〟というぐあいです。
―― そういう理由で。
〝(メートル / 秒) / 秒〟の単位は、
〝(メートル) / (秒の 2 乗)〟と同じということは、
〝(メートル) ・ (秒のマイナス 2 乗)〟となるわけです。

マイナスされた指数の話
「指数」の足し算は、掛け算になりましたが、ようするに、
「指数」の引き算は、割り算になるというわけで、こういうことになってしまうのです。
どういう計算かというと、たとえば、

10 の 5 乗 × 10 の 3 乗 = 10 の (5 + 3) 乗 = 10 の 8 乗
10 の 5 乗 ÷ 10 の 3 乗 = 10 の (5 - 3) 乗 = 10 の 2 乗

10 の 3 乗 ÷ 10 の 5 乗 = 10 の (3 - 5) 乗 = 10 の -2 乗
1,000 ÷ 100,000 = 10 の (3 - 5) 乗 = (1 / 100)

(10 のマイナス 2 乗) は、100 分の 1 つまり、(1 / 100) です。
これは、割り算で計算してみても、答えはいっしょです。

 こう考えると、

(10 の -1 乗) は、10 分の 1 つまり、(1 / 10) となり、
(10 の 0 乗) は、1 分の 1 つまり、(1 / 1) で、簡単にいうと、1 なわけですね。

―― 0 乗 は 1
 最後の結果 (10 の 0 乗) は、少しばかり、ふに落ちないでしょうか。
 ならば、累乗(冪・べき)ということについての説明を、こう考えてみてはいかがかと。
 同じ数を何回掛けるか、という表現につけ足して、10 の 累乗であれば、
「 1 に、10 を何回、掛けるか、それとも割るか」として考えてみれば、少しは納得できるかもしれません。

 たとえば、3 の 累乗なら、
「 1 に、3 を何回、掛けるか、それとも割るか」として考えれば、

1 × 3 × 3 × 3 = 1 × (3 の 3 乗) = 27

なので。
 このとき、3 を、1 回も掛けないのであれば、答えは、1 となりましょう。
 ゼロを掛ければ、答えはいつもゼロなのですが、何も掛けないのなら、答えは、もとのままというわけで。