コンピュータ将棋動画勢!

観るコン将(コンピュータ将棋観戦オンリー勢)から見たコンピュータ将棋の記述

将棋におけるMCTS(モンテカルロ木探索)の強さ

今回は技術寄りの話。

 

注:この記事はコンピュータ将棋非開発者によって書かれたものであり、技術的な情報に関して誤りが含まれている可能性があります。指摘等、コメントでお待ちしております。

 

芝浦工業大学の学生、教員らによって開発されている「芝浦将棋」というソフトがある。普通、(ディープラーニングを使わない将棋ソフトでは、)min-max探索というゲーム木探索を行う。将棋の盤面を何手分か先まで全ての組み合わせを調べ*1、最も評価値の高い局面へ至る手を最善手とする探索である。

ところが、芝浦将棋はモンテカルロ木探索という、確率情報に基づくゲーム木の探索を行う*2、世界コンピュータ将棋選手権出場プログラムとしては極めてユニーク*3なソフトである*4

 

コンピュータ将棋のmin-max探索と囲碁モンテカルロ木探索(読み飛ばしてもよい)

モンテカルロ木探索は囲碁ソフトでポピュラーな(というか唯一の)ゲーム木探索手法であり、囲碁ソフトはモンテカルロ木探索を行うことによりアマ有段の強さに、そして更にディープラーニングによる局面および手の評価を組み合わせることで、人類を遥かに凌駕する強さに至った。

囲碁は局面の分岐が膨大であり、min-max探索で深く探索することが不可能であるという問題、地という概念に対してまともな評価関数を設計することが極めて難しい*5という問題、そして正解となる着手が沢山あり、更にデタラメに石を置いても終局に至るというゲームの性質から、勝率の高そうな手からゲームの分岐を限定して読み、末端でランダムに石を置いて勝率を測定して*6手の情報を更新することを繰り返すというモンテカルロ木探索の相性が良かった。

逆に、将棋ではモンテカルロ木探索はあまり有効な手法であるとは思われてこなかった*7

これは、将棋というゲームは局面の有力な分岐が少なく、全ての手を調べることが容易であること、また、そこそこの精度を持つ高速な評価関数が簡単に設計できる*8ことから、将棋とmin-max探索の相性が余りにも抜群であったことによる。

 

線形評価関数モンテカルロ木探索将棋ソフト

残念ながら、芝浦将棋、毎年一次予選敗退でめちゃくちゃ弱いのである……(ごめんなさい)

と言ってもアマチュアの有段クラスではあるのだが、おそらく大昔のBonanza6に勝ちこせるかも怪しい。

 

そんなわけで、MCTSは将棋ではかなり弱いものだと思い込んでいたのだが、「PAL」の開発者の山口祐氏がモンテカルロ木探索を「やねうら王」上に学習部から実装し、強さを測定するという実験をされた。(第29回世界コンピュータ将棋選手権決勝進出者の詳細アピール文書を参照。)

なんと、三駒関係による方策関数を評価関数と別に導入すると、前年度のPALに対してレートたったのマイナス250で済むというのである。

 

これは私にとって驚愕の実験結果だった。まず、やねうら王の探索部はStockfish*9を元に様々な枝刈り手法が導入され、それらのパラメータも限界近くまでチューニングされていて、どのパラメータをどういじってもレートが下がるような状態である。

 

そんな探索部に対して、線形関係という荒い方策関数を導入して、細かいチューニングはまだ施していない段階モンテカルロ木探索が、たったのマイナス250である。

これまでディープラーニングの将棋ソフトがモンテカルロ木探索で従来のmin-max探索の将棋プログラムに勝利していたことを、私はディープラーニングの評価関数のパワーによるゴリ押しだと思っていた

だが、正しく実装されたモンテカルロ木探索は恐ろしく有望だったのだ。

 

