トップQs
タイムライン
チャット
視点

理論計算機科学

計算機を理論的に研究する学問 ウィキペディアから

Remove ads

理論計算機科学(りろんけいさんきかがく、英語:theoretical computer science)または理論コンピュータ科学は、計算の理論的基礎を研究する学問で、計算機科学の一分野である。計算を数理モデル化して数学的に研究することを特徴としている[1][2][3]。「数学的」という言葉は広義には公理的に扱えるもの全てを指すので、理論計算機科学は広義の数学の一分野でもある。理論計算機科学では、チューリングマシンなどの計算モデルを扱う。

この分野のテーマの例を以下に挙げる(特に意図や理由のある選出ではない)。

Remove ads

範囲

正確な研究範囲を述べるのは容易ではないが、ACMSpecial Interest Group on Algorithms and Computation Theory英語版 (SIGACT) は同グループの目的を理論計算機科学の振興であるとしており、その対象範囲を次のように定義している[5]

アルゴリズムデータ構造計算複雑性理論並列計算分散計算、probabilistic computation、量子計算オートマトン理論、情報理論暗号理論プログラム意味論検証機械学習計算生物学、computational economics、計算幾何学、computational number theory and algebra。

ACMの学術誌 Transactions on Computation Theory ではこの一覧にさらに符号理論計算論的学習理論英語版を加え、データベース情報検索経済モデルネットワークなどの理論計算機科学的側面をも含めている[6]。このように範囲は広いが、計算機科学の理論畑の人間は応用畑とは違うという意識を持っていることがあり、「コンピューティングを支えている(より基本的な)科学」を研究しているという意識をもっていることがある[7]。これは必ずしも対立を意味するものではなく、むしろ協力関係にあることを意味する。

Thumb Thumb Thumb
数理論理学 オートマトン 数論 グラフ理論
Thumb Thumb Thumb
型理論 圏論 計算幾何学 量子計算
Remove ads

歴史

アルゴリズムは何千年も前から存在していたが(例えば、2つの数の最大公約数を求めるユークリッドの互除法は今も使われている[8][9])、計算におけるアルゴリズムの定義を定式化したのはアラン・チューリングアロンゾ・チャーチスティーヴン・クリーネで、1938年のことである。一方、二進法と数学の形式体系はそれ以前からあり、ゴットフリート・ライプニッツが17世紀に二進法を数学的に定式化し、19世紀にジョージ・ブールブール論理/ブール代数を定式化した。[10]論理的推論と数学的証明は古代から存在したが、1931年クルト・ゲーデルは自身の不完全性定理で、公理体系には証明できない限界が存在することを証明した。[11][12][13]

それらの発展が論理学計算可能性の現代的研究をもたらし、全体として理論計算機科学という分野を生み出した。1948年クロード・シャノンによる『通信の数学的理論』から生まれた情報理論がこれに加わった。[14][15][16]同じ頃ドナルド・ヘッブが脳における学習の数学的モデルを導入した。生物学的データがこの仮説を裏付けつつ、若干の修正が行われていき、ニューラルネットワーク並行分散処理が確立された。

20世紀初頭から始まった量子力学の発展により、量子の波動関数上で演算が可能ではないかという概念が生まれた。これはすなわち、複数の状態を同時並行的に計算できることを意味する。そこから20世紀後半に量子コンピュータの概念が生まれ、1990年代にはピーター・ショアが量子コンピュータを使えば素因数分解を多項式時間で解けることを示し、もし(数千万量子ビットを量子的に扱える量子コンピュータが)実現すれば公開鍵暗号システムも安全ではなくなることを示した。[17][18][19][20]

理論計算機科学の研究はこれらを基盤としているが、他にも多くの数学問題や学際的問題を扱っている。

Remove ads

組織

脚注

Loading content...

参考文献

Loading content...

関連項目

外部リンク

Loading content...
Loading related searches...

Wikiwand - on

Seamless Wikipedia browsing. On steroids.

Remove ads