第三章 通过“生命游戏”认识patch

代码实现:life of game

patches-own [ living ];;定义一个名为living的属性,意义为一个patch中周围的black patch的数量
to setupclear-allask patches[if random-float 1 < 0.3[;;random-float 随机选择0到1之间的数字,当小于0.3时生成白色方块set pcolor white;;设置patches的颜色]set living 0 ;;更新每个patch的living状态]
endto goask patches[set living count neighbors with [pcolor = black] ;;设置living为每一个patch周围黑色方格出现的数量]ask patches[ifelse(pcolor = black)[;;使用了ifelse语句if living > 3 or living < 2 [;;嵌套一层if语句set pcolor white]][if (living = 3)[;;ifelse外的一次if语句set pcolor black]]]
end

代码效果:

代码解析:

1.life of game生命游戏基于几个最基本的规则:

2.patches-own 为每一个patch自定义一个属性

语法:

patches-own [a,b,c,......] ;;其中中括号内为自定义的属性,即属性a,b,c等等。

FAO:patches-own一般写在程序的最开头部分

3.if语句

语法:

if 判断依据 []

FAO:

上述代码中
if random-float 1 < 0.3[;;random-float 随机选择0到1之间的数字,当小于0.3时生成白色方块set pcolor white;;设置patches的颜色]
“random-float 1”为生成一个0~1的随机数,然后在和0.3作比较。从而模拟出百分之三十的patches
变成白色方块

4.ifelse语句

语法:

ifelse 判断依据 [expression1
][expression2
]

FAO:该条件语句在C语言中等价于if-else语句

5.set living count neighbors with [pcolor = black]

emmm...这一句比较恶心,突出了logo语言和其他编程语言的不同之处。

这里的“count”英文上翻译为计数,“neighbors”为复数邻居,按照字面意思是计算当前每一个patch的邻居中为黑色(狗带)的数量。“count”和“neighbors”均为Netlogo的保留词。将该语句用括号分开变成set living = (count(neighbors with [pcolor = black]))这样就清晰许多。

按照字面意思,这里的“with”实际上是一个if语句

;;示例代码,运行不了哟
if [pcolor = black]
{neighbor为black数量++
}

6.count 如5所说,count就是计数

语法:count x    这里x为计数的对象,可以在监视器中使用该语句用于监视x的数量

7.neighbors

emmmmm。。。这是一个保留字感觉就怪怪的,这里简单认为每个patch的邻居,即在一个九宫格内最中间的patch的邻居就是除他之外的其余patch。