min-max探索は並列化が大変難しく*10、min-max探索よりはスケールのしやすいMCTSなら、ひょっとするとパラメータや学習のチューニングがもっと進めば、ディープラーニングを使わずともmin-max探索を凌駕するポテンシャルすらあった*11ということになる。

 

来年以降の世界コンピュータ将棋選手権

dlshogiのソースコード、およびネットワークが公開され、更にレートが300ほど上がる改良の余地が発見されたとのことなので、おそらく決勝に勝ち進むためには全チームがディープラーニングを取り入れるのが必須であるような、ディープラーニング全盛の時代が到来すると思われる*12

 

Bonanzaによる機械学習がコンピュータ将棋界を席巻したとき、YSSの山下氏は手打ちした評価を機械学習のそれに置き換えるときに、YSSが自分のプログラムではなくなるような寂しさを覚えたという。

 

そのような大きな時代の転換が、ディープラーニング、そしてMCTSの盛隆により再び到来しつつあるのかもしれない。

*1:実際にはmin-max探索に等価になる枝刈りをしたαβ探索に、更に各種の枝刈り技法を組み合わせるため、実際に調べる局面はいくぶん少ない。

*2:正確には芝浦将棋の手法はMC Softmaxという、プレイアウト自体にランダム性を持たせるという独自のモンテカルロ木探索の亜種である。

*3:ディープラーニング勢を除く。ディープラーニングは評価関数が低速すぎるという都合上、min-max探索で性能を出すことが不可能で、MCTSが必須である。

*4:floodgateにはかつてやねうらお氏により開発されたひよこカルロというソフトがいた。おそらくMCTSをやっていた?

*5:というか誰にも不可能だった。

*6:MCTSディープラーニングと組み合わせて用いる囲碁ソフトであるAlphaGoの、中期バージョン以降では、この部分でランダムロールアウトをせずに、ニューラルネットで勝率を予測する。

*7:AlphaZeroが将棋で当時最強格ソフトであったelmoをボコボコにしたため、現在ではディープラーニングと組み合わせれば強い、そうでなければゴミ、という認識になっていると思われる。

*8:Bonanzaの三駒関係という手法が長らくスタンダードだった。

*9:オープンソースの超強豪チェスソフト。現在の最強格将棋ソフトはほぼStockfish由来の探索部を持つか、AlphaZeroのディープラーニング方式のどちらかである。

*10:主要ソフトはStockfishに習いLazy SMPという並列化技術により並列探索をしているが、これは10コアや20コアの時代のものであり、現在のように64コア、128コアと言った多コアのCPUを想定したアルゴリズムではなく、スケールが飽和しつつあると言う向きがある。

*11:並列化のアドバンテージ込みで。

*12:思っていたのより1~2年早かった。

コンピュータ将棋フルスクラッチ勢あれこれ 第一回 古参ソフト編

今回はゆるふわな記事なので常体で。

 

コンピュータ将棋の大会には、公開されているコンピュータ将棋ソフトのソースコードを一定の条件の下で利用して良いという制度がある。

大部分の開発者はオープンソースの将棋ソフトに自分の改良のアイディアを上乗せして大会に出場するのであるが、中には「他人のソースコードをなんて使わない、できる限りの部分を自作してやるぜ!」というDIY精神を発揮し、フルスクラッチからの開発にこだわる人も一定数いる。*1

この辺、「DIYこそが最も尊ばれるべきもの」と、自己満足であるはずのDIY精神を他者に押し付け気味なフルスクラッチ*2がいたり、社会性が不十分*3フルスクラッチ勢を露骨に見下してマウントを取りたがるライブラリ勢がいたりと、コンピュータ将棋界隈において最も闇の深い部分の一つである。

 

そんな闇の部分はさておき、個性という意味においては最も多様であるのがフルスクラッチ勢であることは疑いようがない。彼らは「光の当たらない個性的な将棋ソフトを紹介しよう」という趣旨の本ブログで、最も注目すべきソフトたちである。

