<?xml version='1.0' encoding='Shift_JIS' ?>
<doc xml:lang='ja'>
	<head>
		<title>概念モデルとしての基礎モデル</title>
	</head>
	<body>
		<p>
			基礎モデルフレームワークについて説明する前に、概念モデルとしての基礎モデルを説明します。基礎モデルフレームワークはこの概念モデルに基づいてソフトウェアフレームワークとして実装したものであることは述べましたが、基礎となる考え方・構造は概念モデルそのままです。</p>
		<figure id="fig:lastyear1" src="image/fm_ver1" title="概念モデルとしての基礎モデル" />
		<p>
			図のように、基礎モデルはWorld(世界)、Space(空間)、Clock(時計)、Entity(実体)、Agent(主体)、Goods(財)、Information(情報)、Behavior(行動)、Relation(関係)、Channel(経路)などのクラス(タイプ)から構成されています。</p>
		<p>
			基礎モデルでは、対象世界を表現する土台として、Worldクラスが定義されています。Worldは、その世界に固有の空間と時間を規定するためにSpaceクラスとClockクラスが用意されています。このWorldに、後述のEntity、すなわちAgentまたはGoodsを配置することができます。</p>
		<p>
			そして、このWorldに存在するものとして実体として、GoodsとAgentが定義されています。Entityには、後述するInformationを付随させることができます。</p>
		<dl>
			<dt>Agent</dt> 
			<dd>
				Entityの一つとして、社会・経済において、さまざまな活動を行う個人や社会集団(企業・政府・家族・学校・地域社会・国)をAgentとして表現します。Agentは、後述のGoodsを所有することができます。また、Agentの行動(振舞い)は、後述するようにBehaviorとして定義します。そして、Entityの一種であるためInformationを保持することができます。</dd>
			<dt>Goods</dt>
			<dd>
				Agentに所有し交換される有形/無形のさまざまなものを表すクラスとしてGoodsクラスを定義しています。Goodsとしてモデル化されるものには、例えば、自動車、石油、トウモロコシ、株、土地の権利、書籍、広告、日記、回覧板、水、声、騒音、ごみ、貨幣などが考えられます。</dd>
			<dt>Information</dt>
			<dd>
				EntityはInformationを持つことができます。Goodsに付随して取引される情報や、エージェントの記憶した情報などは、Informationとして定義されます。Informationは単独では存在せず、必ずEntity(すなわち、GoodsまたはAgent)によって保持されます。
				例えば、新聞を「紙」というGoodsに新聞記事のInformationが付随したものとして捉え、会話を「声」という無形で瞬間的なGoodsにInformationが付随したものとして捉えるということです。
				Agentが保持するInformationは、主体の内部に貯蔵されているものであり、「記憶」や「遺伝子」などを指しています。このAgentの記憶としての内部的な情報は、言語記号で記述された情報をそのままのかたちで保持させることもできますが、神経情報(例えばニューラルネットワークの重みなど)にエンコードしたかたちで保持させることも可能です。</dd>
			<dt>Behavior</dt>
			<dd>
				エージェントの行動は、Behaviorとして表されます。例えば、企業における生産行動や販売行動，個人における購買行動や労働行動などは、どれも個別にBehaviorとして表現されます。</dd>
			<dt>Relation</dt>
			<dd>
				他の主体と関連性はRelation(関係)によって表現します。これにより、友人関係や家族関係、雇用関係、行きつけの店などの関係を表現することができるようになります。このRelationに基づいて開設されるChannel(経路)として表し、このChannelを通じて商品や会話内容、貨幣などのGoodsをやり取りします。これによって、会話・取引を表現します。</dd>
		</dl>
		<p>
			基礎モデルで表現されたモデルでは現実世界と同じように時刻の経過によってモデルの状態が変わり、シミュレーションが実行されていきます。基礎モデルではこの時刻の経過をTimeEventがAgentに配信されることによって表現します。一定時間ごとにTimeEventがモデルに存在するAgentに配信されます。そして、Agentは自分のBehaviorにこのTimeEventを転送しそれによってBehaviorが稼動することが、時刻が経過することによってAgentが行動することを表現しています。</p>
	</body>
</doc>
