というわけで、科学技術系の記事第一回です。
今回は何かと話題な「量子コンピュータ」についてです。
…なに?使い古されているネタ?もう知っている?
いえいえ 今回は「研究者」の目線から記述させていただきます
なんせ、ぼくは大学でこれ関係の研究を第一志望にしているのです!
…あ、すいません
志望しているだけで、研究はまだ始まっていな(ry
---------------------------------------------------------------
1.まずは古典コンピュータについて知ろう
まず、今までのコンピュータは「古典コンピュータ」といわれています
これらは、簡単に言えば「スイッチのオンオフ」を使って動作しているんです
例えば、スイッチのオンを1、オフを0としましょう
スイッチが一つだけなら
0
1
の二通りの組み合わせを表現できます
スイッチが二つになれば
00
01
10
11
の四通りの組み合わせができますね
こんな感じにスイッチを増やして「情報量」を増やしていきます
このスイッチを「ビット」というわけです
2.アルゴリズム
さて、そんな感じに動作しているわけですが、もちろんそれだけで動いているわけではありません
コンピュータには「アルゴリズム」が必要不可欠なんです
現在のコンピュータは、そのスイッチの組み合わせで情報を保存します
逆に言えば、大量の情報があるため「情報の検索の仕方」が重要なのです
例えば、図書館でほしい本があるとしましょう
「一冊一冊調べつくして、どれが欲しい本か吟味」するとどうなるでしょう?
バカみたいに時間がかかりますね
普通の人は「本の種類」「本の題名」「作者の名前」などをもとに探すはずです
圧倒的にこっちのほうが早いでしょう
つまり、情報の検索の仕方で「検索にかかる時間」が変わることがわかりますね
また、情報の検索の仕方もそうですが「情報の保存の仕方」も大事です
単純な足し算について考えましょう
当たり前ですが、一つ一つの足し算の結果を保存したら、コンピュータはすぐにパンクします
10という数字に対してだけでも
10=9+1
10=8+2
10=7+3
10=6+4
10=5+5
と5通りあるわけですから
さらに「小数」「負の数」なんてものも考えだしたら、キリがありません
じゃあどうすればいいかというと、足し算の結果を保存するのではなく「足し算のやり方」を保存するほうが手っ取り早いでしょう
そうすれば、先ほどの「結果を保存する」に比べて明らかに保存量が減ることがわかります
このように「情報の検索の仕方」や「情報の保存の仕方」などについて
「コンピュータにやさしく」「時間もかからない」、そのような方法を「アルゴリズム」といいます
コンピュータはアルゴリズムがないと「総当たりで計算」します
しかし、ここで計算のやり方を工夫することで「計算の時間が短くなる」のです
アルゴリズムの重要性は分かりましたでしょうか?
---------------------------------------------------------------------
今回は古典コンピュータについて簡単に述べました
次回からは、「古典コンピュータの限界」について話していきたいと思います