シミュレーション
テンプレート:Otheruseslist シミュレーション (テンプレート:Lang-en-short) とは、
- 何らかのシステムの挙動を、それとほぼ同じ法則に支配される他のシステムやコンピュータなどによって模擬すること[1]。「模擬実験」とも。
- (サッカー)あたかもファウルを受けたかのようなふりをすること[1]。審判を欺く行為で反則とされる[1]。→サッカー競技規則を参照。
目次
概要
ラテン語の 「similis シミリス (似ている)」「simulare シミュラーレ(模倣する)」「simulat(真似た、コピーした)」といった用語から生まれた概念である。
現実のシステムを動かしてその挙動や結果を確かめることが極めて困難、不可能、または危険である場合にシミュレーションが用いられる。
シミュレーションは、対象となるシステムで働いている法則を推定・抽出し、それを組み込んだモデル、模型、コンピュータプログラムなどを用いて行われる。
例えば、社会現象などにおける問題の解決方法を探る時など、(悪影響があるので実社会ではとりあえず試せないので)実際の社会と似た状況を数式などで作りだし、コンピュータ等を用いて模擬的に動かし、その特性などを把握するのに用いる[2]。例えば風洞実験、水槽実験で働いている法則を数学的なモデルに置き換えて行う[2]。また例えば経営に関する様々な事象を数学的なモデルに置き換えてみて、様々な数値を入力したり変化させることで、結果を推定する[2]。
シミュレーションのための装置やプログラムをシミュレータ (テンプレート:Lang-en-short) と言う。ただし、きわめて単純なシステムを模倣するためのシミュレーション、特に単純化されたモデルを用いる場合などは(とりあえず)紙と鉛筆(やホワイトボードとペン)だけを用いて手作業で行われるものもある。
対象となるシステムにおいて働いている法則をどれほど忠実に模倣するかによって、シミュレーションの精度は異なる。シミュレーションの質は、シミューレーションを設計する者の技量や、どの程度まで法則を見抜き、どこまでそれらの法則を模倣させたか、ということによって異なるのである。現実の法則を十分に模倣していないシミュレーションは、現実とは異なった挙動を示す。
またコンピュータを用いて、連続現象を離散化した積算によるシミュレーションは必ず誤差が生じ、その誤差は蓄積する。従ってコンピュータによるシミュレーションによって良好な結果を得る為には、モデル化による誤差見積もりが重要となる。モデル化によるシミュレーションは、現象についてどの程度正確に真似るかによって計算量を調整することが可能であり、現象についての完全な知識は必要とされないなどのメリットがある。
システムのモデル化を行わず、完全な模倣を目的とする場合は、シミュレーションと言わずエミュレーションということもある。エミュレーションは、模倣したいシステムにおいて、予測できる現象より予測できない現象が支配的である場合などに使われる。
英語はsimulationで、日本語の表記はあくまで「シミュレーション」である。[3][4][5][6][7][8]
コンピュータとシミュレーション
コンピュータ・シミュレーション
コンピュータ・シミュレーションは、実世界や何らかの仮説的状況をコンピュータ上でモデル化するもので、それによってそのシステムがどのように作用するのかを研究することができる。変数を変化させることで、システムの振る舞いについて予測を立てることができる。
コンピュータ・シミュレーションの応用として、コンピュータを使ってコンピュータをシミュレートするというものがある。エミュレータや命令セットシミュレータなどがあり、仮想化や仮想機械の項目も参照のこと。計算機科学的にも興味深いテーマである(#計算機科学におけるシミュレーションを参照)。
コンピュータ・シミュレーションは、物理学/化学/生物学における様々な自然科学的システムのモデル化、経済学/社会科学における人間に関わるシステムのモデル化、さらには工学におけるシステムのモデル化において、それらシステムの作用について洞察を得る助けとなる。シミュレーションにコンピュータを使うことの利便性を表す例として、ネットワーク交通量シミュレーションがある。このようなシミュレーションにおいては、その環境についての初期設定を変更するとモデルの振る舞いが変化する。テンプレート:要出典範囲
古来、システムの形式的モデル化には解析学が用いられ、代数的に解を求めることで、あるパラメータと初期条件におけるシステムの振る舞いを予測することがおこなわれてきた。これに対し、数値を具体的に計算することによる手法を数値解析という。コンピュータ・シミュレーションは、コンピュータを使わないことには計算量的に現実的でない数値解析をコンピュータによっておこなう「コンピュータによる数値解析」の一種でシミュレーションによるもの、とみることもでき、代数的な解法や単純な計算では不可能な場合の補助あるいは置換として使われることが多い。コンピュータ・シミュレーションには様々なタイプがあるが、それらに共通するのは、システムが取りうる全ての状態を列挙するのが不可能あるいは現実的でない場合に、そのモデルの代表的シナリオの標本を生成しようとするという点である。
モンテカルロ法や確率論的モデリングによるコンピュータ・シミュレーションは、モデル化が非常に簡単という特徴がある。
計算機科学におけるシミュレーション
理論計算機科学では、特別な意味がある。万能マシンが、(シミュレーションする対象の)離散状態マシン(という語をチューリングは使っている。たとえばチューリングマシンのこと)の状態遷移と入力と出力を記述した状態遷移表[9]を実行すること(現代風に言うと、コンピュータがそのようなプログラムを走らすこと)を、シミュレーションと言う。シミュレーションの語を使ったのはアラン・チューリングであるテンプレート:要出典。またこれに従って、状態遷移系間の関係に使い、操作的意味論の研究で有用である。
少し理論的でないが、興味深いコンピュータ・シミュレーションの応用は、コンピュータを使ったコンピュータのシミュレートである。コンピュータ・アーキテクチャでは、一般にエミュレータと呼ばれるシミュレータを、しばしば実機で走らせるのがめんどう(たとえば、新しく設計されたコンピュータでまだ構築されていないとか、過去のコンピュータで既に存在しないとか)なプログラムを実行するのに使う。また、緊密に制御されたテスト環境でプログラムを実行するのに使う(仮想化も参照のこと)。たとえば、マイクロプログラムやアプリケーションプログラムを、実機に送り込む前にデバッグするのに使う。コンピュータの動作がシミュレートなので、コンピュータの動作の全ての情報をプログラマが直接的に利用でき、速度を変えたりステップ実行したりなど好きなようにできる。
シミュレータを使ってフォルトツリー解析を行うこともある。また、大規模集積回路の論理設計は実際に製造に入る前にシミュレータでテストされる。シンボリックシミュレーションでは、変数を、未知の値を表すのに使う。
最適化問題の分野では、物理プロセスのシミュレーションが進化的計算と共に使われ、制御戦略の最適化を行う。
コンピュータ以外によるシミュレーション
ミニチュアによる実験など、何らかの物理的な物体で実物を置き換えることもシミュレーションの一種である。これを「物理的シミュレーション」と言うこともある。置換する物体としては、実物よりも小さいものや安価なものが選ばれる。
目的・用途
- 建築物や自動車などの製品の機構に内在する欠陥(負荷や強度など)を模型やコンピュータによって探して取り除く。
- ビジネスにおいて客層や商品、時間帯、店舗等の調査結果をシミュレーションに取り入れることで、効率的な販売をする。
- 災害の発生や規模の予知。地震、津波、火災などの自然災害や、原子力発電所のメルトダウンや航空機事故などの人災などの防災。
- 自動車におけるドライブシミュレータや航空機におけるフライトシミュレータ等、各種の操縦、操作を学ぶ手立てとしての利用。いろいろなシチュエーション、特に実機では危険を伴うような場面を体験することが可能となる。
- シミュレーションゲームではシミュレーションを娯楽として行う。ボードやコマやカードを使い事象を再現するようなルールに基づいてプレイするものと、コンピュータを使って事象の再現を行わせるものとがある。ウォーゲーム、戦略ゲーム、経営ゲームなど。前項のドライブ、フライトシミュレータはレース、戦闘などの形でゲームとしても存在する。
- その他、天気予報や人口の推移、予測、分析の分野でも広く使われている。
コンピュータ・シミュレーションの応用
コンピュータの登場によって、人間の手による計算ではほとんど不可能な膨大な量の総当りでしか行えない計算が比較的短時間で行えるようになったため、コンピュータによるシミュレーションは自然現象や経済活動や人口の推移といったものに使用されるようになった。コンピューターの演算能力の発展は、以前は縮小模型や実物大模型などによって行われていた実験を計算による仮想空間のみで実験・予測することが可能になってきている。
物理学
例えば、木の葉が舞い落ちる動きを通常の手計算で導き出す事は不可能であった。これは重力や空気抵抗だけでなく、木の葉自体の動きによる空気の状態の変化などが複雑に絡み合っているからである。この、カオティックな振る舞いに対して、単純計算を膨大に繰り返す事の出来るコンピュータによって、ある程度の周期性や規則性を見出されうる。
工学
電子工学
電子工学においては、コンピューター上で回路の設計や実験をするのに、SPICEやSPICEを起源とする電子回路シミュレーション・ソフトウェア等が使われている。電子回路を所定の書式でシミュレーターに入力(GUIによる入力が可能なものも多い)すると、各電子部品の電気的特性を元に回路の動作が計算され、回路の動作を調べることができる。
無線工学
アンテナのシミュレーション
無線工学においては、アンテナの設計をするのにアンテナ・シミュレーション・ソフトウェアが用いられる。アマチュア用途ではMMANAやMMANA-GAL等のフリーソフトがある。アンテナの物理的な形状を入力すると、自由空間や特定の地上高におけるアンテナ上の電圧分布、電流分布、共振周波数、給電点におけるインピーダンス特性、SWR特性などを計算により求めることができる。短縮型アンテナやマルチバンド・アンテナの設計のために、延長コイル、短縮コンデンサ、LCトラップ等を挿入した場合のリアクタンス値を求めることもできる。
電波伝播のシミュレーション
無線工学において、電波伝播(電波の伝わり方)をシミュレーションするのに電波伝播シミュレーション・ソフトウェアが用いられる。VHFやUHFのテレビ放送局や中継局のサービスエリアを調べるために、アメリカの研究者 A. G. Longley と P. L. Rice とが1968年にLongley-Rice Modelアルゴリズムを開発・発表した。このアルゴリズムは 20 MHz - 20 GHz の周波数に適用でき、これを基にした電波伝播シミュレーション・ソフトウェアが、日本のいくつかの電気通信コンサルタント会社により開発されている。[10]
シミュレーションするには、ソフトウェアに、大地の導電率と比誘電率、大気の屈折率、送信場所や受信場所の標高、周波数、電波の偏波面、アンテナの利得や地上高、送信機の出力、受信機の感度などの値を与える。また、シミュレーション対象地域のデジタル地形データ(たとえばNASAのFTPサイト[11]からダウンロードできる)を与える。すると、電波の大気による屈折、地形による反射や回折、電波が伝わるうえで受ける減衰等を計算し、電波の届く範囲をシミュレーションする。結果は、数値や、地図上に電波の強さごとにグラフィカルに色分けして示される。[10]
フリーソフトとしてはカナダのアマチュア無線家 Roger Coude(VE2DBE)が1988年に開発した Radio Mobile[12] がある。[10]
通信プロトコルのシミュレーション
TCP/IP等の通信プロトコルの分野では日々新しい方式が提案されている。IEEEやITU、あるいは日本の電波産業会(ARIB)などで次世代の通信プロトコルの標準規格が議論されるが、このとき各提案者の案として提示されている規格が、さまざまな条件下でどのような特性を持っているのかを比較検討する必要がある。このような局面で通信プロトコルのシミュレーション が必須となっている。2層(データリンク層)以上の通信プロトコルの規格は状態遷移図で記載されることが多いが、記述された状態遷移等の処理、条件をコンピュータ上で疑似し、スループットやエラー処理などの評価を行う。
フリーウェアではNS3[13] 等があるが、企業や研究所のレベルではQualnet[14][15]、OPNET Modeler[16][17]等の商用のシミュレーターを使用するケースが多い。
この分野のシミュレーションでは信号処理の部分をMatLabやSimlink、電波伝搬の部分をWirelessInSight, Winprop, Atoll等の他のシミュレーターや計算ソフトと連携させたりする場合もある。また特に無線、移動体の分野では各通信機の動きも重要な要素となるためその部分に関して他のツールや実際の計測値などと連携させる試みもなされている。
Qualnet、OPNET Modeler等の商用ツールでは実際のネットワーク上を流れる通信パケットをシミュレータと接続できるものもあり、仮想のネットワークを利用した時の動画品質も確認などにも使われている。
軍事
軍事分野においては戦闘状況をシミュレートしたモデル研究が行われており、地形、時間、損害率、兵員数、戦闘価値、移動速度、発見率、命中率などの要素から戦闘の推移、両軍の損害などを導き出すことができる。また指揮官制、補給計画立案、戦術研究、海空軍の訓練などでシミュレーションは用いられている。
また、最近の戦争においては情報を伝達するための通信の確保は戦況を左右する重要な要素であるため、部隊展開時に山間部や市街地などにおいても兵員同士が途切れることなく通信できることをシミュレーションするシステム(JCSS:旧称 NetWars)をアメリカ国防情報システム局 (DISA)が開発している[18][19]。
計算機
電子計算機により電子計算機をシミュレーションすることができる。これにより、たとえばまだ実際には設計段階で実機の無い計算機のためのソフトウェアを開発したり、動作を確認することができる。 あるいは実在の計算機をシミュレーションすることにより、実際にそのアーキテクチャーの計算機ハードウェアを持たなくてもソフトウェアを実行できる。 シミュレーションにより構築された計算機は仮想マシン(VM)とも呼ばれ,マシン構成を自由に変更したり、論理的に別の仮想マシンを立てて処理することでデータアクセスの独立性を保証することでセキュリティを確保したり、仮想マシンの状態を保存しておくことでシステムの瑕疵等による障害からの回復を容易にすることなどができる。
訓練としてのシミュレーション
シミュレーションは一般市民や兵士の訓練に使われることが多い。これは、実際の装置や兵器を訓練に使用するのがコスト的に高価すぎたり、単に非常に危険であるという理由からである。この場合、安全な仮想環境で意味の有る訓練が行われる。特に、実際なら生命に関わるような失敗をしても許される点は重要である。
訓練におけるシミュレーションは3つに分類される。
- 「ライブ」シミュレーション - 実地でシミュレートされた装備を身につけた人間が訓練を行う。
- 「仮想」シミュレーション - 仮想環境でシミュレートされた装備を身につけた人間が訓練を行う。
- 「構築型」シミュレーション - 仮想環境でシミュレートされた装備を身につけたシミュレートされた人間が訓練を行う。これは、ウォーゲームと呼ばれるものが進化したものである。
フライトシミュレータ
フライトシミュレータは、地上で航空機の操縦士を訓練するのに使われる。この場合、操縦士がシミュレートされた航空機を墜落させても生命に危険はない。特に実地では訓練が困難な危険な状況を設定して訓練することが可能である。例えば、エンジンが停止した状態での着陸、電気系統が停止した状態での着陸、油圧系統が機能しない状況での着陸などである。最近のシミュレータは視界の表示や油圧による姿勢制御が高度に進化している。シミュレータは通常、実際の訓練用航空機よりも低価格である。
ドライブシミュレータ
ドライブシミュレータは実際の自動車の特性を仮想環境内で再現する。外的要因や条件を再現することで、運転者が実際の自動車を運転しているかのように感じさせる。訓練目的で使われることが多いが、研究目的でも使われる。
船舶シミュレータ
船舶シミュレータは、船員の訓練に使われる。特に大型の船舶をシミュレートするものが多い。種類としては、操船訓練を行なう操船シミュレーター、エンジンプラントの運転訓練を行なうエンジントラブルシミュレーター、荷役訓練を行なう荷役シミュレーターなどがある。
プラントシミュレータ
化学プラントのプラントシミュレータは、物理モデルに基づいて化学プラントの動的な挙動を模擬するものである.さまざまな条件における挙動を実現できるため,主に,プラントを運転するオペレータに対する運転操作の訓練に用いられている.
教育におけるシミュレーション
教育におけるシミュレーションも訓練の一種と考えられ、特定の主題に沿って行われる。ビデオを鑑賞し、問題の解決策を話し合い、ロールプレイを行うなどの手法がある。企業によるビジネス教育の一環としてもシミュレーションが採用されつつある。リスクのない仮想環境でビジネス戦略の実験をしたり、ケーススタディの学習における拡張手段として用いられる。
軍事教練におけるシミュレーション
兵士が行軍や歩兵戦闘などをシミュレーションするもの。Operation Flashpoint: Cold War CrisisやArmA: Armed Assaultから発展したVBS1・VBS2が米豪等の軍で採用されている。
医療シミュレータ
医療シミュレータは、医療に従事する者への治療法/診断法/概念/意思決定についての教育の目的で、近年開発が盛んになってきている。医療シミュレータによる訓練は、単純な血液採取から腹腔鏡手術まで各種存在する。また、新型医療機器の開発においてもシミュレーションは重要である。医療シミュレータでもコンピュータが重要な役割を担っている。実物大の人形を用いたシミュレータでは、人形への薬物投与などによって適切な反応を示すようにプログラムされている。視覚をコンピュータグラフィックスで擬似する場合、触覚は訓練者の動作に反応するようプログラムされたフィードバック機器で再現する。この場合、現実性を増すために実際の患者のCTやMRIのデータを用いることが多い。より簡便なシミュレーションとして、ウェブブラウザで操作できるものもあるが、触覚は再現されず、キーボードとマウスで操作することになる[1]。
医療シミュレータとは若干意味が異なるが、偽薬を使った医薬の有効性の試験も一種のシミュレーションと言える。
経済・金融
個々の人々は仮に自分の利益追求だけを求める単純なモデルと考えたとしても、社会全体としての動きを知る事は出来ない。単純が複数集まるとそこには、様々な性質が生まれるという複雑系であるためで、これもまた、コンピュータの膨大な計算のシミュレーションによって予想されうるものであるが、実際のところ株価や物価の変動など、経済の動きを予測することは容易ではない。
金融においては、コンピュータシミュレーションを用いてシナリオ立案が行われる。例えば、リスクを考慮した正味現在価値 (NPV) は計算方法は確立しているが、入力値は不明な場合がある。評価対象のプロジェクトの性能を擬似することで、シミュレーションによって様々な場合の NPV が求められる。
デザイン・都市景観
コンピュータグラフィックス(CG)によって作成されたバーチャルリアリティ映像を、工業デザインや建築デザインの成果物を事前評価するのに用いる。例えば建築物や構造物による景観への影響を予測する景観シミュレーションの場合、実写風景の上で建物のCGと組み合わせたり、建物や背景の全てをCGで構築し、実際に建築した様子に近い景観を観察することが出来る。コンピュータの計算能力が実用に達するまでは、手作業により遠近法にそって書かれたパース画を作成し評価していた。
都市計画のツールとして都市シミュレータを使って、様々なポリシーの決定によって都市がどのように変わるかを把握することができる。大規模な都市シミュレータの例としては、UrbanSim(ワシントン大学で開発)、ILUTE(トロント大学で開発)、Distrimobs[20](ボローニャ大学で開発)などがある。都市シミュレータはエージェントに基づくシミュレーションが一般的で、土地の利用計画や交通機関などが入力として設定される。
景観シミュレータと都市シミュレータの開発を行う研究分野は、一般的に計画支援システムと呼ばれている。
工学(技術)シミュレーションとプロセスシミュレーション
シミュレーションは、工学システムや多くのプロセスから構成されるシステムの重要な機能である。例えば電子工学では、遅延線を使って実際の伝送線路における遅延や位相のずれをシミュレートする。また、擬似負荷(ダミーロード)を用いてインピーダンスのシミュレートが行われる。シミュレータは一般にシミュレート対象の一部の操作や機能だけを擬似する。一方、エミュレータは対象の全機能を擬似するのが一般的である。
多くの工学シミュレーションは、数学的モデルを用いて、コンピュータを利用して行われる。しかし、その数学的モデルが信頼できない場合も多い。流体力学のシミュレーションは数学的なシミュレーションと物理的なシミュレーションの両方を必要とすることが多い。この場合、物理的モデルは動的相似性(Dynamic Similitude)を要求される。物理的シミュレーションや化学的シミュレーションは、研究目的だけでなく、具体的な実用目的を持つ。例えば、化学工学におけるプロセスシミュレーションによって得られたプロセスのパラメータは、石油精製などの化学工場の運用に即座に活用できる。
生産技術・オペレーション・オペレーションズリサーチの分野でよく使われる離散事象シミュレーションは、様々なシステムのモデル化に使われる。例えば、ビジネスにおいて各個人が30のタスクを実行可能で、数千の製品やサービスがあり、各製品/サービスには数十のタスクを逐次的に行う必要があり、顧客がどの製品/サービスを求めるかは季節によって変動したり、将来的に変化していく。このような状況をシミュレーションすることで経営上の様々な意思決定の助けとなる。関連する事項として、制約条件の理論、ボトルネック、コンサルティングなどがある。
脚注
参考文献
- 増田顕邦ほか『シミュレーション入門』日刊工業新聞社(昭和36年9月23日発行)
- R. Frigg and S. Hartmann, Models in Science. Entry in the Stanford Encyclopedia of Philosophy.
- S. Hartmann, The World as a Process: Simulations in the Natural and Social Sciences, in: R. Hegselmann et al. (eds.), Modelling and Simulation in the Social Sciences from the Philosophy of Science Point of View, Theory and Decision Library. Dordrecht: Kluwer 1996, 77–100.
- P. Humphreys, Extending Ourselves: Computational Science, Empiricism, and Scientific Method. Oxford: Oxford University Press, 2004.
- Roger D. Smith: Simulation Article, Encyclopedia of Computer Science, Nature Publishing Group, ISBN 0-333-77879-0.
- Roger D. Smith: "Simulation: The Engine Behind the Virtual World", eMatter, December, 1999.
- Aldrich, C. (2003). Learning by Doing : A Comprehensive Guide to Simulations, Computer Games, and Pedagogy in e-Learning and Other Educational Experiences. San Francisco: Pfeifer — John Wiley & Sons.
- Aldrich, C. (2004). Simulations and the future of learning: an innovative (and perhaps revolutionary) approach to e-learning. San Francisco: Pfeifer — John Wiley & Sons.
- Percival, F., Lodge, S., Saunders, D. (1993). The Simulation and Gaming Yearbook: Developing Transferable Skills in Education and Training. London: Kogan Page.
- South, R., "A Sermon Delivered at Christ-Church, Oxon., Before the University, Octob. 14. 1688: Prov. XII.22 Lying Lips are abomination to the Lord", pp.519–657 in South, R., Twelve Sermons Preached Upon Several Occasions (Second Edition), Volume I, Printed by S.D. for Thomas Bennet, (London), 1697.
- Of Simulation and Dissimulation フランシス・ベーコンの論文
- Wolfe, Joseph & Crookall, David, (1998). Developing a scientific knowledge of simulation/gaming . Simulation & Gaming: An International Journal of Theory, Design and Research, 29(1), 7–19.
- Bibliographies containing more references to be found on the website of the journal Simulation & Gaming.
関連項目
- Scilab - MATLAB類似でフリーウェアのシミュレーション言語。システムフロー図をGUIで描いてプログラムできる。
- GNU Octave - MATLAB互換を目指したフリーソフトウェアの行列型数値計算用言語。統計物理や工学的計算によく使われる。
- R言語 - S言語準拠のフリーソフトウェアの行列型数値計算言語。経済予測など時系列解析・シミュレーションによく使われる。
- SPICE (ソフトウェア) - カリフォルニア大学バークレー校で1973年に開発された、電子回路のアナログ動作をシミュレーションするソフトウェア。
- OrthoCAD - 歯列矯正において矯正歯科医が治療計画、方法作成のために利用するシミュレーションシステム。抜歯の影響の評価や矯正器具の最適な設置位置などがパソコン上で実際に歯を動かすことによりシミュレーションできる。
- オペレーションズリサーチ
- 地球シミュレータ
- ビッグデータ
- スーパーコンピュータ
- カオス理論
- 複雑系
- 統計学
- 標本調査
- CAE
- オフラインティーチング
- シミュレーション(サッカーの反則行為)
- エミュレータ
- In silico
- モンテカルロ法
- 偽薬
- 物理演算
- シミュレーテッドリアリティ
外部リンク
- 日本シミュレーション学会
- 日本医学シミュレーション学会
- JASAG 日本シミュレーション&ゲーミング学会
- EUROSIM — ヨーロッパのシミュレーション学会の連合組織
- INFORMS - オペレーションズリサーチと管理科学に関する研究所
- National Center for Simulation
- Simulation Interoperability Standards Organization
- The Society for Modeling and Simulation International (Formerly the Society of Computer Simulation)
- Winter Simulation Conference
- 日本バイナリー株式会社:手術シミュレーション機器など