シミュレーション()は、何らかのシステムの挙動を、それとほぼ同じ法則に支配される他のシステムや計算によって模擬すること広辞苑第6版増田顕邦ほか『シミュレーション入門』日刊工業新聞社(昭和36年9月23日発行)。simulationには「模擬実験」や「模擬訓練」という意味もあるsimulationの意味 - 英和辞典 Weblio辞書。動詞形はシミュレート()。

なお、「シュミレーション」は「シミュレーション」の語頭の2音を音位転換させたことによって生じた語形であり、誤りである。また、同化によって「シミレーション」と発音されることがある。まれに「シミュレイション」と表記することもある。

概要

ラテン語の 「similis シミリス(似ている)」「simulare シミュラーレ(模倣する)」「simulat(真似た、コピーした)」といった用語から生まれた概念である。

シミュレーションは、対象となるシステムで働いている法則を推定・抽出し、それを真似るようにして組み込んだモデル、模型、コンピュータプログラムなどを用いて行われるGould, H., Tobochnik, J., & Christian, W. (1988). An introduction to computer simulation methods (Vol. 1). New York: Addison-Wesley.。

現実のシステムを動かしてその挙動や結果を確かめることが困難、不可能、または危険である場合にシミュレーションが用いられる。

例えば、社会現象などにおける問題の解決方法を探る時など、(悪影響があるので実社会ではとりあえず試せないので)実際の社会と似た状況を数式などで作りだし、コンピュータ等を用いて模擬的に動かし、その特性などを把握するのに用いるブリタニカ百科事典「シミュレーション」。例えば風洞実験、水槽実験で働いている法則を数学的なモデルに置き換えて行うWilkins, M. L. (2013). Computer simulation of dynamic phenomena. Springer Science & Business Media.Allen, M. P., & Tildesley, D. J. (2017). Computer simulation of liquids. Oxford University Press.。また例えば経営に関する様々な事象を数学的なモデルに置き換えてみて、様々な数値を入力したり変化させることで、結果を推定するPidd, M. (1998). Computer simulation in management science (Vol. 4). Chichester: Wiley.。

シミュレーションのための装置やプログラムをシミュレータ()と言う。ただし、きわめて単純なシステムを模倣するためのシミュレーション、特に単純化されたモデルを用いる場合などは(とりあえず)紙と鉛筆(やホワイトボードとペン)だけを用いて手作業で行われるものもある。

対象となるシステムにおいて働いている法則をどれほど忠実に模倣するかによって、シミュレーションの精度は異なる。シミュレーションの質は、シミューレーションを設計する者の技量や、どの程度まで法則を見抜き、どこまでそれらの法則を模倣させたか、ということによって異なるのである。現実の法則を十分に模倣していないシミュレーションは、現実とは異なった挙動を示す。

また、コンピュータを用いて連続現象を離散化した積算によるシミュレーションは必ず誤差が生じ、その誤差は蓄積する杉原正顯, & 室田一雄. (1994). 数値計算法の数理. 岩波書店.森正武 (2002) 数値解析第2版, 共立出版.。従ってコンピュータによるシミュレーションによって良好な結果を得る為には、モデル化による誤差見積もりが重要となる。モデル化によるシミュレーションは、現象についてどの程度正確に真似るかによって計算量を調整することが可能であり、現象についての完全な知識は必要とされないなどのメリットがある。

システムのモデル化を行わず、完全な模倣を目的とする場合は、シミュレーションと言わずエミュレーションということもある。エミュレーションは、模倣したいシステムにおいて、予測できる現象より予測できない現象が支配的である場合などに使われる。

目的・用途

