エージェント・ベース・モデル（Agent-based model, ABM）は、コンピュータによるモデルの1種で、自律的なエージェント（個体であることもあれば、組織やグループのような集合体であることもある）の行為と相互作用を、それらがシステム全体に与える影響を評価するためにシミュレートするものである。ゲーム理論、複雑系、計算社会科学、マルチエージェントシステム、進化的プログラミングの要素を取り入れている。ランダム性を導入するためにモンテカルロ法を用いる。個体ベースモデルと呼ばれることもある。

ABMは、複数のエージェントが同時に活動し、相互作用する状況をシミュレートすることによって、複雑な現象を再現し、予測することを目指す。ここで扱うプロセスは、システムの下位レベル（ミクロ）から上位レベル（マクロ）への創発現象の1つである。そのため、「単純な行動ルールが複雑な挙動を作り出す」ことが鍵となる。これはKISSの原則として知られる原則で、モデリングの分野ではよく採用されている。もう1つの中心原理は「全体は部分の総和を超える」である。個別のエージェントはふつう限定合理的で、発見的ルールか単純な意思決定ルールを用いて、繁殖、経済的利益、社会的地位など、彼らが自身の利害とみなすものを求めて行動すると想定される。ABMのエージェントは、「学習」したり、適応したり、繁殖したりすることがある。

ほとんどのエージェント・ベース・モデルは、次により構成される： (1) 様々なスケールで特定された多数のエージェント（エージェントの粒度） ; (2) 発見的学習意思決定 ; (3) 規則の学習あるいは適応の過程 ; (4) 相互作用のトポロジー ; (5) エージェント以外の環境。

歴史
エージェント・ベース・モデルのアイデアは、1940年代にはどちらかといえば純粋な概念として出発した。膨大な計算量が必要なことから、エージェント・ベース・モデルが広まるのは1990年代になってからである。

エージェント・ベース・モデルの歴史は、ジョン・フォン・ノイマンの自己増殖オートマトンにまで遡ることができる。フォン・ノイマンが考案したこの装置は、自分自身を精確に複製することができるというものである。このコンセプトは、フォン・ノイマンの友人である数学者スタニスワフ・ウラムによって改良された。ウラムは、自己増殖オートマトンを、グリッドの上のセルの集合体として、紙の上でつくることを提案した。このアイデアに触発されたフォン・ノイマンは、のちにセル・オートマトンと呼ばれることになる装置を考案した。

次の一歩は、数学者のジョン・ホートン・コンウェイによってもたらされた。コンウェイは、よく知られるライフゲームを考案した。コンウェイのライフゲームは、フォン・ノイマンの自己増殖オートマトンと異なり、2次元のチェッカーボードの形をした仮想世界において、極めて単純なルールに従って動作する。

エージェント・ベース・モデルの最も初期の一つが、トーマス・シェリングの1971年の論文"Dynamic Models of Segregation"
で論じられた住み分けモデルである。シェリングが使ったのはコンピュータではなくコインとグラフ用紙だったが、シェリングがつくったモデルは、共有された環境において自律的なエージェントが相互作用し、その結果が環境に反映するというエージェント・ベース・モデルの基本コンセプトを具体化したものである。

1980年代前半、ロバート・アクセルロッドは、囚人のジレンマの設定で、戦略を募集し、それぞれの戦略にしたがうエージェント同士を対戦させて勝者を決めるトーナメントを行った。アクセルロッドは他にも政治科学の分野で、エスノセントリズムから文化伝播までの現象を説明する、多くのエージェント・ベースド・モデルを考案した。

1980年代後半、クレイグ・レイノルズが群れ行動をモデル化したボイドは、社会性を取り入れた初期の生物エージェント・ベース・モデルの発展につながった。レイノルズは、クリストファー・ラングトンが人工生命と名付けた、生きた生物エージェントがもつリアリティをモデル化しようとした。

