2013年7月19日金曜日

コンラート・ツーゼ 「計算する宇宙」その4


本日は,Chapter2の2節目,「About Computers」です。

最初は章ごとにまとめようかと思いましたが,それぞれの節に興味深いことがぎっしり詰まっているため,節ごとのまとめでちょうどいいなーと感じております。

本節がフォーカスしているのは,「アナログコンピュータとディジタルコンピューターの比較」です。


アナログとディジタルの違いは,工学系分野において度々重要性が強調されます。
以下に簡単な説明を行います。

下図がアナログ量を示しています。










横軸は時間です。 
どの時間においても,常に値があります。 

このアナログ量をディジタル量に変換するために必要なのが,下図に示すサンプリングという操作です。





このように,一定間隔ごとに値を取得します。
すると,下図のように,飛び飛びのディジタル量が得られます。











このそれぞれの値をサンプルと呼びます。
サンプルとサンプルの間には,値は存在しません。

こうして得られた飛び飛びの値は,下図のように,コンピュータ内で,配列として扱われます。















アナログとディジタルについて基本的事項の説明は以上です。
それでは,本節で記述されている,アナログコンピュータとディジタルコンピュータの違いを以下にまとめてみます。

アナログコンピュータ
  • アナログコンピュータでは,全ての値は,速度や回転角などの,何らかの物理的な量として表される。
  • 例として挙げられているのは,計算尺です。計算尺では,長さという物理量で値が表されます。
    尺をスライドさせて,目盛を読むことで計算を行う道具です。
    スライドは目盛毎にカチッ
    カチッと動かすのではなく,自由にスーッと動かすことができます。すなわち演算がアナログ的です。
    また,目盛の間の点が演算結果になり得ます。つまり扱っている値が,飛び飛びでない,アナログ量です。
  • 最大値とシステムの計算精度により,表される値が制限を受ける。そして,最大値の方はシステムの構成により明白に定義されるが,計算精度は統計的にしか測れない。
    例えば,計算尺では,一つの尺の目盛の最大値は明らかに分かります。
    しかしながら,計算精度は,気温や湿度などによる尺の歪みによって,計算するたびに異なります。

ディジタルコンピュータ
  • 全ての値は,数値として表される。
  • アナログコンピュータと異なり,同じ入力に対して,同じ操作をすると,常に同じ結果が得られる。
    さらに,結果が含む計算誤差の程度も同じである。
  • ディジタルコンピュータは有限長の値しか表現できないため,数学モデルから乖離している。

上の2つを「そうだよねー」と納得した所で,3つ目の部分に目が止まりました。

例えば,
a*b / a = b 
という式が,a = 0以外において,一般妥当性を持つことを,どの有限オートマトンも一般的にかつ正確に表すことができない,とのことです。

アナログとディジタルの話は,アナログディジタル変換,ディジタルアナログ変換,サンプリング周期などといった,ともすれば工学的な実用性の方面の話ばかりになってしまいがちです。
そのため,ディジタルコンピュータの話の中で,数学的に妥当であるかどうかという話がでてくるのはとても面白いと思いました。


なお,ディジタルコンピュータでも扱う桁数をどんどん増やしていくことで,数学理論に近づけていくことはできるとのこと。

「我々は,無限の概念に馴れ親しみすぎているため,無限についての記述が全て,級数展開や極限操作に関連していることを忘れがちである。」
とここでツーゼが述べています。

ディジタルの精度を上げていくことは,極限操作と捉えられるってことですね。

そして,オートマトンで数学的記述を表現できる手法を解説しています。
曰く,n 個の状態を持つオートマトンを n+1 個の状態を持つオートマトンに変換する命令が存在する。
ここで級数展開を用いて,n → ∞ の極限をとると,無限個の状態を持つオートマトンが完成する!とのことです。

有限オートマトンに対比させて,無限オートマトンといった感じでしょうか。
オートマトンの話で,級数展開や極限がでてくるのがとても新鮮です。


さて,本節の最後では,ディジタルとアナログを組み合わせたハイブリッドコンピュータについて述べています。

このアイディア自体はとても単純なもので, ディジタルコンピュータとアナログコンピュータを隣に並べ,間をADC(アナログ/ディジタル コンバータ)とDAC(ディジタル/アナログ コンピュータ)で繋ぐというものです。

そして,入力された問題を小分けし,ディジタル向きの処理はディジタルコンピュータに,アナログ向きの処理はアナログコンピュータにそれぞれ渡すというシステムになっています。

一見単純そうで,「実際にこんなもの存在するんだろうか... 」と思いましたが,ツーゼはここで素晴らしい例を挙げています。

人間のニューロンにおける情報伝導は,パルス信号が担っている。
そして,このパルス信号は,正規化された振幅と継続時間を持つため,ディジタル的な信号といえる。
しかし同時に,ある一定時間に発生するパルスの数はアナログ的な量である。

そうですよね。
人間はハイブリッドコンピュータなんですね。
ニューロンは,ある閾値を越える入力があると「発火」します。
発火しているかしていないかは,とても明確にわかるため,これはディジタル的です。

そして,神経の研究から,入力の強さが増すと,パルスの発火頻度が増加することを示唆する結果が得られているようです。
こちらはアナログ的なものです。

すなわち,人間は,信号の有る無しを判断する処理をディジタルコンピュータで行い,信号の強度を判断する処理をアナログコンピュータで行う,ハイブリッドコンピュータであると言えるのではないでしょうか。


本節では,アナログコンピュータとディジタルコンピュータを通じて,数論と人間の神経システムについて学ぶことができました。

引き続き,読んで行きたいと思います。

なお,神経システムについての本ですが,以下に挙げます本も,幅広い分野の好奇心をくすぐるもので,とてもオススメです。













0 件のコメント:

コメントを投稿