建築物や自動車などの製品の機構に内在する欠陥(負荷や強度など)を模型やコンピュータによって探して取り除く。 ビジネスにおいて客層や商品、時間帯、店舗等の調査結果をシミュレーションに取り入れることで、効率的な販売をする。 災害の発生や規模の予知。地震Lu, X., & Guan, H. (2017). Earthquake disaster simulation of civil infrastructures. Beijing: Springer and Science Press.、津波Imamura, F. (1996). Review of tsunami simulation with a finite difference method. Long-wave runup models, 25-42.Goto, C., Ogawa, Y., Shuto, N., & Imamura, F. (1997). Numerical method of tsunami simulation with the leap-frog scheme. IUGG/IOC TIME Project Intergovernmental Oceanographic Commission of UNESCO, Manuals and Guides, 35, 126.、火災などの自然災害や、原子力発電所のメルトダウンや航空機事故などの人災などの防災。 自動車におけるドライブシミュレータや航空機におけるフライトシミュレータ等、各種の操縦、操作を学ぶ手立てとしての利用。いろいろな状況、特に実機では危険を伴うような場面を体験することが可能となるAllerton, D. (2009). Principles of flight simulation. John Wiley & Sons.Rolfe, J. M., & Staples, K. J. (Eds.). (1988). Flight simulation (No. 1). Cambridge University Press.Baarspul, M. (1990). A review of flight simulation techniques. Progress in Aerospace Sciences, 27(1), 1-120.Miller, R., Hobday, M., Leroux-Demers, T., & Olleros, X. (1995). Innovation in complex systems industries: the case of flight simulation. Industrial and corporate change, 4(2), 363-400.Allerton, D. J. (2010). The impact of flight simulation in aerospace. The Aeronautical Journal, 114(1162), 747-756.Rosenkopf, L., & Tushman, M. L. (1998). The coevolution of community networks and technology: Lessons from the flight simulation industry. Industrial and corporate change, 7(2), 311-346.。 シミュレーションゲームではシミュレーションを娯楽として行う。ボードやコマやカードを使い事象を再現するようなルールに基づいてプレイするものと、コンピュータを使って事象の再現を行わせるものとがある。ウォーゲーム、戦略ゲーム、経営ゲームなどFaria, A. J., & Nulsen, R. O. (1996, March). Business simulation games: current usage levels. A ten year update. In Developments in Business Simulation and Experiential Learning: Proceedings of the Annual ABSEL conference (Vol. 23).Pando-Garcia, J., Periañez-Cañadillas, I., & Charterina, J. (2016). Business simulation games with and without supervision: An analysis based on the TAM model. Journal of Business Research, 69(5), 1731-1736.Chang, J., Lee, M., Ng, K. L., & Moon, K. L. (2003). Business simulation games: the Hong Kong experience. Simulation & gaming, 34(3), 367-376.。前項のドライブ、フライトシミュレータはレース、戦闘などの形でゲームとしても存在する。 その他、天気予報や人口の推移、予測、分析、医療の分野でも広く使われているLacy, R. C. (1993). VORTEX: a computer simulation model for population viability analysis. Wildlife research, 20(1), 45-65.Hampe, J., Wienker, T., Schreiber, S., & N√ ºrnberg, P. (1998). POPSIM: a general population simulation program. Bioinformatics (Oxford, England), 14(5), 458-464.Yuan, X., Miller, D. J., Zhang, J., Herrington, D., & Wang, Y. (2012). An overview of population genetic data simulation. Journal of Computational Biology, 19(1), 42-54.Dyke, B., & MacCluer, J. W. (Eds.). (2014). Computer simulation in human population studies. Academic Press.。

模型などによるシミュレーション

ミニチュア(相似模型)による実験など、何らかの物理的な物体で実物を置き換えることもシミュレーションの一種である。これを「物理的シミュレーション」と言うこともある。置換する物体としては、実物よりも小さいものや安価なものが選ばれる。このとき、相似則が成立するかどうかの指標となるのが江守一郎『模型からの発想 ― 新技術に挑むスピリット』(講談社ブルーバックス、1970年)。

航空機(零戦のエルロンフラッターなど)や自動車の空気特性の予測この場合、大型風洞があれば原寸大のモックアップが使われることもある。や交通事故の状況再現自動車の衝突は塑性衝突に近いという。詳細は江守『交通事故工学』(技術書院)を参照されたい。などにおいて模型実験が活用されたが、再現性にかかわる要因が不足していると現実の現象を正しく近似できないため、ある意味で職人的な素養を要求される。