今回の記事は、このフルスクラッチ勢のソフトたちの中で特筆に値するものを、用いる技術や開発方針、あるいは年季や完成度で雑に分類し、リストアップしてみようという試みである。

 

注: YSSやApery、技巧、やねうら王といった超強豪のソフトはもちろんフルスクラッチ勢であるのだが、すでに十分に光が当たっているため今回は取り扱わないものとする。また、現役を引退して久しい*4ソフトも取り扱わないものとする。私がよく知らないためだ。

 

では、今回は世界コンピュータ将棋選手権がまだ「世界」を冠していなかった時代、1999年以前の一桁回から参加を続けている将棋ソフトを紹介していこうと思う。

 

古参フルスクラッチ勢将棋ソフト

柿木将棋

第1回から参加している。というか開発者の柿木義一氏は、コンピュータ将棋協会理事なので参加者兼主催者をしている。ゲームソフトにもなった超有名ソフトなので紹介は短めに。機械学習や並列化を取り入れる等、現在も少しずつ改良されているようである。

 

隠岐

現役の古参ソフトと言えば、何と言っても増本智宣氏により開発されている*5隠岐」である。1994年の第4回コンピュータ将棋選手権の初参加は、現役ソフトの中では1991年の第1回から参加している柿木将棋、1992年の第2回から参加しているYSS、1993年の第3回から参加している臥龍(次節で紹介)に次ぐ記録*6である。コンピュータ将棋選手権が世界コンピュータ将棋選手権となった後も、隠岐は断続的に大会に出場を続け、直近の2020年に行われた第一回世界コンピュータ将棋オンライン大会にも出場している。

 

隠岐は20年くらい前に二次予選に出場したこともあり、当時中堅ほどの強さであったようだ。その後戦績が振るわないため、おそらくその時代を最後に更新が止まっているものと思われる。IF文を羅列したルールベースで指し手を決めるという、コンピュータの性能が足りな過ぎて探索すら満足にできなかった時代の将棋ソフトの姿をそのまま残す*7生きた化石シーラカンスのような貴重なソフトウェアである。

 

アピール文書*8によれば、終盤は二手読みであるそうだ。

ちなみに、二手読みでもきふわらべより圧倒的に強い。

 

臥龍

隠岐に並ぶもう一つの古参ソフトは、1993年第3回コンピュータ将棋選手権に初出場をしていた高田淳一氏による「臥龍*9である。そして、高田淳一氏は現在コンピュータ将棋協会の理事でもある。

アピール文書によれば、臥龍Javaで書かれたソフトで、特徴量を手打ちした評価関数を用いた100kNPSほどの探索をしているそうである。ルールベースの次の時代、かつBonanzaメソッドが流行する以前の時代である2000年当時の中堅プログラムの趣きを残したソフトである。

 

山田将棋

山田泰広氏による「山田将棋」は、1996年の第6回から将棋コンピュータ将棋選手権への参加を続けている古参ソフトの一角である。アピール文書によれば、評価関数の重みは手入力で、Bonanza以前の将棋プログラムの総決算とも言うべき、当時のお手本のような感じの技術を採用している臥龍が並列化、静止探索やLMR, Killer Move等をやっていなかったりするが(臥龍はそのわりにnull move pruningは実装しておりちょっとちぐはぐな印象)、山田将棋はそれらを網羅しており*10かなり完成度が高い印象を伺わせる。新規にフルスクラッチで参入した参加プログラムが山田将棋に勝つのはなかなか難しいと思われる*11。近年もフィッシャークロックへの対応等、きちんとメンテナンスが行われているようである。なお、C言語で書かれている。凄いデバッグとメンテがしにくそう……

 

なり金将

「なり金将棋」は村山正樹氏による将棋プログラムであり、2001年の第11回より継続的に世界コンピュータ将棋選手権への参加を重ねている。2001年の第11回は、前回記事で取り上げたうさぴょんの初参加の回でもある。

