|
基于FPGA的中国象棋博弈系统
计算机博弈是人工智能领域最具挑战性的研究方向之一,它的研究具有广泛的社会影响和学术影响。随着微处理器性能的提高以及博弈算法的进步,计算机平台上的博弈水平得到了很大提升。同时研究者们也在研究设计专门用于博弈的硬件系统,1997年“深蓝”的成功,更说明了高性能硬件系统在博弈中的重要性。但相对于已经取得巨大成功的国际象棋博弈,中国象棋博弈的研究起步较晚,其专用硬件系统的研究较少。
北京理工大学计算机学院与微软亚洲研究院合作,研究设计了一套基于单块FPGA芯片的中国象棋博弈系统“棋迹”,这是对中国象棋博弈专用硬件设计的一个重要探索。下图为“棋迹”系统的软件界面。
“棋迹”系统采用由微软亚洲研究院设计的STAR-III硬件开发平台,如下图所示。该系统以一片StratixII FPGA作为主处理芯片,完成博弈的走法生成、局面评估、博弈树搜索、开局库搜索、残局库搜索等全部运算,并通过PCI接口与PC通信。PC只用于绘制人机交互的图形界面。
我们将基于FPGA的中国象棋博弈系统与基于PC的系统进行了速度对比测试,其中FPGA的时钟频率为66MHz,PC的主频率为4.5GHz。两个系统采用相同的算法,任选一种棋局连续走棋4步,每走一步棋所用时间如下表所示。
| 次数 |
每走一步所花费的时间/ms |
| 基于PC的博弈程序 |
基于FPGA的博弈程序 |
| 1 | 19386 | 4002 |
| 2 | 25037 | 5183 |
| 3 | 24483 | 5201 |
| 4 | 37102 | 7034 |
这是我们在中国象棋计算机博弈领域的一次初步尝试,看到了FPGA系统在速度性能上的显著优势。该FPGA博弈算法尚未进行仔细的优化,FPGA芯片的时钟频率也不够高,但其速度已经是PC程序的5倍左右。在进一步优化后,FPGA系统的计算速度会有更大的提升,我们估计可以在现有基础上再提高10倍以上。
|