计算机将棋

**计算机将棋**是用人工智能创建可以下将棋（包括日本将棋与韩国将棋）的计算机程序的一个领域。将棋软件的研发主要由自由程序员、大学研究团体和私营公司进行。到2017年，最强大的程序表现超过了顶尖人类棋士。

## 游戏复杂度
日本将棋具有重复使用被捕获棋驹的特点。因此，将棋具有比其他棋类更高的分支因子。因为每一手棋都可以放在众多方格上，计算机要检查更多的位置。这使日本将棋在流行的众多象棋類遊戲中有着最高的合法落子可能性。将棋的高复杂度意味着很难做到高水平的比赛。合法位置和可能出现的局面数是将棋游戏复杂度的两种衡量标准。

## 组成部分
计算机将棋程序的主要组成部分是开局棋谱、搜索算法和终局。开局棋谱有助于程序处于一个很好的局面，节省时间。然而，将棋专业棋手并不总是按照将棋的开局顺序下棋，而是采取不同的举措来创造出优秀的局面。搜索算法在一系列移动中更深入地预判，使程序能够更好地评估移动。由于可能的移动较多，将棋（包括日本将棋与韩国将棋）比国际象棋更难搜索，因为日本将棋与韩国将棋的棋盘都比国际象棋的棋盘大。程序到达稳定局面时将停止搜索。问题在于许多位置因打入而不稳定。最后，终局是在王（日本将棋为玉将，韩国将棋为宫）遭到攻击时开始，并在比赛获胜时结束。在国际象棋中，终局棋子较少导致通过残局数据库可以做到完美游戏，而日本将棋中可以打入持驹，所以没有残局数据库。

## 电脑对战人类
在20世纪80年代，由于编程、CPU和内存等领域的技术不成熟，计算机将棋程序要花很长时间思考，并且往往做出没有明显理由的举动。这些程序具有一个业余爱好者的水平。

在21世纪的头十年，计算机将棋在软硬件技术方面迈出了重要的一步。在2007年，顶级将棋棋士羽生善治估计了2006年世界计算机将棋冠军Bonanza的实力。他于2007年3月26日在《日本经济新闻》晚间版上撰写了关于Bonanza与龙王渡辺明的比赛。羽生善治评价Bonanza有二段将棋学徒的水平。

具体而言，计算机最擅长蛮力计算，并且在从给定局面寻找诘玉方式的任务方面远远优于人类，因为这牵扯的可能性更少。在步时为10秒的游戏中，即使弈者是专业的棋士，电脑也是一个艰巨的挑战。电脑将棋在过去的稳步发展也是对未来预测的依据。在1996年，羽生善治预测计算机会在2015年打败他。渡辺明于2012年接受了朝日新闻的采访。他估计电脑有职业四段的水平。渡边也表示，电脑有时会为他找到着法。

2005年10月23日，日本将棋协会在第3届国际将棋论坛上允许2005年名人森内俊之（Toshiyuki Moriuchi）对战电脑将棋程序YSS。森内俊之赢得了步时30秒的比赛胜利（角行落）。2012年，一位退休职业选手在公开场合首先输掉了一场比赛。而在2013年，一位未退休的职业选手也负于AI。

### Bonanza与渡边 （2007）
日本将棋协会（JSA）允许龙王渡边在2007年3月21日与卫冕世界计算机将棋冠军Bonanza竞争。大和证券赞助了这场比赛。  Hoki Kunihito编写了Bonanza。 该电脑采用英特尔至强2.66 GHz 8核，内存为8千兆字节，硬盘容量为160 GB。 之后以每场2小时和1分钟读秒进行比赛。 这些条件有利于渡边，因为更长的时间限制意味着时间压力导致的错误更少。 更长的比赛时间也意味着人类玩家可以在计算机的计算范围之外制定长期策略。 这两名棋士的水平并不相同。 渡边是2006龙王战冠军，Bonanza为2段将棋学徒水平。由于程序改进和更快的计算机，Bonanza比以前强一点。 由于渡边研究旧的Bonanza游戏记录，渡边为一个较弱的Bonanza作准备。

