
マイクロスケールモデルは、微細な詳細をシミュレートする計算モデルの幅広いクラスを形成し、詳細を特定のカテゴリに統合するマクロスケールモデルとは対照的です。[ 2 ] [ 3 ]マイクロスケールモデルとマクロスケールモデルは、同じ問題の異なる側面を理解するために一緒に使用できます。
マクロスケールモデルには、カテゴリとカテゴリ間の流れがダイナミクスを決定する常微分方程式、偏微分方程式、積分微分方程式が含まれる場合もあれば、代数方程式のみを含む場合もある。抽象的なマクロスケールモデルは、より詳細なミクロスケールモデルと組み合わせることができる。2つのスケール間のつながりは、マルチスケールモデリングに関連している。ナノ材料のマルチスケールモデリングのための数学的手法の1つは、マルチスケールグリーン関数の使用に基づいている。
対照的に、ミクロスケールモデルは、バイオフィルム内の個々の細菌[ 4 ]、シミュレートされた近隣地域の個々の歩行者[ 5 ] 、レイトレーシング画像内の個々の光線[ 6 ]、都市内の個々の家[ 7 ] 、バッテリー内の微細な細孔と流体の流れ[ 8 ] 、気象学における微細な区画[ 9 ] 、粒子システムの微細な構造[ 10 ]、および個体間の相互作用と背景条件がダイナミクスを決定するその他のモデルなど、さまざまな詳細をシミュレートできます。
離散イベントモデル、個体ベースモデル、エージェントベースモデルは、マイクロスケールモデルの特殊なケースです。ただし、マイクロスケールモデルは、離散的な個体や離散的なイベントを必要としません。地形、建物、樹木に関する細かい詳細情報は、気象シミュレーションにマイクロスケールの詳細を追加することができ、その分野でメソスケールモデルと呼ばれるものに接続できます。[ 9 ]ライダー画像から得られる平方メートルサイズの景観解像度により、ギガバイトサイズの詳細な配列を使用して、たとえば小川や水たまりなどの地表面を流れる水の流れをモデル化できます。[ 11 ]ニューラルネットワークのモデルには個々のニューロンが含まれる場合がありますが、連続時間で実行されるため、正確な離散イベントが欠けている場合があります。[ 12 ]
計算機によるミクロスケールモデルのアイデアは、コンピュータ黎明期に生まれ、標準的な数学的形式では正確に記述できない複雑なシステムに応用された。
20世紀半ば頃、現代計算機科学の創始者2人の研究において、2つのテーマが浮かび上がった。まず、先駆者であるアラン・チューリングは、形態形成の化学的基礎を理解するために簡略化されたマクロスケールモデルを使用したが、その後、実際の生物システムで生じる非線形性やその他の条件を理解するために、計算ミクロスケールモデルを提案し、使用した。[ 13 ]次に、先駆者であるジョン・フォン・ノイマンは、任意に複雑な実体の自己複製の可能性を理解するためにセルオートマトンを作成した。 [ 14 ]このセルオートマトンにはミクロスケール表現があったが、簡略化されたマクロスケール形式はなかった。この2番目のテーマは、最終的に実体が自律的に動作する人工知能エージェントとなるエージェントベースモデルの一部とみなされている。
20世紀最後の四半期までに、計算能力は大幅に向上し[ 15 ] [ 16 ]、数万個体以上をマイクロスケールモデルに含めることが可能になり、疎配列を適用して高いパフォーマンスも達成できるようになった[ 17 ] 。計算能力の継続的な向上により、21世紀初頭には、通常のコンピュータでマイクロスケールモデルを使用して数億個体をシミュレートすることが可能になった。
「マイクロスケールモデル」という用語は20世紀後半に登場し、現在では物理学や生物学の多くの分野の文献に見られる。[ 5 ] [ 7 ] [ 8 ] [ 9 ] [ 18 ]
図 1は、基本的なマクロスケールモデル、すなわち無制限の環境における人口増加を表しています。その方程式は、経済学における資本の複利的成長や物理学における指数関数的減衰など、他の分野にも関連しています。この方程式には、1つの統合変数があります。ある時点における人口の個体数統合されたパラメータがあります人口の年間増加率であり、年間出生率と年間出生率の差として計算される。そして年間死亡率。 時間は、ここに示した例のように年単位で測定することも、その他の適切な単位で測定することもできます。
図1のマクロスケールモデルは 、複数のパラメータを統合し、いくつかの簡略化近似を取り入れています。
マクロスケールモデルのこれらの近似はすべて、類似のミクロスケールモデルで改良することができます。上記の最初の近似(出生率と死亡率が一定である)では、図 1 のマクロスケールモデルは、各時点で成長率がランダムに変動する多数の確率的試行の平均に正確に一致します。[ 19 ]ミクロスケールの確率的詳細は偏微分拡散方程式に包含され、その方程式を使用して等価性を確立します。
他の仮定を緩和するために、研究者たちは計算手法を適用してきた。図 2は、図1のマクロスケールモデルに対応する計算ミクロスケールアルゴリズムの例である。 すべての個体が同一であり、出生率と死亡率の突然変異が無効になっている場合、ミクロスケールの動態はマクロスケールの動態と非常によく似ている(図 3Aおよび 3B)。2つのモデル間のわずかな違いは、決定論的なマクロスケールモデルには存在しない、ミクロスケール版の確率的変動に起因する。これらの変動は、乱数列の意図的な変動によって、アルゴリズムが実行されるたびに異なる。
個体がすべて同一でない場合、ミクロスケールのダイナミクスはマクロスケールのダイナミクスと大きく異なる可能性があり、マクロスケールでモデル化できるよりも現実的な状況をシミュレートできます (図 3C および 3D)。ミクロスケール モデルは微分方程式を明示的に組み込んでいませんが、大規模な集団ではそれをよくシミュレートします。個体が互いに異なる場合、システムは明確に定義された挙動を示しますが、その挙動を支配する微分方程式をコード化するのは困難です。図 2 のアルゴリズムは、方程式フリー モデル と呼ばれるものの基本的な例です。[ 20 ]
マイクロスケールモデルで突然変異が有効になると()、マクロスケールモデルよりも人口増加が速くなります(図 3Cおよび 3D)。パラメーターの突然変異により、一部の個体は出生率が高くなり、他の個体は死亡率が低くなり、これらの個体は人口に比例してより多く貢献します。他の条件がすべて同じであれば、シミュレーションが進むにつれて平均出生率は高い値に、平均死亡率は低い値にドリフトします。このドリフトは、図2のミクロスケールアルゴリズムのbetaとdelta という名前のデータ構造で追跡されます。
図 2 のアルゴリズムは、オイラー法 を用いた簡略化されたミクロスケール モデルです。ギレスピー法[ 21 ]や離散イベント法[ 17 ]などの他のアルゴリズムも実際に使用されています。実際に使用されているアルゴリズムのバージョンには、個体が死亡したら考慮対象から除外する (メモリ要件を減らし、速度を向上させるため) や、確率イベントを将来にスケジュールする (連続的な時間スケールを提供し、さらに速度を向上させるため) などの効率化が含まれています。[ 17 ]このようなアプローチは、桁違いに高速になる可能性があります。
マイクロスケール モデルで扱うシステムの複雑さは、モデル自体の複雑さにつながり、マイクロスケール モデルの仕様は、対応するマクロスケール モデルの数十倍または数百倍になることがあります。(図 2 の簡略化された例では、仕様の行数が図 1 の 25 倍になっています 。)コンピュータ ソフトウェアにはバグが発生し、テストなどの標準的な方法では完全に除去できないため[ 22 ]、また複雑なモデルは詳細に公開されたり査読されたりすることがほとんどないため、その妥当性が疑問視されています。[ 23 ]マイクロスケール モデルのベスト プラクティスに関するガイドラインは存在しますが[ 24 ]、このトピックに関する論文で、複雑なモデルの検証の問題を完全に解決したと主張するものはありません。
計算能力の向上により、国全体、あるいは全世界の人口をマイクロスケールモデルで解析できるレベルに達しつつあり、国勢調査や旅行データの改善によって、こうしたモデルのパラメータ設定の精度がさらに向上している。地球観測衛星や、国立生態観測ネットワーク(NEON)などの地上観測所からのリモートセンサーは、較正のための膨大なデータを提供している。潜在的な応用分野は、疾病の蔓延予測と抑制から、地球の動態の理解まで多岐にわたる。

