标签: agent-based-modeling

修复整个会话的set.seed

我使用R构建一个基于代理的模型,使用蒙特卡罗过程.这意味着我有许多使用某种随机引擎的函数.为了获得可重复的结果,我必须修复种子.但是,据我所知,我必须在每个随机抽签或样本之前设置种子.这是一个真正的痛苦.有没有办法修理种子?

set.seed(123)
print(sample(1:10,3))
# [1] 3 8 4
print(sample(1:10,3))
# [1]  9 10  1
set.seed(123)
print(sample(1:10,3))
# [1] 3 8 4
Run Code Online (Sandbox Code Playgroud)

r random-sample montecarlo agent-based-modeling

24
推荐指数
3
解决办法
2万
查看次数

基于代理的仿真:性能问题:Python与NetLogo和Repast

我在Python 3中复制了一小块Sugarscape代理仿真模型.我发现我的代码的性能比NetLogo慢约3倍.它可能是我的代码的问题,还是它可能是Python的固有限制?

显然,这只是代码的一个片段,但是Python花费了三分之二的运行时间.我希望如果我写了一些非常低效的东西,它可能会出现在这个片段中:

UP = (0, -1)
RIGHT = (1, 0)
DOWN = (0, 1)
LEFT = (-1, 0)
all_directions = [UP, DOWN, RIGHT, LEFT]
# point is just a tuple (x, y)
def look_around(self):
    max_sugar_point = self.point
    max_sugar = self.world.sugar_map[self.point].level
    min_range = 0

    random.shuffle(self.all_directions)
    for r in range(1, self.vision+1):
        for d in self.all_directions:
            p = ((self.point[0] + r * d[0]) % self.world.surface.length,
                (self.point[1] + r * d[1]) % self.world.surface.height)
            if self.world.occupied(p): # checks if p is in a lookup …
Run Code Online (Sandbox Code Playgroud)

python simulation performance agent-based-modeling netlogo

12
推荐指数
1
解决办法
5002
查看次数

基于代理的建模资源

我想知道基于代理的建模存在哪种工具包,语言,库以及它们的优缺点是什么?

我想到的一些例子是 Swarm,RepastMASS.

modeling multi-agent toolkit agent-based-modeling

10
推荐指数
2
解决办法
2516
查看次数

OpenCL是否适合基于代理的模拟?

我正在学习Scala,目的是使用actor并发编写基于代理的模拟.我目前对OpenCL知之甚少,在我潜入之前,有人可以告诉我它是否可能适合/兼容基于代理的模拟?

如果是这样,那么ScalaCL看起来非常有吸引力.

modeling scala opencl agent-based-modeling scalacl

10
推荐指数
1
解决办法
1567
查看次数

如何使用R在基于代理的建模中管理内存

我正在用R构建基于代理的模型,但是尝试使用大对象却遇到了内存问题。特别地,在初始化时创建8个3D阵列,并且在每个时间步骤中,每个3D阵列都由不同的功能填充。

目前,反导系统运行了1825天,模拟了2500个人在整个景观中移动。风景中有1000个单元格。使用此配置,我没有内存问题。

在初始化时

数组包含字符/字符串数据类型。

理想情况下,我想增加个人数量和/或补丁数量,但是由于内存问题,这是不可能的。似乎有一些可用的工具,例如bigmemorygc来管理内存。这些工具有效吗?我是编程的初学者,没有管理内存和高性能计算的经验。任何建议都将不胜感激,感谢您的宝贵时间。

sessionInfo()R版本3.5.3(2019-03-11)平台:x86_64-w64-mingw32 / x64(64位)运行于:Windows 7 x64(内部版本7601)Service Pack 1

memory r agent-based-modeling

10
推荐指数
1
解决办法
270
查看次数

简单来说,"多智能体计算"

我最近遇到过"多智能体计算"这个术语,我并不知道它是什么.我读过一本关于它的书,但这并没有回答代理人是什么的基本问题.

有人在那里有一个指向一些清晰简洁的参考指针并且在没有废话/营销说话的情况下回答问题吗?我想知道这是否是我应该熟悉的事情,或者是否是我可能忽略的一些废话,因为我真的说不出来.

