コンピュータ将棋Advent Calendar 2016

コンピュータ将棋Advent Calendar 2016
http://www.adventar.org/calendars/1457
の12/17の記事になります。


「うさぴょんの育ての親」とは何なのか、語っていきます。


場所をココログ(「うさぴょん」「ねこにゃ」開発日記)にするか、こちら(鬱病と暮らす日常)にするか、結構迷ったのですが、こちらの方で書いてみることにしました。*1


さて、どこから書き始めようか…。


私が「鈴木将棋」の開発に携わり始めたのは、1999年初頭だったはず。
その時は、詰将棋ルーチンの王手生成部だけをコーディングした。
初めて「コンピュータ将棋」に興味を持ったのも、この時であった。*2
そもそも、将棋自体、指した記憶がほとんどない。
(小学生の時に弟と何回か指した&高校生の時に、森田将棋で遊んだ記憶がうっすらとあるが…多分森田将棋とは2〜3回しか対局していないと思う。)
また、私はどちらかと言えば、RPGやアクションゲームが好きで、それらは中学生以降、実際にちょっと作ってみたりもしていた。


そして翌年の2000年には、「鈴木将棋」の並列化をしていたはず…なのだが、少し記憶が怪しい(苦笑)。
並列化自体は結構うまく動いていたと思うが、今から思うと、評価関数や、Extension、Reduction等々があまりよろしくなくて、結果はかなり残念な事になってしまった。*3


残念な事になった後、浦安の駅の中の喫茶店(駅の外だったかもしれないが)で鈴木さんと今後の開発の方針を決めた。


「鈴木将棋」は、鈴木さんの将棋の知識を生かしながら、全幅探索を行う方向へ、まだ名前のなかった私の将棋プログラムは、将棋の知識なしでどこまで強く出来るか、探索部や探索方法、指し手の生成や評価に力を入れ、前向き枝刈でどこまで刈れるか、等の実験プログラムという位置付けで、いつかそれらの成果を「鈴木将棋」へフィードバックし、再び合流する予定であった。そう、実は本命は「鈴木将棋」であったのだ。*4


「うさぴょん」は上記の通り「鈴木将棋」の派生で、2001年の世界コンピュータ将棋選手権でデビューした。
ベースコードは大分書き換えてしまっているが、「鈴木将棋」の名残はクラス構成や盤面の表現等に色濃く残っている。


さて、こうなると、「うさぴょん」の生みの親は、実質的に、鈴木さんと言う事になる。
一方、まだ名前が決まっていなかった「うさぴょん」の名付けの親は、これまた当時の同僚の「への」さんであった。
「への」さんは、さらに「うさぴょん」のイラスト?を提供してくれた。(ちゃちゃっとPaintとマウスで、30秒〜1分位で書いて頂いたものなのだが…今もオフィシャルキャラクターである。)このイラストもまた、「うさぴょん」には欠かせないもので、「への」さんも「うさぴょん」の生みの親である(とカウントしている)。


当時「たれぱんだ」の影響で「脱力系」というジャンルがある程度確立していたかと思うのだが、「うさぴょん」の名前やイラストは、(将棋プログラムとしては)最先端を突き破り、明後日の方向に飛んで行っていたように思う。


残った作業は「うさぴょん」をどう育てて行く(強くしていく)のか、と言う事になり、チーム名が決まった。そう、チーム名は「うさぴょんの育ての親」。


そう、「うさぴょんの育ての親」はチーム名なのだ。実際、過去に(私以外の)何人かがコードを触っている。ただし、触ってもらったコードは既に私の手により、削除・置換されている…のだが、チームであるのがあるべき姿なのだ。


…というわけで、チームメンバー募集…?


現在の状況だと「うさぴょん3」を作る暇がないので、実は結構深刻…というか本気です(苦笑)。>チームメンバー募集

*1:こちらの存在自体、最近コンピュータ将棋を始めた方は知らないだろうなーと思ったので…

*2:恐ろしい事にそれから数年後には「コンピュータ将棋」の書籍を書いている。これは、私が作りかけで放置していた「コンピュータ将棋の作り方」のページを見て、出版社様からこの内容で本を出しませんか?と声をかけられたのがきっかけだった。

*3:コンピュータチェスの作り方や技法等を調べたり取り込んで行くのはもっと後、実際に「うさぴょん」を書き始めてからだった。先行研究を活かせていなかった訳なので、結果が残念な事になるのは、今から思えば当然の事ではある。

*4:だが、その鈴木さんもコンピュータ将棋から、何年も前に撤退してしまっている。