正如渡边预计，Bonanza先手并使用四间飞车。渡边认为Bonanza的一些着法较差。 然而，渡边深刻分析了这些举动，认为计算机可能会看到渡边没有看到的东西。渡边在比赛结束后评论道，如果Bonanza在进入终局之前进行了防守动作，他可能会输掉。 但电脑选择立即进行攻击，而不是花时间防守（并使用其令人印象深刻的终局战略），这使其最终输棋。  Bonanza在112步之后投了。 

Bonanza认输后，渡边在他的博客中评论了电脑，“我认为他们还有很长的路要走，但现在我们必须认识到他们已经达到了与专业人士匹敌的地步。”渡边在2008年6月27日的读卖新闻中进一步澄清了他在下象棋的电脑上的表态，当时他说：“我认为我将能够在未来10年中击败将棋软件”。另一个迹象是Bonanza远远低于职业渡边的水平，这是在2007年5月的世界电脑将棋锦标赛结束后的两个月。 Bonanza输给了2007年世界电脑将棋冠军YSS。 然后YSS在15分钟的比赛中输给业余的加藤幸雄。

**年度CSA比赛展览比赛（2003-2009）**

CSA锦标赛的获胜者与强大的棋士一起参加了比赛。 这些展览比赛始于2003年。 

在接下来的一年中，人类竞争更强烈，以面对更强大的程序。 加藤幸雄是朝日业余名人冠军。  Toru Shimizugami是业余名人冠军。  Bonkras的创始人Eiki Ito在2011年表示，Bonkras等顶级将棋程序目前处于中低水平的职业棋士水平。

**Akara与Shimizu（2010）**