初参加が第11回ということで、先ほど自分で言ったはずのこの記事での「古参」の定義からは外れるのではあるが、なり金将棋は何年かに一度、割と大きなリファクタリングを行い2012年にはマルチコアでの並列化を実装したり、2013年にはUCTを方策にしたMCTSを実装してみたり、2014年~2015年は学習部を含めほぼすべてを書き直してみたり2016年には強化学習とGA(遺伝的アルゴリズム)で評価関数を学習してみたり、と面白い試みに意欲的に挑戦しており、村山氏がコンピュータ将棋の開発を現在もとても楽しんでいる様子が伝わってくるため、本稿で取り上げてみた。

 

さて、ここまで書いて思ったのだが、考えてみれば、ライブラリ制度のない時代の古参ソフトがフルスクラッチ勢なのは当然だった。意外に多くのプログラムが古参であり、現在も少数ながら更新を続けているプログラムがあることは感慨深い。

 

他にもコンピュータ将棋選手権一桁回から参加している古参ソフトとしては氏家一朗氏による「scherzo」*12等があるが、ほとんど情報が公開されていないないため、実情を伺い知ることができない。そのため古参ソフトの紹介はこの辺にしておく。

 

次回は別の視点からフルスクラッチ勢将棋ソフトを見ていくこととする。

*1:フルスクラッチを自称する割に探索部はチェスソフトのソースコードをほぼパクったりしている人も居るため、私のような外部の人間の感覚的には意味不明なのだが。

*2:この界隈のフルスクラッチ勢には、「フルスクラッチであれさえすれば、既存のアイディアをなぞっただけでも独自性になる」という、苦労と独自性を履き違えた、よくわからない頑迷な信仰が存在する。しかも彼らはネタ勢を標榜しながら異様なまでに勝ち負けに拘っていたりする。

*3:自分の成果を自慢したいのは誰でも一緒だが、大人は謙遜せずとも、上手く自己顕示欲を他人への利益の中に隠してwin-winの自慢をするものだ。金持ちが募金したりね。

*4:2010年以降大会に出ていない、とか。

*5:大会に出場はされ続けているものの更新は止まっているようなので、開発されている、という言い方が正しいかどうかは微妙。

*6:そしてYSSは今現在も最先端のディープラーニングに精力的に取り込んでいる。偉大すぎ

*7:ファミコンの時代のソフトの手法である。

*8:一読に値する個性豊かな文章である。

*9:当時は高田将棋

*10:futility pruningがあれば完璧なのだが……

*11:額賀大輔氏によるshogi686が初参加で勝っているが、結構レベルの高いプログラムだった。

*12:評価関数にニューラルネットを使う(予定)らしい。一言だけなので詳細不明。ライブラリ問題のいざこざで近年は開発引退中?

【連載】あなたの知らない将棋ソフトたち 第二回 うさぴょん

前回はあまりにもなソフトを紹介してしまったので、今回は少し真面目にコンピュータ将棋の歴史を語りつつ、その歴史上大きな意義を持つソフトの一つでありながら、あまり表舞台で語られることのなかった*1将棋ソフト「うさぴょん」にスポットライトを当ててみたいと思います。

 

コンピュータ将棋の歴史、概略

Bonanza以前の時代

激指、 IS将棋、YSS、KCC将棋*2らが覇を争う時代でした。

これらは商品化もされていました。IS将棋は「東大将棋」、YSSは「AI将棋」、KCC将棋は「銀星将棋」という名でした。残りの二つは確か同名の商品名で販売されていたと思います。懐かしい名前と感じる方もいるのではないでしょうか。AI将棋は昔のmac*3の一部のモデルにプリインストールされていたこともありました。

本稿はうさぴょんの紹介記事であるため詳しくは語りませんが、YSSは1992年の第2回コンピュータ将棋選手権*4から2020年までの現在まで、ずっとコンピュータ将棋界でトップクラスの強さを維持してきた、化け物のようなソフトです。*5

 