「エージェント」という用語を最初に用い、現在使われるような意味で定義したのは例は何なのか、たどることは難しい。候補の一つは、ジョン・H・ホランドとジョン・H・ミラーの1991年の論文"Artificial Adaptive Agents in Economic Theory"  である。この論文は彼らのより以前の学会発表を元にしたものである。

同じ頃、1980年代に、社会科学者、数学者、オペレーション・リサーチその他の研究者たちが、計算組織科学（Computational and Mathematical Organization Theory: CMOT）という分野を生み出した。この分野は、経営科学研究所（The Institute of Management Sciences : TIMS）や、その関連学会であるアメリカ・オペレーション・リサーチ学会（the Operations Research Society of America : ORSA）に深く関わりながら発展した。1990年代半ばを通じて、この分野では、効果的なチームをデザインすること、組織の効率性を高めるために必要なコミュニケーションや社会ネットワーク行動を解明することが中心的テーマとなった。

1990年のStarLogo、1990年代半ばのSWARM と NetLogo、そして2000年の RePast と AnyLogic の登場は、いくつかの特注設計コードとともに、CMOT（のちにCASOS: Computational Analysis of Social and Organizational Systemsと改称する）がますます多くのエージェント・ベース・モデルを生み出すことに役立った。サミュエルソン(2000)が、こうした初期の動向について簡潔な概観を与える。またサミュエルソン(2005）やサミュエルソンとマカル(2006)は、その後の発展を扱っている。ボナボー(2002)は、モデリング・ソフトウェアが広く利用可能となった時点における、エージェント・ベース・モデルの可能性を扱ったよいサーヴェイ論文である。

キャサリーン・M・カーリーは、社会ネットワークと文化の共-進化を研究するために初期のエージェント・ベースド・モデルのひとつ Construct を開発した。

ジョシュア・M・エプスタインとロバート・アクステルは、大規模エージェント・ベースド・モデルであるシュガースケープを開発した。シュガースケープは、季節回遊や汚染、有性生殖、先頭、疫病や文化の伝染といった社会現象をシミュレーションしその役割を探究するためのモデルである。

ナイジェル・ギルバートは、社会シミュレーションについての最初の教科書"Simulation for the social scientist" (1999)（邦訳『社会シミュレーションの技法』）を出版し、この分野の最も重要な学術誌Journal of Artificial Societies and Social Simulationを創刊した。

1990年代後半、TIMSとORSAが合併し:en:Institute for Operations Research and the Management Sciences（INFORMS）  が設立された。 INFORMSができたことで隔年で開かれていた2つの会合は1つとなり、CMOTを刺激して、独立した学会（North American Association for Computational Social and Organizational Sciences (NAACSOS)）をつくることにつながった。主要な寄稿者の一人であるカーネギーメロン大学のキャサリーン・M・カーリーは、特に社会ネットワーク・モデルの専門家であり、　アメリカ国立科学財団から年次学会のための資金を得るなど尽力し、NAACSOSの初代会長となった。シカゴ大学とアルゴンヌ国立研究所に所属するデイビッド・サラッチが、カーリーの後の会長となり、その後エモリー大学のマイケル・プリエトゥラが引き継いでいる。

NAACSOSが設立されたのとほぼ同じ時期に、NAACSOSのカウンターパートに当たる、ヨーロッパ社会シミュレーション学会 (ESSA)、太平洋アジア・社会いシステム科学エージントベースドアプローチ学会(PAAA)が組織された。現在、この3つの学会は国際的に連携している。3学会の合同で、2006年8月には京都で、第一回社会シミュレーション世界大会が開催された。第2回大会は、ジョージ・マンソン大学の尽力により、2008年7月ワシントンDCの郊外にあるノース・バージニアで開催された。

更に最近では、ロン・サンが、認知社会シミュレーションとして知られる、ヒトの認知モデルに基づくエージェントモデルシミレーションを作り上げた（Sun 2006を参照) 。カリフォルニア大学ロサンゼルス校のビル・マクケルベイ、スーザン・ローマン、ダリオ・ナルディ、ドワイト・リードらも、組織行動と意思決定に関する重要な貢献を行った。2001年以来、カリフォルニア大学ロサンゼルス校は、カルフォルニアのレイク・アロウヘッドで会議を開催しており、エージェントベースドモデルの分野における、もうひとつの集いの場となっている。

