如何在短时间内学习多agent建模
题主的问题是如何短时间学会多智能体建模。首先我想直接告诉题主是的,你可以很短时间学会。多智能体建模与常规的面向对象建模相比最大的区别在于你如何理解智能体。换个角度来说,你期望你的智能体有多智能。如果仅仅是反射性的简单智能,你直接把面向对象的实体类改成Agent然后加几条规则就好了。随着你预期的智能体的智能水平的提高,你就需要学习不同的东西了。
下面是硬货。
如果你的agent够简单,你可以在半天/一天之内学会目前最主流的几个多智能体平台NetLogo/Repast/AnyLogic
如果你需要你的智能体有很强的认知能力,建议你先去学习关于一些认知架构比如PRS/ACT-R,然后再去学习使用Jason/Brahms来完成你的任务。
不过鉴于题主的问题,我猜想你的需求估计只需要去下载一个已有的NetLogo模型,然后改一下就好了。
如何用netlogo实现信息传播的仿真
看用户手册,上面有 例子,模仿着做一遍,就大概了解了netlogo程序编程的习惯了,然后再继续看用户手册,多看几遍,对自己要解决的问题建模,对程序的结构要大致有个框架,每次写程序前看一遍用户手册,有不会的再查阅手册,netlogo上附带了很多...
netlogo界面按钮怎么移动位置
安装并运行程序,介绍几个主要的控件,[界面]模型的图形界面,[程序]后台控制程序,[添加]添加右侧可选择的控件,[速度]调节图形界面运行的速度,[更新视图]不更新的话运行速度会更加快速(如果你急于要数据结果的话),[设置]设置图形的中心位置,字体大小等,[指令中心]这个区域可以输入命令来查看运行中的数据,类似调试。
快速了解NetLogo到底建模是什么样的,你可以打开它自带的模型库,可以看到会有很多自带模型:简单模型,课程模型,代码示例和分支网络类的。
模拟雨水汇集成河流的例子和模拟狼吃羊的例子。
如何建立我们自己的模型呢?如添加一个按钮,名为“setup"(随便取),会看到setup为红色,那是因为还没有添加代码的原因,在程序里添加
to setup
;;这里是按钮要做的事情
end
点击帮助中的NetLogo用户手册可以看到NetLogo的介绍和说明。
在NetLogo的安装目录里也可以找到其使用手册,里面的介绍很详细。
下面是我用其做的网络信任模型,切身的体会是NetLogo的语法特点和我们熟悉的C++,Java等有很大的不同,毕竟其是用于建模的,针对性比较强。根据你的目的择优选择。
有朋友私信要代码,因为比较久了,找了很久找到当时做过的一部分,有需要的朋友参考下吧,仅仅当做参考(可能有些错误需要你们自己修改下):http://pan.baidu.com/s/1kVSz2QV
全部评论