Bonanzaの登場

2006年の第16回世界コンピュータ将棋選手権には、かの有名な「Bonanza*6が出場しました。Bonanzaは初出場にして優勝し、四つの意味でコンピュータ将棋界に大きな衝撃をもたらします。

  • 初出場の時点で、優勝する完成度の高さ。(ごく初期の数回を除き、30年のコンピュータ将棋選手権の歴史において、外部ライブラリを使わず、初出場で優勝したソフトは後にも先にもBonanzaだけです。)
  • 評価関数のパラメータ調整に機械学習を用いていたこと。(チェスやバックギャモンのプログラムでは先例があったが、将棋では初。)
  • 激指やYSSがCPUを複数積んだ100万円以上のサーバーマシンで参加していたのに対し、ノートパソコンで参加したこと。
  • オープンソースとしてプログラムの全ソースコードを公開したこと。(2006年にはアルゴリズムが公開。2009年にオープンソース化。)

 

Bonanza以前のプログラムは基本的にクローズドであり、アルゴリズムや思考部の一部を解説している書籍はあったものの、プログラム全体を公開しているものとしては、池泰弘氏による「うさぴょん」、東京大学による「GPS将棋」のみがオープンソースとして利用可能な状態でした。*7

 

うさぴょん開発者である池泰弘氏は、同時にうさぴょんを教育用プログラムとして書き直した「れさぴょん」を公開します。れさぴょんは決して強いプログラムとは言えなかったのですが、αβ探索と基本的な枝刈り、評価関数、そして通信部を持ち、読みやすいソースコードで書かれた完全な将棋プログラムでした。更に池泰弘氏は自身の著書『コンピュータ将棋のアルゴリズム―最強アルゴリズムの探求とプログラミング 』にて、全てのソースコードに日本語による詳細な解説を加え、多くの人々にコンピュータ将棋の入門のきっかけを与えることになりました。

 

うさぴょん

大会用プログラムであるうさぴょんは当時中堅くらいに位置する、なかなかの強さを持つプログラムでした。Bonanzaが登場する2006年の5年前、2001年にうさぴょんは第11回世界コンピュータ将棋選手権に出場し、初出場にして一次予選を突破、二次予選に出場し、以後第19回世界コンピュータ将棋選手権まで連続で二次予選に出場し続けます。

 

一方でうさぴょんを池泰弘氏自身が教育用に平易に書き直したれさぴょんは、コンピュータ将棋選手権の登録ライブラリ*8として登録され、沢山の開発者たちがソフト開発の補助として利用することとなります。

 

れさぴょんをベースに登場したソフトのうち有名*9なものの一つが川端一之氏の開発した「なのは」です。なのはの初出場は2007年の第17回世界コンピュータ将棋選手権*10で、後にオープンソース化もなされます。

また、米長邦雄永世棋聖に勝利したことで話題となった「ボンクラーズ*11、そして第一回将棋電王戦においてプロ棋士の塚田泰明氏と持将棋と引き分けた「Puella α」*12の二つのソフトを開発した伊藤英紀氏も、れさぴょんを利用したソフト「A級リーグ指し手1号」で第18回、第19回世界コンピュータ将棋選手権に出場しています。ちなみに伊藤英紀氏はハードウェア上に直接将棋プログラムを実装するという常人離れした神業をやってのけています*13

 

歩を一切動かさず、飛車を自陣内でひたすら動かして相手の時間切れを狙う*14という、人間相手にやったら殴られそうな対コンピュータ将棋戦術に特化した「稲庭将棋」*15もれさぴょんライブラリを使用したソフトの一つでした。

その後、強さの面で圧倒的であるBonanzaソースコードが、その難解さ故に*16時間がかかったものの、徐々に理解されてきたこと、更に後には平岡拓也氏らによる「Apery」*17や出村洋介氏による「技巧」*18といった超強豪ソフトのオープンソース化が進んだことで、れさぴょんは今日ではほとんどライブラリとして用いられることはありません。

 

