シミュレーションソフトウェアのタイプとその違いとは?
現実世界の問題には多くの不確定要素が含まれる上にシステム自体が複雑です。そのため、その結果の予測は簡単にできるものではありません。ただ、いちいちすべてのシステム案を試すのにはコストがかかります。また、実システムで試すのに危険が伴ったりそもそもシステムができていないケースなどもあることでしょう。このような状況で威力を発揮する存在こそがシミュレーションです。みなさんも一度はその名やその結果を目にしたことがあることでしょう。
そんなシミュレーションは、現実世界の問題をコンピュータ上に再現してシミュレートすることによりさまざまな条件における挙動を予測する、という手法です。そのため、そのシミュレートする対象にはさまざまなものがり、さまざまなソフトウェアが販売されています。そこでここでは、その代表的なタイプを紹介します。
たとえば、代表的な手法としては物理シミュレーションがあげられます。自然現象の説明や予測、精密機器や自動車、航空機などの人工的な製品開発における設計献灯や動作の理解などでよく使われる手法です。なお、世の中の物理現象はなんらかの方程式で本質には説明することが可能です。ただ、これら方程式は現実世界の複雑条件下で厳密解を求めることはまずできません。そこで、コンピュータを使った近似計算をすることで実用上十分な精度を求める手法こそが物理シミュレーションです。そのため、物理シミュレーションにあたってはスーパーコンピュータやGPUを駆使した高性能計算を活用することが多いのも特徴です。
もうひとつよく使われるのは、離散イベントシミュレーションです。このシミュレーションは離散シミュレーションと呼ばれることもある存在で、待ち行列型モデルを使うことで、混雑している状況を分析したり評価するのに使われます。なお、その際には状態変化が物理シミュレーションと違って離散的に起こるのが特徴です。
そのほか、エージェントシミュレーションによる恩恵も誰もが一度は受けています。エージェントシミュレーションでは、一定のルールに基づき自律的に行動するエージェントの振る舞いや相互作用から現れる社会現象を予測します。具体的にはエージェント移動を行動のルールとしてモデル化などすることで、火災発生時の避難の様子などの予測に使われています。
なお、これらシミュレーションはただ行えばよいというものではなく、モデルのパラメータを調整し最適化を事前に行うことで最適化されたシステムを完成させるまでの無駄を省くことができます。