第5章基于Agent的复杂系统建模与模拟方法本章内容主体与多主体系统多主体建模与仿真多主体模型的实现多主体仿真在社会科学中的应用Aspen多主体经济模型5.1主体与多主体系统5.1.1主体概念(1)主体的来源Agent:主体,智能体,代理来源于分布式人工智能领域Minsky,1986《TheSocietyofMind》1990s在人工智能领域得到重视1990s~在其他领域广泛应用(2)Agent的定义研究人员对Agent的理解并不一致,至今还没有一个普遍接受的关于Agent的定义。“Agent”一般用来描述自包含的、能感知环境并能在一定程度上控制自身行为的计算实体。Hewitt:“什么是主体对于基于主体的计算来说是个尴尬的问题,就像主流的人工智能研究中什么是智能这个问题一样”(3)主体的弱概念主体的弱概念从广义的角度规定主体的特性:自治性(autonomy):主体的运行不受人或其它物的直接控制,它对自己的行动和内部状态有一定程度的控制权。社会能力(socialability):主体通过某种主体通信语言与其它主体或人进行信息交互。反应能力(reactivity):即对环境的感知和影响。无论主体生存在现实世界还是虚拟世界,主体都应该可以感知所处环境,并能及时地对环境中发生的变化做出反应,通过行为影响环境。预动性(pro-activeness):主体不是简单的对环境被动反应,而是能采取主动,表现出目标导向(goal-directed)的行为。(4)主体的强概念主体的强概念主要应用在人工智能领域认为主体是一个计算机系统,除了上述弱概念说明的特性外,主体还应该具有人类的某些一般特性,如知识、信念、意图、承诺等心智状态,甚至具有情感等(1)为什么需要多主体系统?单一主体很难对存在于动态开放环境之中的大规模复杂问题进行求解。人类智能本质上是社会性的,人们往往为解决复杂问题组织起来,这些组织能够解决任何个人都无法解决的问题。5.1.2多主体系统(Multi-AgentSystems)(2)多主体系统的特点概念:多主体系统是由多个可以相互交互的主体所组成的系统。多主体系统的特点:有限视角,即每个主体都面临不完全信息,或只具备有限能力;没有系统全局控制;数据分散;计算是异步的(3)多主体系统的结构各个主体相对独立,主体之间可能存在复杂的关系Agent交互结构关系环境作用范围主体之间的关系类型结构相关结构相关性是指不同主体之间具有结构关系,如小组关系、上下级关系等。这种结构关系将对系统中主体的运行以及主体之间的相互作用产生影响。行为相关不同的主体对环境的一部分产生影响,某些主体的影响范围发生重叠,则它们之间就产生了行为上的相互影响。5.1.3主体的一般结构从计算的角度看,主体是一个计算实体,具有属于自身的资源,能够感知环境信息,根据内部的行为控制机制确定主体应采取的行动,主体的行动实施后,将对自身状态和环境状态产生影响。要实现这样的主体,可以采用不同的结构。所谓结构就是定义主体的基本成分以及各成分之间的关系和交互机制。对特定的应用场合采用某种结构可能会更自然,也更容易理解。(1)标准主体动作决策部件主体环境感知输入动作输出形式化假设环境变化可以抽象为一个环境状态序列,环境在任何离散的瞬时状态的有穷集合为:主体有一个可执行动作集合主体在环境中的一次执行r是环境状态与主体动作的一个交替序列:主体的动作决策部件可以定义为以下函数:为环境演化的状态序列。},,,{210eeeE},,,{210aaaAuaaaaeeeeru1210210:AEChoose*:*E主体的动作将对环境状态产生影响,定义影响函数为:标准主体定义为以下三元组:ChangeChooseAAgent,,)(:EAEChange(2)纯反应式主体有一种Agent决策完全基于当前状态,不考虑过去的状态。这种Agent只是直接对环境做出反应,因此称为纯反应式Agent。其动作决策部件与标准主体有所不同,决策函数为:AEChooser:(3)具有感知部件的主体将标准主体的决策部件分解为感知子系统和动作子系统,称为具有感知部件的Agent。动作决策部件主体环境感知输入动作输出感知部件(4)具有状态部件的主体一种与标准主体等价的表示方法,思路是认为Agent具有内部状态环境感知输入动作输出动作决策部件主体感知部件状态转换状态5.1.4主体之间的通信与交互主体之间实现交互需要三个方面的技术保障:要有一致的消息协议,要有实现通信的机制,要有高层的交互协议。这三个方面密切配合,才能实现主体之间的协作。(1)主体通信语言主体通信语言是一种用于表达主体之间交互消息的描述性语言,它定义了交互消息的格式(即语法)和内涵(即语义)。影响较大的主体通信语言:KQMLACLACL消息结构一个ACL消息是由通信行为、通信内容以及一组消息参数等几部分组成(inform:content(price(bidgood2)150):senderagent1:receiverauction-server:in-reply-toround4:reply-withbid04:languangeKIF:ontologyauction)消息开始消息参数消息内容表达式通信动作类型消息结尾(2)通信方式主体之间常用的通信机制有三种:黑板机制邮箱机制消息传递机制(3)交互协议交互协议定义了主体之间为了进行协作,实现某个特定目标而进行交互的结构化消息。FIPA对一些典型的对话定义了交互协议,请求(request)查询(query)合同网(contract-net)代理(broking)订阅(subscribe)建议(propose)InitiatorParticipantquery-refquery-ifrefuse[agreedandnotificationnecessary]failureinform-t/f:informinform-result:inform[query-if][query-ref]agree[refused][agreed]查询交互协议5.2多主体建模与仿真5.2.1多主体建模思想ABM:MAS是对人类或生物群体的自然隐喻,采用多主体观点可以更自然的对这些系统建模,由此形成了基于主体的建模方法(Agent-BasedModeling,ABM)。ABM的基本出发点是:许多系统可以看作是由多个自治的主体构成的,主体之间的相互作用是系统宏观模式出现的根源,通过建立主体模型,可以更好的理解和解释这些系统。5.2.2多主体仿真研究框架用多主体思想建立的复杂系统模型往往用仿真技术求解。这样就形成了多主体仿真(Multi-AgentSimulation)技术。多主体仿真方法的本质特征是采用多主体视角建立实际系统的概念模型首先辨识组成实际系统的微观个体,将这些个体抽象为具有自治性的主体,主体之间通过相互作用构成一个多主体系统以这样的多主体概念模型为基础通过仿真计算展开研究。实际系统仿真结果结论抽象转换运行观察分析校核初步验证校核、验证反馈反馈识别微观个体各类主体模型主体交互模型假设计算实体虚实世界组成微观数据宏观数据概念模型仿真模型多主体仿真基本过程多主体仿真过程的特点在对实际系统进行观察时应同时收集微观数据和宏观数据。概念模型采用多主体视角建立。仿真模型一般采用多主体技术实现。模型验证采用微观和宏观相结合的方法。仿真所得到的结论主要用来帮助理解系统微观和宏观的联系。5.2.3与其它仿真方法的比较(1)与离散事件系统仿真的区别基本要素:事件/主体状态变化:串行/并发结构变化:无/有学习适应:无/有5.2.3与其它仿真方法的比较(2)与微观分析模拟的区别应用目的:政策效果/理论揭示个体动机:无/有个体交互:无/有5.2.3与其它仿真方法的比较(3)与元胞自动机的区别空间结构:规则/灵活个体记忆:无/有或无学习推理:一般无/一般有交互结构:临近/网络5.3多主体仿真的实现技术5.3.1主体构建技术(1)产生式系统一个产生式系统包括三个部分:规则集、事实库和控制器。规则集存储有关问题的状态转移、性质变化等过程性知识,简单产生式规则的形式为“if…,then…”,每个规则有条件和行为两部分组成,当前提条件满足时就执行动作。事实库存储关于目前环境/自身状态、性质等信息,由此决定某个规则的前件是否满足。控制器根据主体的性质选择控制策略,将规则与事实进行匹配,消解冲突,进行推理,实现主体决策,产生行动。(2)面向对象技术为每类主体设计相应的类,用属性表达主体的内部状态,用方法表示主体的行为。多主体系统中的主体本质上是并发的。主体的主动性和并发性需要在面向对象框架中采用一定的技术手段进行模拟。5.3.2主体的学习算法学习是智能生物的一个重要特征如果一个系统能够通过执行某个过程改进他的性能,我们就认为它有学习能力。对主体而言,学习的含义是主体根据所观察到的事件,在连续交互过程中结构化的修改行为策略,改进它的性能。(1)强化学习基本思想:如果某个行动引起的后果较好,则在以后增加使用该行动的可能,反之则减少。强化学习主体的一般结构:Agent环境行为at状态st回报rtrt+1st+1目标是学习一个策略π:S→A,使系统选择的动作能够获得回报的累计值最大。Roth-Erev算法初始化:选择各行动的倾向(Propensity)重复:根据各个行动的倾向计算选择概率按概率选择行动根据该行动的回报调整其倾向返回行动倾向的更新方法:),,()(]1[)1(tkEtqtqjjjif1)(if]1)[(),,(kjNtqkjtrtkEjkj概率计算将倾向转换为选择概率有多种方法,较简单的一种是计算相对倾向作为概率:)]([)()(tqtqtpmjj(2)遗传算法基本思想:首先将状态-行动对表达为染色体,然后主体在动态环境中感知状态→选择行动→得到回报→计算适应度,根据个体适应度指标淘汰低适应度个体,染色体之间进行交叉,以小概率发生变异,产生下一代种群,重复进行…。例:多人囚徒困境博弈状态State=(上次行动,上轮对手行动)主体的行动有两种:合作=1,欺骗=0有四种可能的状态,编码为状态1为(1,1),2为(1,0),3为(0,1),4为(0,0)个体的一个策略就可以用位串表示例如针锋相对(TFT)策略就是:初次选择行动1ifState1,thenchooseaction1;ifState2,thenchooseaction0;ifState3,thenchooseaction1;ifState4,thenchooseaction0;则该策略可以编码为(11010),表示初次选择行动1,以后若状态为1则选择1,若状态2则选择0,状态3则选择1,状态4则选择0。5.4多主体仿真在经济中的应用经济系统的特点:经济系统是一个复杂动态系统微观上由许多相对独立的个体组成,个体具有智能性,存在学习和适应行为个体之间存在复杂的相互作用(1)基于Agent的计算经济学ACE,Agent-basedComputationalEconomics将经济过程看作是由交互作用的主体构成的动态系统,采用仿真手段对经济系统进行研究。研究方法:采用“培养皿”(culturedish)类比,对经济过程进行理论研究。(2)“培养皿”研究方法首先构建一个由多种主体构成的虚拟经济世界,设定初始条件(如结构条件、制度安排、主体行为分配等),然后令虚拟世界自然发展,发展的根本原因是主体之间的交互;研究者对虚拟世界进行观察,收集数据,进行分析。主体将经济系统中的个人、公司、市场、政府等抽象为主体主体可能很简单,也可能具有不同程度的认知能力:适应社会交互目标导向的学习自治在主体的交互过程中行为模式或交互模式演化发展研究过程虚拟世界(培养皿)设定初始条件时间宏观模式(3)ACE的主要研究内容实