WSG ウォー・シミュレイション・ゲームの略。「図上演習」とも言われる。詳細はゲーデザイナーである鈴木銀一郎などを参照のこと。模型(図表と駒)を使った戦争シミュレーションの例として、『戦国策』『墨子』には、墨子が公輸盤と戦争を論じ合い、楚王の前で模型を使って勝負をし、公輸盤が新兵器である雲梯を使って9回攻めたが、墨子の守りは固く攻め落とすことができず、これを見た王は宋を侵略しないことを約束したという逸話が記されている。これは模型を使ったシミュレーションによって戦争を防いだ(守城戦を見せつけた)逸話である。また日本でも戦国時代の大名・上杉謙信は2メートル四方もある城の模型を用いて合戦のシミュレーションを行っていたと言い伝えられている磯田道史 『日本史の探偵手帳』 文春文庫 2019年 p.98.。

コンピュータ・シミュレーション コンピュータシミュレーションとは、その名の通りコンピュータを用いたシミュレーションのことである。いくつかの種類があり、微分方程式に基づく数値計算によるもの(天体力学における、解析的に解けない場合の軌道計算など)、物理モデルに基づくもの(レイトレーシングなど)、システム・ダイナミクスに基づくもの(成長の限界など)などが知られている。

コンピュータ・シミュレーションの種類 コンピュータ・シミュレーションには、一旦シミュレーションが始まるとあとはコンピュータだけで完結してシミュレーションを行う「非対話型シミュレーション」と、シミュレーション中に人間がなんらかの形で(コンピュータ内に模擬的に作られた世界に)介入し影響を与えることのできる「対話型シミュレーション」がある田畑孝一, & 大野豊. (1975). 対話型シミュレーション・システム. 情報処理学会研究報告知能と複雑系 (ICS), 1975(3 (1975-ICS-020)), 1-10.金野千里, 梅谷征雄, 太田忠, 深田肇, 山賀晋, & 池田美以子. (1992). 対話型数値シミュレーションシステム: ビジュアル DEQSOL. 情報処理学会論文誌, 33(7), 929-943.(その応用形のひとつの形が、フライトシミュレータやドライビングシミュレータなどである)。

モデル開発とモデルの質の重要性 コンピュータ・シミュレーションは、実世界や何らかの仮説的状況をコンピュータ上でモデル化するもので、それによってそのシステムがどのように作用するのかを研究することができる。変数を変化させることで、システムの振る舞いについて予測を立てることができる。

コンピュータ・シミュレーションは、自然科学的システムのモデル化(たとえば物理学/化学/生物学における様々なモデル化Hockney, R. W., & Eastwood, J. W. (1988). Computer simulation using particles. CRC Press.Birdsall, C. K., & Langdon, A. B. (2004). Plasma physics via computer simulation. CRC Press.Van Gunsteren, W. F., & Berendsen, H. J. (1990). Computer simulation of molecular dynamics: methodology, applications, and perspectives in chemistry. Angewandte Chemie International Edition in English, 29(9), 992-1023.、経済学/社会科学における人間に関わるシステムのモデル化Conte, R., Hegselmann, R., & Terna, P. (Eds.). (2013). Simulating social phenomena (Vol. 456). Springer Science & Business Media.Gilbert, N., & Doran, J. (Eds.). (2018). Simulating societies: the computer simulation of social phenomena. Routledge.、さらには工学におけるシステムのモデル化など)を行い、それをコンピュータで計算することで、システムの作用について洞察を得る助けとなる。シミュレーションにコンピュータを使うことの利便性を表す例は多数ある。人々によく知られ、日々実感されている例としては数値予報(:en:Numerical weather prediction)、メッシュ予報のために各国の気象機関でスーパーコンピューターを使って行われているシミュレーションが挙げられる。ほかにも「ネットワーク交通量シミュレーション」を挙げる人Barceló, J. (2010). Fundamentals of traffic simulation. New York: Springer.もいる。異なった数値モデルを使うと振る舞い、結果が異なり、また環境の初期設定を変更してもモデルの振る舞いが変化する。

なお気候変動の予測には、適切な気候モデルを用いたコンピュータシミュレーションが不可欠である。2021年には、はじめて大気海洋結合モデルを開発し地球温暖化について具体的な温度変化の数字もコンピュータではじき出して科学的研究を可能にした眞鍋淑郎にノーベル物理学賞が授与された。 :en:Numerical modeling (geology) も参照。

