4月28日(火)08時24分58秒ちょっと面白そうだったのでYSSにBonanzaの評価関数を載せて動かしてみました。手の生成や探索部分、詰将棋はYSSで評価関数だけBonanzaを利用してます。約350000局面/秒)Bonanzaの評価関数、重いです・・・。^^;)しかし4倍近く重いのにだいたい互角というのは明らかにBonanzaの評価関数の方が性能がいい、ということでもあると思います。早いマシンだとBonanzaの勝率が下がってます。移植が完璧にいってはいないせいかもしれません。駒の価値と位置による評価は表裏一体なのですね・・・。4月28日(火)20時41分12秒コンピュータ囲碁の対局イベントの参加プログラムを募集します。経緯:東大で少し前から囲碁の授業が取り入れられ、一般向けの講演会も行われるようになりました。今年の3月に行われた講演で、私がコンピュータ囲碁を簡単に紹介したのですが、予想より多くの人がコンピュータ囲碁に興味を持ってくださいました。そのため、8月の講演会でコンピュータ囲碁の対局イベントを行うことになりました。募集プログラム数:2(有段者レベルのモンテカルロプログラムが望ましい)日時:8/22(土)の午後に一時間半(持時間40分ほどで一回対局)謝礼:1万円ほどマシン:(おそらく)自分で用意する必要がある観戦者は60-80名ほどの予定で、コンピュータ囲碁については素人の方が多いようです。いっても、十分宣伝にもなると思います。興味がある方は、私までメールしてください。ark_golgoxhotmail.com皆さんお忙しいとは思いますが、是非協力をお願いします。単純な評価関数の移植は全く上手くいかないと思っていたのですが、勝率が4割超えるとは以外です。Bonanzaの評価関数、重いです・・・。C++にて、エントリーしてます。相手の指し手の手入力による対局。少なくとも局面を作って対戦できるように、とのことだと思います。最近はほとんど見なくなったのあまり心配する必要はないとは思いますが機能はあったほうがいいと思います。いう新聞記事にコンピュータ囲碁に関する記事が出ています。コアが多いクラスタマシンを使って7子で19路でプロに勝った、という紹介から、最近の進歩について書かれています。今月発売されたGo4++の作者のソフト「最強の囲碁」がモンテカルロになって、彼いわく、「ManyFaces(AI囲碁17)といい勝負」とのことです。AI囲碁17関係ないですが、4月8日の朝日新聞にも記事していただいています。大会直前ですが、BonanzaのCSAライブラリ版が4.0.3から4.1.1に変わっています。深い最善応手手順を求めて作った評価関数とのことで、YSSwithBonaでも実験してみました。0.558とかなり向上しました。レーティングで100点は上がってると思います。評価関数のバイナリを変えるだけでこの強さとは。深い最善応手手順だとどうなるか、どこでさちるのか、興味あります。最初、間違えて駒割を4.0.3のまま実験していたのですが、それほど大差ないようです。急激にBonaが弱くなります。参照されるデータがL2に乗り切らなくなるせいでしょうか?L2の違いでこれほど性能に差が出るのを見たのは初めてです。-----------------------------------------------------------------YSSと評価関数だけをBonanzaに入れ替えたYSSwithBonaの対戦結果です。勝率はいずれもYSSから見たものです。書いてないのは1手1秒です。Bonaの速度が遅すぎる。詳細な測定結果、ありがとうございました。Bonanza以外のプログラムに適応した結果とは大変貴重です。1000局の自動対戦を短時間で系統的に行うとはおそれいりました。最善応手に含まれる手が増えたので、学習サンプルが増えたという効果もあるかもしれません。数の学習にはまだまだ伸びしろがあるような気がします。一、ほとんど計算しないで詰む詰まないの当たりをだいたい付ける。一、0.1秒以下で実戦の詰みを読み切れるように。一、どの方面から寄せていけば良いかの戦略立てができるように。一、攻めに緩急を付けるように。一、受けは完璧なまでに高めておくように(前例有り、YSS)。一、利き濃度の採用と適度な活用。一、仕掛けが有効かどうかの見切りを読まずにできるように。一、大局観の実現と実装と採用。一、定跡別れから思考時間を大きくとって「ローラー読み」。一、プロが好む定跡形かつソフトに有利な局面に誘導。一、まともな系統だったそのソフトに適合した定跡データベースの構築。以上は最低でもやってください。○対人ほぼ必勝の「ローラー読み」の方法1.激指8を買ってくる。2.改造パッチをあてて激指8六段++という適度に深い深さの読み深度にする。3.定跡通り指し進める(仮にソフトが先手番とする)。4.定跡を外れたところから、「ローラー読み」開始。5.激指に先手を指させて、思考内容を見て、先手とその応手である後手をすべて定跡登録する。6.最善で進めていく。7.勝ち負けが決定するところまで(時間に応じて+500、+1000、+2000、+5000などでも良い)行く。8.勝ちなら激指が示した応手すべてについても勝ちなのかどうかを戻りながら調べて定跡登録していく。9.進む時の応手(後手候補)だけでは幅が小さいので戻る時に次の一手で後手の応手の数を増やしておく。10.負けなら激指が示すすべての場合で負けなのかどうかを戻りながら調べていく。11.以上を自動化してスパコンに最適化して時間の短縮を図る。12.以上で定跡別れから勝ち負けまでの定跡を作ってしまい、相手を見通しよく負けに誘導する。これが、将棋ほぼ必勝法「ローラー読み」。3日(日)18時37分58秒kccは強いですね文殊も強いですねGA!!!は予想外でしたWまんぐーは来年以降期待します。京大の準教授であれなのかと思いました開発者の苦労がわかりますね。激、B、K応援してます。今年はYSSはイマイチでしたが、次回以降の活躍に期待します。選手権でGPS将棋が優勝した、という記事が金子さんの名前と共にでていました。私だけならともかく激指までここまでぼこぼこにされるとは思っていませんでした。一発勝負なので断言はしにくいのですが、上手に作りこんだ学習評価関数はほんと優秀ですね。差がつけられてると思いました。それと、floodgateのレーティングは嘘をつかないですねぇ・・・。あと、ひそかにすごいな、と思ったのはA級リーグさんがK-Shogiに勝ってたことです。FPGAで毎秒1100万局面!くらいを読むそうで、評価関数がまだかなり精度が悪いのを考えると末恐ろしいです。hiroさん、凡人さん、応援していただいてありがとうございました。来年はもう少しましな将棋を指せるように教えなおしてきます。8順位順の星取表を作ってみました。6日(水)19時16分59秒こんにちは山下さんのコメントを拝見し、今回の結果について意外と冷静に受け止めておられるので安心しました。何事も順調に進まないものですね。七転び八起きの精神で参りましょう。6日(水)20時21分48秒あ、山下さんにコメントいただき光栄です。スパーリングでは時々は勝てていましたが、本番で勝てたのには感動してました。私1100万って言いましたっけ。すみません、1000万npsです。懇親会での山下さん発言を聞いてて、来年は学習やるつもりなのかな、と思ってました。学習版YSSができると怖そうですねー。伊藤さん、1000万でしたか、失礼しました。(それでも桁違いのNPSですけど)学習はやらないともう太刀打ちできない気がします。いっても分からないことも多いので苦労しそうですが・・・。清さん作成の選手権の順位別記録を更新しました。http://www32.ocn.ne.jp/~yss/csa_all.htmlなり金将棋さんが3年連続28位、という珍記録?を達成されてます。最近、floodgateにYSSを投入しているせいもあってfloodgateを眺めているのが楽しいです。GPS大会版がいきなり40連勝とかしてレーティング3000超えて「おぉー」と思ったり、その後急に負けだして2800ぐらいに落ちてしまって「あらー」と思ったり。ソフト同士の相性、というのはありそうですね。以前はYSSはBonanzaには勝ちやすい印象だったのですが、今ではさっぱり勝てなくなってしまい、その影響でgps_lのレーティングも少し下がってるような気がします。正しいレーティングを計るのはほんと難しいと思います。CGOSやKGSで走らせていて思ったことを書いてみます。・同じプログラムでコア数が違うのを同時走らせるとまずい。CGOSで顕著だったのが1コアを使う自分のプログラムと2コアを使う自分のプログラムを対戦させると、自己対戦になるため、2コアのレーティングが実際以上に上がりやすくなります。同時にコア数が違う自分のプログラムを入れるのは避けた方が無難です。KGS対戦相手は人間なので、理想的です。実際は、BOT(ソフト)とばかり対戦するユーザ、というのが存在してAyaMC2(KGSでの彩のID)の直近の35局を調べると28局の対戦相手はBOTとしか打っていないユーザでした。BOT打ち専門ユーザは全体的にひ弱な印象があり(ソフトの弱点を知っているだけ)正しいレーティングを持っているか疑問ではあります。・人間と対戦するときは十分な時間を与えないとまずい。KGSでほぼ同じプログラムを持ち時間10分、切れたら30秒、という条件と持ち時間1分、切れたら15秒、という条件で対戦させると1手15秒の方が1kほど(レーティングで100点ほど)強くなりました。対人間では短すぎる持ち時間では正しいレーティングは得られないと思います。時間制限が厳しいと人間は1kほど弱くなる。playoutが16倍で2k強くなる。GHz将棋クラブ24試した回数が少ないのと、私自身が同じ人との対戦は避けるようにしていたので、対戦相手が偏る、ということはなかったのですが、レーティングが上がりすぎた現在では正確な点が出せるか疑問です。遅ればせながらGPS将棋の優勝おめでとうございます。私は選手権前にBonanzaソース公開に基づき、今回の選手権ではいまだかつて無い恐ろしいことが起きると煽ったものの、まさか、このような結果になろうとは思いませんでした。プロまでがビビってエキジビションを止めたとか。(ほんまかいなー)(^^A本家Bonanzaまでもがその荒波の激しさに流された感じでしょうか。激指が六位など、棋力がぽんと跳ね上がった印象があります。今回の結果はとても刺激的な大会になりました。このような事態はやはり少なからずBonanzaソース公開によるものだと勝手に思っています。要望していたことでもあり期待しています。「無敵のBonanza黄金時代」の到来までに完成すればいいですが。5月11日(月)23時14分48秒Bonanzaとの対局で疑問の局面に遭遇しました。△3七角成の角切りはBonanza思考の無謀手かと思いきやなんと定跡データによるものなのですが、この手はコンピュータ的には非常によくない手のようにサルの棋力の私は思いました。今のソフトに先手を持たせても後手のBonanzaに勝つのもなかなか容易ではありませんが。(^^;私は今後のBonanzaの課題は定跡データの整理にあるように思います。コンピュータ的にはよくない手を検討するのです。対局により、定跡データの採用率と勝率を統計し管理する「自動定跡編集プログラム」で行わすほうが理想ですね。これにより、より勝率が高まると妄想します。今回の選手権で個人的に興味を持ったプログラムは「文殊」ですね。オリジナル問題に疑問視する人も中にはいるようですが、個人的にはおもしろいと思います。選手権前に「コンピュータ将棋オープン戦」などでも選手権ルールで合議システム同士のブログラムだけで対局し、その中の優勝者が選手権で参加するようにすれば合議システムのプログラムが増乱することもなくなると思います。「文殊」は、ちょっとしたアイデアで最大の効果を得られた理想的なシステムですね。実際、この発想は新しいものではない。合議システムで強いプログラムが可能であると述べています。「文殊」を誰も検討し実現させなかった事が疑問でもあります。下記の棋譜は、合議システムと谷崎生磨さんの棋譜。この棋譜で私が疑問視したのは△3九角打から△8四角成のただ成り。これほど楽に角が成れるのなら指さない手はない。歩コンピュータは非常にこの角成りを楽観視しています。このような、ただの角成りについて私は過去にも2002年12月13日に「激指2-四段私感。」で指摘しており、いまだにコンピュータ将棋は序盤がネックにはなっています。中盤でこの角成りが王の守りや攻撃に活躍します。合議システムがもっと早い段階に研究されておれば谷崎生磨さんとの対局ももう少しましな対局になっていたかもしれません。今後もより合議システムの可能性とその精度を追求され、高い棋力を実現し、プロとコンピュータとの対局が実現したその時にはそのノウハウを惜しみなく公開していただきたいと思います。過去に誰が合議システムを研究し制作に着手した人がいたでしょうか?文殊開発チームの少しでも強いプログラムを作ろうと努力した志と流した汗を否定してもらいたくないですね。私は、文殊開発チームには期待しています。対戦相手は人間なので、理想的です。実際は、BOT(ソフト)とばかり対戦するユーザ、というのが存在してこれは驚きました。実力をはかるのは本当に難しいですね。Olympiadの9路盤部門は参加者9チームの総当りの結果、FuegoとMoGoが15勝1敗で並びプレーオフでMoGoを2連勝で破ったFuegoが初優勝しています。Fuegoはカナダのアルバータ大学で開発されているオープンソースのプログラムです。・・・最近はオープンソースが強いですね。5月14日(木)09時01分50秒Bonanza4.0.4、Bonanza4.1.1とYSSを思考時間を1秒、4秒、16秒と変えて対戦させてみました。結論からいうと、1手1秒と1手4秒では対局結果が変わる、ということです。YSS-Bonanzaに限って言えば、思考時間を少し長くするとYSSの勝率が上がるようです。1手1秒、という短時間でデータを取るのは危険かもしれません。以下の勝率はYSSから見たものです。1手4秒と大差なしか。YSSの評価関数だけBonanzaを利用した版で、終盤だけBonanzaの評価関数を利用する、という実験もしてみました。(序盤だけBonanzaも)終盤の判定条件は、と金が出来たら、とか馬ができて持ち駒に香を持っていたら、などのかなり大雑把なものです。結果は評価関数を途中で切り替える方はどちらも成績が悪かったです。終盤だけBonaを利用、が一番弱かったので、Bonanzaが強いのは序中盤なのかもしれません。終盤だけYSSの評価関数を利用。終盤だけBona411の評価関数を利用。常にBona411の評価関数を利用。だいたい0.44程度の勝率になるようです。2.66GHzで取りました。下のデータですが、今まではbonanzaとの対戦はCSA将棋経由で木偶の坊を使って取っていたのですが、Bonanzaはパイプ経由で子プロセスとして利用できるので、そっちの方が格段に便利なのでそうやって取りました。下はサンプルソースです。5月14日(木)14時15分46秒>・・・最近はオープンソースが強いですね。彩を使って合議制の実験をしてみました。モンテカルロ法は何もしなくて毎回乱数で手が変わっていくため合議制には向いてると思われます。一致した場合はその手を、全部ばらばらなら一番勝率の高い手を選んでいます。対戦相手は9路盤のMoGoとGnuGoを使いました。それぞれ勝率が互角に近くなるようにplayout数を調節しています。左側の数値はAyaの勝率です。常に1手に10000回playoutを行った、という意味です。合議制は確実に強くなっています。playoutを2倍にしたときと同程度の強さです。6000playoutでの結果は予想以上にいいものでした。単純にplayout数を3倍に増やした結果と比べると見劣りします。合議制は並列化をやっても台数効果が得られなくなったあたりで「最後の切り札」という感じで使うと効果的な感じがします。parallelization)がかなり効果が高い(*1)ようなので、合議よりはこちらが向いているかもしれません。山下さん>この結果はおもしろいですね!!モンテカルロ法と合議は、是非一度合わせてやってみたいと思っていたところです。具体的に実装していただいたみたいで、興味深い結果が出ているようでおもしろいです。合議の理論的背景は、まだわかっていないことが多いですが、皆さんも色々と実験していただければと思います。文殊に対しても、未だにその効果について、半信半疑の方が多いようですが、予想以上の結果だったので、出場したという経緯があります。色々な実験結果を集めて、理論を推定していく予定です。色々なシステムで合議をやってみたい、また、複数のシステムの合議もやってみたいと思っているので、ご協力いただける方は、気軽に伊藤研にお知らせください。伊藤さん、モンテカルロ法だと合議は効果ありそうだなーと思っていたのですが予想以上に効果的でした。(結局並列探索しているのと大差ないのかもですが)将棋のαβ法だと、手が変わりにくいのもあって未だに半信半疑ではあるのですが・・・。一度YSS単体でもテストしようと思っています。5月15日(金)22時07分7秒これはつまり、アメリカ大統領選挙のように、いったん小さな単位で集計した結果を大きな単位で再集計することになりますよね?率直に言って、単純集計よりよい結果が出る道理がないように思われるのですが、いかがでしょうか?仮にこれで単純集計より強くなる可能性があるなら、通常のモンテカルロでも集計方法を変えるだけで強くなる?やはり、少なくとも異なる条件で3回繰り返すなどしないと無意味な気がします。5月17日(日)00時58分26秒MoGoのような超並列で飽和に達したものの合議でも効果があるとしたら、かなり有意義な手法と言えますね。試していただきたいところです。合議が世界に広がって嬉しいです。強さ的にはまだ何とも言えませんが、並列化にしただけで結構手は変わるな、という感じです。5月17日(日)11時14分40秒19路盤は6チームの白黒2局、総当りの結果、Zenが9勝1敗で優勝しています。http://www.grappa.univ-lille3.fr/icga/tournament.php?id=193FuegoやMoGoが64コアや16コアマシンを使ったのに対して4コアでの優勝は快挙だと思います。Zenの作者はYamatoさん、という日本の方でKGSでは1手15秒の早碁ながら1dを達成されています。5月17日(日)13時21分24秒Yamatoさんおめでとうございます(ここをご覧になっているかどうか知りませんが...)。棋譜を少し見たのですが、Zenの人間らしい打ち方と強さにびっくりしました。ZenがKGSで1dというのも納得できます。5月17日(日)18時09分57秒>合議が世界に広がって嬉しいです。加藤さんもお疲れさまでした。