马尔科夫链matlab算法(Python举例实现马耳可夫链算法)
导读:python实现马耳可夫链算法有个简便的方法,通过实现马耳可夫链算法,来通过输入的文本,“随机”的生成一些有用的文本。...
python实现马耳可夫链算法有个简便的方法 ,通过实现马耳可夫链算法 ,来通过输入的文本 ,“随机 ”的生成一些有用的文本 。
说明:
1. 程序使用了字典 ,字典和散列可不是一个东西 ,字典是键值对的集合 ,而散列是一种能够常数阶插入 ,删除 ,不过可以用散列来实现字典 。
2. 字典的setdefault()方法使得程序少了许多条件判断。
3. random.choice()可以随机取出一个序列中的元素 。
4. 每两个前缀词确定一个后缀 。
importrandom importsys MAXGEN=10000 NONWORD=\n w1=w2=NONWORD statetab={} text=sys.stdin.read() words=text.split() forwordinwords: statetab.setdefault((w1,w2),[]).append(word) w1,w2=w2,word #addtail statetab.setdefault((w1,w2),[]).append(NONWORD) #showmarwords w1=w2=NONWORD foriinxrange(MAXGEN): suf=statetab[(w1,w2)] t=random.choice(suf) ift==NONWORD: break printt w1,w2=w2,t创心域SEO版权声明:以上内容作者已申请原创保护,未经允许不得转载,侵权必究!授权事宜、对本内容有异议或投诉,敬请联系网站管理员,我们将尽快回复您,谢谢合作!