关于什么是马尔可夫链, 我也说不清楚, 还是看维基百科来得快

http://zh.wikipedia.org/wiki/%E9%A9%AC%E5%B0%94%E5%8F%AF%E5%A4%AB%E9%93%BE

这个是我之前看lua程序设计的时候看到的, 作者用lua来实现, 我觉得好玩, 就拿PHP来玩玩看, 貌似还不错, 其实原理的话, 就是给出一段符合语义的文章作为样本, 然后用程序进行拆分, 统计出什么字或者词组后面跟随哪个字或者词语的概率, 然后利用这个概率来随机生成一段伪随机文本。。。

变量越多越符合语义,但是却越不能生成随机性; 越少, 越随机,但是越不符合语义。。这里要根据不同的文本和内容来调试决定最佳值。。

关于这个东西的用处, 我目前可以想到的是, 一是用于SEO中, 随机生成语义文本, 一是用于文字补全中, 即类似联想输入那样, 根据用户的输入联想后面的词语。。。

我的一些简单测试:

barbery@barbery:/www$ php say.php 我们

我们晚上8点半就到了。

barbery@barbery:/www$ php say.php 我们

我们叫了青旅住,

barbery@barbery:/www$ php say.php 我们

我们从睡梦中叫醒,

 

源码可以看这里:https://github.com/Barbery/blog/blob/master/say.php