シミュレーション

提供: Yourpedia
移動: 案内検索

シミュレーション (Simulation)とは、実験・訓練を目的とし、複雑な事象・システムを定式化して行う模擬実験をいう。「シュミレーション」という呼称・表記も良く見られるが、これは誤りである。

概要

実際に実験を行うことが極めて困難、不可能、または危険である場合、多岐にわたる選択条件を事前に検証しようとすると、現象の特定要素を簡略化・デフォルメして検証する必要がある。シミュレーションの実施には現象を論理的に単純化したモデル、模型、コンピュータプログラムなどが用いられる。シミュレーションを行う装置やプログラムシミュレータ (Simulator) と言う。ただし、シミュレータは必須ではなく、自然状態の再現が容易な場合、特に単純化されたモデルを用いる場合などは必要とされない場合もある。

通常シミュレーションは現象の全てを試行要素とせず、対象要素を絞り込むことにより要素が現象に与える影響を検証する事が主な目的とされる。よって、結果が完全に不確定な事象を検証することは困難とされる。特にコンピュータを用いた積算によるシミュレーションは、基本的に線形近似による計算となるため、非線形要素を含む自然現象をシミュレートする場合は必ず誤差が生ずる。従ってコンピュータによるシミュレーションによって良好な結果を得る為には、モデル化による誤差見積もりが重要となる。モデル化によるシミュレーションは、現象についてどの程度正確に真似るかによって計算量を調整することが可能であり、現象についての完全な知識は必要とされないなどのメリットがある。

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

分類と用語

歴史的には、シミュレーションという用語はいくつかの分野で独自に使われていた。しかし、20世紀になって、一般システム理論サイバネティックスの研究により、コンピュータの各種利用をシミュレーションという用語で表すようになり、用語としての意味が統一されていった。

物理的シミュレーションと対話型シミュレーション

「物理的シミュレーション」とは、何らかの物理的な物体で実物を置き換えることを指す。置換する物体としては、実物よりも小さいものや安価なものが選ばれる。

「対話型シミュレーション」は物理的シミュレーションの特殊形態であり、シミュレーション環境内に人間が入り込むものを指す。例えば、フライトシミュレータドライブシミュレータがある。

コンピュータシミュレーション

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

コンピュータシミュレーションの面白い応用として、コンピュータを使ってコンピュータをシミュレートするというものがある。関連するソフトウェアとして、コンピュータ・アーキテクチャ・シミュレータと呼ばれるものは、命令セットシミュレータフルシステムシミュレータに分けられる。

コンピュータシミュレーションは、物理学/化学/生物学における様々な自然科学的システムのモデル化、経済学/社会科学における人間に関わるシステムのモデル化、さらには工学におけるシステムのモデル化において、それらシステムの作用について洞察を得る助けとなる。シミュレーションにコンピュータを使うことの利便性を表す例として、ネットワーク交通量シミュレーションがある。このようなシミュレーションにおいては、その環境についての初期設定を変更するとモデルの振る舞いが変化する。一般にコンピュータシミュレーションは、人間との対話を排除した形で行われるものとされる。

古来、システムの形式的モデル化には数学が用いられ、解析的な解を求めることで、あるパラメータと初期条件におけるシステムの振る舞いを予測する。コンピュータシミュレーションは、そのような単純な解法が不可能な場合の補助あるいは置換として使われることが多い。コンピュータシミュレーションには様々なタイプがあるが、それらに共通するのは、システムが取りうる全ての状態を列挙するのが不可能あるいは現実的でない場合に、そのモデルの代表的シナリオの標本を生成しようとするという点である。

モンテカルロ法確率論的モデリングによるコンピュータシミュレーションは、モデル化が非常に簡単という特徴がある。

計算機科学におけるシミュレーション

計算機科学では、「シミュレーション」という言葉には特別な意味がある。アラン・チューリングは、離散状態機械の状態遷移表をコンピュータ上に置き、その機械の動作を行わせることを「シミュレーション」とした。

コンピュータ・アーキテクチャにおいては、扱いにくい種類のコンピュータで動作するプログラムの実行にシミュレータが使われたり、マイクロプログラムや場合によっては商用アプリケーションのデバッグにシミュレータが使われる。シミュレータではプログラマが任意の時点で様々な情報を参照することが可能であり、実行速度も好きなように設定できる。シミュレータを使ってフォルトツリー解析を行うこともある。また、大規模集積回路の論理設計は実際に製造に入る前にシミュレータでテストされる。例えば、シンボリックシミュレーションと呼ばれる手法がある。

理論計算機科学では、状態遷移系間の関係を「シミュレーション」と呼ぶ。これは特に操作的意味論の研究で使われる。

最適化問題の分野では、物理プロセスのシミュレーションが進化的計算と共に使われ、制御戦略の最適化を行う。

