多智能体NetLogo仿真平台.pptVIP

  1. 1、本文档共44页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  5. 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  6. 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  7. 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  8. 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
多智能体NetLogo仿真平台

7.仿真参数控制 参数控件 开关(switch)、滑动条(slider)、选择器(chooser) 这些控件都对应一个全局变量,在Procedures中将这些全局变量作为参数使用在程序中,就能实现仿真参数的控制。 例如:选择仿真时长 用滑动条设置仿真时长,对应变量名terminate-time 添加全局变量ticks 修改go例程, 随着仿真修改ticks 当ticks=terminate-time时停止 代码 globals [ticks] ;;声明全局变量ticks … to go if ticks = terminate-time [stop] ;;判断是否应停止 move-turtles eat-grass reproduce check-death regrow-grass do-plots set ticks ticks+1 ;;时钟推进 end 四、建模技术 1. 访问邻域原语 Neighbors ,Moore邻域 neighbors4 ,von Neumann邻域 agentset in-radius number agentset at-points list 演示 2.主体交互 T-P交互 turtle能够直接访问所在之处的patch,对该patch的属性进行读写 ask turtles [set pcolor blue] turtle还可以利用空间相关操作获取所需的patches,然后对这些patches的属性进行读写 ask turtles [set pcolor-of patch-at 1 0 blue] patch可以通过一些操作获取相关的turtle 例如turtles-here就返回当前patch处的turtle集合。 也可以通过空间相关操作获取相应patch上的turtles。 例如”turtles at dx dy”返回与当前patch相对距离(dx,dy)处的turtles集合。 T-T交互 实现T-T交互的第一步是得到目标turtle的句柄,然后进行操作。 获取目标turtle句柄的常用方式有三种:随机选取、根据特定条件、空间相关。 随机选取是指在特定agent集合中以随机方式选取一个或n个agent。选取一个agent的原语为one-of 例如“set color-of one-of turtles red”在所有turtles中随机选择一个turtle,将其颜色设为红色。 获得目标agent或agentset的第二种方式是根据特定条件。 方法是使用with原语,语法为agentset with [condition],返回满足条件condition的agent集合。 例如“turtles with [color = red]”返回红色的turtle集合; 获取目标agent或agent集合的第三种方式是运用空间相关操作。 比较直接的一种是获取当前patch上的turtle集合,原语有turtles-here和other-turtles-here,二者的区别仅在于是否包含调用者自身。 例如“ask turtle 0 [ask other-turtles-here [fd 10]]”表示ID=0的turtle令处于同一patch上的其他turtle前进10。 另一种方式是获取特定patch上的所有turtles。原语有breeds-at dx dy,breeds-on agentset等。 例如“turtles-at 1 0”返回右侧紧邻patch上的所有turtle,“turtles-on patch-ahead”返回前方patch上的所有turtle。 3.持久关系的建立 基本方法是在个体中相互保持对方的引用,这样可以随时对对方进行操作。 例如在个体之间建立简单的伙伴关系。 假设还没有找到伙伴的个体随机移动,直到与另一个尚没有伙伴的个体建立伙伴关系,一旦建立伙伴关系后将长期保持。 为实现这一模型,首先为turtle增加变量partner,用于保持对伙伴的引用,然后在移动时从相遇的一些无伙伴的turtle中选择一个,相互建立伙伴关系。 4.多类异质主体 NetLogo可以定义不同类别(称为breeds)的turtles,各类turtle可以拥有特有的属性和例程。 定义关键词为breed,例如: breed [wolves wolf] breed [sheep a-sheep] 一旦定义了一类turtle,系统自动创建该类所有turtle的集合,一些相关的原语也马上可以使用了, 例如对于sheep类就有create-sheep、hatch-sheep、is-a-s

文档评论(0)

shuwkb + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档