理論
ほとんどの計算モデリング研究は、システムを均衡状態にあるか、複数の近郊の間を移行するものとして記述する。しかしエージェント・ベースド・モデリングは、単純なルールを用いるにもかかわらず、はるかに複雑で興味深い行動をもたらす。

エージェント・ベースド・モデルにとって中心となる3つのアイデアは、対象としてのエージェント、創発性、そして複雑性である。

エージェント・ベースド・モデルは、ルールに従って動的に相互作用を行うエージェントたちから構成される。エージェントたちがその内で相互作用するシステムは、現実世界のような複雑性を創り出す。

これらのエージェントは、
知能と目的を持っており、
時間と空間の中に埋め込まれている。エージェントはネットワークや格子に置かれ、その位置や、反応や目的行動は、コンピュータプログラムのアルゴリズムの形でコード化されている。モデルのプロセスは、帰納推論として最もよく記述される。モデルをつくる者は、目下の状況に最も合った仮定を設定し、エージェントの相互作用から創発してくる現象を観察する。均衡がもたらされる場合もあれば、創発的なパターンが生じる場合もある。しかし、支離滅裂で理解が難しい状態となることもある。

いくつかの点で、エージェント・ベースド・モデルは、伝統的な分析的方法を補完するものである。分析的方法はシステムの均衡を分類することができるが、エージェント・ベースド・モデルはこれら均衡を生成する可能性をもたらす。この生成的貢献は、エージェント・ベースド・モデルがもつ可能性のうちで最も主流なものとなるかもしれない。エージェント・ベースド・モデルは、次のような、より高いオーダーのパターン---テロ組織やインターネットのネットワーク構造や、交通渋滞や戦争、株式市場の暴落に見られる冪乗分布、人々が寛容であるにもかかわらず改善されない社会的隔離など---がどのように創発するかを説明できる。エージェント・ベースド・モデルはまた介入が大きな結果をもたらす勘所をつきとめたり、経路依存のタイプを区別することにも用いることができる。

エージェント・ベースド・モデルは、定常状態に焦点を合わせるよりも、システムの頑健性---複雑系が、その機能を維持しながら、内と外からの圧力にどのように適応するかを取り扱う。複雑性を活用するためには、エージェントの条件---エージェントの多様性、結合性、相互作用の水準が必要となる。

応用

エージェント・ベースド・モデルは、1990年代半ば以降、ビジネスやテクノロジーの分野で様々な問題を解決をするのに用いられてきた。応用事例には、サプライチェーンの最適化、ロジスティクス、口コミや社会ネットワーク効果を含む消費行動のモデル化、分散コンピューティング、ワークフォース・マネジメント、アセットマネジメントなどがある。エージェント・ベースド・モデルは交通渋滞を分析するのにも用いられている。　これらを含むエージェント・ベースド・モデルの応用では、複数のエージェントとその結びつきをモデルに取り入れることで、利害関係のシステムがシミュレーションされる。エージェント・ベースド・モデルは、個人レベルの行動の変化が、システム全体にどのような影響を与えるかをテストするにも用いることができる。

他にも、伝染病の流行や生物兵器の脅威、人口動態を含む生物学での応用、 、古代文明の興隆、自民族中心主義的行動 、強制移住 、言語選択ダイナミクス 、ヒトの免疫系 を含む医学的応用にも、エージェント・ベースド・モデルは用いられてきた。乳がんの診断支援にも用いられている。