multi-agent agent-based-modeling

7
推荐指数
3
解决办法
1448
查看次数

NetLogo对大型模拟来说太慢了吗?如何加速NetLogo模型?

NetLogo是大型模型(> 10,000个补丁,海龟)的良好平台吗?

如何加快运行速度非常慢的模型?

performance agent-based-modeling netlogo

7
推荐指数
1
解决办法
651
查看次数

基于空间Agent的建模数据结构

在二维空间模拟中跟踪代理的一些好的数据结构是什么?

我已经看到一些对四叉树(我理解)和kd树(我不太了解)的引用.

我正在寻找一个代理人可以有效地说出的话,"我知道我的位置,我想知道哪些代理人在我附近(在我自己的某个半径范围内)."

非常感谢示例(伪代码很好).

我在Java工作.

java 2d quadtree agent-based-modeling data-structures

6
推荐指数
1
解决办法
545
查看次数

在 NetLogo 中实现强化学习(多代理模型中的学习)

我正在考虑在我的模型中为不同类型的代理实施学习策略。说实话,我还是不知道该先问什么样的问题,或者从哪里开始。

我有两种类型的代理,我希望他们通过经验来学习,他们有一组行动,根据可能发生的具体情况,每种行动都有不同的奖励。我是强化学习方法的新手,因此欢迎任何关于我应该问自己什么样的问题的建议:)

以下是我将如何阐述我的问题:

  1. 代理有一个生命周期,他们会跟踪一些对他们来说重要的事情,这些指标对于不同的代理来说是不同的,例如,一个代理想要增加 A,另一个代理想要 B 多于 A。
  2. 状态是特工一生中的点,他们有不止一个选择(我对状态没有明确的定义,因为它们可能会发生几次或根本不会发生,因为特工四处走动,他们可能永远不会遇到一种情况)
  3. 奖励是智能体在特定状态下从某个动作中可以获得的指标的增加或减少,并且智能体不知道如果他选择另一个动作会获得什么收益。
  4. 增益不是恒定的,状态没有明确定义,并且没有从一种状态到另一种状态的正式转换,
  5. 例如,代理可以决定与同处一地的代理之一(操作 1)或同一位置的所有代理(操作 2)共享如果某些条件成立,则操作 A 将对该代理更有利,而在其他条件行动2将有更高的奖励;我的问题是我没有看到任何具有未知奖励的示例,因为在这种情况下共享还取决于其他代理的特征(这会影响奖励系统的条件)并且在不同的状态下它会有所不同。

在我的模型中,动作和后续状态之间没有关系,这让我想知道在这种情况下是否可以考虑强化学习。

我希望在这里优化的是我的代理能够以更好的方式推理当前情况,而不仅仅是响应由其内部状态触发的需求。他们有一些个性,可以定义他们的长期目标,并可以影响他们在不同情况下的决策,但我希望他们记住在某种情况下采取的行动有助于他们增加他们首选的长期目标。

reinforcement-learning agent-based-modeling netlogo q-learning

6
推荐指数
1
解决办法
2278
查看次数

NetLogo的Python脚本?

NetLogo非常适合基于代理的建模......除了语言.我总是发现自己被扭曲我的大脑试图找出如何做一些事情,应该是简单的代码(如实现一个简单的case语句)中的NetLogo的Logo实现.徽标不是程序员的语言(对于这个断言所激怒的人道歉).

我看到了Abe Gong的Tengolo项目,声称这样做(http://compsocsci.blogspot.com/2012/02/announcing-tengolo-python-alternative.html),但该项目似乎已被放弃.堆栈溢出中的另一个问题(基于代理的模拟:性能问题:Python与NetLogo和Repast)似乎表明Python会更慢.

看起来很可能使用Jython编译成NetLogo可以使用的模块,但我想知道是否有人知道某些事情会让我用像Python这样的合理语言进行NetLogo模拟.思考?

python agent-based-modeling netlogo

6
推荐指数
3
解决办法
5215
查看次数