论文部分内容阅读
计算机博弈是人工智能领域一个极其重要且最具挑战性的研究方向之一,它的研究为人工智能带来了很多重要的方法和理论,产生了广泛的社会影响和学术影响以及大量的研究成果。在过去的半个世纪里,世界各地的学者花费了大量的心血对于计算机博弈包括奥赛罗、checker、国际象棋、中国象棋、五子棋、围棋进行研究。这是因为计算机博弈是人工智能的一块试金石,然而棋类游戏又是计算机博弈的一个标准性问题,各种搜索算法、模式识别及智能方法在计算机博弈中都可以得到广泛的应用。在长时间的研究中,涌现出大量令人震惊的成果,1997年“深蓝”战胜卡斯帕罗夫的比赛就在全世界范围内引发了震动。其他很多棋类的计算机水平都已达到了世界冠军的水平。目前,对于像五子棋、中国象棋等棋类游戏的计算机博弈算法研究已相对成熟,六子棋作为一个刚刚兴起不久的棋类游戏,其计算机博弈算法的研究还相对较少。即使目前已经出现六子棋的论坛以及比赛的平台,但只限于人人对弈。真正对于六子棋计算机博弈算法以及系统的研究还不多。六子棋的发明者台湾吴毅成教授给出了六子棋的公平性问题以及基于迫著(Threats)的胜利策略,但是对于其计算机博弈问题没有给出更加深刻的阐述,同时也没有全面解决六子棋计算机博弈问题。本文正是对六子棋计算机博弈技术的一个探索。本文中提出的六子棋计算机博弈系统可以分为四个主要部分:搜索引擎、走法生成、评估函数和开局库。搜索引擎模块包含了比较成熟的搜索算法,以及对他们的结合和优化;走法生成模块是对搜索的结果进行比较处理,确定当前的走法;评估函数模块中本文根据棋型特征构建了着子棋力的评估函数并提出用遗传算法来做评估函数参数的调整与优化的方法;开局库存储了大量的专家棋谱,可以避免在开局时由于搜索深度的不足而带来战略上的失误,同时大大提高了对战的效率。最后本文对六子棋计算机博弈系统进行了测试与评价,包括评估函数的准确度、搜索算法的效率以及系统的整体性能。