数学之路-群体行为与群体智能(1)

来源:互联网 发布:淘宝自动好评是多久 编辑:程序博客网 时间:2024/05/22 08:29

一、Netlogo简介 

Logo是一种计算机程序设计语言,在1966年由西摩尔·派普特 和Wally FeurzeigBNN设计,设计Logo的初衷是为了向儿童教授计算机编程技能。Logo一词源自希腊语逻各斯(logos)。

 

Logo的原型来自另一个计算机语言LISP,派普特修改了LISP的语法使得他更易于阅读。Logo通常被称作没有括号的Lisp

 

麦好的AI乐园博客所有内容是原创,如果转载请注明来源

http://blog.csdn.net/myhaspl/

Logo是一种解释型语言,和其它的语言不同,它内置一套海龟绘图(Turtle Graphics)系统,通过向海龟发送命令,用户可以直观地学习程序的运行过程,因此它很适合于儿童学习。

NetLogo是继承了Logo语言的一款编程开发平台,它改进了Logo语言只能控制单一主体的不足,它可以在建模中控制成千上万的主体,是一个多主体编程环境,它被广大的学生、教师以及全世界的研究者运用。

 

二、下载并安装netlogo5.0.5版本

http://ccl.northwestern.edu/netlogo/5.0.5/


选择相应的平台,下载后安装。

NetlogoJAVA实现,需要使用JDK库,如果是WINDOWS版本,它在安装时将配置好自己的JDK库,如果是其它平台,要安装最新的JDK库。

一、模型分析群体行为

1、聚会(party)

设置每个分组中让个体感到舒服的异性比比例,将这个比例称为容忍度(tolerance),超过容忍度,个体就会离开这一组去寻找别的组。

选择party模型,并打开




选择setup进行初始化后,点击go,进行随机模拟。


2种色彩表示2个性别,蓝色表示男性,粉色表示女性。多按几次go once,每一次,执行动作一次,人群重新组合一次。经过人群的几次走动后,可形成一个新的小组。



 按下go,这样就会不断得执行一个动作,直到最终模型停止。

可以看到,容忍度为25%时,最后的分组都是每个组是同一个性别的。

接着增加容忍度,设为60%时,出现有有异性的分组。



1 0