【问题标题】:Agent-based modeling resources [closed]基于代理的建模资源[关闭]
【发布时间】:2010-09-15 01:32:59
【问题描述】:

我想知道有哪些工具包、语言、库可用于基于代理的建模,它们的优缺点是什么?

我想到的一些例子是 SwarmRepastMASS

【问题讨论】:

    标签: modeling toolkit agent-based-modeling multi-agent


    【解决方案1】:

    我在 OSCON 2008 上认识了Dramatis,它是一个基于代理的 Ruby 和 Python 框架。作者(Steven Parkes)在他的博客中有一些参考资料,并且正在努力运行与语言无关的Actors discussion list

    erights.org 的This page 有很多参考资料,我认为是介绍和探索 Actors 消息传递模型的核心论文。

    【讨论】:

      【解决方案2】:

      你也应该看看Madkit and Turtlekit

      【讨论】:

      • 我猜你的意思是 www.madkit.org。
      【解决方案3】:

      我也推荐NetLogo。它是一种基于 logo(基于 Lisp)的 IDE+环境+编程语言,可让您非常快速地构建多智能体模型。我发现我可以在几个小时内从研究文章中重现(模拟)算法,而其他库需要数周才能实现的算法。

      你可以在this page.查看我的一些模型

      【讨论】:

        【解决方案4】:

        我发现 2009 年 6 月的一项调查回答了您的问题:

        基于代理的建模和仿真工具调查

        金。 RJ艾伦

        摘要
        基于代理的建模和仿真是一种计算 基于离散事件模拟的高要求技术 起源于遗传算法。它是一种强大的技术 模拟动态复杂系统并观察“紧急”行为。 ABMS 最常见的用途是社会模拟和优化 交通流量和供应链等问题。我们将调查 计算科学和工程中的其他用途。 ABMS 已 适合在新架构上运行,例如 GPGPU(例如 nVidia 使用 CUDA)。阿贡国家实验室在 Exascale ABMS 上有一个网站 并在 SciDAC 的资助下在 IBM BlueGene 上运行模型 程序。我们计划组织一次关于 ABMS 方法的研讨会,并 2009 年夏季的应用。关键词基于代理的建模, 考古学

        http://epubs.cclrc.ac.uk/bitstream/3637/ABMS.pdf

        【讨论】:

          【解决方案5】:

          维基百科中也有一个不错的链接:

          http://en.wikipedia.org/wiki/Comparison_of_agent-based_modeling_software

          【讨论】:

            【解决方案6】:

            PHP 和 Java 开发人员应该看看KATO

            【讨论】:

            • KATO 不是基于代理的建模和模拟。
            【解决方案7】:

            在建模方面,看看 FAML,一种面向代理的建模语言。这是一篇漂亮的学术论文,但根据您的兴趣,它可能会有所帮助:http://ieeexplore.ieee.org/xpl/freepre_abs_all.jsp?isnumber=4359463&arnumber=4967615

            【讨论】:

              【解决方案8】:

              我知道这是一个旧线程,但我认为添加一些额外信息不会有什么坏处。有一个很棒的new website which is dedicated to agent-based modeling。该网站包含论文、教程、工具、资源和研究人员的链接,这些研究人员在多个领域从事基于代理的建模工作。

              【讨论】:

                【解决方案9】:

                如果您是进化经济学家,也可以查看Laboratory for Simulation Development (LSD)

                【讨论】:

                • 虽然很有趣,但 LSD 似乎并不是一个代理建模工具。
                • @rics 为什么说 LSD 不是 ABM 工具? darlinton指的那张纸上也写着,我现在才查过:/
                • 更准确地说,我在手册中只提到过一次代理。我认为多层对象结构可以用来实现代理。
                【解决方案10】:

                旧线程,但为了完整起见,还有 Anylogicpyabm 可用于 ABM。

                我有在多种环境/语言中编写基于代理的模型的经验。我的看法是,如果你想实现一个相对简单的模型,使用 Netlogo。也可以将 Netlogo 用于重型模型(我已经成功地做到了),但在某些时候,像 java/python/c++ 这样的编程语言的灵活性超过了 Netlogo 中可用的本机方法的便利性,尤其是当性能成为主要问题时。

                就餐变得有点臃肿。如果您是一位经验丰富的程序员,那么开始构建 ABM 真正需要的只是安排事件和绘制随机数的能力。其余的(定义代理/环境及其行为)您可以自己制作。在管理模型中的对象时,请使用您习惯的常规数据结构(数组/哈希/树等)。为此,我正在开发一个非常轻量级的 Java 库,称为“ABMUtils”(在 github 上),它实现了一个调度程序并包装了一个随机数生成器。这处于早期开发阶段,但我希望在未来几个月内充实(保持简单)。

                【讨论】:

                  猜你喜欢
                  • 2020-12-19
                  • 1970-01-01
                  • 2018-04-26
                  • 2015-12-16
                  • 2017-03-31
                  • 1970-01-01
                  • 1970-01-01
                  • 1970-01-01
                  • 1970-01-01
                  相关资源
                  最近更新 更多