ようこそ!浜村拓夫の世界へ

    ブログ内検索

    最近の記事

    ブックマーク数の多い記事

    Blog Translation

    Powered By FC2ブログ

    Powered By FC2ブログ
    ブログやるならFC2ブログ


    FC2ブログ LOGIN

    with Ajax Amazon

    データと処理

    このエントリーを含むはてなブックマーク はてなブックマーク - データと処理 あとで読む
    ●勉強して、実践してみて分かったこと
    プログラミングとは一言でいえば、データを扱うための処理を作ることだった。
    これ以上でもなければ、これ以外でもない。

    どんなに複雑なコンピューターのプログラムであってさえも、その構成要素は、
    データ
    処理
    というたった2つの要素に分解、還元できる。

    このことに気付くと、プログラミング技法の学習は、スッキリとした見通しのもとに進めることができる。

    ●処理の工夫
    データをうまく処理するための仕組み、仕掛けが今までいろいろと発案されてきた。

    関数、オブジェクト、クロージャ

    関数処理です。入力と出力があります。
    オブジェクトは、データに処理がくっついたものです。
    クロージャは、処理にデータがくっついたものです。



    スコープデータが保存されている場所です。
    スコープあたりの処理の数で、クロージャ、オブジェクト、関数を分類できます。



    スコープあたりの処理の数


    分類スコープの数処理の数
    クロージャ1つのスコープ1個の処理
    オブジェクト1つのスコープ複数の処理
    関数スコープなし1個の処理


    1つのスコープ(データを扱う領域)に対して、処理が何個設けられるのかで、関数、オブジェクト、クロージャを分類することができると。
    データと処理の関係に着目することで、プログラムの仕組み、仕掛けがどうなっているか明確に理解できるようになる。

    ●1と0の足し算と引き算
    プログラムの実行、すなわちデータの処理は、CPUで行なう。
    CPUは何をやっているのか?

    電機仕掛けのCPUは、スイッチのオン/オフによって、1/0という二つの値(2進数)を扱っている。
    現在のコンピューター(いわゆるフォン・ノイマン型のコンピューター)は、実は1と0の足し算と引き算をひたすら行なっているだけなのだ。

    ・全てのデータは、1と0の二値によって表現される。
    ・全ての処理は、足し算と引き算によって行なわれる。


    現在のプログラミング技法は、誰でも理解できる原理の上に築かれている。
    プログラミング、そしてコンピューターサイエンスは決して難しいものではない。

    ●プログラミングの未来
    量子コンピューターが登場したら、プログラミング技法は何か変わるだろうか?

    量子コンピュータ - Wikipedia

    量子コンピュータ (りょうし-) は、量子力学的な重ねあわせを用いて並列性を実現する次世代のコンピュータ。



    量子コンピューター - 近未来最先端軍事テクノロジー

    ■[半導体の終焉]
    現在のコンピューター、フォン・ノイマン型はあらゆる情報を二進数の数字に置き換えて計算処理を行っているが、二進数は「0」と「1」の2つの数字だけで処理を行っている。
    コンピューター内では、電気が流れなければ「0」、流れれば「1」と認識するが、半導体が原子レベルにまで微細になると電流すなわち電子が量子力学でいう波の性質を現し「トンネル効果」によって電子は絶縁体をすり抜けて隣の回路に移動してしまう現象が起こる。
    こうなると回路の役目は果たさなくなり半導体としての機能が失われてしまうのである。
    つまり半導体はこれ以上に小さくする事は出来ないのである。



    ■[量子コンピューター]
    量子コンピューターは、1985年にイスラエル生まれの英オックスフォード大教授デビッド・ドイチュによって基本的な理論が提唱された。
    量子力学を基礎にした重ね合わせ(スーパーポジション)の原理を用いる事によって、従来のコンピューターの様に「0」、「1」の二種類だけで処理していくのではなく、「0」と「1」が重ね合った状態を無数に用意して、それぞれに情報を処理する事で一度に大量の情報処理が行える事が可能。
    このため量子コンピューターは、素子2つで2の2乗、素子3つで2の3乗、4つなら2の4乗のデータを同時に出力でき、素子が32個あれば約40億のデータの同時出力が可能になり、1台でPC数億台分に匹敵する想像を絶した性能を有する事となる。
    量子情報処理では「0」と「1」の状態が共存している表現を1キュービット(quantum bit 量子ビット)とし、これを最小基本単位としている。
    従来の情報処理、2進法の基数(バイナリー・ディジット binary digit)ビットと対応しているが、区別する為に便宜上わけている。



    量子コンピューターが実現したら、1と0の足し算引き算とは違う計算方法が必要になってくる。
    しかし、それでも依然変わらないものがある。
    それは、量子コンピューターにおけるプログラミングでも、従来と同じくデータを扱うための処理を作ることに変わりはないということだ。

    量子コンピュータとは(1) - 暗号を短時間で破る超高速性能の秘密

    ・全てのデータは、1と0の重ね合わさった状態で表現される。
    ・全ての処理は、(1)量子演算を繰り返して正解の確率を高め、いったん結果を取り出す→(2)従来のコンピューターで検算すればすぐに正解かどうか判明する、という手順で行なわれる。


    はてなダイアリー > キーワード > 量子コンピュータ

    数学的にはチューリングマシン(TM)の発展である,量子チューリングマシン(QIM)として定式化される.
    TMとQTMの相違点は,遷移関数が複素数体への写像になっている点である.



    量子コンピューターは、2020年頃に実用化されるという予想もある。
    長生きすれば、生きている間に量子コンピューターを使う機会に恵まれるかもしれない。
    量子コンピューターによって、膨大な可能性の中から1つの真実を見つけ出す=シミュレートしてみたいものがある。
    そのためのアルゴリズム、モデルを今のうちから用意しておきたい。

    ようこそ量子 量子コンピュータはなぜ注目されているのか (丸善ライブラリー)ようこそ量子 量子コンピュータはなぜ注目されているのか (丸善ライブラリー)
    (2006/12/12)
    根本 香絵、池谷 瑠絵 他

    商品詳細を見る
    関連記事

    コメント

    コメントの投稿


    管理者にだけ表示を許可する

    トラックバック

    トラックバックURL:
    http://hamamuratakuo.blog61.fc2.com/tb.php/228-76a1ef02

    FC2Ad