关于将棋程序,有这样一件有趣的事情。
在开发将棋程序的检索部分时,开发人员常常会使用鳕鱼干(Stockfish)这一国际象棋程序的开源代码。当然,在进行将棋的程序开发时,必须要对Stockfish进行若干调整才行,但是据说,就算不加改动直接使用也很不错。
过去曾有“将棋程序没有通用性”这种说法,因为人们普遍认为,无论是把其他领域的程序用到将棋上,还是反过来在其他领域应用将棋程序,都是不可能实现的。
然而,Stockfish却冲破了不同领域的屏障,可以说是跨界程序应用的实例。话说回来,最近将棋程序的开发开始蓬勃发展的一大理由就是,其他的游戏程序算法也可以在将棋的程序中应用、转换或导入。
顺便提一下,就连AlphaGo,它的理论背景里也包括了其他的人工智能开发中也在使用的算法——蒙特—卡罗法(模拟和数值计算的技术之一),以及一些已经在专业论文上发表过的东西。在开发中,AlphaGo其实并没有什么新的划时代的技术突破。
DeepMind公司目前还没有公布这个程序的详情。不过我想,如果公开AlphaGo的检索部分的设置,将棋程序和国际象棋程序一定也能够应用。
这意味这什么呢?那就是尽管国际象棋、将棋和围棋是不同的竞技项目,但是在思维逻辑方面,说不定有着相同的基础。
虽然游戏规则不同,但追及思维方式和逻辑的根本,这些游戏之间却存在着共通之处。这也许可以成为我们探索“智慧”的通用性的一个契机。