コンピュータ・シミュレーションには様々なタイプがあるが、それらに共通するのは、システムが取りうる全ての状態を列挙するのが不可能あるいは現実的でない場合に、そのモデルの代表的シナリオの標本を生成しようとするという点である。

モンテカルロ法や確率論的モデリングによるコンピュータ・シミュレーションは、モデル化が非常に簡単という特徴があるRaychaudhuri, S. (2008, December). Introduction to Monte Carlo simulation. In 2008 Winter simulation conference (pp. 91-100). IEEE.Bonate, P. L. (2001). A brief introduction to Monte Carlo simulation. Clinical pharmacokinetics, 40(1), 15-22.Binder, K. (Ed.). (1995). Monte Carlo and molecular dynamics simulations in polymer science. Oxford University Press.Segala, R., & Lynch, N. (1995). Probabilistic simulations for probabilistic processes. Nordic Journal of Computing, 2(2), 250-273.。

計算理論など コンピュータに関係するシミュレーションであるが、前の節で説明しているものとはおもむきが大きくことなるものなので、節を分けて説明する。計算理論では、たとえば万能チューリングマシン(のような、模倣する能力を持つ機械)が、模倣対象(たとえば、なんらかのチューリングマシン)の状態遷移と入力と出力を記述した状態遷移表を実行すること(現代風に言うと、コンピュータがそのようなプログラムを走らすこと)を、シミュレーションと言う。これは、状態遷移系間の関係といった、意味論の研究などで使われている。

コンピュータ・シミュレーションの応用 コンピュータの登場によって、人間の手による計算ではほとんど不可能な膨大な量の総当りでしか行えない計算が比較的短い時間で行えるようになったため、コンピュータによるシミュレーションは自然現象や経済活動や人口の推移といったものに使用されるようになった。コンピューターの演算能力の発展は、以前は縮小模型や実物大模型などにより行われていた実験を、今日では仮想空間内での計算によって実験・予測をすることが可能になってきている。 物理学 例えば、木の葉が舞い落ちる動きを導き出す事は通常の手計算では不可能であった。これは重力や空気抵抗だけでなく、木の葉自体の動きによる空気の状態変化などが複雑に絡み合っているからである。この、カオティックな振る舞いに対して、コンピュータを用いて膨大な単純計算を繰り返せば、ある程度の周期性や規則性を見つけ出す可能性があるRohrlich, F. (1990, January). Computer simulation in the physical sciences. In PSA: Proceedings of the biennial meeting of the philosophy of science association (Vol. 1990, No. 2, pp. 507-518). Philosophy of Science Association.。

気象学・気象予報

最近の気象予報には、コンピュータ・シミュレーションは欠かせない。球形をした地球上を格子(メッシュ)に区切ったモデルを用いて、スーパーコンピュータによりシミュレーションを行っている。コンピュータの性能が向上するにつれて、格子間隔を小さくとれるようになり、予測精度が向上したLynch, P. (2008). The origins of computer weather prediction and climate modeling. Journal of computational physics, 227(7), 3431-3444.Kimura, R. (2002). Numerical weather prediction. Journal of Wind Engineering and Industrial Aerodynamics, 90(12-15), 1403-1414.。

天文学 数値シミュレーションは天文学においては第三の手法と見なされている。天文現象は時間的や空間的なスケールが大きいために研究室で実験を行うことは不可能であるため、コンピュータシミュレーションが必要になる。天体物理学者はコンピュータのなかに宇宙を創り出し、その中で天文現象を再現してその挙動を確かめるCenter for Computational Astrophysics。

コンピュータの実機のシミュレーション(模倣)

コンピュータを使ったコンピュータのシミュレートというものもある。エミュレータと呼ばれるシミュレータも使われる(たとえば実機で走らせるのが困難な場合や面倒な場合や、制御されたテスト環境下でプログラムを実行して実害が出ない安全な状態で結果を事前に確認するためなどに使われる)。