Recently, agent based modelling and simulation has been applied to various domains such as studying the impact of publication venues by researchers in the computer science domain (journals versus conferences). In addition, ABMS has been used to simulate information delivery in ambient assisted environments. In the domain of peer-to-Peer, ad-hoc and other self-organizing and complex networks, the usefulness of agent based modeling and simulation has been shown. The use of Computer Science based Formal Specification framework coupled with Wireless sensor networks and an Agent-based simulation has recently been demonstrated in.

Agent based evolutionary search or algorithm is a new research topic for solving complex optimization problems. Further details on the topic can be found in R. Sarker and T. Ray (2010)  Agent based Evolutionary Approach: An Introduction, Agent Based Evolutionary Search, Springer series in Evolutionary Learning and Optimization, Springer, pp. 1–12.

経済 

In the wake of the financial crisis interest has grown in ABMs as possible tools for economic analysis. ABMs do not assume the economy can achieve equilibrium and "representative agents" are replaced by agents with diverse, dynamic, and interdependent behavior including herding. ABMs take a "bottom-up" approach and can generate extremely complex and volatile simulated economies. ABMs can represent unstable systems with crashes and booms that develop out of non-linear (disproportionate) responses to proportionally small changes. A July 2010 article in The Economist looked at ABMs as alternatives to the DGSE models. The journal Nature also encouraged agent-based modeling with an editorial that suggested ABMs can do a better job of representing financial markets and other economic complexities than standard models along with an essay by J. Doyne Farmer and Duncan Foley that argued ABMs could fulfill both the desires of Keynes to represent a complex economy and of Robert Lucas to construct models based on microfoundations. Farmer and Foley pointed to progress that has been made using ABMs to model parts of an economy, but argued for the creation of a very large model that incorporates low level models.

ハードウエア

The Software described above is designed for serial von-Neumann computer architectures. This limits the speed and scalability of these systems. A recent development is the use of data-parallel algorithms on Graphics Processing Units GPUs for ABM simulation ,  and . The extreme memory bandwidth combined with the sheer number crunching power of multi-processor GPUs has enabled simulation of millions of agents at tens of frames per second.

エージェント・ベース・モデルの妥当性と検証 
Verification and validation (V&V) of simulation models is extremely important. Verification involves debugging the model to ensure it works correctly; whereas Validation ensures that you have built the right model. Verification and validation in the social sciences domain can be seen in. In Computational Economics, validation can be examined in. In, the author proposes face validation, sensitivity analysis, calibration and statistical validation. Discrete-Event Simulation Framework approach for the validation of Agent-Based systems has been proposed in. A comprehensive resource on empirical validation of agent-based models is 

A formal approach for V&V of all agent-based models is based on building a VOMAS (Virtual Overlay Multi-Agent System), a software engineering based approach, where a virtual overlay Multi-agent system is developed alongside the agent-based model. The agents in the Multi-Agent System are able to gather data by generation of logs as well as provide run-time validation and verification support by watch agents and also agents to check any violation of invariants at run-time. These are set by the Simulation Specialist with help from the SME (Subject Matter Expert). An example of using VOMAS for Verification and Validation of a Forest Fire simulation model is given in 

VOMAS provides a formal way of Validation and Verification. If you want to build a VOMAS, you need to start designing VOMAS agents along with the agents in the actual simulation preferably from the start. So, in essence, by the time your simulation model is complete, you essentially have one model which contains two models:
 An Agent Based Model of the intended system
 An Agent Based Model of the VOMAS

Unlike all previous work on Verification and Validation, VOMAS agents ensure that the simulations are validated in-simulation i.e. even during execution. In case of any exceptional situations, which are programmed on the directive of the Simulation Specialist (SS), the VOMAS agents can report them. In addition, the VOMAS agents can be used to log key events for the sake of debugging and subsequent analysis of simulations. In other words, VOMAS allows for a flexible use of any given technique for the sake of Verification and Validation of an Agent-based Model in any domain.