netlogo多代理仿真软件介绍.ppt.ppt

  1. 1、本文档共44页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
netlogo多代理仿真软件介绍.ppt

Netlogo建模基础知识讲解 14302010008 秦奕深 NetLogo简介 1.基本情况 NetLogo是一个用来对自然和社会现象进行仿真的可编程建模环境建模仿真集成环境 由美国西北大学连接学习与计算机建模中心(Center for Connected Learning and Computer-Based Modeling,CCL)开发。 2002年发布了1.0版本,用户手册为4.0.2版本,最新为4.1.1版本 2. 主要功能 多主体建模(重点) 多个移动Agent分布在二维空间中,每个Agent自主行动,所有主体并行异步更新,整个系统随着时间推进而动态变化。 运行控制 仿真输出 提供了多种手段实现仿真运行监视和结果输出 实验管理 BahaviorSpace,自动管理仿真运行,并记录结果。 系统动力学仿真 参与式仿真 HubNet 模型库 3.软件特色 完全可编程 简单语言结构 是LOGO语言的扩展,支持智能体和网络结构 可以定义无限个智能体和变量 多种内置命令帮助使用 支持整型和双精度型浮点数计算 跨平台、可复用的应用。 二、NetLogo仿真框架 1. NetLogo软件 2.模型的抽象 总体: 大量的可移动主体在二维空间中交互作用,随着时间推进,微观个体的属性不断发生变化,系统的宏观特征也因此而变化。 从三个方面理解: 主体 空间表达 仿真推进 (1)主体(Agents) 虚拟世界由主体构成,主体能够接受命令,进行活动,所有主体的行为并行发生。 NetLogo中共有三类主体, turtles(海龟) patches(瓦片) observer(观察者) 主体类型 turtles指能够在世界中移动的主体。 世界是二维的,划分为由patches组成的网格,每个patch占据一个矩形小块。 patch不能移动 patch也是主体 patch和turtle一样可以有自己的属性和行为 observer是一个全局主体,它观察着由turtles和patches构成的世界,能够执行指令获取世界全部或部分的状态,或实现对世界的控制。 虚拟世界 (2)空间表达 每个patch有二维坐标(pxcor,pycor)坐标值为整数。 默认情况下,二维世界的水平、垂直坐标范围为(-17,17) 每个turtle也有坐标(xcor,ycor) turtle坐标不必是整数,因此turtle不一定正好位于某个patch的中心。 一个patch上也可以同时有多个turtles。 实际上对turtle而言,NetLogo的空间是连续的。 (3)仿真推进 没有明确的仿真时钟变量,也没有提供特定的事件处理机制 仿真推进是通过不断重复执行某个例程实现的 模型中至少要有初始化例程和仿真执行例程 初始化例程实现对模型初始状态的设置,生成所需的turtles,设置其状态,以及其它工作。 仿真的执行通过例程go实现,在go例程中编写所需执行的各种指令,完成一个仿真步的工作。 需要在Interface页中建立一个按钮与go例程相联系,该按钮是一个永久(forever)按钮,点击后将不断重复执行go例程,直到遇到stop指令或用户再次点击该按钮则仿真终止。 2.建模基本过程 NetLogo模型包括可视化部件和例程两部分,二者具有紧密联系。 先在Interface中创建可视化控件,然后在Procedures中实现相应的代码,通过设置控件的属性将二者联系起来。 Interface中主要有三类部件 运行控制 参数控制 仿真显示 Procedure中的例程分为两类: 命令(command)例程 报告(reporter)例程 三、编程指南 breed [ ] turtles-own [ ] globals [ ] to setup [ ] end to go [ ] end ask turtles [ set pcolor white ] set-default-shape turtles person setxy random-xcor random-ycor set turtles-own random set age ( 22 + random 53 ) set age ( age + 1 ) set house 0 clear-all(ca) forward(fd) 1 create-turles 100 sprout-breeds number [ ] sprout number [ ] hatch number [ ] hatch-breeds number [ ] ask one-of men [set breed ] i

文档评论(0)

teda + 关注
实名认证
内容提供者

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

1亿VIP精品文档

相关文档