うさぴょんの目指したもの

れさぴょんの解説本である『コンピュータ将棋のアルゴリズム―最強アルゴリズムの探求とプログラミング 』について池氏が自ら紹介文として

おそらく、現在のコンピュータ将棋プログラムの基本的なところを「全て」押さえた初めての本だと思います。そして、大会で必須になる通信機能の実装や、インターネット対戦も可能になるTCP/IP版プロトコルについても付章で解説していますので、この本をマスターできれば、すぐに大会やライバルプログラムとインターネット対戦が可能になります。

この本で基礎を学び、より高度な本で応用を学び、世界コンピュータ将棋選手権で入賞するようなプログラムを読者が作成することが出来たならば、著者としてそれ以上の喜びはありません。

と、その思いを綴っています。そして、本の冒頭には、

最近の棋力の上昇から判断すると、持ち時間の短い試合ならば、ここ10年以内に世界チャンピオンに挑戦して勝てる可能性がある。言ってみれば、もっとも熱い瞬間が我々の目の前に迫っていると言える。
 世界チャンピオンに勝つプログラムを作るのは、この本を手にした貴方かもしれない。

と、当時のコンピュータ将棋の状況が描かれています。

コンピュータ将棋の情報がとても少なかった時代、池氏のこの著作はコンピュータ将棋の唯一の教科書と言っても過言ではないほど非常に有名なものでした。おそらく、どの大学のゲーム系研究室の本棚にも一冊は置かれていたのではないかと思います。(推測ですが、)Ponanzaの開発者である山本一成氏もほぼ確実にこの本を読んだであろうことは想像に難くありません。それほどまでに、当時の初~中級レベルの将棋プログラムの解説書として、完成された一冊だったのです。

 

池氏の願った通り、『コンピュータ将棋のアルゴリズム―最強アルゴリズムの探求とプログラミング 』を読んだ沢山の開発者が制作したソフトウェアがのちに世界コンピュータ将棋選手権で優勝し、本の出版からおよそ10年後には、山本一成氏らの「Ponanza」*19が時の名人、佐藤天彦氏を倒すこととなるのでした。

*1:開発者の世界では非常に有名であるとは思うのですが

*2:KCC将棋はなんと北朝鮮の朝鮮コンピューターセンターが開発していたソフトです。

*3:当時はMacintosh

*4:当時は「世界」が大会名に入っていなかった。

*5:常に進化し続けるCPU、プログラミング言語、開発環境、コンピュータ将棋の探索技術、評価関数の機械学習、複数台を協調させるクラスタ化技術、近年のGPUを利用したディープラーニング化、その全てを柔軟に、貪欲に30年間取り込み続けてきて、ほぼ常に成功させてきたと言えばその凄さの一端がわかるのではないかと思います。しかも本業のサラリーマンの片手間に。最も偉大な将棋ソフトは何か?という問いに対し、多くの人はBonanzaと答えるでしょうが、私はYSSこそがその栄光にふさわしいソフトであると考えます。

*6:開発者は保木邦仁氏。世界コンピュータ将棋選手権優勝、準優勝多数。

*7:将棋のライブラリとしては、GA将の開発者である森岡祐一氏による駒や盤のクラスを提供したJavaShogiLibが公開されていましたが、全体まで公開したものは他にありませんでした。

*8:他者の将棋ソフトのソースコードは登録ライブラリとして登録されているものに限り利用可能、というルールがありました。

*9:ただしコンピュータ将棋界隈内に限る。

*10:第17回のみ「綾香」という名称で出場しています。

*11:第21回世界コンピュータ将棋選手権優勝

*12:第21回世界コンピュータ将棋選手権準優勝

