多智能体NetLogo仿真平台.ppt
《多智能体NetLogo仿真平台.ppt》由会员分享,可在线阅读,更多相关《多智能体NetLogo仿真平台.ppt(44页珍藏版)》请在三一办公上搜索。
1、多主体仿真平台NetLogo,一、NetLogo简介,1.基本情况NetLogo是一个多主体建模仿真集成环境由美国西北大学连接学习与计算机建模中心(Center for Connected Learning and Computer-Based Modeling,CCL)开发。,2.主要功能,多主体建模多个移动Agent分布在二维空间中,每个Agent自主行动,所有主体并行异步更新,整个系统随着时间推进而动态变化。运行控制仿真输出提供了多种手段实现仿真运行监视和结果输出 实验管理BahaviorSpace,自动管理仿真运行,并记录结果。系统动力学仿真参与式仿真HubNet 模型库:可直接使用,
2、也可修改,二、NetLogo仿真框架,1.NetLogo软件 界面(手册P77):模型部分 三个TabPage 命令行窗口,2.模型的抽象,总体:大量的可移动主体在二维空间中交互作用,随着时间推进,微观个体的属性不断发生变化,系统的宏观特征也因此而变化。从三个方面理解:主体空间表达仿真推进,(1)主体,虚拟世界由主体构成,主体能够接受命令,进行活动,所有主体的行为并行发生。NetLogo中共有三类主体,turtles(小海龟)patches(瓦片)observer(观察者)在4.0中将Links作为一类主体,主体类型,turtles指能够在世界中移动的主体。世界是二维的,划分为由patches
3、组成的网格,每个patch占据一个矩形小块。patch不能移动patch也是主体patch和turtle一样可以有自己的属性和行为observer是一个全局主体,它观察着由turtles和patches构成的世界,能够执行指令获取世界全部或部分的状态,或实现对世界的控制。,虚拟世界,(2)空间表达,每个patch有二维坐标(pxcor,pycor)坐标值为整数。默认情况下,二维世界的水平、垂直坐标范围为(-17,17)每个turtle也有坐标(xcor,ycor)turtle坐标不必是整数,因此turtle不一定正好位于某个patch的中心。一个patch上也可以同时有多个turtles。实际
4、上对turtle而言,NetLogo的空间是连续的。,拓扑结构,根据在水平和垂直方向边界是否进行回绕,形成四种结构环面(torus),默认结构盒子(box)垂直柱面(vertical cylinder)水平柱面(horizontal cylinder)回绕影响主体移动时是否穿越边界软件操作,在View上点击Edit,(3)仿真推进,没有明确的仿真时钟变量,也没有提供特定的事件处理机制仿真推进是通过不断重复执行某个例程实现的模型中至少要有初始化例程和仿真执行例程初始化例程实现对模型初始状态的设置,生成所需的turtles,设置其状态,以及其它工作。仿真的执行通过例程go实现,在go例程中编写所需
5、执行的各种指令,完成一个仿真步的工作。需要在Interface页中建立一个按钮与go例程相联系,该按钮是一个永久(forever)按钮,点击后将不断重复执行go例程,直到遇到stop指令或用户再次点击该按钮则仿真终止。,2.建模基本过程,NetLogo模型包括可视化部件和例程两部分,二者具有紧密联系。先在Interface中创建可视化控件,然后在Procedures中实现相应的代码,通过设置控件的属性将二者联系起来。,Interface中主要有三类部件 运行控制参数控制仿真显示Procedure中的例程分为两类:命令(command)例程报告(reporter)例程,基本过程,初始化确定活动顺
6、序定义主体属性与行为仿真过程监视图形输出仿真参数控制,三、生态系统建模示例,假设要模拟一个简单的生态系统,该系统中有一种生物以青草为食,通过吃草获取能量、该类生物经历成长、繁殖、死亡过程。,1.初始化,创建生物群体,并将它们随机分布在空间中。例程(demo1),2.仿真执行例程,实现turtle随机移动实现go例程,与forever按钮联系go 调用move-turtles例程,增加代码:(demo2),3.青草的模拟,为模拟青草的存在设置patches为绿色改写setup 例程,其中调用了两个新的例程setup-turtles和setup-patches,分别设置turtle和patch的初
7、始状态,demo3,4.主体行为,现在增加一些行为,假设turtle以青草为食,通过吃草获得能量,移动时要消耗能量。patch代表青草,绿色表示有,黑色表示无。为实现这样的模型,需要重新定义turtles的属性和行为,然后重写go例程。首先给turtle增加变量energy以存储当前能量值,另外添加吃草获取能量的例程,还要修改移动例程以反映能量消耗。,自定义turtle变量,修改go,定义eatgrass,turtle吃草获取能量修改patch颜色表示草的有无,修改原来的move-turtles例程,添加能量消耗指令。,假设turtle能量小于等于0就死亡,当能量大于50就繁殖;青草以一定的恢
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 智能 NetLogo 仿真 平台
链接地址:https://www.31ppt.com/p-5697595.html