怎样编制黑白棋(1)
文章整理: www.diybl.com 文章来源: 网络 去论坛 建我的blog
基础
首先感谢那些在我研究程序算法时给我帮助的人,如Zebra的作者Gunnar Andersson,微软亚洲研究院的李聪,台湾大学的许舜钦教授等。正是由于站在了无数前辈们多年研究成果的肩膀上,电脑人工智能才得以一步步的成长。我编辑这篇文章的目的在于,希望使更多的人了解人工智能的基本原理,激起大家的兴趣,能有更多有志者研究它,并推动人工智能的发展。这篇文章中部分引用了Gunnar Andersson/李聪/许舜钦教授的文章,在此表示感谢。 黑白棋程序设计是用编程的方法教会电脑下黑白棋,使之可以与对手对抗,一较棋力高下。由于黑白棋的算法设计在各种棋类游戏中是比较简单的,所以编程相对要容易,而棋力则可以达到非常的强,一般都可以击败它的设计者。黑白棋程序Logistello已于1997年大比分击败世界冠军Takeshi Murakami。现在,人类玩者几乎不可能击败强力的黑白棋程序,如Hannibal、Logistello、Wzebra、Keyano等。看来,要想击败他们,只有依靠自己的程序了。:) 那么,怎样设计黑白棋程序呢?以下将以Pascal语言为例加以说明。