我正在考虑在我的模型中为不同类型的代理实施学习策略。说实话,我还是不知道该先问什么样的问题,或者从哪里开始。
我有两种类型的代理,我希望他们通过经验来学习,他们有一组行动,根据可能发生的具体情况,每种行动都有不同的奖励。我是强化学习方法的新手,因此欢迎任何关于我应该问自己什么样的问题的建议:)
以下是我将如何阐述我的问题:
在我的模型中,动作和后续状态之间没有关系,这让我想知道在这种情况下是否可以考虑强化学习。
我希望在这里优化的是我的代理能够以更好的方式推理当前情况,而不仅仅是响应由其内部状态触发的需求。他们有一些个性,可以定义他们的长期目标,并可以影响他们在不同情况下的决策,但我希望他们记住在某种情况下采取的行动有助于他们增加他们首选的长期目标。
reinforcement-learning agent-based-modeling netlogo q-learning
我有一些变量,可以通过+ 0.1和-0.1的变化或者没有任何变化继承给子代理,或者再次随机,我做的是这样的:(代码只是一个例子)
to reproduce
ask turtle 1
[
let X-Of-Mother X
hatch 1
[
set X one-of (list (X-Of-Mother) (X-Of-Mother + 0.1) (X-Of-Mother - 0.1) (random-float 1))
]
]
end
Run Code Online (Sandbox Code Playgroud)
目前我必须通过以下方式检查幼龟的X是否总是在范围内:
if X > 1 [set X X - 0.2]
if X < 0 [set X X + 0.2]
Run Code Online (Sandbox Code Playgroud)
什么是更好的方法呢?
如果我必须使用随机正常0.5 0.1,我怎么能将其限制在0和1之间的值,我已经多次重复生成这样的随机数我认为随机正常的质量是好的并且没有那么多我需要检查它是否超出范围.
例如 :
to test
Let c 0
let b 0
repeat 100000000
[Set b random-normal 0.5 0.1
if b > 1 [set C C + 1]
If b …Run Code Online (Sandbox Code Playgroud)