计算机程序Akara击败了女子王将( women's Osho champion)冠军Ichiyo Shimizu 。  Akara包含4个电脑引擎，Gekisashi，GPS Shogi，Bonanza和YSS。  Akara在169台电脑组成的网络上运行。 这四个引擎投票选出最佳着法。 Akara选择票数最多的着法。 如果有相等的投票结果，那么Akara选择了Gekisashi的举动。  东京大学和电子通信大学的研究人员开发了Akara。

Shimizu先手，并在6小时3分钟、86步后投了。 清水说她正在努力发挥自己的最佳状态，好像她正面对一个人类棋士。 她于2010年10月11日在东京大学下棋。每位玩家的分配思考时间为3小时，60秒的读秒 。  750名粉丝出席了这次活动。 这是自2005年以来第三次日本将棋协会授予专业人员与程序对弈的权限，并且是第一次对抗女性职业选手的胜利。

Akara从比赛开始就积极追赶清水。 Akara下出了振飞车，并交换了角行。 虽然这场比赛Shimizu做出了可疑的下法，Akara继续取胜。  龙王渡边明批评清水的比赛。  2010年11月19日，读卖新闻引用渡边的话。 渡边说，“清水女士有很多赢得胜利的机会。”

**计算机Bonanza和Akara击败业余爱好者Kosaku和Shinoda（2011）**

2011年7月24日，有两局的（two-game）业余棋士与电脑比赛。 两个电脑将棋程序击败了两个业余爱好者组成的对手。 一位业余的Kosaku先生是一名Shoreikai三段棋士。 另一位业余的Shinoda先生是1999年的业余龙王。 业余爱好者被分配的时间是局时1小时，然后读秒3分钟。 计算机的分配时间为局时25分钟，然后读秒10秒。    

**Bonkras与Yonenaga（2011-2012）**

2011年12月21日，Bonkras计算机程序彻底击败了退休的68岁的Kunio Yonenaga ，1993年的名人。 他们在将棋俱乐部24，1小时3分39秒内下了85步。局时15分钟，然后读秒60秒。  Yonenaga是后手（白）并且下出了2. K-62（6二玉）。 这一举措是通过摆脱Bonkras的开局棋谱来混淆计算机。 2012年1月14日，Bonkras再次击败Yonenaga。 这场比赛是第一场Denou-sen比赛。 这场比赛有113步。 局时是3小时，读秒1分钟。 Bonkras先手并使用了振飞车。  Yonenaga也做出了同样的第二步，6二玉，就像他之前输掉的那场比赛一样。 Bonkras使用6台刀锋伺服器运行富士通Primergy BX400，每秒搜索18,000,000次移动。  Yonenaga用了2小时33分钟。 Bonkras用了1小时55分钟。   Bonkras在2012年1月与Yonenaga评估了它的比赛。

**Denou-sen（2013）**

Denou-sen是一场人机战争。 这场比赛是第二场Denou-sen比赛。Niconico赞助了这5场比赛。5名专业将棋选手对弈5台电脑。前世界计算机将棋冠军的获胜者将扮演专业的将棋选手。 每名棋手拥有4小时局时。用完4小时后，玩家必须在60秒内完成每次移动。Niconico现场直播评论。  

### Miura与GPS Shogi
Hiroyuki Miura在比赛前表示他会“全心全意地”打球。三浦决定使用可信的策略，而不是反计算机策略。电脑使用棋谱着法，他们对称地防守他们的王将。计算机迅速攻击，三浦采取打入进行反击。8个多小时后，三浦投了。比赛结束后，三浦表示：“我不应该这样为比赛做准备，我应该以真正的紧迫感为比赛做好准备，只要我知道，电脑非常强大。”  三浦表示失望，并表示他还没有弄清楚他出了什么问题。通过GPS对游戏的评估在GPS Shogi网站上进行。  

### Funae与Tsutsukana（复仇赛）
2013年12月31日，Funae和Tsutsukana进行了第二场比赛。Tsutsukana是2013年4月6日击败Funae的同一版本。该计算机有一个带6个内核的英特尔处理器。 Funae赢了。

**Denou-sen 3（2014）**

2013年8月21日，日本将棋协会宣布，2014年3月15日至4月12日，五名专业将棋选手将会与五台电脑对弈。  2013年10月7日，日本将棋协会挑选了五名选手。  

专业将棋选手将与初级计算机锦标赛的获胜者对战。 初级计算机锦标赛于2013年11月2日至4日举行。

### 计算机限制
* 每个将棋程序运行在一个6核英特尔处理器上。 不允许多处理器系统。  
* 初级电脑比赛结束后，将不允许更改将棋程序。
* 在初级电脑比赛结束后，专业将棋棋士将使用这些将棋程序训练。

每场比赛在上午10点开始，局时5小时。完成5小时后，棋士必须在1分钟内完成每次移动。中午有1小时午餐，下午5点有半小时晚餐。  Niconico现场直播评论。  日本汽车零部件制造商Denso开发了一种机器手臂来移动计算机的棋驹。  

**Yashiki 与 Ponanza**

Ōshō和Kiō冠军Akira Watanabe在他的博客中写道：“人类无法想象Ponanza的一些举动，如60.L * 16和88.S * 79。我不确定他们现在是否是最好的动作，但是我感觉我正在看不可思议的东西。“   Kisei ， andi和Ōza冠军羽生善治告诉朝日新闻报，“我觉得这次我看到他们的比赛时机器非常强大。”

**Denou-sen 3.1：Sugai与Shueso（复仇赛）**

2014年7月19日星期六，菅井龙也再次有机会与“Shogo Denou-sen Revenge Match”中的Shueso对抗。  4个月前，菅野在Denou-sen 3的第一场比赛中被Sugues击败，所以这被视为他为这次失败复仇的机会。 这个比赛由日本将棋协会和电信和媒体公司Dwango赞助 ，并在东京将棋会馆（日本将棋协会总部）举行。 虽然游戏网站对公众不公开，但游戏通过Niconico Live直播 ，并由各种将棋专业人员和女性专业人员提供评论。  Shuesho的动作是由机器手臂完成的。 每个棋士的局时是8小时，然后是读秒1分钟。 此外，整个比赛时间安排了四个1小时的休息时间，以便双方有时间吃饭和休息。 这场比赛持续了整个晚上，直到第二天，当Sugai在Shueso的144着后投了时，终于在开始后近20小时完成。

## 程序员工具
* Shogidokoro（将棋所）
* XBoard/WinBoard
* Shogi Browser Q
* BCMShogi
* FloodGate  i

## 世界计算机将棋冠军

## 视频游戏系统
下将棋的商业游戏软件包括Super Famicom的Habu Meijin no OmoshiroShōgi、Nintendo DS的Clubhouse Games和Xbox的Shotest Shogi。

## 限制
2005年9月18日，日本将棋协会专业5段与电脑下将棋。 这场比赛在日本小松的第29届Hokkoku Osho杯将棋比赛中进行。 松江国立技术学院开发了计算机程序Tacos。Tacos先手，并在开局中选择了不移动飞车。 专业棋士桥本跟随Tacos开局，同时交换角行。  Tacos在开局和中盘比赛中有着很好的表现，甚至到第80步也是如此。许多业余棋士都希望Tacos能够获胜。 然而，专业棋士桥本防守严密。Tacos下奇怪的着法，最终输棋。  

2005年10月14日，日本将棋协会禁止职业棋手与电脑下棋。  日本将棋协会表示，这项规则是为了维护其专业人员的尊严，并充分利用电脑将棋作为潜在商机。 禁令阻止了计算机相对于职业棋手的评级。

从2008年到2012年，日本将棋协会不允许专业棋手和电脑之间进行任何比赛。

## 里程碑
* 2005年：在业余龙王战中，程序Gekisashi在第一轮淘汰赛中以40分钟的比赛击败小川荣司。
* 2005年：程序”歌姬“在40分钟的表演赛中击败业余6段筱人人士。
* 2007年：Shogi Club 24计算机的最高评分是YSS 2744。  
* 2008年5月，电脑程序Tanase Shogi击败Asahi业余名人冠军持有人Yukio Kato。 在15分钟的表演赛中走75步。
* 2008年：5月，计算机程序Gekisashi击败业余名人 Toru Shimizugami。 在15分钟的表演赛中下100步。  
* 2008年11月，“歌姬”在1小时的比赛中以1分钟读秒击败业余名人清水美。  
* 2010年10月，第一次电脑击败了将棋冠军。 Akara在6小时3分钟内击败女子Osho冠军清水。
* 2011年5月，Shogi Club 24上最高评价的棋手是计算机程序Ponanza，评分3211. [ *需要的引证* ]
* 2011年12月，最高评价的Shogi Club 24棋手是电脑程序Bonkras，在2116场比赛后被评为3364分。  [ *引用需要* ]
* 2012年1月，邦克拉斯击败了1993年的名人 Yonenaga。 他们进行了113步的对局，局时3小时，然后是每次移动1分钟。  
* 2013年4月20日，GPS Shogi击败三浦浩之，排名第15。比赛局时4小时，102着，读秒1分钟。  
* 2013年5月12日，Shogi Club 24上最高评价的棋手是计算机程序Ponanza，评分3453。 [ *需要的引证* ]
* 2014年4月12日，Ponanza击败羽之伸行，名列第12位。比赛进行130着，局时为5小时，然后每次1分钟。  
* 2016年4月10日，Ponanza击败了Takayuki Yamasaki 八段。 85着。  Takayuki使用了7小时9分钟。  
* 2017年5月20日，Ponanza在2场比赛中击败了名人 AmahikoSatō 。   
* 2017年12月5日，Google DeepMind的AlphaZero令人信服地击败强大的程序elmo 。

## 另见
*日本將棋變體
*韓國將棋變體
*電腦象棋
*電腦西洋棋
*電腦圍棋

## 參考資料
*Consultation Algorithm for Computer Shogi: Move Decisions by Majority
*Review: Computer Shogi through 2000
*コンピュータ将棋におけるモンテカルロ法の可能性