目的・用途

  1. 建築物などの製品の機構に内在する欠陥(負荷や強度など)を模型やコンピュータによって探して取り除く。
  2. ビジネスにおいて客層や商品、時間帯、店舗等の調査結果をシミュレーションに取り入れることで、効率的な販売をする。
  3. 災害の発生や規模の予知。地震、津波、火災などの自然災害や、原子力発電所のメルトダウンや航空機事故などの人災などの防災。
  4. 自動車におけるドライブシミュレータ航空機におけるフライトシミュレータ等、各種の操縦、操作を学ぶ手立てとしての利用。いろいろなシチュエーション、特に実機では危険を伴うような場面を体験することが可能となる。
  5. シミュレーションゲームではシミュレーションを娯楽として行う。ボードやコマやカードを使い事象を再現するようなルールに基づいてプレイするものと、コンピュータを使って事象の再現を行わせるものとがある。ウォーゲーム、戦略ゲーム、経営ゲームなど。前項のドライブ、フライトシミュレータはレース、戦闘などの形でゲームとしても存在する。
  6. その他、天気予報や人口の推移、予測、分析の分野でも広く使われている。

コンピュータによるシミュレーション

コンピュータの登場によって、人間の手による計算ではほとんど不可能な膨大な量の総当りでしか行えない計算が比較的短時間で行えるようになったため、コンピュータによるシミュレーションは自然現象や経済活動や人口の推移といったものに使用されるようになった。コンピューターの演算能力の発展は、以前は縮小模型や実物大模型などによって行われていた実験を計算による仮想空間のみで実験・予測することが可能になってきている。

物理学

例えば、木の葉が舞い落ちる動きを通常の手計算で導き出す事は不可能であった。これは重力や空気抵抗だけでなく、木の葉自体の動きによる空気の状態の変化などが複雑に絡み合っているからである。この、カオティックな振る舞いに対して、単純計算を膨大に繰り返す事の出来るコンピュータによって、ある程度の周期性や規則性を見出されうる。

軍事

軍事分野においては戦闘状況をシミュレートしたモデル研究が行われており、地形、時間、損害率、兵員数、戦闘価値、移動速度、発見率、命中率などの要素から戦闘の推移、両軍の損害などを導き出すことができる。また指揮官制、補給計画立案、戦術研究、海空軍の訓練などでシミュレーションは用いられている。

訓練としてのシミュレーション

ファイル:Vehicle simulator.jpg
大型車のシミュレータで訓練中の兵士

シミュレーションは一般市民や兵士の訓練に使われることが多い。これは、実際の装置や兵器を訓練に使用するのがコスト的に高価すぎたり、単に非常に危険であるという理由からである。この場合、安全な仮想環境で意味の有る訓練が行われる。特に、実際なら生命に関わるような失敗をしても許される点は重要である。

訓練におけるシミュレーションは3つに分類される。

  • 「ライブ」シミュレーション - 実地でシミュレートされた装備を身につけた人間が訓練を行う。
  • 「仮想」シミュレーション - 仮想環境でシミュレートされた装備を身につけた人間が訓練を行う。
  • 「構築型」シミュレーション - 仮想環境でシミュレートされた装備を身につけたシミュレートされた人間が訓練を行う。これは、ウォーゲームと呼ばれるものが進化したものである。

フライトシミュレータ

詳細は フライトシミュレーション を参照

フライトシミュレータは、地上で航空機操縦士を訓練するのに使われる。この場合、操縦士がシミュレートされた航空機を墜落させても生命に危険はない。特に実地では訓練が困難な危険な状況を設定して訓練することが可能である。例えば、エンジンが停止した状態での着陸、電気系統が停止した状態での着陸、油圧系統が機能しない状況での着陸などである。最近のシミュレータは視界の表示や油圧による姿勢制御が高度に進化している。シミュレータは通常、実際の訓練用航空機よりも低価格である。

ドライブシミュレータ

詳細は ドライビングシミュレーター を参照

ドライブシミュレータは実際の自動車の特性を仮想環境内で再現する。外的要因や条件を再現することで、運転者が実際の自動車を運転しているかのように感じさせる。訓練目的で使われることが多いが、研究目的でも使われる。

船舶シミュレータ

船舶シミュレータは、船員の訓練に使われる。特に大型の船舶や浚渫船などをシミュレートするものが多い。通常、船のブリッジに似せた形状になっており、窓には仮想的な外界の風景が投影される。

教育におけるシミュレーション

教育におけるシミュレーションも訓練の一種と考えられ、特定の主題に沿って行われる。ビデオを鑑賞し、問題の解決策を話し合い、ロールプレイを行うなどの手法がある。企業によるビジネス教育の一環としてもシミュレーションが採用されつつある。リスクのない仮想環境でビジネス戦略の実験をしたり、ケーススタディの学習における拡張手段として用いられる。