《Netlogo多主体建模入门》学习笔记(2)相关推荐

  1. PyTorch深度学习实践概论笔记9-SoftMax分类器

    上一讲PyTorch深度学习实践概论笔记8-加载数据集中,主要介绍了Dataset 和 DataLoader是加载数据的两个工具类.这一讲介绍多分类问题如何解决,一般会用到SoftMax分类器. 0 ...

  2. 深度学习框架Pytorch入门与实践——读书笔记

    2 快速入门 2.1 安装和配置 pip install torch pip install torchvision#IPython魔术命令 import torch as t a=t.Tensor( ...

  3. PyTorch——深度神经网络的写作笔记

    1 致谢 感谢Facebook的开发者的辛苦和努力- (给Google只有两个字"呵呵") 2 深度神经网络的搭建 2.1 Module的添加 使用nn.Module.add_mo ...

  4. numpy pytorch 接口对应_拆书分享篇深度学习框架PyTorch入门与实践

    <<深度学习框架PyTorch入门与实践>>读书笔记 <深度学习框架PyTorch入门与实践>读后感 小作者:马苗苗  读完<<深度学习框架PyTorc ...

  5. Pytorch:NLP 迁移学习、NLP中的标准数据集、NLP中的常用预训练模型、加载和使用预训练模型、huggingface的transfomers微调脚本文件

    日萌社 人工智能AI:Keras PyTorch MXNet TensorFlow PaddlePaddle 深度学习实战(不定时更新) run_glue.py微调脚本代码 python命令执行run ...

  6. 【Pytorch深度学习实践】B站up刘二大人课程笔记——目录与索引(已完结)

    从有代码的课程开始讨论 [Pytorch深度学习实践]B站up刘二大人之LinearModel -代码理解与实现(1/9) [Pytorch深度学习实践]B站up刘二大人之 Gradient Desc ...

  7. 刘二大人 PyTorch深度学习实践 笔记 P6 逻辑斯蒂回归

    刘二大人 PyTorch深度学习实践 笔记 P6 逻辑斯蒂回归 P6 逻辑斯蒂回归 1.torchversion 提供的数据集 2.基本概念 3.代码实现 P6 逻辑斯蒂回归 1.torchversi ...

  8. 《PyTorch深度学习实践》学习笔记 【2】

    <PyTorch深度学习实践>学习笔记 [2] 学习资源: <PyTorch深度学习实践>完结合集 二.线性模型 2.1 概念: 2.1.1 数据集和测试集 ​ 数据集拿到后一 ...

  9. 【PyTorch深度学习实践 | 刘二大人】B站视频教程笔记

    资料 [参考:<PyTorch深度学习实践>完结合集_哔哩哔哩_bilibili] [参考 分类专栏:PyTorch 深度学习实践_错错莫的博客-CSDN博客] 全[参考 分类专栏:PyT ...

  10. 笔记|(b站)刘二大人:pytorch深度学习实践(代码详细笔记,适合零基础)

    pytorch深度学习实践 笔记中的代码是根据b站刘二大人的课程所做的笔记,代码每一行都有注释方便理解,可以配套刘二大人视频一同使用. 用PyTorch实现线性回归 # 1.算预测值 # 2.算los ...

最新文章

  1. 构建高可用服务器之二 Keepalive参数详解
  2. 【BZOJ3630】[JLOI2014]镜面通道 几何+最小割
  3. 《统计学》学习笔记之数据的图表展示
  4. camel 数据库_使用Camel在来自不同来源的Solr中索引数据
  5. scala akka_使用Scala,Play和Akka连接到RabbitMQ(AMQP)
  6. 2021中国垂类电竞KOL发展洞察行业报告
  7. 二叉树C++ | 实现删除节点_4
  8. Nginx下Uwsgi模块常用参数说明
  9. 【java】java 并发编程 StampedLock 锁 【不重要】
  10. 车牌识别及验证码识别的一般思路
  11. Informix 9.4和CSDK的安装
  12. 使用Julia进行图像处理--用于扩充训练集的图像增强
  13. 解决win10系统flash player无法播放,升级
  14. 【新星计划】Matlab pid参数调节工具箱
  15. C++ ActiveX基础1 使用VS2015创建MFC ActiveX工程项目
  16. 北大AI公开课 第一讲
  17. ck6.8整合php,CKplayer-超酷网页视频播放器
  18. 51单片机DS18B20测温LCD12864显示
  19. 《缠中说禅108课》22:将 8 亿的大米装到 5 个庄家的肚里
  20. Computer Graphics Through OpenGL From Theory to Experiments - 学习笔记2 Tricks of the Trade opengl基础

热门文章

  1. Windows Server 2012和2016从Evaluation评估版升级到正式版方法(附带产品密钥/key)
  2. 迷途视频解析HTML源码,抖音短视频无水印解析接口源码
  3. python控制电机正反转_连接电动机正反转控制电路,要求具备电气互锁功能,拍照上传...
  4. w3school学习笔记2(MySQL)
  5. thinkphp前端显示被反编译详解
  6. 巴特沃斯归一化数字低通滤波器参数、原理及使用方法
  7. Mujoco的关节与外力和驱动器
  8. 图像处理——空间域和频率域部分图像增强学习
  9. Nooploop空循环 TOFSense激光测距传感器 模块 红外测距测高
  10. html原生时间选择框,JS实现漂亮的时间选择框效果