以象棋为例
1、在机器中表示棋局:
常用9X10二维数组,可用更优的数据结构提高效率。
2、走法规则:
车马炮兵士象帅,违例规则,良好的数据结构可减少运算耗时。
3、局面评估:
输赢判断,算法简单。
局面好坏判断,依靠在有限搜索的末端,依赖规则和经验估值。估值函数需要多次试验。
开局库,直接将人类经验赋予计算机。
残局库,利用机器学习建立。
4、智能选择:
以极大极小搜索算法为基础,时间复杂度是O(b^n),b是分枝,n为层数,容易超出计算机极限,时间有限,难以圆满。
如何提高搜索算法?alpha-beta剪枝、迭代深化、置换表、历史启发等综合应用可大大提升搜索效率。
5、可视化界面:
棋子、棋盘、菜单等UI交互设计。