多主体建模工具Netlogo介绍课件
基于主体建模及Netlogo软件介绍
复杂性科学
• 没有明确的定义 • 大体而言,有关研究复杂系统的理论、方法、工具等等的学问 • 混沌(chaos)、分形(fractal)(自相似)、熵(entropy) 、
复杂网络,ABM等
一、引言
计算社会科学(Computational Social Science) 计算社会科学是一种新兴的交叉学科。关注将 社会学理论转换为计算的结构。目的在于: 在直接考察某些人类行为比较困难或存在伦 理原因在无法直接考察的情况下,进行研究 和实验; 发展可以应用于从人工到自然世界的新理论 和视野。
社会仿真是构建计算机程序对社会现象的行为 进行模拟
为什么要仿真?
• 语言描述 不精确 • 数学描述 严格,但是异质的,非线性模型很难
分析 • 计算机模型 严格,可以建立多水平,异质的
模型,可以实验
一、引言
仿真作为一个范式 • 过程分析 不仅仅是一个时点 • 抽象 非描述性的 • 宏观和微观 非原子化的 • 实验性的 非观察性的
二、基于主体建模(ABM)
元胞自动机(CA) 基于主体建模(ABM)
二、基于主体建模(ABM)
元胞自动机(CA)
规则
• 每个元胞可以有一个或两个(几个)状态,如用
颜色表示
• 每个元胞每个时步的状态由它前一步的状态和直接 邻居的状态来决定
二、基于主体建模(ABM)
元胞和格子
二、基于主体建模(ABM)
一、引言
复杂系统与复杂性科学
系统科学发展经历:
• 从元素数量较少到元素数量较多 • 较单纯的系统过程到系统自身的演化与发展 • 元素具有主动性,能与外界交流并根据经验改变自
多智能体NetLogo仿真平台
生态学
NetLogo被广泛应用于生态学 领域,如种群动态、生态系统 服务等。
经济学
NetLogo在经济学领域的应用 包括市场模拟、金融风险分析 等。
教育
NetLogo也被广泛应用于教育 领域,如科学教育、计算机科 学教育等。
04
多智能体NetLogo仿真平台的设计与
运行仿真实验
启动仿真实验,观察并记录实验过程。
实验结果与分析
结果一
交通流量模拟结果分析
结果二
生态系统物种竞争与共存结果分析
结果三
经济系统市场行为模拟结果分析
06
总结与展望
研究成果总结
01
实现了多智能体系统的建模与仿真,为复杂系统研 究提供了有效的工具。
02
成功应用于多个领域,如生态、交通、经济等,为 解决实际问题提供了有益的参考。
多智能体NetLogo仿真平 台
• 引言 • 多智能体系统概述 • NetLogo仿真平台介绍 • 多智能体NetLogo仿真平台的设计与实
现 • 平台应用案例与效果分析 • 总结与展望
01
引言
背景介绍
复杂系统研究
多智能体系统是研究复杂系统的有力 工具,通过模拟多个智能体之间的交 互和协作,可以揭示复杂系统的内在 规律和动态行为。
02
它提供了一个图形化的编程环境,用户可以通过拖拽块来构建
模型,无需编写复杂的代码。
NetLogo支持多智能体建模,能够模拟具有自主性、交互性和
03
适应性的智能体行为。
NetLogo平台的的图形界面, 使得建模过程简单易懂,降低了学习门
槛。
可扩展性
Netlogo基础知识讲解
初始化例程实现对模型初始状态的设置,生成所需的
turtles,设置其状态,以及其它工作。 仿真的执行通过例程go实现,在go例程中编写所需执行 的各种指令,完成一个仿真步的工作。 需要在Interface页中建立一个按钮与go例程相联系,该 按钮是一个永久(forever)按钮,点击后将不断重复执行 go例程,直到遇到stop指令或用户再次点击该按钮则仿 真终止。
turtle坐标不必是整数,因此turtle不一定正好位于某个patch的中心。
一个patch上也可以同时有多个turtles。 实际上对turtle而言,NetLogo的空间是连续的。
(3)仿真推进
没有明确的仿真时钟变量,也没有提供特定的事件 处理机制 仿真推进是通过不断重复执行某个例程实现的 模型中至少要有初始化例程和仿真执行例程
2.建模基本过程
NetLogo模型包括可视化部件和例程两部分,
二者具有紧密联系。 先在Interface中创建可视化控件,然后在 Procedures中实现相应的代码,通过设置控 件的属性将二者联系起来。
Interface中主要有三类部件
运行控制 参数控制 仿真显示
Procedure中的例程分为两类:
命令(command)例程
报告(reporter)例程
仿真的基本框架
初始化to setup 对所有Turtle循环 ask turtles 每一个仿 真周期to go
每个Turtle做出决策 forward 1
否
是否结 束?
是
结束
三
Netlogo建模基础知识讲解
14302010008 秦奕深
NetLogo简介
1.基本情况 NetLogo是一个用来对自然和社会现象进行 仿真的可编程建模环境建模仿真集成环境 由美国西北大学连接学习与计算机建模中心 (Center for Connected Learning and Computer-Based Modeling,CCL)开发。 2002年发布了1.0版本,用户手册为4.0.2版 本,最新为4.1.1版本
Netlogo建模基础知识讲解
05 Netlogo进阶操作
自定义绘图函数
01 02
自定义绘图函数
在Netl表, 例如折线图、柱状图、饼图等。这需要使用Netlogo的绘图库和绘图函 数,如“plot”、“histogram”等。
绘图函数使用
自定义绘图函数的使用方法与其他Netlogo函数类似,需要先定义绘图 函数,然后在模型运行过程中调用该函数进行绘图。
象。
它允许用户创建复杂的代理模型, 包括生物、经济、社会和政治系
统等。
Netlogo提供了一个可视化的编 程界面,使用拖放式编程语言, 使得建模过程更加直观和易于理
解。
Netlogo的用途
1 2
科学研究
Netlogo被广泛应用于社会科学、生物学、环境 科学等领域,用于模拟复杂系统的行为和动态。
教育
经济学与金融学
在经济学和金融学领域,Netlogo常被用于模拟市场交易、 金融风险和投资决策等。例如,股票市场模型、货币政策模 型、国际贸易模型等。
Netlogo能够帮助研究者深入理解市场运作机制和金融风险 ,为政策制定提供依据。
教育与科研
在教育和科研领域,Netlogo被广泛应用于教学和学术研究。 通过Netlogo,学生和研究者可以构建自己的模型,探究各 种问题,培养解决实际问题的能力。
Netlogo是一个强大的教学工具,用于教授复杂 系统、网络、人工智能和多代理系统等领域。
3
政策制定
Netlogo可以用于模拟政策干预的影响,帮助决 策者更好地理解复杂系统的行为和动态。
Netlogo的历史与发展
Netlogo最初由美国西北大学的Uri Wilensky于1999年开发,旨在提供一个简单易 用的建模环境。
NetLogo模型讲解:交通模型 Traffic Grid(街区、红绿灯)
]
turtles-own 表示主体的拥有的属性,这里的主体就是车辆,表示车辆拥有的属性
pቤተ መጻሕፍቲ ባይዱtches-own
[
intersection? ;; 是不是十字交叉口
green-light-up? ;; 绿灯是不是在交叉口
my-row
;; the row of the intersection counting from the upper left corner of the
本文档由 netlogo 爱好者编,如有不足,请见谅! 模型位置 :模型库->Sample Models ->Social Science->Traffic Grid 利用 NetLogo 模拟现实当中带街区的交通流,在道路上同时拥有红绿灯。交通模拟模型在模 型库中还有好多模型,大家有需要的话可以去参考! 通过将瓦片着不同的颜色,同时设置一些属性,模拟我们现实生活中的街区,道路,红绿灯。 海龟,就是这里面可以移动的汽车。
;;找到一个空的地方初始化的时候放置车辆 to put-on-empty-road ;; turtle procedure
move-to one-of roads with [not any? turtles-on self] end
上面都是定义一些初始设置,如海龟汽车是怎么放置的,瓦片形成街区,道路和十字交叉路 口,下面就是程序运行。
原语学习: floor floor number 返回小于等于 number 的最大整数 random random number 如果 number 为正,返回大于等于 0、小于 number 的一个随机整数。 如果 number 为负,返回小于等于 0、大于 number 的一个随机整数。 如果 number 为 0,返回 0。 heading 这是一个内置海龟变量,指明海龟面向的方向,该值在[0,360)。0 是北,90 是东,等等。设 置这个变量实现海龟转动。
第二讲net概述二-PPT精选.ppt
安装Vs2019
安装Visual Studio 2019
选择安装 2019
安装Vs2019
点击Visual Studio 2019后进行安装。
已经安装的组件
未安装的组件
安装Vs2019
将要安装的组件
2019使用
启动Visual Studio 2019 进入初始界面。
FTP的主要作用
FTP的主要作用,就是让用户连接上一个 远程计算机(这些计算机上运行着FTP服 务器程序)察看远程计算机有哪些文件, 然后把文件从远程计算机上拷到本地计 算机,或把本地计算机的文件送到远程 计算机去。
SMTP服务
SMTP(Simple Mail Transfer Protocol)服务:它是 一组用于由源地址到目的地址传送邮件的规则, 由它来控制信件的中转方式。SMTP协议属于 TCP/IP协议族,它帮助每台计算机在发送或中 转信件时找到下一个目的地。通过SMTP协议 所指定的服务器,我们就可以把E-mail寄到收 信人的服务器上了,整个过程只要几分钟。 SMTP服务器则是遵循SMTP协议的发送邮件服 务器,用来发送或中转你发出的电子邮件。
IIS-配置
虚拟目录是由 Web 服务器使用的逻辑目 录名,与服务器上的物理目录相对应。
使用 IIS 创建虚拟目录
为此目录选择适当的 访问权限。
IIS-创建一个Web站点(一)
而无需考虑源语言 。 CLS 是所有针对 .NET 的编译器都必须支持的一组最低
标准,以确保语言的互操作性。 即时 (JIT) 编译器将 MSIL代码编译为特定于目标操作
系统和计算机体系结构的本机代码。
目标
掌握Visual Studio 2019 掌握IIS 了解编写第一个Hello Word
第二讲net概述二ppt课件
IIS-启动
控制面板
管理工具
Internet 信息服务
添加相关服务
IIS通过使用超文本传输协议(HTTP)传 输信息,还可以配置文件传输协议(FTP) 和简单邮件传输协议(SMTP)服务。
FTP服务介绍
FTP(File Transfer Protocol)服务是文件传 输协议的简称。用于Internet上的控制文 件的双向传输。同时,它也是一个应用 程序(Application)。用户可以通过它把 自己的PC机与世界各地所有运行FTP协议 的服务器相连,访问服务器上的大量程 序和信息。
效果的测试:打开IE浏览器,在地址栏输入 “192.168.0.1”之后再按回车键,此时就能够 调出你自己网页的首页,则说明设置成功。
IIS-应该注意的安全问题
iis安全设置之安装系统补丁。对于服务器来说就特别重要,因为 安全补丁关乎到系统安全,而微软网站经常发布最新的系统安全 补丁,可以用系统自带的windows update程序随时更新。
IIS-历史版本
Internet Information Services
IIS 1.0
Windows NT 3.51 Service Pack 3
s@bk
IIS 2.0
Windows NT 4.0
s@bk
IIS 3.0
Windows NT 4.0 Service Pack 3
IIS 4.0
Windows NT 4.0 Option Pack
IIS 状态解释
当用户试图通过 HTTP 或文件传输协议 (FTP) 访问一台正在运行 Internet 信息 服务 (IIS) 的服务器上的内容时,IIS 返 回一个表示该请求的状态的数字代码。 该状态代码记录在 IIS 日志中,同时也 可能在 Web 浏览器或 FTP 客户端显示。 状态代码可以指明具体请求是否已成功, 还可以揭示请求失败的确切原因。
Netlogo学习分享
1 绘图(Plotting)
• clear-plot命令:清除当 前图形; • clear-all-plots命令:清 除所有图形; • plot-pen-reset命令:清 除当前图上已经画上的点。
清除和 重设 临时画笔
自动绘图
• 默认情况下NetLogo 图形的自动绘图(功能 是激活的。 • 增加时水平方向多增加 25%,垂直方向多增加 10%。
实验完成后,spreadsheet格式数据才会写到数据文件。
3 输入输出(Input and Output))
输入
•输入框
变量为全局变量 •命令
let number1 read-from-string user-input "请输入羊的数量:(一个整数):"
•滑动条
3 输入输出(Input and Output))
文件格式
• Table 格式
每个间隔的数据占一行,每项数据占一列。每次运行结束后数据输出到数据文件。Table 格式适合自动处理数据,比如导入到一个数据库或统计包中。
•
Spreadsheet 格式
每项数据计算最小、平均、最大和最终值,然后列出数据,每个间隔的数据占一行,每
项数据占一列。这种格式更适合人类阅读,特别是当导入到一个电子表格程序时。直到整个
4 列表(Lists)
列表遍历
要对列表中的每个元素依次进行某项操作,使用foreach命令和map报告器。 • foreach:用来对列表中的每个元素执行命令,他的输入参数包括输入列表和命令块, 如: foreach [2 4 6] [ crt ? show (word "created " ? " turtles") ] 或 foreach [true false true true] [ ask turtles [ if ? [ fd 1 ] ] ] • 命令块中的变量?保存输入列表中的当前值。 • map:与foreach相似,但它是报告器。返回一个列表,这个列表对输入列表中的每一项 应用报告器的结果。也是使用?引用列表的当前项。 如: show map [? < 0] [1 -1 3 4 -2 -10] ;; prints [false true false false true true] • 有时操作列表需要用到其他技术,如repeat或 while,以及递归等。
多主体仿真.ppt
st_num和st_val 是界面全局变量
set my_stocks replace-item st_num my_stocks st_val
print_label
]
将my_stocks的第st_num end
项替换为st_val
to add_all_value
ask turtle 0 [
将my_stocks的 所有项目之和赋给
end
to setup ca create-turtles 1 [ set size 3 set my_property [ ] set my_stocks n-values 5 [0] print_label ] end
Multiagent Simulation with NetLogo
Slide 5
st_num是界面全 局变量
let value item st_num my_stocks
set label (word "stock " st_num " value = " value)
]
item 命令返回my_stocks end
第st_num项的值
to sort_stocks
ask turtle 0 [
Last revision June 7, 2003
Slide 2
NetLogo常用建模技术(续)
5. 子程序和函数
• 不带参数的子程序 (略) • 带参数的子程序 (右例)
此例程带两个参数
to draw-polygon [num-sides len] ;; turtle procedure pen-down repeat num-sides [ fd len rt 360 / num-sides ]
6-多智能体仿真(共48张)
第13页,共48页。
5.3.3 多智能(zhì nénɡ)体与混合型模拟
图5.2 基于多智能体的混合型模拟集成结构
第14页,共48页。
5.3.3 多智能(zhì nénɡ)体与混合型模拟
3 混合型模拟的工具与语言
/starlogo/。
上面介绍的StarLogo和NetLogo系统本身提供很多内置原语, 支持多主体建模和并行操作,用于建立模型的编程语言是一 种扩展的Logo语言的“方言”。
第28页,共48页。
5.4.3 常用 多智能体模拟工 (chánɡ yònɡ) 具
第10页,共48页。
5.3.2
混合 系统与混合 模拟 (hùnhé)
(hù nhé)
混合系统(Hybrid System)是包含有连续事件、离散事件和推理决策
事件的一类复杂动态系统,其特征是既包含连续过程变量,又包含离散 过程变量。
混合系统广泛存在于自然及人工系统中。
目前的混合系统和混合系统模拟的研究主要集中在工程控制理论领域,混合 系统的应用集中表现在混合系统的故障诊断和监控设计方面。
离散型系统
图5.1 混合模拟系统结构
第12页,共48页。
5.3.3 多智能(zhì nénɡ)体与混合型模拟
2 基于多智能体的混合型模拟的集成方式
基于多智能体模拟与混合模拟集成中有个非常明显 的特点,即其混合深度加深了,建模更加灵活了。
基于多智能体的混合型模拟集成结构如图5.2所示。 对于单个智能体,其行为受到其属性值或环境变量
对于异构的、分散的复杂系统来说,基于多智能体是 适当的建模和模拟方式。
netlogo 基本语法
netlogo 基本语法NetLogo是一种用于建模和仿真复杂系统的编程语言和开发环境。
它主要用于模拟群体行为、自组织系统、环境动力学等。
NetLogo的基本语法相对简单,易于学习和使用。
下面将详细介绍NetLogo的基本语法。
1. 界面设计:NetLogo的界面由两个主要部分组成:绘图区和命令行。
绘图区用于显示模型的可视化结果,而命令行则用于输入NetLogo的命令。
2. 命令和过程:在NetLogo中,模型的行为由命令和过程组成。
命令是一种直接操作模型状态的指令,而过程则是一系列命令的集合,可以通过自定义名称进行调用。
to setupclear-allcreate-turtles 100reset-ticksend上述代码中,setup是一个过程的名称,通过to和end来定义。
在setup过程中,clear-all用于清除当前模型的状态,create-turtles 100创建100只乌龟,reset-ticks用于将模型的时间步数重置为零。
3. 变量和数据类型:NetLogo支持全局变量和局部变量,可以存储不同类型的数据,如数字、字符串和列表。
globals [total-population]to setupset total-population 1000print total-populationend上述代码中,globals用于声明全局变量total-population,set 用于为变量赋值,print用于在命令行中输出变量的值。
4. 控制结构:NetLogo支持一些常见的控制结构,如if语句和foreach循环。
to goask turtles [if xcor > 0 [set color red]]tickend上述代码中,ask turtles用于对每只乌龟执行后续的命令块,if语句根据条件判断是否执行命令块内的命令。
5. 图形元素:NetLogo的基本图形元素是乌龟(turtles)和斑点(patches)。
NetLogo模型讲解:财富分配 Wealth Distribution
本文档由netlogo爱好者编,如有不足,请见谅!模型目录:Sample Models-> Social Science -> Wealth Distribution模型原理:模型模拟了财富分配,我们通常说“穷的人变的更穷,富的人会越来越富”,这就表达了财富分配的不均匀。
模型模拟了帕雷托法则(pareto’s law)。
模型中大量的穷人用红色标记,中等阶级用绿色标记,少量的富人用蓝色标记。
穷人富人的视野不一样(这里可以理解为生活中能够获得的资源不一样),这就决定了他们获得的财富不一样。
原语学习:●scale-colorscale-color color number range1 range2返回明暗与number成正比的color色。
number是一个主体变量,但是必须是数字型。
如果range1 < range2, number越大,颜色越亮。
如果range > range2,则相反。
如果number < range1,则为最暗的color色。
如果number > range1,则为最亮的color色。
注意:对明暗无关的颜色,例如green and green + 2一样,使用同样的色谱。
●diffusediffuse patch-variable number告诉每个瓦片将瓦片变量patch-variable的(number * 100)% 均等的分配到它的8个相邻瓦片上去。
Number在0-1之间。
不管拓扑如何,整个世界的patch-variable之和守恒。
(如果一个瓦片的邻元少于8个,每个邻元仍然得到1/8的份额,剩余的该瓦片自己保留)。
●repeatrepeat number[commands]运行commands 共number 次程序主界面:globals[max-grain ; 定义了一个每个瓦片能够拥有最大谷物量gini-index-reserve ;;后面两个是计算基尼系数的lorenz-points]patches-own ;;定义瓦片变量,每个瓦片上有谷物,人在上面行走就能够获得谷物[grain-here ; 当前瓦片拥有的谷物数量max-grain-here ; 定义一个瓦片能够拥有的最大谷物数量turtles-own ;;人(海龟)变量定义[age ; 年龄wealth ; 财富life-expectancy ; 能够活多少岁metabolism ; 每次新陈代谢消耗掉的谷物vision ;视野,人在瓦片上行走,总是寻找附近谷物最多的瓦片。
基于主体建模及Netlogo软件介绍
如,6个参数,每个取10个可能值,搜索参数空间需要运行一百万次
三、设计和构建ABM
• 比较模型的输出与真实数据
✓ 基本思想
a. 如使用统计量比较统计模型与数据一样 如R2,回归系数
b. 告诫 模型的输出不可能是正态分布 比较时间序列时,要考虑自相关 例,t+1时刻的值与t时刻的值不独立
校正(Verification)模型
➢ 编码精练简单 ➢ 增加说明以备更新 ➢ 包括许多输出和“诊断”
检查数值在预期的范围内 ➢ 增加调试开关(Debugging switch) ➢ 采用单元测试(Unit testing) ➢ 采用边界值(极端值)测试(Corner testing) ➢ 用已知情景(known scenarios)测试
一、引言
复杂系统与复杂性科学
➢ 系统科学发展经历:
• 从元素数量较少到元素数量较多 • 较单纯的系统过程到系统自身的演化与发展 • 元素具有主动性,能与外界交流并根据经验改变自
身的动态系统
➢ 复杂适应系统(Complex Adaptive System, CAS)
• 由遗传算法创始人J.Holland1994年正式提出 • CAS的基本思想:适应产生复杂性
三、设计和构建ABM
编写程序 校正模型 验证模型
三、设计和构建ABM
编写程序
➢ 明确规则(绘制流程图) ➢ 定义对象(海龟,turtles)(环境,patches) ➢ 设置开始代码”setup” ➢ 设置运行代码”go” ➢ 根据规则,写出其他步骤的程序,包括设置滑
动条,绘图功能等
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
go
对所有Turtle循环 ask turtles
每个Turtle做出决策 forward 1
否
是否结
束?
是
结束
多主体建模工具Netlogo介绍
Boid模型 在Models Library中Biology菜单下找到Flocking
多主体建模工具Netlogo介绍
手动建立Game of Life
多主体建模工具Netlogo介绍
Boid模型
多主体建模工具Netlogo介绍
每只鸟的邻域
A bird’s Neighborhood
多主体建模工具Netlogo介绍
规则1——靠近
Cohesion: steer to move toward the average position of neighbors
NetLogo是Star-Logo的最新版本 NetLogo是一个很容以上手的高级建模玩具。
多主体建模工具Netlogo介绍一个简单实例:气体模型
多主体建模工具Netlogo介绍
Step by step • 打开Netlogo界面,添加2个按钮setup 和go,注意把go上面的Forever勾上 • 选择Procedure选项卡,编写代码
Game of Life
多主体建模工具Netlogo介绍
生命• 游197戏0年,John
Conway提出了一个 有趣的计算机程序: 生命游戏 • 这是一个方格世界, 每个方格仅仅有黑、 白两种颜色
多主体建模工具Netlogo介绍
生命游戏的规则 想象一个外星空间存活者很多方格生命,如果一个方格是黑色的,那 么这里就有一个生命,如果是白色的就没有
多主体建模工具Netlogo介绍
更多的NetLogo模型
多主体建模工具Netlogo介绍
“Part•yAMbigopdaretyl”with 10 rooms
• Boys and girls distribute in different rooms
• Boy (girl) feels uncomfortable if there are too many girls(boys)
相当于: living=0; for each agent in neighbors{
if agent.pcolor==black{ living=living+1;
} }
多主体建模工具Netlogo介绍
一个简单生态系统
多主体建模工具Netlogo介绍
Tips
• Turtle可以在各个Patch上游走 • 每个Turtle可以直接访问Patch对象 • Observer对象:一个可以操纵全局的观察者,
多主体建模工具Netlogo介绍
多主体建模工具Netlogo介绍
多主体模拟
• 计算机模拟v.s.数学分析
• 多主体模拟v.s.计算机模拟
• 多主体模拟的特性:
• 每个主体都是一个独立的对象; • 主体运行于一个虚拟的宇宙 • 主体之间可以通过相互作用产生涌现
• 二个实例
多主体建模工具Netlogo介绍
多主体建模工具Netlogo介绍
规则2——对齐
Alignment: steer towards the average heading of neighbors
多主体建模工具Netlogo介绍
规则3——避免碰撞
Separation: steer to avoid crowding neighbors
例如Plot
多主体建模工具Netlogo介绍
偏好•每依个周附期模添加型一个节点 •这个节点将以较大的概率连接 度数较大的节点 •调用Netlogo中的算法自动将 网络排序
多主体建模工具Netlogo介绍
Tips•统Li对nk象s(网络连接):与Turtles, Patches并列的系
•create-link-with:创建连接语句 •count link-neighbors:计算当前Turtle的连接数 •layout-spring按照一定的算法自动排布网络节点
• to go
•
ask turtles[
•
forward 1
•
]
• End
• 运行看一下效果
• 可以在clear-all后面添加:set-default-
shape turtles “circle”语句
• 试着调节视图的大小
• 试着调节边界条件
多主体建模工具Netlogo介绍
仿真的基本框架 初始化to setup
• 写下代码:
• to setup
•
create-turtles 50[
•
setxy random-xcor random-ycor
•
set heading random 360
•
]
• End
• 运行看一下效果,在create-turtles前面 加一行clear-all
• 再为go按钮添加一下代码
多主体建模工具Netlogo介绍
Swarm
多主体建模工具Netlogo介绍
Repast
多主体建模工具Netlogo介绍
Processing
多主体建模工具Netlogo介绍
Netlogo
多主体建模工具Netlogo介绍
Netlogo的历史 • Logo语言最早是为了乐高机器人玩具 设计的,这些机器人被称为: Turtle (海龟). • 之后,Mitchel Resnick, Eric Klopfer 等 人把 Logo语言扩展成为Star-Logo工 具
每个方格周围都有8个邻居
多主体建模工具Netlogo介绍
诞生规则
•如果某时刻,一个空方格(白色)周围邻居中有三个活的生命(黑 色方格),那么该方格就会诞生一个新生生命(白色黑色)
多主体建模工具Netlogo介绍
死亡规 则•在某时刻,对于已经占领某方格的生命体(黑色)只有当它的邻居中有2个
或者3个是活的(黑色),它才会继续存活,否则不是因为过分拥挤就是因为 过分孤独而死亡(黑色白色)
多主体建模工具Netlogo介绍
Tips
• 新的对象:Patch (一个方格) • 对象的属性:patches-own [x,y,…] • Ask patches:对所有的patch对象循环 • Ask turtles:对所有的Turtles对象循环
set living count neighbors with [pcolor = black]