前言
本书讨论计算机博弈程序(软件)的分析、设计、实现方法和过程。对计算机博弈的一些相关项目进行分析、实现,并能引导学生独立完成相关软件,为有兴趣参与计算机博弈程序设计的读者提供参考。
2. 预备知识要求
本书主要讲述计算机博弈及其实现的过程,读者需有基本的计算机语言知识,并能够编写简单的应用程序,对所学的语言并无特定的要求,例如C、C++、Java等语言均可作为具体实现的语言,本书中关于搜索和估值方面的内容均有相关的伪码,读者很容易将相关内容转换为自己所熟悉的语言,同时提供的示例从简单开始,逐步加深,便于学习。
3. 学习方法
对于学生来说重要的是如何学会自己动手完成相关程序或软件,而不是从书上或网上复制程序,本书在撰写过程中以分析设计为主,以代码实现为辅,通过对软件的分析,从算法的原理出发,将结构、流程与伪码相结合,引导学生独立完成相关软件。同时注重程序算法的效率,对效率从理论到实践进行研究。
通过软件工程的方法分析设计相关软件,使读者能从全局观念出发来设计完成软件,从实例中体会到从全局出发、以工程方法设计软件的重要性。
4. 内容提要
第1章介绍计算机博弈的一些基本情况,第2章介绍计算机博弈软件设计的基本原理和基本方法,第3~7章介绍全国大学生计算机博弈锦标赛中的一些项目的分析、设计和实现,包括亚马逊棋、点格棋、六子棋、苏拉卡尔塔棋和西洋跳棋等,并以软件结构结合伪码为主,兼顾不同计算机语言学习者的实现,部分示例采用目前使用量较大的C++或Java语言来描述,并在表达中尽量使不同读者易于转换,第8章介绍目前全国大学生计算机博弈大赛部分项目的规则,附录为学生提供计算机博弈相关的网络资源,参考文献为写作过程中用到的参考资料,可以作为读者学习的极其有用的参考。全国大学生计算机博弈大赛培训教程
5. 错误
无论笔者有多少发现错误的技巧,总有一些错误漏网,而读者往往最能发现错误,如果读者发现任何认为是错误的地方,请提出纠正建议,然后发送电子邮件至 wang_jingwen@yeah.net,在此感谢读者的帮助。
6. 致谢
本书在撰写过程中得到很多人的支持和帮助,陈建、史孝兵、尹本立、冯建、张金苗、熊鹏、梁媛、吴梦妮等对各章的编写给出了不少很好的建议,并实现了具有相当水准的博弈软件,使本教材所涉及的内容都得以具体的实现,使得本书更加完善,同时感谢参与试读的同学,在学习期间抽出宝贵的时间来阅读本书,对本书的易读性、易用性提出了很多宝贵的意见。
编者2013年4月
more >