軍事教練におけるシミュレーション

兵士が行軍や歩兵戦闘などをシミュレーションするもの。OFPから発展したVBSが米豪等の軍で採用されている。

医療シミュレータ

医療シミュレータは、医療に従事する者への治療法/診断法/概念/意思決定についての教育の目的で、近年開発が盛んになってきている。医療シミュレータによる訓練は、単純な血液採取から腹腔鏡手術まで各種存在する。また、新型医療機器の開発においてもシミュレーションは重要である。医療シミュレータでもコンピュータが重要な役割を担っている。実物大の人形を用いたシミュレータでは、人形への薬物投与などによって適切な反応を示すようにプログラムされている。視覚をコンピュータグラフィックスで擬似する場合、触覚は訓練者の動作に反応するようプログラムされたフィードバック機器で再現する。この場合、現実性を増すために実際の患者のCTMRIのデータを用いることが多い。より簡便なシミュレーションとして、ウェブブラウザで操作できるものもあるが、触覚は再現されず、キーボードとマウスで操作することになる[1]

医療シミュレータとは若干意味が異なるが、偽薬を使った医薬の有効性の試験も一種のシミュレーションと言える。

経済・金融

個々の人々は仮に自分の利益追求だけを求める単純なモデルと考えたとしても、社会全体としての動きを知る事は出来ない。単純が複数集まるとそこには、様々な性質が生まれるという複雑系であるためで、これもまた、コンピュータの膨大な計算のシミュレーションによって予想されうるものであるが、実際のところ株価や物価の変動など、経済の動きを予測することは容易ではない。

金融においては、コンピュータシミュレーションを用いてシナリオ立案が行われる。例えば、リスクを考慮した正味現在価値 (NPV) は計算方法は確立しているが、入力値は不明な場合がある。評価対象のプロジェクトの性能を擬似することで、シミュレーションによって様々な場合の NPV が求められる。

デザイン・都市景観

コンピュータグラフィックス(CG)によって作成されたバーチャルリアリティ映像を、工業デザインや建築デザインの成果物を事前評価するのに用いる。例えば建築物や構造物による景観への影響を予測する景観シミュレーションの場合、実写風景の上で建物のCGと組み合わせたり、建物や背景の全てをCGで構築し、実際に建築した様子に近い景観を観察することが出来る。コンピュータの計算能力が実用に達するまでは、手作業により遠近法にそって書かれたパース画を作成し評価していた。

都市計画のツールとして都市シミュレータを使って、様々なポリシーの決定によって都市がどのように変わるかを把握することができる。大規模な都市シミュレータの例としては、UrbanSim(ワシントン大学で開発)、ILUTE(トロント大学で開発)、Distrimobs(ボローニャ大学で開発)などがある。都市シミュレータはエージェントに基づくシミュレーションが一般的で、土地の利用計画や交通機関などが入力として設定される。

景観シミュレータと都市シミュレータの開発を行う研究分野は、一般的に計画支援システムと呼ばれている。

工学(技術)シミュレーションとプロセスシミュレーション

シミュレーションは、工学システムや多くのプロセスから構成されるシステムの重要な機能である。例えば電子工学では、遅延線を使って実際の伝送線路における遅延や位相のずれをシミュレートする。また、擬似負荷(ダミーロード)を用いてインピーダンスのシミュレートが行われる。シミュレータは一般にシミュレート対象の一部の操作や機能だけを擬似する。一方、エミュレータは対象の全機能を擬似するのが一般的である。

多くの工学シミュレーションは、数学的モデルを用いて、コンピュータを利用して行われる。しかし、その数学的モデルが信頼できない場合も多い。流体力学のシミュレーションは数学的なシミュレーションと物理的なシミュレーションの両方を必要とすることが多い。この場合、物理的モデルは動的相似性(Dynamic Similitude)を要求される。物理的シミュレーションや化学的シミュレーションは、研究目的だけでなく、具体的な実用目的を持つ。例えば、化学工学におけるプロセスシミュレーションによって得られたプロセスのパラメータは、石油精製などの化学工場の運用に即座に活用できる。

生産技術オペレーションオペレーションズリサーチの分野でよく使われる離散事象シミュレーションは、様々なシステムのモデル化に使われる。例えば、ビジネスにおいて各個人が30のタスクを実行可能で、数千の製品やサービスがあり、各製品/サービスには数十のタスクを逐次的に行う必要があり、顧客がどの製品/サービスを求めるかは季節によって変動したり、将来的に変化していく。このような状況をシミュレーションすることで経営上の様々な意思決定の助けとなる。関連する事項として、制約条件の理論ボトルネックコンサルティングなどがある。

参考文献

関連項目

外部リンク

Wikipedia-logo.svg このページはウィキペディア日本語版のコンテンツ・シミュレーションを利用して作成されています。変更履歴はこちらです。