*13:verilogというハードウェア記述言語で、将棋のロジックを全て半導体の配置や接続をあらわす言語の形で書きます。とは言え、れさぴょん自体があまり強くなかったので強さは微妙でした。

*14:当時のソフトは読みが甘く、歩の全く動いていない相手陣に対しては攻め筋を見つけることができない場合がありました。

*15:第20回世界コンピュータ将棋選手権に出場。開発者は今野剛人氏

*16:昔ながらのC言語で書かれており、コメントも少なかった。更にBonanzaはCraftyというチェスエンジンをベースにしていたため、座標系などがCSA式のものとは異なるものだった。などの理由によります。

*17:第24回世界コンピュータ将棋選手権優勝

*18:第26回世界コンピュータ将棋選手権優勝

*19:世界コンピュータ将棋選手権、将棋電王トーナメント、ともに優勝多数

【連載】あなたの知らない将棋ソフトたち 第一回 きふわらべ

記念すべき将棋ソフト紹介の第一回です!

 

果たして、この連載で最初に紹介するソフトは何でしょうか。

Bonanza?Ponanza?GPS将棋?それともやねうら王?

ディープな将棋ファンなら、どれもどこかで名前を聞いたことのある(ひょっとしたら対局したことがある!)ソフトかもしれません。

 

ところがどっこい、これらのソフトは超一流の上澄みなのです。その陰には闇に埋もれた無数のソフトたちが存在します。

今回はその中でも色んな意味でぶっちぎりの個性を放つ、「きふわらべ」を紹介します。

 

きふわらべの歴史

きふわらべは高橋智史氏により開発された将棋ソフトであり2015年、第25回世界コンピュータ将棋選手権で初めて公の場にその姿を現します。

初出場ソフトというだけあって未完成、ルール通りに将棋を指せはしたのですが、「全ての反則でない指し手の中からランダムに一手を選ぶ」だけのプログラムでした。

きふわらべは一次予選を全敗で敗退してしまうものの、プログラムのエラーによる切断負け、あるいは反則手を指しての負けは一局もありませんでした

 

これは実はなかなかに凄いことで、初出場のプログラムは何かしらエラーや反則手を指して負けてしまうことがよくあります。*1

これは今後の棋力向上が楽しみなソフトが登場した……かのように見えました。

 

別次元の進化

きふわらべの棋力は初出場時、予選全敗の状態が最初にして最強でした

その後きふわらべは一切強くなることなく*2、毎年世界コンピュータ将棋選手権や将棋電王トーナメント、電竜戦と様々な大会に常連のように出場するものの、2020年末の現在まで、ただの一度も他ソフトの玉を詰ませて勝利したことがありません*3

 

ところが、ここからきふわらべは誰も予想の出来なかった異次元の進化を遂げます。

昨今のコンピュータ将棋の大会では、ソフトの使用技術について数ページの簡単な文章でソフト作者が自ら概説する「アピール文書」を提出することが多くなっています。

 

翌年の第26回世界コンピュータ将棋選手権、なんときふわらべは狂気の165ページにわたるアピール文書を書きあげます。*4

 

更に狂気を増すアピール文書

第26回世界コンピュータ将棋選手権のきふわらべのアピール文書は、分量こそ異常であるものの、内容はまだまともだったのです。何故ならきふわらべのプログラムに関係のあることについて書いてあったからです。

 