仮想化というのもシミュレーションの一種である。たとえば、マイクロプログラムやアプリケーションプログラムを、実機に送り込む前にデバッグするのに使う。コンピュータの動作がシミュレートなので、コンピュータの動作の全ての情報をプログラマが直接的に利用でき、速度を変えたりステップ実行したりなど好きなようにできる。一方でいわゆる「ゲートレベル」の完全なエミュレーションは現実的でないことが多く、また普通はそこまで厳密にエミュレーションする必要はないことも多いが、例えばエミュレートしきれない部分の実機にバグがある場合のデバッグまではできない。プログラムによるシミュレーションでは速度的に不十分な必要な場合は、FPGAなどのプログラマブルなハードウェアによって、エミュレーションないしシミュレーションを行うこともある。VMware、VirtualBox、Hyper-Vなどを用いて、バーチャルにOSを構築し、さまざまな環境を設定してOSの挙動を安全な環境下で確かめる手法も一般化している。

エミュレータ、命令セットシミュレータ、仮想化、仮想マシンなども参照のこと。

通信プロトコルのシミュレーション TCP/IP等の通信プロトコルの分野では日々新しい方式が提案されている。IEEEやITU、あるいは日本の電波産業会(ARIB)などで次世代の通信プロトコルの標準規格が議論されるが、このとき各提案者の案として提示されている規格が、さまざまな条件下でどのような特性を持っているのかを比較検討する必要がある。このような局面で通信プロトコルのシミュレーションが必須となっている。2層(データリンク層)以上の通信プロトコルの規格は状態遷移図で記載されることが多いが、記述された状態遷移等の処理、条件をコンピュータ上で疑似し、スループットやエラー処理などの評価を行う。

学術機関で用いられるシミュレータはnsNS3 NSNAM Home Page 等のオープンソースソフトウェアが多いが、民間企業や民間研究所のような、資金に余裕があり応用に近い研究を行う組織では、大規模トポロジ構築などを容易に行えるツール群が整備され、より迅速に現実に即した解析が可能なQualnetQualNet Home Page構造計画研究所QualNet Home Page、OPNET ModelerOPNET Modeler Home Page情報工房OPNET Modeler Home Page 等の商用のシミュレータを使用するケースが多い。

この分野のシミュレーションでは信号処理の部分をMATLAB/SimulinkChaturvedi, D. K. (2017). Modeling and simulation of systems using MATLAB and Simulink. CRC Press.、電波伝搬の部分をWirelessInSight, Winprop, Atoll等の他のシミュレータや計算ソフトと連携させたりする場合もある。また特に無線、移動体の分野では各通信機の動きも重要な要素となるためその部分に関して他のツールや実際の計測値などと連携させる試みもなされている。

Qualnet、OPNET ModelerLu, Z., & Yang, H. (2012). Unlocking the power of OPNET modeler. Cambridge University Press.等の商用ツールでは実際のネットワーク上を流れる通信パケットをシミュレータと接続できるものもあり、仮想のネットワークを利用した時の動画品質も確認などにも使われている。

電子回路の設計・実験 コンピューター上で電子回路の設計や実験をするのに、SPICEやSPICEを起源とする電子回路シミュレーション・ソフトウェア等が使われている。電子回路を所定の書式でシミュレーターに入力(GUIによる入力が可能なものも多い)すると、各電子部品の電気的特性を元に回路の動作が計算され、回路の動作を調べることができるArrillaga, J. A., & Harker, B. J. (1983). Computer modelling of electrical power systems. John Wiley & Sons, Inc..。

マイクロプロセッサなど高度に複雑なディジタルLSIの論理設計も、実際に製造に入る前にシミュレータでテストされる。

アンテナのシミュレーション 無線工学においては、アンテナの設計をするのにアンテナ・シミュレーション・ソフトウェアが用いられる。アマチュア用途ではMMANAやMMANA-GAL等のフリーソフトがある。アンテナの物理的な形状を入力すると、自由空間や特定の地上高におけるアンテナ上の電圧分布、電流分布、共振周波数、給電点におけるインピーダンス特性、SWR特性などを計算により求めることができる。短縮型アンテナやマルチバンド・アンテナの設計のために、延長コイル、短縮コンデンサ、LCトラップ等を挿入した場合のリアクタンス値を求めることもできる。

電波伝播のシミュレーション