図 1.マクロスケールモデルの最も単純な例:連続的な指数関数的成長を記述する常微分方程式。当時の人口規模そしては、一次元における時間経過に伴う変化率である。。初期人口は、は単位時間当たりの出生率であり、は単位時間あたりの死亡率です。左側は微分形式、右側は標準的な数学関数を用いた明示的な解で、この場合は微分形式から導出されます。ほとんどすべてのマクロスケールモデルは、この例よりも複雑で、複数の次元を持ち、標準的な数学関数を用いた明示的な解を持たず、微分形式から理解する必要があります。

図 2.オイラー法を個体ベースモデルに適用する基本アルゴリズム。詳細は本文を参照。擬似コードで表されたこのアルゴリズムは、プロシージャの呼び出しから始まる。これは、右側に示された番号付きの手順に従ってシミュレーションを実行するためにデータ構造を使用します。関数を繰り返し呼び出します。これは、変数で定義される標準偏差を持つ一様分布から抽出された乱数によってパラメータが摂動された値を返します。(12の平方根が現れるのは、一様分布の標準偏差にその係数が含まれるためです。)アルゴリズムでは、一様分布の乱数を返すものと想定される。データは、呼び出しごとに初期値にリセットされると想定されます。。

図 3.図1および図2のマクロスケールおよびミクロスケールのシミュレーションのダイナミクスをグラフで比較したもの。