更に翌年の第27回世界コンピュータ将棋選手権、きふわらべの156ページのアピール文書*5は、そのうちおよそ155ページがきふわらべと何ら関係のないお絵かきに費やされます。おそらく機械学習とは何かについて、作者なりにお絵かきでイメージを描画したものだと思われます。(数学的な記述が一切ないため、理解不能

 

毎年このような異常な分量のアピール文書を送りつけるきふわらべに辟易したコンピュータ将棋協会の理事により、翌年から「アピール文書は人間の読める文字でA4の25ページ以内であること」というルールが追加されました。

 

きふわらべ進化の極北、第1回世界将棋AI電竜戦 

この作者の方向性が極まったのが2020年に開催された第1回世界将棋AI電竜戦です。

この大会は、これまでの大会とは異なり、参加費用さえ払えば同一人物が複数のプログラムを出場させることが可能でした。

ここできふわらべの作者は何を思ったか、これまでに作成した将棋ソフトの9バージョンを全て出場させるという暴挙に出ます

もちろん、指し手は反則こそせずとも、合法手から一つをほぼランダムに選択するという相変わらずのデタラメな豪快な棋風です。

これにより電竜戦の予選通過ラインギリギリのプログラムは、きふわらべとより多く当たったほうが予選通過という地獄に。会場は組み合わせの不平を訴える開発者たちで阿鼻叫喚の様相を呈しました。

 

独自性とは何なのか

世界コンピュータ将棋選手権の参加規約*6の第六条第五項にはこうあります。

参加プログラムは、主要な開発者が思考部に技術的に何らかの明示的な工夫を施したプログラムであること

果たして明示的な工夫とは、一体何なのでしょうか。きふわらべの思考部にはいかなる明示的な工夫があり、世界コンピュータ将棋選手権への参加を認められているのでしょうか。

かくも、きふわらべという将棋ソフトはその存在を通じて独自性の概念を再考することすらも我々に突き付けてくるのです。

前衛芸術が「芸術とは何か」という枠組みを常に破壊し続ける存在であるのと同じように、きふわらべは将棋ソフトにおける前衛芸術のようなものであるのかもしれません。

*1:たとえば第19回世界コンピュータ将棋選手権ではとあるソフトが全局反則負けをしました。

*2:正確には、オープンソースの強豪ソフトAperyを何度かほぼそのまま出場させたことがあり、その時には相手玉を詰ませて勝ったことがあります。

*3:相手の反則負けや時間切れ負けで勝利をしたことは何度かあります。ちなみに、第1回世界将棋AI電竜戦できふわらべ同士が対局し、奇跡的に詰みが発生しました。

*4:http://www2.computer-shogi.org/wcsc26/appeal/KifuWarabe/appeal.pdf

*5:http://www2.computer-shogi.org/wcsc27/appeal/KifuWarabe/appeal.pdf

*6:http://www2.computer-shogi.org/wcsc30/%E3%82%B3%E3%83%B3%E3%83%94%E3%83%A5%E3%83%BC%E3%82%BF%E5%B0%86%E6%A3%8B%E9%81%B8%E6%89%8B%E6%A8%A9%E3%83%AB%E3%83%BC%E3%83%AB-191204.pdf

はじめに

初めまして。

突然ですが、みなさまは「観る将」という言葉をご存知でしょうか。

観る将というのは、将棋を指さないけれど将棋の観戦はするというファンのことです。

 

近年のAI技術の発達の一つの極致として、2017年、Ponanzaが佐藤名人(当時)を破り、2016年にAlphaGoがイ・セドル九段を破ったことは未だ人々の記憶に鮮やかに残っていることと思います。

 

プロの棋士たちが勝負のしのぎを削っているのと同様、実はコンピュータ将棋ソフトの世界でも、(あまり光は当たりませんが)毎年のコンピュータ将棋の大会に向けて開発者たちの間の果てしない開発競争が繰り広げられています。

 

このブログは、華々しい人工知能活躍のニュースの裏で行われる、地味にして地道な将棋ソフトやその開発者たちの戦いを少しでも紹介しようという目的で開設されました。

 

私自身は、将棋ソフトの開発や、コンピュータ将棋大会等への出場をしたことはありません。言わば、コンピュータ将棋版の「観る将」というべき存在かもしれません。

当事者であるコンピュータ将棋ソフト開発者の視点とは違った、観る将ならではの視点から、とても個性豊かな、たくさんのコンピュータ将棋ソフトたちの魅力を紹介していけたらなと思います。