Bonanzaとbonkrasと「やねうらお」氏~第1回将棋電王トーナメントで活躍した「やねうら王」の前史
コンピュータ将棋(と中の人)がホントおもろかった~第1回将棋電王トーナメントでの「やねうらお」氏
先日の↑の記事に続き、「やねうらお」氏や「やねうら王」の周辺を読み歩いていたら、
「やねうらお」氏とbonanzaやbonkrasとの接点が見えてきました。
「やねうらお」氏と「やねうら王」はパッと出の新人ではない
Bonanzaソース完全解析ブログ
↑これは「やねうらお」氏が「LS3600」の別名で、Bonanzaのソースコード(機械語に翻訳して実行可能にする前のプログラムのこと)を解析したブログです。
「LS3600」とは、「LISP言語でレーティング3600を目指す」という意気込みを示した名前だそうです。
LS3600とは何者か?
2009年~2011年にかけてブログの記事が書かれています。「やねうら王」というプログラム名は当時からの名前のようです。
↓ちなみに、現在の「やねうら王」もYaneLispを言語として使っています。
やねうら王 公式サイト -- The Computer Shogi Program
↓「やねうらお」氏がLISPを採用した理由はこちら。ここでは、BonanzaやGPS将棋の開発方針の特徴も分析されており、非常に興味深い。「C言語やC++言語は速く、LISP言語は比較的遅い」というのが前提となる「常識」なのですが、「やねうらお」氏は、BonanzaやGPS将棋の分析を元に、あえてLISPを採用されています。面白い!
コンピュータ将棋プログラムをLISPで書く
「やねうらお」氏と「やねうら王」は決してパッと出の新人ではなかったのでした。
「やねうらお」氏はBonanzaのバグ取りや性能向上に貢献していた
記事一覧 - Bonanzaソース完全解析ブログ
↑このブログの記事一覧から拾い読みをすると、「やねうらお」氏がBonanzaを研究して、Bonanzaの長所・工夫・アイデアを紹介している一方で、バグや短所について改善のアイデアをいくつも提出していることが分かります。ブログへのコメント欄には「hoki」さん(保木さん)もしばしば登場されて、「やねうらお」氏の修正コードが本家Bonanzaに採り入れられるケースもあったようです。
「やねうらお」氏はBonanzaのバグ取りや性能向上に貢献してきたのです。
↓ちなみに、「やねうらお」氏は、将棋にとどまらず、もっと一般的なアルゴリズムに関しても、よくあるコードの改善案を提案されるなどしています。
広く知られているinsertion sortのコードは駄目すぎる - やねうらお-俺のブログがこんなによっちゃんイカなわけがない
後の伊藤初代(?)電王(bonkras、Puella α)も「やねうらお」氏のブログに登場。クラスタ化の威力にプログラマたちが驚く
Bonanzaの保木さん(hoki)だけじゃないです。
bonkrasの伊藤英紀さん(A級)もBonanzaソース完全解析ブログに登場します。
↓私が見つけたのは、まずは2009-11-22のこちら
FPGAって本当に速いのですか?
FPGAってのは、field-programmable gate arrayの略で、製造後に購入者や設計者が構成を設定できる集積回路のことだそうです。※私の2013-11-05のブログでは「専用ハード」と書いてしまいましたが、それは誤りでした。プログラムをソフトウェアの形でなく電子回路の形で実装するもので、だから、「将棋専用ハード」ではないようです。
で、2009年11月の段階では、伊藤さんがFPGA路線を独自追求していて、「やねうらお」氏が「(現状では)FPGAは得策でないのでは?」という疑問を呈したのが上の記事です。
↓そのコメント欄で、伊藤さんはFPGAの現在と将来の可能性を擁護しつつ、「来年(2010年)の大会」について私は今は並列化に注力していて、ハードの方はまったく手をつけていない」という注目すべきコメントを寄せています。↓
「A級 2009/11/23 19:23」のコメント
続いて私が注目した記事は、2010-01-14のこちら↓
クラスター化でどれぐらいRがあがるのか
この記事は、伊藤さんが。floodgateにクラスタ化したBonanzaを投入したところ、従来、想像されていたよりもクラスタ化による性能向上の効果が大きかった、という報告をご自分のブログでされて、
ボナ1thr vs 8thr 比較: A級リーグ指し手1号
それに触発された「やねうらお」氏が考察を加え、コメント欄でプログラマ間で「どれだけ性能が上がるか」の議論が展開していきます。クラスタ化の威力がプログラマ間で共有されていく様子が感じられます。議論の後半になって伊藤さんが登場し、「実際何倍行くのか?は…どうせ考えたってわからんから実際に作って動かしてみるしかねーだろ、というのが、頭がガテン系の私の発想なんですよね、はい。」とコメント↓
A級 2010/01/15 09:48
この時は、Bonanzaのクラスタ化の実験だったようですが、その後、伊藤氏がクラスタ並列化技術を投入した独自プログラムがbonkrasで、初登場の2010年の第20回世界コンピュータ将棋選手権で決勝4位(ただし、伊藤さんは、2010年バージョンでは並列化の効果は出ていなかった、とも述べておられます。コンピュータ将棋におけるクラスタ並列探索の「4.3. 2010年バージョン」参照)。bonkrasは翌2011年の第21回世界コンピュータ将棋選手権で優勝し、米長氏に勝つわけです。
この後の2012年11月、「やねうらお」氏は、自分でもFPGA路線を研究するブログを立ち上げます。
FPGAによるコンピューター将棋「スーパー田舎将棋」作ってます!!
↓当時の結論はこちら。そう簡単じゃないね…という。
FPGAによるコンピューター将棋 2012年の結論 - FPGAによるコンピューター将棋「スーパー田舎将棋」作ってます!!
「やねうらお」氏がコンピュータ将棋の進化の最前線に立ってきたことも分かりましたが、FPGAを脇に置いてクラスタ並列に注力した伊藤さんの目の付け所の良さ、機敏さも分かりますね。bonkrasファンの私としては、こういったbonkras前史もとても興味深いです。
こんな人たちも「やねうらお」氏のブログに登場
ponanzaの山本さん(issei_y)もたまにコメントで登場しているようです。
GPS将棋の金子さんもどこかのコメント欄で見かけた気がするのですが、見失ってしまった…。
「中合い問題の解説」の記事では、フェアリー詰将棋作家の「もずやま」さんも登場します。
こんなところで、もずさんのお名前を発見できたとは…。
<以下、2013/11/10加筆>
なんか時間が無くなって尻切れトンボで終わってしまいましたが、要するに、言いたかったのは、
ここ数年、Bonanza、GPS、ponanza、bonkrasらの有力プログラムが人間のトップを超えていく歴史を大いなる関心を持って横から見ていたわけですが、「やねうら王」の前史を追いかけていたら、それら有力プログラムとの関係が見えてきて、表面的に見えていた歴史の裏で、プログラマーの方々の真のドラマがあったことが今回分かって、
とてもおもしろかったということでした。
先日の↑の記事に続き、「やねうらお」氏や「やねうら王」の周辺を読み歩いていたら、
「やねうらお」氏とbonanzaやbonkrasとの接点が見えてきました。
「やねうらお」氏と「やねうら王」はパッと出の新人ではない
Bonanzaソース完全解析ブログ
↑これは「やねうらお」氏が「LS3600」の別名で、Bonanzaのソースコード(機械語に翻訳して実行可能にする前のプログラムのこと)を解析したブログです。
「LS3600」とは、「LISP言語でレーティング3600を目指す」という意気込みを示した名前だそうです。
LS3600とは何者か?
2009年~2011年にかけてブログの記事が書かれています。「やねうら王」というプログラム名は当時からの名前のようです。
↓ちなみに、現在の「やねうら王」もYaneLispを言語として使っています。
やねうら王 公式サイト -- The Computer Shogi Program
↓「やねうらお」氏がLISPを採用した理由はこちら。ここでは、BonanzaやGPS将棋の開発方針の特徴も分析されており、非常に興味深い。「C言語やC++言語は速く、LISP言語は比較的遅い」というのが前提となる「常識」なのですが、「やねうらお」氏は、BonanzaやGPS将棋の分析を元に、あえてLISPを採用されています。面白い!
コンピュータ将棋プログラムをLISPで書く
「やねうらお」氏と「やねうら王」は決してパッと出の新人ではなかったのでした。
「やねうらお」氏はBonanzaのバグ取りや性能向上に貢献していた
記事一覧 - Bonanzaソース完全解析ブログ
↑このブログの記事一覧から拾い読みをすると、「やねうらお」氏がBonanzaを研究して、Bonanzaの長所・工夫・アイデアを紹介している一方で、バグや短所について改善のアイデアをいくつも提出していることが分かります。ブログへのコメント欄には「hoki」さん(保木さん)もしばしば登場されて、「やねうらお」氏の修正コードが本家Bonanzaに採り入れられるケースもあったようです。
「やねうらお」氏はBonanzaのバグ取りや性能向上に貢献してきたのです。
↓ちなみに、「やねうらお」氏は、将棋にとどまらず、もっと一般的なアルゴリズムに関しても、よくあるコードの改善案を提案されるなどしています。
広く知られているinsertion sortのコードは駄目すぎる - やねうらお-俺のブログがこんなによっちゃんイカなわけがない
後の伊藤初代(?)電王(bonkras、Puella α)も「やねうらお」氏のブログに登場。クラスタ化の威力にプログラマたちが驚く
Bonanzaの保木さん(hoki)だけじゃないです。
bonkrasの伊藤英紀さん(A級)もBonanzaソース完全解析ブログに登場します。
↓私が見つけたのは、まずは2009-11-22のこちら
FPGAって本当に速いのですか?
FPGAってのは、field-programmable gate arrayの略で、製造後に購入者や設計者が構成を設定できる集積回路のことだそうです。※私の2013-11-05のブログでは「専用ハード」と書いてしまいましたが、それは誤りでした。プログラムをソフトウェアの形でなく電子回路の形で実装するもので、だから、「将棋専用ハード」ではないようです。
で、2009年11月の段階では、伊藤さんがFPGA路線を独自追求していて、「やねうらお」氏が「(現状では)FPGAは得策でないのでは?」という疑問を呈したのが上の記事です。
↓そのコメント欄で、伊藤さんはFPGAの現在と将来の可能性を擁護しつつ、「来年(2010年)の大会」について私は今は並列化に注力していて、ハードの方はまったく手をつけていない」という注目すべきコメントを寄せています。↓
「A級 2009/11/23 19:23」のコメント
続いて私が注目した記事は、2010-01-14のこちら↓
クラスター化でどれぐらいRがあがるのか
この記事は、伊藤さんが。floodgateにクラスタ化したBonanzaを投入したところ、従来、想像されていたよりもクラスタ化による性能向上の効果が大きかった、という報告をご自分のブログでされて、
ボナ1thr vs 8thr 比較: A級リーグ指し手1号
それに触発された「やねうらお」氏が考察を加え、コメント欄でプログラマ間で「どれだけ性能が上がるか」の議論が展開していきます。クラスタ化の威力がプログラマ間で共有されていく様子が感じられます。議論の後半になって伊藤さんが登場し、「実際何倍行くのか?は…どうせ考えたってわからんから実際に作って動かしてみるしかねーだろ、というのが、頭がガテン系の私の発想なんですよね、はい。」とコメント↓
A級 2010/01/15 09:48
この時は、Bonanzaのクラスタ化の実験だったようですが、その後、伊藤氏がクラスタ並列化技術を投入した独自プログラムがbonkrasで、初登場の2010年の第20回世界コンピュータ将棋選手権で決勝4位(ただし、伊藤さんは、2010年バージョンでは並列化の効果は出ていなかった、とも述べておられます。コンピュータ将棋におけるクラスタ並列探索の「4.3. 2010年バージョン」参照)。bonkrasは翌2011年の第21回世界コンピュータ将棋選手権で優勝し、米長氏に勝つわけです。
この後の2012年11月、「やねうらお」氏は、自分でもFPGA路線を研究するブログを立ち上げます。
FPGAによるコンピューター将棋「スーパー田舎将棋」作ってます!!
↓当時の結論はこちら。そう簡単じゃないね…という。
FPGAによるコンピューター将棋 2012年の結論 - FPGAによるコンピューター将棋「スーパー田舎将棋」作ってます!!
「やねうらお」氏がコンピュータ将棋の進化の最前線に立ってきたことも分かりましたが、FPGAを脇に置いてクラスタ並列に注力した伊藤さんの目の付け所の良さ、機敏さも分かりますね。bonkrasファンの私としては、こういったbonkras前史もとても興味深いです。
こんな人たちも「やねうらお」氏のブログに登場
ponanzaの山本さん(issei_y)もたまにコメントで登場しているようです。
GPS将棋の金子さんもどこかのコメント欄で見かけた気がするのですが、見失ってしまった…。
「中合い問題の解説」の記事では、フェアリー詰将棋作家の「もずやま」さんも登場します。
こんなところで、もずさんのお名前を発見できたとは…。
<以下、2013/11/10加筆>
なんか時間が無くなって尻切れトンボで終わってしまいましたが、要するに、言いたかったのは、
ここ数年、Bonanza、GPS、ponanza、bonkrasらの有力プログラムが人間のトップを超えていく歴史を大いなる関心を持って横から見ていたわけですが、「やねうら王」の前史を追いかけていたら、それら有力プログラムとの関係が見えてきて、表面的に見えていた歴史の裏で、プログラマーの方々の真のドラマがあったことが今回分かって、
とてもおもしろかったということでした。
スポンサーサイト