シミュレーション 【前半】冒頭 目次 概要 目的
コンピュータとシミュレーション
コンピュータ・シミュレーションには、一旦シミュレーションが始まるとあとはコンピュータだけで完結してシミュレーションを行う「非対話型シミュレーション」と、シミュレーション中に人間がなんらかの形で(コンピュータ内に模擬的に作られた世界に)介入し影響を与えることのできる「対話型シミュレーション」がある(その応用形のひとつの形が、フライトシミュレータやドライビングシミュレータなどである)。
コンピュータ・シミュレーションは、実世界や何らかの仮説的状況をコンピュータ上でモデル化するもので、それによってそのシステムがどのように作用するのかを研究することができる。変数を変化させることで、システムの振る舞いについて予測を立てることができる。
コンピュータ・シミュレーションの応用として、コンピュータを使ってコンピュータをシミュレートするというものがある。エミュレータや命令セットシミュレータなどがあり、仮想化や仮想機械の項目も参照のこと。計算機科学的にも興味深いテーマである(#計算機科学におけるシミュレーションを参照)。
コンピュータ・シミュレーションは、物理学/化学/生物学における様々な自然科学的システムのモデル化、経済学/社会科学における人間に関わるシステムのモデル化、さらには工学におけるシステムのモデル化において、それらシステムの作用について洞察を得る助けとなる。シミュレーションにコンピュータを使うことの利便性を表す例として、ネットワーク交通量シミュレーションがある。このようなシミュレーションにおいては、その環境についての初期設定を変更するとモデルの振る舞いが変化する。
古来、システムの形式的モデル化には解析学が用いられ、代数的に解を求めることで、あるパラメータと初期条件におけるシステムの振る舞いを予測することがおこなわれてきた。これに対し、数値を具体的に計算することによる手法を数値解析という。コンピュータ・シミュレーションは、コンピュータを使わないことには計算量的に現実的でない数値解析をコンピュータによっておこなう「コンピュータによる数値解析」の一種でシミュレーションによるもの、とみることもでき、代数的な解法や単純な計算では不可能な場合の補助あるいは置換として使われることが多い。コンピュータ・シミュレーションには様々なタイプがあるが、それらに共通するのは、システムが取りうる全ての状態を列挙するのが不可能あるいは現実的でない場合に、そのモデルの代表的シナリオの標本を生成しようとするという点である。
モンテカルロ法や確率論的モデリングによるコンピュータ・シミュレーションは、モデル化が非常に簡単という特徴がある。
計算機科学におけるシミュレーション
理論計算機科学では、特別な意味がある。万能マシンが、(シミュレーションする対象の)離散状態マシン(という語をチューリングは使っている。たとえばチューリングマシンのこと)の状態遷移と入力と出力を記述した状態遷移表[6]を実行すること(現代風に言うと、コンピュータがそのようなプログラムを走らすこと)を、シミュレーションと言う。またこれに従って、状態遷移系間の関係に使い、操作的意味論の研究で有用である。
少し理論的でないが、興味深いコンピュータ・シミュレーションの応用は、コンピュータを使ったコンピュータのシミュレートである。コンピュータ・アーキテクチャでは、一般にエミュレータと呼ばれるシミュレータを、しばしば実機で走らせるのがめんどう(たとえば、新しく設計されたコンピュータでまだ構築されていないとか、過去のコンピュータで既に存在しないとか)なプログラムを実行するのに使う。また、緊密に制御されたテスト環境でプログラムを実行するのに使う(仮想化も参照のこと)。たとえば、マイクロプログラムやアプリケーションプログラムを、実機に送り込む前にデバッグするのに使う。コンピュータの動作がシミュレートなので、コンピュータの動作の全ての情報をプログラマが直接的に利用でき、速度を変えたりステップ実行したりなど好きなようにできる。
シミュレータを使ってフォルトツリー解析を行うこともある。また、大規模集積回路の論理設計は実際に製造に入る前にシミュレータでテストされる。シンボリックシミュレーションでは、変数を、未知の値を表すのに使う。
最適化問題の分野では、物理プロセスのシミュレーションが進化的計算と共に使われ、制御戦略の最適化を行う。
コンピュータ・シミュレーションの応用
コンピュータの登場によって、人間の手による計算ではほとんど不可能な膨大な量の総当りでしか行えない計算が比較的短時間で行えるようになったため、コンピュータによるシミュレーションは自然現象や経済活動や人口の推移といったものに使用されるようになった。コンピューターの演算能力の発展は、以前は縮小模型や実物大模型などによって行われていた実験を計算による仮想空間のみで実験・予測することが可能になってきている。
物理学