踏脚石模型和语言传播

9 views
Skip to first unread message

LCFwentao

unread,
May 7, 2006, 11:57:28 PM5/7/06
to myl...@googlegroups.com, diggwikisla...@googlegroups.com
踏脚石模型和语言传播
<http://blog.donews.com/biantaishabi/archive/2006/05/06/858895.aspx>
在统计学里有一个有趣的模型叫做踏脚石模型(Stepping Stone Model
<http://www.math.cornell.edu/%7Edurrett/SS/>),在一个N乘N维的矩阵中间,
有N的平方个小方格, 开始一共有K种颜色随机的分配在这N平方个小格子里面,每
次从这些格子里面随机选出一个格子,比如说是格子A, 再从它周围的8个格子中
随机的选出一个,将选出的那个格子的颜色变成格子A的颜色。可以知道, 这样下
来, 一种有K的N平方次方种状态。 这样进行很多次以后会有什么结果呢?他们
是否还想最开始那样杂乱无章呢?

可以用计算机来模拟一下这个有意思的过程。我做了一个20乘20的格子矩阵, 开
始的时候一共有红,黄, 蓝, 灰,绿五种颜色, 随机的分配到这400个格子中
间。然后每次再按照踏脚石模型的规则来随机的选择方块。 关于边上和角上格子
的处理, 可以想象这个方形卷成一个圆柱, 再两头相接。

可以看到格子中的颜色的数量在逐渐减少, 最后就变成一种颜色了。 这个模型和
前几天说的那个赌博的模型一样,也是一个典型的吸收马尔科夫链。 次数如果足
够多, 最后到全部的格子都变成一种状态的概率是1。 也就是说, 这样不挺的
运行下去,格子的颜色一定会全部都变成一种的。 数学家早就研究过这个模型
了, 并且计算出在任何时候, 某种颜色最终会战胜其他颜色,占据所有的格子的
概率就是它现在在这个格子矩阵中所占的比例。

可以去玩玩看这个模型,看看这么多种颜色是如何巩固自己的领地, 颜色之间是
如何此消彼长的。 我做的实验, 按一次start按钮是选择一万次,一般在十万次
左右就可以统一了。 (焦点在start按钮上, 如果觉得点鼠标累, 可以按空格
键, 也可以将start按钮按下)。 不过也有长的,比如上面的这次模拟, 好像就
有三十万次才统一, 其间红色一度十分少, 但是最后还是战胜了绿色。

这里是代码 <http://biantaishabi.googlepages.com/SteppingStoneModel.py>,
html显示 <http://biantaishabi.googlepages.com/steppingstonemodel>,是用
Python写的. 如果觉得这些颜色不好看, 可以换换颜色, 还可以设定Steps这个
参数来改变每次按下按钮执行的随机选择的次数。 Linux一般都默认装了Python
的, 这样只要在一个终端里面找到这个代码的目录, 敲上python
SteppingStoneModel.py(我这个文件的文件名)就可以运行了。 windows如果装
了Python,可以在命令行里面找到这个文件的目录, 直接打上文件名再回车就可
以了。 如果没有python , 可以到 Python的网站 <http://www.python.org/>上
去下载
<http://www.python.org/ftp/python/2.4.3/python-2.4.3.msi>[Python2.4.3
Windows MSI, 9.3M]装一个就可以了。我觉得装上一个这个还是挺方便的。 如果
你实在不想装这个东西。。。。。。好吧, 这里
<http://biantaishabi.sitesled.com/dist.rar>[rar, 2.6M](另外一个下载地址
<http://my.opera.com/biantaishabi/homes/blog/dist.rar>) 有为windows编译
好的, 解压缩以后直接双击就可以了。 其实我也是第一次用Python写东西, 不
过感觉真是挺方便好使。不过这样实在太不方便了, 据说现在有个叫Processing
的语言模拟这种数据的可视化比较强, 还不会,以后学会了用那个东西作了就可
以直接编译成jar文件放在网页上显示了。

我觉得这个东西可以用来模拟语言的发展, 想象一下最原始的人类, 他们是怎么
说话的呢。 估计最开始大家都不会说话, 然后为了要表达自己的意思,就要用音
节来表示某个东西。比如说桥, 中国人叫它qiao, 日本人叫它 hashi, 英国人
叫它bridge, 无论看谁都没有什么道理, 因为各地的人们都默认这个音节表示
的就是这个意思。 但是最开始的时候可能他们不会用同一个音节来表示同一个东
西, 而语言是用来交流的, 为了交流,不可避免的要统一两个人的说法[假设两
个人在交流], 我们现在就假设这两种说法中的随机的一种胜出, 两个人都同意
用这个音节来表达一个意思。这就相当于我们(我竟然都开始说我们了...)在踏
脚石模型里面的的一次随机选择。 经过来很多次的交流, 在一个区域内大家都能
统一大部分词语的说法, 也就形成了一门语言。 如果不交流, 大家是不会统一
音节的说法的, 比如在我的家乡湖南,在行走交通不方便的山区, 古时候就是十
里不同音, 也许翻过四五座山就听不懂别人在说什么了。

结论是, 以后世界上的人都会说一种语言?! 其实在多国人聚集居住的地方会有
一种语言叫洋泾浜
<http://zh.wikipedia.org/wiki/%E6%B4%8B%E6%B3%BE%E6%B5%9C> , 大家混合各
国的语言, 而且有统一的趋势。但是世界上语言统一我觉得不是那么容易,因为
交流才能促进语言的统一, 大家在地球上隔的这么远, 平时交流的欲望好像还是
没有这些矩阵里面的格子强烈的。


Trackback: http://tb.donews.net/TrackBack.aspx?PostId=858895

Reply all
Reply to author
Forward
0 new messages