关于Netlogo的一般问题
我对Netlogo非常陌生,正在努力学习基本的知识。因此,我试图扩展Netlogo提供的示例代码。我试图使污染率取决于城市场地污染的人数 是否有办法引入强化学习(Q-learning)来改进模拟 诚恳地, 胜利者 我是否需要创建一个新功能,在人口增加时更新污染关于Netlogo的一般问题,netlogo,Netlogo,我对Netlogo非常陌生,正在努力学习基本的知识。因此,我试图扩展Netlogo提供的示例代码。我试图使污染率取决于城市场地污染的人数 是否有办法引入强化学习(Q-learning)来改进模拟 诚恳地, 胜利者 我是否需要创建一个新功能,在人口增加时更新污染 Below is the example code: breed [ people person ] breed [ trees tree ] turtles-own [ health ] patches-own [ pollu
Below is the example code:
breed [ people person ]
breed [ trees tree ]
turtles-own [ health ]
patches-own [
pollution
is-power-plant?
]
to setup
clear-all
set-default-shape people "person"
set-default-shape trees "tree"
ask patches [
set pollution 0
set is-power-plant? false
]
create-power-plants
ask patches [ pollute ]
create-people initial-population [
set color black
setxy random-pxcor random-pycor
set health 5
]
reset-ticks
end
to go
if not any? people [ stop ]
ask people [
wander
reproduce
maybe-plant
eat-pollution
maybe-die
]
diffuse pollution 0.8
ask patches [ pollute ]
ask trees [
cleanup
maybe-die
]
tick
end
to create-power-plants
ask n-of power-plants patches [
set is-power-plant? true
]
end
to pollute ;; patch procedure
if is-power-plant? [
set pcolor red
set pollution polluting-rate
]
set pcolor scale-color red (pollution - .1) 5 0
end
to cleanup ;; tree procedure
set pcolor green + 3
set pollution max (list 0 (pollution - 1))
ask neighbors [
set pollution max (list 0 (pollution - .5))
]
set health health - 0.1
end
to wander ;; person procedure
rt random-float 50
lt random-float 50
fd 1
set health health - 0.1
end
to reproduce ;; person procedure
if health > 4 and random-float 1 < birth-rate [
hatch-people 1 [
set health 5
]
]
end
to maybe-plant ;; person procedure
if random-float 1 < planting-rate [
hatch-trees 1 [
set health 5
set color green
]
]
end
to eat-pollution ;; person procedure
if pollution > 0.5 [
set health (health - (pollution / 10))
]
end
to maybe-die ;; die if you run out of health
if health <= 0 [ die ]
end
; Copyright 2007 Uri Wilensky.
; See Info tab for full copyright and license.
下面是示例代码:
繁殖[人]
繁殖[树]
海龟自己[健康]
补丁自己[
污染
是发电厂吗?
]
设置
清除所有
设置默认形状“人物”
设置默认形状树“树”
询问补丁[
将污染设置为0
设置为发电厂?错误
]
创建发电厂
问补丁[污染]
创造人口初始人口[
将颜色设置为黑色
setxy random pxcor random pycor
设置健康5
]
重置滴答声
结束
外带
如果没有?人们[停止]
问别人[
漫步
复制
也许是植物
食用污染
也许会死
]
扩散污染0.8
问补丁[污染]
问树[
清理
也许会死
]
打上钩
结束
建立发电厂
ask n-of电厂补丁[
发电厂在哪里?是的
]
结束
污染;;修补程序
如果是发电厂?[
设置颜色为红色
设定污染率
]
将pcolor刻度颜色设置为红色(污染-.1)5 0
结束
清理;;树程序
将pcolor设置为绿色+3
设置污染最大值(列表0(污染-1))
问问邻居[
设置污染最大值(列表0(污染-0.5))
]
设置运行状况-0.1
结束
游荡;;人事程序
随机浮动50
lt随机浮动50
fd 1
设置运行状况-0.1
结束
复制;;人事程序
如果健康>4且随机浮动1<出生率[
孵化人1[
设置健康5
]
]
结束
种植;;人事程序
如果随机浮动1<种植率[
孵化树1[
设置健康5
设置颜色为绿色
]
]
结束
吃污染食物;;人事程序
如果污染>0.5[
设置健康(健康-(污染/10))
]
结束
也许会死;;如果你失去健康,你会死
如果是健康问题,这可能会被关闭为“过于宽泛”。堆栈溢出的工作原理是,您一次只能问一个问题,这个问题必须与您正在编写的特定代码有关。