Hatena::ブログ(Diary)

やねうらお−ノーゲーム・ノーライフ このページをアンテナに追加 RSSフィード

GT-Rの買取ならここですわ。どこよりも高く買取ってもらえるはず。お勧め!GT-R 買取
電王戦出場記念! 書籍化されたで! 監修したで!(`ω´) 絶版なってしもた Kindle版で復活!! 記事書いたで!
解析魔法少女美咲ちゃん マジカル・オープン!

YaneuLabs / やねうら王公式 / やねうらおにメール / twitter / プロフィール

 |  

2014-11-14 コンピューター将棋の定跡をデザインする

[] コンピューター将棋の定跡をデザインする  コンピューター将棋の定跡をデザインするを含むブックマーク  コンピューター将棋の定跡をデザインするのブックマークコメント


電王戦に向けていまやねうら王に定跡を搭載するための作業をしている。


電王戦ソフトを事前貸出をしてソフトの穴を探すためにプロ棋士側が研究するという、非生産的行為プロ棋士の多くの時間が消費される。電王戦は全くの茶番劇である


このようなプロ棋士側の非生産的行為をなんとか生産的な行為変換できないものかと考えて誕生したのが、やねうらおもてなし定跡である。「やねうらお」を「もてなし」する定跡ではなく、「やねうら」「おもてなし」定跡であり、「田村ゆかり、さんじゅうななさい」ではなく「田村ゆかりさん、じゅうななさい」なのである。(なんのこっちゃ)


早い話、多少不利になるような変化であれ、プロの実戦に出てくるような形をたくさん入れて、せめて事前研究とき将棋を少しでも楽しんでもらおうと思ったわけですよ。ところが、これがとてつもなく面倒なんすよ。


まず定跡をどうやって自動で生成しますか?


1) プロ棋譜から32手目ぐらいまでを定跡として登録する手法


これは去年の電王トーナメントでAperyがやって、富岡流の必敗局面に自ら突っ込んだ。


2) 1)の手法+出現頻度をカウントして出現頻度の低い定跡は採用しない


これはBonanza6がやっている。narrow book(狭い定跡?)にしたときは、出現頻度の低い定跡は使われない。ただ、それでも必敗と結論付けられているような不利な変化に自ら飛び込むことは避けられない。事前貸出がなければこれでも現実的には十分だが、事前貸出ありの状況ではこれが避けられない。


3) 1)の手法 + 出現頻度に比例した確率ランダムに指し手を選ぶ


Stockfishはこうなっている。悪くないアイデアではあるが、低確率で不利な定跡に突っ込むことには違いないし、序盤でわざと定跡を外して、そのあとに不利な変化に行くような定跡に合流されると困る。


また、「おもてなし」の心でありたいので、narrow bookにしたくないというのもある。広い定跡を搭載したい。しかしそうすると3手目で角をタダ取りされるように変化も(プロ棋士の実戦にあるので)、やってしまいかねない。一つ一つの定跡を目でチェックすればいいのだが、「おもてなし」なので1万通りぐらいの定跡を搭載したいわけで、その全部を目視でチェックすることは棋力の問題もあって私には不可能だ。


4) 1)の手法 + 探索して評価値を見る


そこで習甦の方法。定跡の指し手で進めた局面をdepth=12で探索させてみて、マイナスが大きな指し手ならばbook(定跡DB)に登録しない。一見、うまくいきそうではあるが、やねうら王でやったとき、先手76歩に対して後手の初手は次の通りであった。


・42玉(棒銀の餌食にならないか?)

・72銀(鈴木英春さんか?)

・94歩(また挑発だと言われるぞ?)

・74歩(いつぞやのツツカナか?)

・32金(振り飛車にされて作戦負け模様)

・54歩、32飛、42飛、52飛(悪くはないんだろうけど…)

・34歩(普通)

・84歩(普通)


と、34歩・84歩以外の手が糞すぎて困る。当確率に定跡DBの指し手を選ぶとしたら、後手の初手で糞みたいな手を引く確率が高すぎる。後手の初手なので、一番いい指し手で -70 程度。一番悪い指し手で -150程度。そんなわけで、-200 以下の指し手は定跡DBに登録しないという仕様で定跡を生成していたのだが、上記の指し手がごっそり定跡DBに登録されてしまっていた。


後手の初手ぐらい、人間の目で見て排除すれば良いのだが、しかし初手でこのような問題が発生する以上、手法自体に欠陥があるのではないかと私は考えた。


5) 4)の手法 + 最善手との評価値の差が一定以内である


そこで、せっかく探索しているので最善手の評価値との差(evaldiff)が一定以内であるという条件を追加した。


定跡DBのbestの指し手のみを選びたいときはこれを0にする。

narrow bookにしたいときはこれを30ぐらいにする。

幅広い定跡を選択したいときはこれを50ぐらいにする。


これだけだと徐々に悪くなっていく定跡を選んでしまいかねないが、評価値が -200 以下の指し手は採用しないというルールを加えることにした。


しかし、これだと

・narrow bookにしても先手76歩に対する後手の初手32金、62銀や42玉が選ばれることがある。

・後手パックマン戦法を選んでしまう。(44歩と突いて、歩をタダ取りされる戦法) 44同角のあと後手、定跡DBから外れて乱戦にせずに62玉。プロ相手にこれでは勝てませんわ…。

のような指し手が選ばれてしまう。


6) 5)の手法 + もっと探索!(depth = 18)


結局、探索深さが足りないという結論に至った。そこでdepth = 18で32手目まで探索させてみた。あまりにも時間がかかるので並列化した。正確には、探索するときにどのdepthで探索したかをDBに記録しておき、定跡DBマージ(合併)するコマンドを追加した。マージは、このdepthを比較して、その指し手でより深いdepthで探索した評価値が記録されていれば、その情報を優先するようにした。


これでも後手の初手の問題改善しなかった。また、「評価値-200以下の指し手は記録しない」というルールにしていると、


a) 62玉 depth = 12で探索 評価値 -100なので記録

b) 42玉 depth = 12で探索 評価値 -180なので記録

c) 62玉 depth = 18で探索 評価値 -1000 なので記録しない

d) 42玉 depth = 18で探索 評価値 -180なので記録


のようにc)の指し手が記録されない。c)の指し手は、a)の指し手と同じだが、深くまで読むと悪くなるということがわかったわけであるが、このc)が記録されない。b)よりはd)が探索深さが深いのでb)がd)で上書きされ、結果、a)とd)だけがDB上に残る。そうするとa) = c)は悪手なのに、この定跡DB上ではa)とd)が残っているから評価値の -100 と -180と比較してa)のほうが大きい(narrow bookで許容する評価値の差は30以内!)のでa)が採用される。これは間違った定跡である


このように考えると「評価値-200以下の指し手は記録しない」というルールは間違っていることがわかる。DB上に記録自体はよほどのことがない限りはしておくべきなのだ


7) 6)の手法 + もっともっと探索!(depth = 24)


depth = 24で1スレッドだと1手の思考に数秒要する。これをプロ棋士棋譜4万数千局に対して32手目までやるとなると…えーっと..


いま、ドワンゴに貸してもらってるガレリアPC(今回の電王戦出場ソフト開発者は全員申し出をすれば1ヶ月ほど借りらる)と自分PC 4台とでこれをぶん回しているんだけど、大丈夫かな…。(俺の家の電気代が)


f:id:yaneurao:20141114022042p:image:w450


しかし、残念なことにこれでも後手初手62銀は選ばれてしまう。おい、どんだけ62銀好きなんだよ!ちなみに、そのあと先手の飛車先が伸びてくると後手は32金〜41玉とするので完全に守勢に立たされる。こんなので勝てるの鈴木英春さんだけだよ…。


8) 7)の手法 + もっともっともっと探索!(depth = 30 , moves = 2)


まりに頭に来たので、2手目までだけ探索深度をかなり深くしてみた。depth = 30である。やねうら王の場合、1スレッドだと1手に15分〜30分ぐらいかかる。まあいい。そんなに組み合わせはないはずだから…。


その結果、ご覧の有様だよ!!


f:id:yaneurao:20141114022043p:image:w450


evaldiff = 30(最善手の評価値と30の差まで許容する)とした場合、後手の初手として32飛・84歩・54歩・62銀・34歩・42飛が選ばれる。


うーん。そうなのか…。ここまでしても後手の初手62銀は消えないのか…。


ならば、やねうら王には後手の初手62銀をやって、公式戦において最後に負けたコンピューター将棋として将棋界の歴史に名を残してもらうことにしましょう…。


※ 手番が決まるのは11月26日記者会見です。まだ先後決まっていません。


ちなみに、やねうら王の先手の場合は、こんな感じになっております


f:id:yaneurao:20141114022044p:image:w450


76歩・26歩・68玉・48銀のいずれかになるかと思います。68銀と48銀は正直、やめて欲しい…。でもこれも、やねうらおもてなし定跡だから仕方ない…のか…な…。ここは変に手心を加えず、やねうら王が自ら判断したありのままの定跡で臨みたいと思います


みんなも「やねうらおもてなし定跡」をハラハラながら見守ってくれ!!


・追記


9) 8)の手法 + 自ら思考させその指し手を定跡DBに保存


いま、生成された定跡を確認してたら68玉34歩38銀84歩76歩85歩78玉86歩同歩同飛22角成という先手の糞定跡が見つかった。誰が指したのかは知らんが(プロ棋譜以外も混じっているので)*1、38銀は趣向だと思うけど、せめて48銀にしてくれよ。そして22角成もどう見ても悪手。85歩に78金とでも我慢しとけば少し作戦負けながらもまだまだやれるのに…。こんな出だしじゃ絶対勝てないわ。


そんなわけで、8手目あたりまではdepth = 26ぐらいで思考させた指し手も定跡DBに登録しておこうかと思います。うちの電気大丈夫かな…。


10) 負けたほうの指し手は定跡登録しない


富岡流のような定跡もあるので、長い手数まで定跡化するのであればワンサイドで負けたほうの指し手は定跡登録しないということでそういう定跡を回避できる可能性があります。昨年のやねうら王が搭載していた、やね裏定跡がそれです。今回は採用しませんが。


・追記


ねとらぼで取り上げられました!


将棋電王戦出場のやねうら王 プロ棋士研究を無駄にしない「やねうらおもてなし定跡」を搭載

公式戦において最後に負けたコンピューター将棋」になるかもとのこと。

http://nlab.itmedia.co.jp/nl/articles/1411/14/news106.html


・追記 先手の初手の最善手は?


depth = 32で調べてみました。数時間かけてやねうら王に思考させたところ、58金右。この手はそんなに悪くない気はしますが(もしかすると本当に最善手の可能性がなくもなく…)、プロの実戦例にはないようで、今回の手法だとそのあとの展開が定跡化できないため、3手目から定跡を外れます。これだと今回の趣旨であるおもてなし”に反するのでこの手は指さないように何か対策します。

*1:コメント欄でKCC将棋棋譜だと教えてもらいました

YakitoriYakitori 2014/11/14 06:07 やねさんはやねうら王をどのように設計したいですか?
敵を万遍なくフルボッコにしたいですか?
それとも万遍なく5割程度勝てればよしとみますか?
前者の場合はかなりパーフェクトなアルゴリズムを要しますけど、後者はもっと簡単で確率的アルゴリズムを的確に組み合わせれば実現可能だと思います。
または特定個人をフルボッコにするんであれば、特定個人の素性を洗って穴を探すことになりますね。
貸し出し中に修正されるでしょうけど。
悪知恵ですけど、人間初見には弱いもんです。悪手でも初見すぎて対応できないということが少ないけどあるもんだと思います。
自分はそれができれば一回はどんな相手にも勝つ自信があります。まぁ、負けるときは負けるんですけどね。
あとは、選択肢をたくさん見せて選択肢をオーバーフローさせることですかねー。プロに挑むにはちと不利ですねぇ。
まぁ、馬鹿の考え休むに似たりといいますし、上記に挙げたのは器用貧乏の愚者の方法です。
さんこうになりますでしょうか。

yaneuraoyaneurao 2014/11/14 06:29 > やねさんはやねうら王をどのように設計したいですか?

穴がない、安定感のある将棋が指せることを目標としています。同じぐらいの強さの相手に5割勝って、圧倒的に弱い相手からもときどき取りこぼすよりは、同じぐらいの強さの相手に対して勝率が少し下がっても、弱い相手からの取りこぼしが少ないほうが嬉しいです。

YakitoriYakitori 2014/11/14 08:59 すごい挑戦ですね。
穴が無いにも何通りかあって、最初から穴がない板と、細かい網目がある網目をずらして穴をふさいでおく方法とありますよね。後者は失敗すると濾過機になっちゃうんですけど。
ところで、将棋でいう強い弱いの指標ってどの辺でつくとお考えですか?
スト4のダンというキャラがですね、最後に立ってた方が勝ちなんだよ。的なことをのたまうのですが、どれだけミスっても最後に勝てば勝ちです。
まず弱いを定義してそれをつぶしていけば強くなるんじゃないでしょうか。愚問ですかね。
それにしても、アルゴリズムの合成って難しいですよねぇ。
自分は小さいの3個くらいまでが限界です。やねさん位になると何個くらいいけるもんなんでしょうか。ちょっと興味があります。
一枚板を設計するんであれば、最初からすごい綿密に計算して、剛性やら厚さやらを先出ししないといけないのが結構つらいですね。
あ、ウザいくらい喋りすぎました。やねさんの未来に勝手に期待しています。がんばってください。

り 2014/11/14 10:49 初手62銀は妖怪のせいです。depth = 0くらいで62銀に引っ張っている妖怪ベスト3くらい見るのがいいような気がします。例えば妖怪「王の右上の銀はパラメータ+1000だぜ」妖怪とか妖怪「金の真上の銀はパラメータ+1000だぜ」妖怪が上位に来るような気がします。それはそれで妥当な値なのかもしれませんし、何かおかしな事が起きてるのかもしれませんし。

YakitoriYakitori 2014/11/14 11:36 また失礼します。
どうやって定石を搭載しますかという話ですが、机上の空論では合議制が確実だと思うんですよ。
質の違うやねうら王を5本作って戦隊で合議制抽出するとかどうですか?PCが5台という話でしたし。
ただ自分は机上ではそう思うんですけどどうやってやるかのメソッドまでは思いつきません。
個人的には夢のある方法だと思うんですけど、なんせ合議制って一般的に遅いですから、どうにか試合前のプリプロセスで抽出することって可能ですかね??
そんな妄想をしました。馬鹿の考え休むに似たりですね。

gabillgabill 2014/11/14 12:24 人間はどうやって「これあかんやつや」と判断してるんだろう。なかなか面白いテーマ。
「これやっときゃ間違いない定跡DB」とは別に「これは論外逆定跡DB」を用意しておけば良いのかな。
でもそれって「人間に思いつかないコンピュータならではの発想」を犠牲にしちゃいそうなぁ。

風吹けば名無し風吹けば名無し 2014/11/14 13:33 ▲3八銀の将棋はこれかな?
KCC将棋を恨めばいいんじゃないですかね
http://wiki.optus.nu/shogi/index.php?cmd=kif&cmds=display6&kid=33857

おもてなしおもてなし 2014/11/14 13:55 電王戦は茶番だから勝ちにこだわった設計にはしないということですか?個人的には勝ちにいって欲しかったんですが
おもてなし定跡のせいで序盤から敗勢なんてことになったら興ざめです

tyoro1210tyoro1210 2014/11/14 14:09 素人考えで「ワンサイドで負けたほうの指し手は定跡登録しない」に近いけど、終盤にこちらの読み筋とあまりにも違う手をお互いが打つ棋譜は棋力が怪しいから除外する みたいな事はできないでしょうか。
棋力判定はこちらが大幅に上回った棋力が無いと一棋譜からでは難しいですかね…

yaneuraoyaneurao 2014/11/14 15:45 ↑*1 指し手一致率を見て一致率が低い棋譜は除外するのは面白いアイデアですね。富岡流のような将棋が除外できませんが、負けたほうからは学習しないだとか、数手進めて悪くなっている側の指し手は学習しないだとか、まあいろいろ出来そうではあります。
↑*2 そこまで序盤で悪くならない程度の定跡が仕上がるように、いま頑張ってます。(私の家のPC 4台が)
↑*3 むー!KCC将棋めー!!(恨んでおきました)
↑*4 逆定跡DBはブラックリストとは違うんですかね…。とりあえず1手目68玉と48銀、2手目62銀は手で除外しておこうかと思ってます。逆定跡DB、うまく体系化できたら画期的かも知れません。
↑*5 合議でやっても後手の初手48銀は上位に出てくるでしょうね。たぶん最近のソフトならいずれでも出てきそうな感じですので…。
↑*6 それは、いいアイデアですね。毎度、感心します。

YakitoriYakitori 2014/11/14 16:35 それは手ごわいですね。
素人には届かない領域ってやっぱありますね。くぅ〜。Orz
勉強になりましたありがとうございます。

nnsnns 2014/11/14 17:19 深く読んでも変な手が出てきてしまうのは、結局今の評価関数でも序盤はあまり改善されてないからなんですかね?

猫田猫田 2014/11/14 20:33 後に将棋が完全解析され後手62銀が必勝定跡である事が判明するが、
この時点ではその事をまだ誰も知らないのである

yaneuraoyaneurao 2014/11/15 01:21 ↑*2 序盤の立ち上がりの悪手を咎めるために一直線に攻めに行くとしまして、そういう変化、「深く読む」場合にも枝刈りして読み落としている意味があります…。結局のところ、もう少し探索の絶対量が増えないとなかなかうまく指せないような気はしてます。
↑*1 depth = 30ぐらいでは信用ならんですねぇ…。depth = 40とか50でどうなるのか見てみたいですが、depth = 40はやねうら王の場合でたぶん1週間ぐらいかかります…。

Ta(ryTa(ry 2014/11/15 10:03 電力量計の円盤がどのくらいの勢いで回転しているのか、私、気になります。

yaneuraoyaneurao 2014/11/15 15:20 ↑「いつもより余計に回しております!」 PC 8台がフル稼働で部屋は暑いですが、懐が寒いです。

つぼみつぼみ 2014/11/15 15:42 「やね」「うらおもて」「なし」定跡を楽しみにしております。

あきみんあきみん 2014/11/15 18:24 「プロフィール」の
最近の出来事
・コンピューター将棋ソフト「やねうら王」が、2014年の電王トーナメント本戦4位に!
になってます。
数行下のをコピペして、順位の変更を、しわすれたものと思われます。

茶田茶田 2014/11/15 21:56 2手目6二銀と言えば、これですね。
「羽生は「2手目△6二銀は損だが、どれぐらい損であるかを見極めるために指した。どれだけ損であるかがわかったので、もう指すことはない。」という旨を語っている」
http://ja.wikipedia.org/wiki/%E7%BE%BD%E7%94%9F%E5%96%84%E6%B2%BB#.E8.AB.B8.E5.AF.BE.E5.B1.80.E5.86.85.E5.AE.B9
やねうら王がまだわかっていないのか、それとも羽生さんがわかったつもりになってわかっていなかったのか…

yaneuraoyaneurao 2014/11/15 22:07 ↑*3 (´ω`)?
↑*2 修正しました!
↑*1 それですね。当時、鈴木英春さんのアマ名人になったり、かまいたち戦法が書籍になって発売されていたころなので、羽生さんはそれを下地に研究されたのかな?と思うのですが。

茶田茶田 2014/11/16 00:32 やねさんの裏表のない素敵な定跡です。
http://youtu.be/cvkPoR-S2x8?t=7m44s

シーサーシーサー 2014/11/16 23:28 ソフトがじっくり考えた初手が58金右というのは興味深いですね
他の強豪ソフトがどう考えるのかも気になりますね
もし同じ答えが多かったりしたら序盤が見直される事になるのかも…!?

fujihiro0fujihiro0 2014/11/18 21:38 ↑*1 やねうら未来定跡をやめたのは残念です。もう棋士の棋譜からコンピュータ将棋が学習するのではなく、コンピュータ将棋から棋士が学ぶ時期が来てる。やねうら王の定跡で棋士に発見があればこれが本当のおもてなし。

odakinodakin 2014/11/19 11:44 5八金右削除残念。やねうら王相手に「むむむ」と真剣に頭を絞ってもらうのが真のおもてなしではないかな。

yaneuraoyaneurao 2014/11/19 12:22 ↑*4 (´ω`)?
↑*3 58金右はマジで最善手じゃないかと思ったりするんですが、私の棋力ではよくわかりません…。
↑*2 やねうら未来定跡は、やねうら王がもうひと回り強くなったら復活させます。まだいまのやねうら王はなぜか序盤結構弱いです。思考時間増やしてもなかなか改善しません…。
↑*1 いずれ58金右は日の目を見ると思います。そのときまで温めておきます。

田中田中 2014/12/06 11:16 先手の初手は76歩か26歩、後手の初手も34歩か84歩で固定させては如何でしょうか?

トラックバック - http://d.hatena.ne.jp/yaneurao/20141114

2014-11-06 人間の棋譜を参考にせずに評価関数パラメーターを学習させる件

[] 人間の棋譜を参考にせずに評価関数パラメーターを学習させる件  人間の棋譜を参考にせずに評価関数パラメーターを学習させる件を含むブックマーク  人間の棋譜を参考にせずに評価関数パラメーターを学習させる件のブックマークコメント


少し誤解している人がいらっしゃるようなので補足します。


まず、人間の棋譜を参考にせずに学習させようとした場合、探索で正しい手が指せるのは詰みの絡む局面(≒終盤)だけなので、終盤の指し手から(開始して、それを前倒ししていき、最終的に序盤の指し手を)学習させるというのは当然のことです。これは私のアイデアではないです。オセロのロジステロなど先行事例(10数年以上前から!)は多数あります。


この部分、誤解している人が多いので、以下に「ひまわり(将棋)」の山本さんのツイートを紹介しておきます。


https://twitter.com/kyamamoto9120/status/529958077491970049

f:id:yaneurao:20141106070544p:image


https://twitter.com/kyamamoto9120/status/529960169023631360

f:id:yaneurao:20141106070545p:image



その上で私のアイデアは、二点あります。


一つは、学習に強化学習(TD法など)を使わないということです。普通の棋譜からの学習はボナメソで成功することが保証されているのだから、わざわざ他の方法を持ち出さないということです。


もちろん、TD(λ) 法やQ学習などを用いても成功するとは思います。しかし、Bonanzaのlearn.cを見てもわかるように、ペナルティのかけかたや、シグモイド関数の使い方に独特のテクニックのようなものがあり、TD(λ) 法やQ学習を用いる場合も、それに相当する独特のテクニックを開発しないといい値に収束しないのではないかと思うのです。私は強化学習を専門にやっているわけではないので、そのへんの事情は知りませんが、ボナメソで出来るとわかっていることをわざわざ他の方法でやるのは遠回り以外の何物でもないと思っています。


ボナメソであれば、プロの棋譜から学習させる場合、どれくらいの数の棋譜でどれくらいのイテレーションをどれだけ回せばそこそこの値に収束するのか(どれくらいの棋力の評価関数パラメーターになるのか)がわかっていますから、それと比較しながら実験が出来ます。だから、この部分をボナメソ以外でやるというなら、そもそもその手法を用いてプロの棋譜からボナメソより早く学習でき、ボナメソでやるのと同等以上の棋力になることを証明してからでないとその手法を使う価値がないと思うのです。


また探索部についても同様で、きちんと探索部が書けていること(少なくともボナ6のfv.binを使用したときにボナ6と同等の性能が出ていること)が必須条件だと私は考えています。この部分がきちんと書けていない場合、この手法で学習させた評価関数パラメーターとの比較実験自体がまっとうに出来ないからです。


二つ目は、学習の時の次元下げです。終盤に出てくる特徴から序盤に出てくる特徴を学習するためには、学習時の次元下げが行われていない限り、厳しいというのが私の考えです。


そのために相対KPPによる次元下げ(や、その他の次元下げ)を用います。それなしではうまく終盤から序盤の形を学習させられないと私は考えています。例えば、自己対戦で生成した棋譜からのみ学習させることを繰り返すと、棋力がサチらず(飽和せず)、どこからか棋力が下がっていきます。それは序盤を誤って学習してしまうためです。このような(自己対戦棋譜からのみの学習という)フィードバック型の学習において、サチらない状況(条件下)では、終盤から序盤を学習させるのは厳しいというのが私の考えです。


つまり、フィードバック型の学習で棋力がきちんとサチるように次元下げをして、まずサチることを確認する。サチらないなら次元下げの方法を工夫してやる。これがまず最初にやるべきことであり、これをやらずに、終盤から序盤を学習させようと努力するのは、努力の方向性が真逆であるというのが私の考えです。だから、私は、この部分で「サチる」のを確認できたら、この手法に取り組むつもりです。


オセロで成功して将棋で成功しないのは、以上の2点に起因する問題だと私は考えています。


つまり典型的な駄目な研究の進めかたとしては、探索部=独自に書き起こしてバグ有りかも、評価関数の形=独自、評価関数の学習メソッド=強化学習、次元下げ=やってない、というやり方です。このように未知の要素が多い状況では比較実験自体が成立しないので、成果を出すのに相当な腕力が必要になります。そのような状況下では私ですら全く成果は出せないでしょう。(※ ひまわり将棋がどうやっているのかは私は知らないので、この話はひまわり将棋や特定の将棋ソフトのことではありません。)


人間の棋譜を用いずに評価関数パラメーター学習する件について、私の考えおよび、私の提案する手法は以上です。

ingktingkt 2014/11/06 08:58 次元を下げない場合と下げる場合で両方ともサチるって書いてあって分かりにくかったのですが……
次元を下げないと棋力は (学習の途中までは上がるものの) 最終的に下がっていく。正しく次元を下げれば棋力は下がることなく一定のレベルに到達して安定する。
ということですね。

yaneuraoyaneurao 2014/11/06 09:06 ↑はい、その通りです。本文少し修正しました。

ヒーローヒーロー 2014/11/06 12:12 プロとの将棋もあっという勝負を見せてください、応援しています。将棋はもう人間は勝てない気がします。決勝戦も逆転の手に解説のプロもコンピューターソフトの進歩の速さに絶句したのではないでしょうか。個人的には囲碁ソフトを作って、アジアのやねうら王さんなってほしいと思います。ニコ堂、川上会長もも海外に進出しているでしょう。別件ですが、明治大正古文書翻訳ソフトも、国会図書館などに高価で売れると思いますのでよろしく。

り 2014/11/06 13:17 [序盤を誤って学習してしまう]というのは以前書かれていた「学習時に出現していない局面の因子はゼロに収束してしまう」に関連する話だと思うのですがその理解で合ってますか?

それと話は変わりますが ndfが行っている矛盾によるパラメータの修正「読みを浅くして弱くして得た棋譜には、評価値に問題がある局面が対局中に現れるので矛盾を確実に発見できるあたりの話」は何を言っているのかさっぱり分かりませんが(交差検証の事なの???)このあたりを導入する予定はありますでしょうか?

yaneuraoyaneurao 2014/11/06 14:16 ↑*2 囲碁ソフトは…気が向いたら…。
↑*1 [序盤を誤って学習してしまう] 理由は、その特徴因子が出現していないからだけではないです。出現していても、そのときの指し手が正しいものではないからです。例えば駒得だけの評価関数で自己対戦から生成した棋譜だと序盤の指し手はでたらめです。そういう棋譜からは学習できないです。

NDFの「矛盾によるパラメータの修正」の詳しい内容自体は私は知っているのですが、それが効果的なのかどうかも含めて考え中です。

YakitoriYakitori 2014/11/07 02:05 学習の時限下げは自分はリアルでやっています。
これは、物事をオブジェクトで持ってしまうと必ずツナギなどの無駄な部分を含むのでもっと分解してOPSにしたいです。
それに粒度が大きいと適応範囲も減るのです。なのでPGは1関数1機能にしましょう。蛇足ですね。
あとは組み合わせの問題になりますから、どれだけものを知って可能な組み合わせを知っているかに帰着すると思います。
そんなことやってると思考がカードゲームでいうアグロになってしまいました。
良し悪しはともかく、慣れたら脳死レベルでこなせるようになるので、楽ですよ。
まぁ、将棋とは関係ありませんけど。

sakanasakana 2014/11/07 04:10 >■ 2014/11/01 14:12 やねうら王 vs labyrinthus

>■ 2014/11/01 14:20 秒読み=0と解釈するように修正する


>いまのうちに秒読み=0と解釈するように修正する。

>■ 2014/11/01 14:30 labyrinthusに勝利

とのことですが
labyrinthusとの対局中にソフトの設定を変えたのでしょうか?

yaneuraoyaneurao 2014/11/07 08:44 ↑対局中には設定は変更できないです。次局に備えてプログラムの修正を対局中にやっていたという意味です。結局、秒読み = 0は損かと思い、採用はしなかったのですが。

bitabita 2014/11/07 09:50 いつも興味深く拝見しています。1つ質問です。

>ボナメソで出来るとわかっていることをわざわざ他の方法でやるのは遠回り以外の何物でもない

とのことなのですが、やねうら王開発実況用スレッド その3のやねうら未来学習メソッドの中で、

>また棋譜からの学習メソッドは独自のものになっている。ボナメソ(Bonanza6の実装)自体は、機械学習の方法としてはさほど優秀でもないので、なかったらないで特に困らないと私は考えている。

といっていたので、てっきりボナメソでない手法で学習しているのだと思っていました。今回のやねうら王では、ボナメソを使っているのでしょうか?それとも違う学習法なのでしょうか?また、ボナメソの使用を推奨しているのでしょうか?していないのでしょうか?(どこまでを「ボナメソ」と呼ぶか、定義にもよりそうですが。。)

yaneuraoyaneurao 2014/11/07 10:56 ↑やねうら王で使っているのはBonanza6のlearn.cの実装とは違いますが、バッチ型学習なので広義にはボナメソに含まれます。私はボナメソの使用は推奨してないです。オンライン学習などもっと収束の速い学習方法が多数あります。

ただ、こういう新しい試みをするときは100%出来るとわかっている方法を積み重ねてやるべき(新しい試みは同時に2つ以上やるべきではない)というのが私の考えです。それは、その方法に失敗したときに、どれが原因で失敗しているのかが特定できないからです。

また、論文の実験データとしてもBonanza6やGPSfishの実装からXXを変更してこうなった、というような既存の実装に基づく比較実験のデータを出してもらわないと私は何の参考にもならないです。バグありでBona6より弱い探索部とか、普通にプロの棋譜から学習させてボナ6と同じレベルの棋力にパラメーターが収束するかどうかも怪しい棋譜からの学習部とか、そういうのを持ってきて実験されてもなぁ…というのが私の考えです。(ひまわり将棋や特定の将棋ソフトの話ではありません。念のため。)

YOSIYOSI 2014/11/07 12:55 この記事には関係ないですが、最近のソフトって将棋所に組み込めるバイナリって公開しないんですかね?公開してくれるといろいろ遊べて楽しいのですが。(将棋所から結果をどこかにアップロードできれば開発者にとっても利点はあるのかな?)

山本@ひまわり山本@ひまわり 2014/11/07 13:07 ひまわりの作者の山本です。

わざわざ記事を起こす手間を作ってしまってすみません。
思うところあっての主張ですが、やねうらおさんに向けての主張ではありません。

まず、私も論文の実験データを取る際にはBonanzaを使います。
当然、既存手法との比較も必要ですし、そもそも優れた探索部を
使わない理由はありません。

やねうらおさんの主張に対してですが、大筋で同意します。
ひまわりがプロの棋譜を用いた学習をしたのは、そもそも学習手法の
検証が目的です。
そのプロセスも経ずに教師なし学習を行うのは無謀と考えます。

私は次元下げはやねうらおさんほど重要視しておらず、その点で
考え方に差はありますが、学習が成功することに期待しております。
電王戦等でお忙しいとは思いますが、是非頑張ってください。

yaneuraoyaneurao 2014/11/07 13:38 ↑*2 やねうら王のバイナリ公開は考えてなくはないです…が、将棋倶楽部24とか将棋ウォーズがソフト指しの温床になるといけませんのでそのへんの判断は慎重にしませんと…。
↑*1 人間の棋譜なしで学習を成功させるのは、ひまわり将棋がゴールに一番近いところにいるのではないかと私は思ってます!たぶん、ひまわり将棋は相対KPPで次元下げを導入すれば案外簡単にゴールできるのではないかなーと思うんですが。

り 2014/11/08 09:09 [序盤を誤って学習してしまう] の解説ありがとうございます。
「学習時の次元下げ」このあたりもどう行うのか微妙ですね。ボナンザは「次元高い特徴を除いて次元低いやつだけで学習すると早く学習できる」だし、やねうらおさんのブログを見ると「次元高い特徴と次元低い特徴合わせていっきに学習」のようにも読めるし。

まあ次元下げはこれからも注目される技術だと思います。

次元下げ次元下げ 2014/11/08 14:39 次元下げというのがどういうものなのか解説の記事を書いていただけるとありがたいです。

茶田茶田 2014/11/08 22:50 めんどくさいとか忙しいという理由で公開しないのならあきらめますが、ソフト指しが増えるからというのは納得行かないです。デメリットよりメリットのほうが多いでしょう・・・と思ったけどやねさんには具体的なメリットはないですね。将棋プレイヤー全体のレベルが上がるとか・・・すいません僕が欲しいだけでした。

yaneuraoyaneurao 2014/11/09 22:37 ↑*3 「次元高い特徴と次元低い特徴合わせていっきに学習」はしないほうが収束は早いです。ただ、次元下げをしていると一つ一つのパラメーターの値はかなり小さな数値となるので(ひとつのKPPの値が次元下げをした複数の値の和となるので)、収束に要する時間はずいぶん短縮化されるので、収束の早い/遅いはあまり問題ではないのかも知れません。
↑*2 NDFのPR文のKPPをKKP + PP + 相対KKP + 相対PPに分解というのが次元下げ(の例)です。
↑*1 やねうら王の(無償?)公開は考えてなくはないです。

観戦者観戦者 2014/11/09 23:20 以前に少し話出ましたが、自己対戦のテストを回すのに
バイナリを公開(一般か限定か)して、各自のPCで自己対戦させ
出来た結果ファイルを専用サーバにUpするかメールで送付等して
試行回数稼ぐとかどうですかね。

まぁ、電気代は請求しない方向で。

やねうら王販売やねうら王販売 2014/11/10 00:37 やねうら王がR100強くなる度に旧バージョンを1万程度で売るという商売はいかが?電気代に当てればいいじゃないですか
私なら喜んで買いますが

玄関口王玄関口王 2014/11/10 03:04 24参戦もしてほしいですね〜再び
少し前のポナンザで3450程度?やねうら王がどこまでいけるのか興味あります。

YOSIYOSI 2014/11/10 10:15 バイナリ公開いいだしっぺです。やねうら王とかツツカナとかで遊べるのはプロ棋士の特権という現状が、何か変だな〜と思っています。まあ、それはいいとして、Vector でシェアウエアで売れば売れますよ。間違いなく。私なら値段は1600円としますね(すみません、適当です)。たぶん200万円くらいの売り上げでしょう。毎年、新しいバージョンが売れるので開発費の回収にはなりますよ。

意訳意訳 2014/11/11 00:50 作ったらmakeかなと思ってる

yaneuraoyaneurao 2014/11/11 01:01 ↑*5 試行回数(棋譜の数)の勝負になってきたら何らかそういう方法を考えたいと思います。やねうら王は、まだ棋譜の数の勝負になってなくて…(´ω`)
↑*4,*2 買う人、5人ぐらいしかいなさそうですが..。考えておきます。
↑*3 将棋倶楽部24は、話を進めておきます。また3月ごろにでも。
↑*1 秀逸なコピーなので何かのコピペかと思ったら、コピペじゃなかった!!今度使わせてもらおっと…。

YakitoriYakitori 2014/11/12 06:04 やねさんに質問です。
たしか、トーナメント前に相対KKPだったかを128分割して一般化したらいくらか遅くて16分割に直したとおっしゃってたと思います。(NDFメソッド?)
現在はどれくらいの分割数でイテレーションしておられますか?それはなぜですか?
分割であってるかもちょっとあやふやですが。すいません。

り 2014/11/12 10:07 次元下げの説明はあれでは理解できないのでは。

例えば「玉の位置って大事なのでは」と考えたとしましょう。確かに5五に玉があったらピンチそうです。ですから・玉の位置[行][列]・みたいな配列で特徴を表現します。将棋盤は9行×9列なので、この配列は 9x9の二次元配列です。これで学習したら玉の位置[5行][5列]の値は-100 くらいになるのでしょうか?まあそんな雰囲気です。これに対して次元下げを行うことを考えます。玉のある行[行]、玉のある列[列]こういう2つの配列を用意します。この場合1次元配列を2個用意した形になりました。玉が5五にあった場合の評価値は『玉のある行[5行]+玉のある列[5列]+何たらかんたら』みたいになるのでしょうか。二次元配列のものが一次元配列になっています。

つまりまとめると「GPW14が11月8日に箱根であったらしいが、そこでコンピュータ将棋の試合があったのか?さっぱりわからない」という事になります。

yaneuraoyaneurao 2014/11/12 14:07 ↑*2 いま、別の次元下げの方法を考え中で、いまは棋譜からの学習はさせてないです。あまり合理性のない次元の下げ方だとノイズになっちゃって逆効果になるので…。
↑*1 次元下げの説明としては確かに「二次元配列のものが一次元配列に」の部分がないと看板に偽りありとなってしまうでしょうけども、実際的には、『玉のある行[5行]+玉のある列[5列]+何たらかんたら』ではなく『王の位置[行][列] + 玉のある行[5行]+玉のある列[5列]+何たらかんたら』になって(要するに元の要素は加算するのが好ましい)、次元下がってないんですよね。それを便宜上「次元下げ」と呼んでいるだけで…。

GPW14のほうは…もう少し情報をオープンにしてくれてもいいと思うんですけど…。これではコンピューター将棋の開発者ですら参加する気にはなれませんなー。

YakitoriYakitori 2014/11/13 17:54 ふむふむ。回答ありがとうございます。
まだ変更や改良の余地があるんですね。すごいなー。

トラックバック - http://d.hatena.ne.jp/yaneurao/20141106

2014-11-05 電王トーナメントその後

[] 電王トーナメントその後  電王トーナメントその後を含むブックマーク  電王トーナメントその後のブックマークコメント


昨日までの記事で、書き忘れていたことがあるので、いくつか補足しておきたいと思います


SeleneはBonafishか?


Bonafishというのは、評価関数Bonanzaのfv.bin相当で、探索部をStockfishに差し替えものを言います


西海枝さんに聞いてみたところ、「Bonafishも、実は作ったんですけどねー(あんまり強くなくて、いまはBonafishではない)」とのことです。


私もBonafish作りましたが、PonaX相手に3割勝てなかったので、西海枝さんのほうは評価値の差分計算方法がまずく、npsが私のBonafishより2割ぐらい遅いようなので、おそらく25%ぐらいしか勝てないでしょう。


SeleneがPonaXに4割勝つ」ということの意味するところは、つまり、そこからの改良(主にNDFの相対KPPでの学習をしたことによる棋力向上)でしょう。


mate 63 ≠ 63手詰の件


まず、AWAKEの「mate 63」の件ですが、「mate X」については以前から何度か書いているので、今回は詳しく定義を書かなかったのですが、間違って理解している人が多いので補足します。


mate 63は63手詰めではないです。63手詰めというと、連続王手で63手で詰み、それが詰ませるときの最短手数であるという意味ですが、そうではないです。また、mate 63は王手 or 詰めろの連続でもないです。


「相手がどのように応じても最長でも63手で詰ませることが出来る」ということです。無駄合いが含まれますし、迂回手順での攻め方も含まれます


詰将棋を考えてみるとわかると思いますが、相手側の応手はすべて読まないといけませんが、こちらの応手はその手で詰むのであれば他の指し手を読む必要はありません。(最短手数を目指さないでいいならば)


実際にはAWAKE側が最善を尽くせば20手ぐらいで寄るのでしょうがたまたま読めたのが63手かかる手順だった、ということです。やねうら王のほうもAWAKEの「mate 63」を認識した局面から数手進んだところで「mate 43」を認識しました。


それでも「mate 63」はやっぱり凄いなー(部分的であれ、そんなに深く読んでいるのかー)というのが私の感想です。


AWAKEのseldepth = 50の件


部分的にでも50手も読んでるということは、1手ごとに2通りの指し手を考慮するとして、2^50 = 1,125,899,906,842,624局面も読んでいるのかー。と思っている人がいるようなので、これに関しても補足します。


seldepthというのは将棋所で動かしたときに、探索深さのところに「15/30」のように表示される右の数字(「15/30」の「30」のほう)です。


これは何の数字かと言うと、PV node(最善応手列に関わるnode)での読みの深さです。PVは最善応手列ですので1本道です。


PVを作るためには、当然、それ以外の指し手もそれなりに読まないといけないのですが、そのへんはざっくりとしか読んでいないのがいまのコンピューター将棋でして、seldepth = 50を読むための必要なnode数は、2^50というよりは2^25より少し大きいぐらいと考えたほうがいいでしょう。


探索部の作りにより、seldepthが伸びやすいソフトと、seldepthが伸びにくいソフトがありますが、seldepthを伸びやすくしておいたほうが超部分的にですが深く読めて、深く読まないと形勢が判断できないような局面においてはそれが正しい形勢を反映していることが統計的に多いので、seldepthを伸びやすくするほうが有効なのではないか、と私は思ったのですが、真偽のほどは実験してないのでわかりません。


■ やねうら王は電王トーナメント期間中に強くなっていた?!


初日バージョンでPonaXに少し勝ち越す程度。3日目のバージョン初日バージョンに5%程度勝ち越すようになっていたようです。参考まで。


■ やねうら王はこのあとさらに強くなる?


平岡「やねさんなら、このあと1ヶ月あればAWAKEのKPAとかやれるんじゃないですか?」

やね「私なら1週間あれば余裕ですね。1日で実装して6日で学習を回す、みたいな…」

平岡「ひえー。そんなことより、秒読み(のバグ)直しましょうよ!」

やね「は、、はいすみません。」


そんなわけで強くするのはさておき、秒読みのバグなおしてきます…。

あと、置換表上限も修正しておきます…。


■ やねうら王は定跡を入れる


習甦の方法で定跡を1万通りぐらい入れておきます。なかには損な定跡も多分にあるでしょうけど、多少不利な定跡でも中終盤で盛り返せるかも知れませんし、プロ棋士先生には勝負にこだわらず、いろんな戦型の将棋を楽しんでもらえればと思います


■ やねうら未来定跡はどうだったのか


やねうら未来定跡は、予選1回戦でPonanza相手にやって一方的作戦負けになったため、そのあと定跡オフにしていましたが、思うところあって、最終局(3位決定戦)だけやねうら未来定跡をオンにしました。


オンにした理由は、3位決定戦だったので負けても4位であり、電王戦出場には響かないということと、Seleneに搭載されている定跡を本大会での棋譜から調べたところ、やねうら王側がそれで暴発してしまうような変化にはならないと判断したからです。


やねうら未来定跡は、事前にやねうら王が自ら長い考慮時間を費やして考えだした定跡です。

本局は矢倉模様になりました。序盤のわずかな形の良さを活かしてSelene相手に作戦勝ちになりました。


コンピューター自らが矢倉戦法(とその早囲い)を再発見し、そして、自らの思考により、端歩を突き越しあってそれで作戦勝ちというのを意識し、端攻めから快勝しました。一昔前のソフトは端歩のタイミングがおかしいことが多々あったのですが、今回のやねうら王は端歩を突くことの必然性(相手玉のほうが端に近いので端歩を突き合うのは自分が有利!)を理解した上での端歩突きだったわけで、序盤はともかく、中盤に関してはコンピューターが長時間考えれば、中盤の定跡を自ら開拓できるだけの力をつけてきたということは言えそうです。


■ やねうら王の不安定性について


同じぐらいの棋力のソフトと互角の勝率からと言って、下位のソフトに同じぐらい勝つとは限らないのが将棋ソフトで、そういう取りこぼしが少ないように探索部を調整するのが普通なのですが、やねうら王はそういうチューンは一切してないです。AWAKEなんかは比較的取りこぼしを少なくするように調整しているそうです。


探索部の調整は結構難しいのですが、やねうら王も、調整していきたいですね…。


AWAKEPonanzaとApery、やねうら王の差


AWAKEPonanzaは探索部をかなり調整しています


巨瀬「探索部、半年ぐらいかけて(Stockfishの探索部から将棋向きに)調整してR50〜100ぐらい」

半年かけてR50〜100上がる」を肯定的に捉えるべきか、否定的に捉えるべきかは私にはわかりません。


AWAKEPonanzaもそのへん力を入れているので当然長い時間を費やして調整しています

やねうら王やAperyは、評価関数の改良に期待をかけています評価関数のほうが伸びが顕著なので(ちょっとした改良でR200や300ぐらい伸びかねない)、まずはこちらを改良するほうが(少ない時間で)強くできそうだからです。


やねうら王も探索部を調整したいのですが、半年も費やすのはちょっと…。


■ AperyがSelene相手に金のタダ捨てをして連続王手千日手誘導して勝った件


相手による連続王手千日手を勝ちだと判定しています。どのソフトでもそうなっていますSeleneはそこ、きちんと実装していなかったようですが…。


それで、相手から連続王手千日手が勝ちなので、その局面誘導したほうが短手数で勝てるなら当然その局面誘導します。それが金のタダ捨てだったというだけです。


連続王手千日手Seleneがきちんと実装していない&金のタダ捨てで最短手順でその局面誘導できたという二つの偶然によって発生した現象です。やねうら王でもこの局面なら金をタダ捨てする手を候補に挙げます


ただ、こういう大会の場でこれが起きたのはドラマであり、また「金のタダ捨てで勝ち」という手順の妙もあって、この局面図はコンピューター将棋史に確実に残るでしょう。


https://twitter.com/shogi_pineapple/status/529485798182100992/photo/1

f:id:yaneurao:20141105084959p:image


■ 今回のマシンは本当に速いのか?


先日発売になったばかりの8コアCPUCore i7-5960XなのでPC提供しているドスパラさんはよく頑張ったなという印象なのですが、このPC、8コアの割に定格が3GHzしかないので、遅いです。やねうら王のベンチマークで1スレッド当たりの探索速度は800knpsしか出なかったです。(Core i7 4771で1Mnps超え) 2割ぐらい遅い計算ですね。コンピューター将棋の通常探索のときの性能で考えるなら6コア 3.5GHzとあまり変わらないように思います


準決勝AWAKE vs やねうら王を見守る山本君に聞いてみた


大会最終日、準決勝AWAKE vs やねうら王を見守る山本君。


やね「山本君は、やねうら王のほう応援してくれてるんでしょ?」

山本「なんでっすか?」

やね「だって、やねうら王のほうがAWAKEより弱いとしたら、やねうら王が勝ったほうが、Ponanza的には優勝しやすいでしょ?」

山本「そんなことは考えてないです。強いほうが勝ち上がってきてもらえれば。」

やね「(おお、これが、王者の風格か…)」


その後、AWAKEがやねうら王に勝ち、決勝でPonanzaAWAKEに負けはしたものの、山本君の姿勢には敬意を表します!

茶田茶田 2014/11/05 13:32 未来定跡は作り直さないのでしょうか。今の強さで自己対戦で定跡を作ったら面白いかなと思うのですが。

飛車1枚?飛車1枚? 2014/11/05 15:23 来年のやねうら王を飛車1枚強くする自信はありますか?
さすがに非現実的に感じるのですが

yaneuraoyaneurao 2014/11/05 16:29 ↑*1 まだ、R500ぐらいは余裕で上がると私は思ってますけどね。来年にそれが間に合うかどうかはわかりません…。
↑*2 未来定跡はいずれ作り直します。まだまだやねうら王を強く出来る可能性があるのでまずは強くしてからです。そうしないと作った定跡が無駄になってしまいますので…。

R_XeonR_Xeon 2014/11/05 19:27 電王トーナメントお疲れ様でした.

定跡を1万通りと言うのはある手数(例えば32手)での局面数のことですよね?(1万の進行があると言う意味です)
完全ななぞりを食らわなければ,やねうら王は基本的に勝てると思ってますので,ある程度の乱数+定跡+局後学習で万全といったところですか.
また改良に関してですが,昼休憩(夕休も)前の戦略で少し批判があったようなので,例えば11時50分時点で手番であれば10分持ち時間を減らして,1時間考慮し続けるみたいなことを実装して頂ければと思います.

やねうら王やねうら王 2014/11/06 03:16 やねうら未来定跡も含めて大会3日目での完成度は大体どれぐらいなんでしょう?
また棋士側に貸し出す時までにどれぐらいの完成度になるんでしょうか?
ブログの解説の感じだと8割ぐらいなのかなぁと勝手に思っています。

yaneuraoyaneurao 2014/11/06 07:50 ↑*2 今回は局後学習なしで行こうと思います。定跡が多数あれば、序盤は散る(バラける)でしょうから、局後学習なしでいいかなと。考慮時間の調整は下手なことするとバグの原因になりかねないのでいじらないつもりです。
↑*1 やねうら未来定跡は面白い定跡も多数あるのですが、作ったときのやねうら王が弱かったこともあっていろいろおかしい定跡もありました。プロ棋士に貸し出すときには、やねうら未来定跡はやめて普通の定跡にしますし、学習も収束していると思うので大会3日目よりはR50ぐらいまだ上がるのではないかと思います。

YakitoriYakitori 2014/11/07 02:19 トーナメントお疲れ様でした。
個人的にこのブログを見ていてラッキーだったのは、やねさんのライブが見えたこともありますが、他の開発者の声が混じっていたことです。
こういうのって自分の生活圏にはないので貴重です。
ありがとうございました。

玉ねぎ坊や玉ねぎ坊や 2014/11/07 16:32 大会お疲れ様でした。やねさんのPR文書の中の未来定跡にはかなり驚かされました。と同時にワクワクしました。今度の電王戦では実装しないということで少々残念ですが、それは未来の(あるとすればですが)電王戦にとっておくのだろうと考えて今回は諦めます(笑)。
ただ次回のFinal電王戦ではやねうら王らしさというのを前回の電王戦のように存分に見せてかつ魅せてもらえればと切に思っています。今から楽しみですわ。

茶田茶田 2014/11/10 16:41 「強い人ほどハンディを活かせるという仮説は、はっきりと数値にも出た。飛車落ちは初級レベルだと172点差、有段クラスだと289点差」と棚瀬さんは言っています。
https://twitter.com/tanaseY/status/512811154486222850
今の強いソフト(24でr3300超)に飛車を落として勝つという棋譜は想像できないですが、r3800とかのソフトが見せてくれるんですかね。楽しみです。

トラックバック - http://d.hatena.ne.jp/yaneurao/20141105

2014-11-03 やねうら王 対局 実況用スレッドその3

[] やねうら王 対局 実況用スレッドその3  やねうら王 対局 実況用スレッドその3を含むブックマーク  やねうら王 対局 実況用スレッドその3のブックマークコメント


■ 2014/11/3 7:53 会場到着


マリアントワネット「パンがなければお菓子を食べればいいじゃない」


訳 : 私は早く着きすぎて朝食のパンがまだ用意されていないので、昨日の残りものお菓子を食べて過ごしています


※ ドワンゴの人より。朝食は8:30ごろにいつものところに置いておきますとのこと。


■ 2014/11/3 8:00 今年のAperyは何が改良されたのか?


やね「評価関数学習多項式近似を使う件、成功したんですね?」

杉田「あれね、うまくいかなかったんですよー」

やね「そうなんですか?」

杉田多項式だと、サンプルがないところに極端に大きな値がつくことがあって…」

やね「な、、なるほど」


■ 2014/11/3 8:01 Aperyのいまは?


やね「ということは、相対KPPを取り入れたわけですか」

平岡「そうですね」

やね「手番評価、結局入れなかったんですよね?」

平岡「なんか入れても強さが微妙だったので…」


※ NDFがやっているような手番評価*1、うまく拘束条件を入れたり何か工夫するとうまくいくのかも知れないが、このへんは開発者の間でもよくわかっていない問題


■ 2014/11/3 8:06 平岡さんのスーパーポジティブシンキング


5位になるには2連勝しないといけない窮地に立たされたAperyについて。


杉田「厳しいですがまあやるしかない。」

平岡「行けるやろ」


■ 2014/11/3 8:08 Aperyとやねうら王とではどちらが強いのか


やね「(ということは、選手権のAperyからR150〜200ぐらい上がっている として、それなら)やねうら王のほうがAperyよりは強いのかな?」

平岡「Aperyのほうが強いでしょ。だって予選でAperyはやねうら王に勝ってますよ?」

やね「そやな…。一事が万事やしな…(平岡さんの、このポジティブシンキングを見習わないとな…)」


■ 2014/11/3 8:10 floodgateのtestとは何者か


floodgateで以前からレーティングが高すぎるソフトとしてこのソフトがどのソフトである話題になることが多かった「test」というソフトですが、AWAKEであることが判明。


そして、現在、floodgateの短期(2週間)レーティングAWAKEが堂々の1位に君臨。


その実力はPonanza比肩することは間違いないでしょう。


■ 2014/11/3 8:13 AWAKE棋譜から学習マシン


4コアPC×2台 + 6コアPC1台の3台構成。MPI*2を使用。(このへんAperyと同じ) バッチ学習(≒たぶんボナメソ)で3日程度で完了とのこと。


やね「学習、1からやって3日で終わるんですか。早いですねー。」

巨瀬「次元下げをしているので…」(分解された一つ一つの値は小さな値しかつないので少ないイテレーション完了するの意味)


■ 2014/11/3 8:30 今日のやねうら王


やねうら王「やねうら王は変身する度にパワーが遥かに増す。その変身をあと2回も俺は残しているフッ、その意味が分かるかな?」


※ 「変身」とは、AWS(アマゾンサーバー)を使って、棋譜から学習をしているので、その評価関数パラメーターに差し替えること。


とは言うもののもうそろそろ(棋力の向上は)サチってくると思うけども…。


※ 「サチる」 = サチュレーション(飽和)するの意味


■ 2014/11/3 8:30 毎日席替えです


当日の対戦相手が席の真横にくるように毎日席替えが行われますPCも新しい席に移動して自分の使っているPCの中身は変わらないので、開発者的には何も問題はないですが、ドワンゴスタッフは大変そうです。


■ 2014/11/3 8:35 AWAKEPR文は嘘か?!


やね「評価関数共通点を括り出してR200上がったと書いてありますが、200だと計算合わないですよ。450ぐらい上がってるでしょ?」

巨瀬「Bonanzaのfv.binを差し替えて、(Bonanzaの)勝率を計測したらそれぐらいの向上だったので」

やね「ああ、それだと、いまのAWAKEの探索部を用いて学習させている以上、Bonanzaの探索部とはマッチしてないので200ぐらいしか上がってないように見えるだけで、いまのAWAKEの探索部に組み込んで比較した場合もっと上がってるんじゃないですか」

巨瀬「そうかも知れません…」


■ 2014/11/3 8:35 やねうら王はどれだけ上がっているのか


やねうら未来学習メソッドは、NDFのやっている相対KPPの次元下げをさらに一般化したものベースとする。


また学習は従来のバッチ型の学習であるが、ボナンザメソッド実装(Bonanza6のlearn.c)にある致命的欠陥を修正している。これにより、他の相対KPPの次元下げをしたソフトよりはさらに棋力が向上していると私は考えている…が、本当にそれで上がっているのかはよくわからない。


何せ時間がなくて比較テスト等、一切していないからである


■ 2014/11/3 9:40 強くなってるかテストとか一切してませんけど何か?


やね「評価関数バイナリAWSから落としてきて…差し替える…っと」

平岡「それって本当に強くなってるんですか?」

やね「そんなテスト(自己対戦100回とか)、できるわけないじゃないっすか。これで強くなっていると信じてます!?


■ 2014/11/3 10:10 やねうら王の昨日から修正


・置換表サイズ → 最大8GBしか確保しない問題は変更後のテストが大変なので修正せず

・持ち時間配分 → まあ、あまり序盤の時間を減らすと弱くなる気がするので、これも変更せず。200手オーバーにならないことを祈ります

・秒読みの修正 → 秒読みの修正は、変更後の動作テストにいろんな条件があって、テストサーバーなしにはテストができないので千日手にならないことを祈って修正せず。

・定跡の修正 → 代わりの定跡を用意するのは大掛かりなので定跡オフのまま。


読者「要するに何も修正してないのか?」

やね「は、、はい…」


■ 2014/11/3 10:20 習甦の定跡


習甦は定跡を棋譜(プロ棋譜?)から序盤の32手目までを定跡とするらしいです。ただし悪い手もあるので実際にdepth = 12で探索してみて、その評価値を記録しておき、評価値が悪い手は採用しないとのこと。複数の指し手の候補がある場合評価値のいいほうを採用するなどしているとのこと。(たぶん、複数の候補がある場合評価値が一定マージン内であれば乱数で選択?)


そうすると、指し手がそこそこばらけて、いろんな戦法を採用するので、前回、プロ先生には好評だったとのこと。


な、、なるほど。それなら速攻、実装できそうですね。参考になりました。


■ 2014/11/3 10:23 やねうら王 vs AWAKE


上位の順位ソフト開発者が振り駒をすることになっているので、私の振り駒。


相手のソフトAWAKE。巨瀬さんは奨励会出身。そんな人相手に自分が振り駒なのは緊張しますが、まあ、指すのは私ではなく私の作ったソフトですしね…。


そして、私の振り駒の結果、やねうら王の先手となりました。


さっきAWSから落としてきたバイナリ差し替えたら、後手だと62銀を選んでしまうようだったので(一方的に守勢に立たされる)、ここで先手を拾えたのは大きいです。



■ 2014/11/3 10:30 AWSは高くない!?


平岡AWS、高くないですよ。1ヶ月に3万ぐらいしか、かかりませんよ」

やね「あれ?そうなの?」

平岡「spot instanceとかreserved instance活用して…」

やね「活用してないです…」

平岡複数の安いspot instance借りて、PC並列化して…」

やね「学習の並列化してないです..」

平岡「借りるOSLinux場合なお安く」

やね「Windows借りてます…」


同じリージョンに借りればリージョン内のネットワーク転送には料金は発生しないので、安いinstanceを借りて学習PCの並列化をするのが常套手段のようです。してません。Linux?なんですかそれ。


そんなわけで今日は少しでも勝ってAWSの料金を回収したいです。


■ 2014/11/3 10:35 N4Sは自己対戦ができない!?


杉田「(改良後の)自己対戦ってどれくらいやってます?」

横内「(ほとんど)やってないです」

杉田「え」

横内「1台でできないので…」


メモリを46GB程度使うので1PCで2つ思考エンジンを立ち上げるにはその2倍のメモリ必要だという…ことのようです…。


■ 2014/11/3 10:40 いまAperyの5位力が試されている


なぜか平岡さんがAperyが5位になると信じて疑っていない感じがするのだが、「やねうら王 > 習甦」(昨日の私の生放送での発言より)で、「Apery > やねうら王」(だと平岡さんは信じている)ので、つまり平岡さんの頭のなかでは


Apery >>>(越えられない壁)>>>習甦


ということなのかな…。私もそのポジティブさを見習いたいと思います


■ 2014/11/3 10:45 やねうら王側の作戦


やねうら王、先手が引けたので普通に戦えば善戦が期待できると思ってます


たぶんAWAKEPonanzaよりR100ぐらい強いと思うのですが、Ponanzaとやねうら王はそんなに差はないと思うので、AWAKEにも3,4割ぐらいは勝てると思うんですが…。


■ 2014/11/3 10:50 コンピューター将棋ソフトの棋力上昇バブル


平岡「ここにきて1年間のソフトの棋力上昇バブルが来てますねー」

やね「この調子だと来年はどのソフト飛車一枚ぐらい上がるんじゃないですか?」

平岡飛車一枚というとどれくらいのレーティング?」

やね「R600〜1000ぐらい」

平岡「上がりますかねー」

巨瀬「600はきついかな…上がってもせいぜい400ぐらいじゃ…」

平岡「400はいけるんだ!?」


■ 2014/11/3 11:56 AWAKEの読み筋に千日手


AWAKE側、若干不利だと見たのか、AWAKEの読み筋に千日手に持ち込む手順が..。


■ 2014/11/3 12:10 AWAKE千日手に持ち込みます


40手目AWAKEの65銀は千日手狙い。やねうら王は自分がやや有利と見ているのでこれを打開する手順を必死に読んでいますが、マイナスになる変化を見つけてしまうと、打開せずに千日手を選んでしまう可能性があります。いま、そのギリギリ局面評価値は8〜50あたりで若干プラスと読んでいますが..


やねうら王は43手目、角で銀を食いちぎって手をつなげる道を選びました!これで千日手回避されました。私としては一安心


AWAKEはこの千日手の打開は無理と見て、やや自分が有利だと見ているそうです。さて、この勝負、どちらの主張が正しいのでしょうか…!?


■ 2014/11/3 12:15 持ち時間が逆転しました


やねうら王側、定跡をオフにしていたため15分ほど序盤でロスしましたが、AWAKEの指し手がponderで当たり続けたため、残り持ち時間が逆転しました。


やねうら王 残り持ち時間 1:39:04

AWAKE 残り持ち時間 1:16:23 考慮


■ 2014/11/3 12:30 つづき


現在、57手目。やねうら王は互角と見ていて、AWAKE自分がやや有利と見ているようです。


やねうら王側はponderが当たり続けて、思考時間的にだいぶ得しました。形勢はともかく、これはとても幸運でした。


やねうら王は60手目〜120手目あたりの思考時間を(他のソフトより)少し多めに設定しているので、このへんからねじあいになるなら、持ち時間がたくさんあるのが生きるかも知れません。


やねうら王 残り持ち時間 1:33:31(序盤で15分ロスしたにも関わらず)

AWAKE 残り持ち時間 1:08:41


■ 2014/11/3 12:45 やねうら王やや不利


88手目。やねうら王側の評価値(自分から見て) -300ぐらい。AWAKE側の評価値(自分から見て) + 500。AWAKEはseldepth(探索時の選択読み深さ) = 50手。やねうら王は42手ぐらい。こういう局面ではseldepthが深い設計になっているほうが、斬り合い後の形勢が正しく判定できることが多いみたいですね。うーん、そうか…。


■ 2014/11/3 13:00 やねうら王側のponder


やねうら王側のponderが当たり続けます思考時間的にはすごく得をし続けています。じっくり考えれているので、いきなり形勢を大きく損ねることはないのかも知れません。不利ながらも、これ以上差をつけられないようにぴったりついていっています


ponderが当たり続ける局面 = 読みが一致する局面 = 一直線の変化 = seldepthが大きくなるような探索の設計にしているほうが得な局面


ということでponderが当たり続けるやねうら王の得と、AWAKEのseldepthが当たり続ける得とがあって、この展開はどちらにも得があります


■ 2014/11/3 13:30 やねうら王負けました


AWAKE側が次の一手問題集のような手を連敗して鮮やかに寄せ。102手目で2分46秒の考慮時間AWAKE読みきりました。mate 63。どう応じても63手以内に詰むということです。すごすぎ。


AWAKEはこのあと決勝でPonanzaと当たります。ここでPonanzaを倒せば最強の名を欲しいままにできますAWAKEの優勝に期待してます


■ 2014/11/3 13:50 AWAKEは受け棋風か?


やね「AWAKEって棋風的に受けが好きですよね」

巨瀬「floodgateだとPonanzaとかが攻め好きなので結果的に受け将棋になるだけで、受けが好きというわけでもないです」

やね「そうなんですか。攻め棋風と受け棋風とでは探索パラメーター調整の仕方が違ってきますよね?」

巨瀬「そうですね。受け棋風で危険な枝刈りをやりすぎてしまうと、見落しが発生しやすくなるので…(受けでの見落しは頓死につながるので)」

やね「なるほど。そういう意味ではPonanzaは攻め向きに探索パラメーターを調整してるんですかね」

巨瀬「そうでしょうね」


■ 2014/11/3 13:52 AWAKEの寄せがおかしい件


AWAKE vs やねうら王戦の、最後の寄せ、114手目、直前の手が王手になっていないので同玉と応じる必要はないのですが、ここを同玉と応じているのは、勝ちを読み切った時点での置換表の指し手を信じているからなのだそうです。


やね「それ、置換表のエントリーハッシュ衝突で破損している可能性が極めて低い可能性ながらあって、危険から読み直したほうがいいですよ。」

巨瀬「そうですか…」


■ 2014/11/3 14:30 やねうら王 vs Selene 3位決定戦


私の振り駒の結果、Seleneの先手に決まりました。やねうら王のほうは、後手で自ら考えさせると変な手を指しやすいので、定跡を使おうかと考え中ですが、定跡を使う場合、76歩に対しては62銀と指しやすく、一方的に守勢に立たされる変化になりやすいようです。26歩としてくれれでよくある形になりやすいのですが…それでもなかなか互角の局面にもなりにくく…。


いまSelene過去棋譜確認しながら、定跡をオンにするのが得なのかどうかを考え中。


→ 定跡をオンにすることに決めました。


この選択が吉と出るか凶と出るか…。


■ 2014/11/3 14:40 Ponanza vs AWAKE 決勝


振り駒の結果、AWAKEの先手。本局、AWAKEの攻め将棋が初めて見れるかも知れませんね。


さきほどのやねうら王戦のときに書くのを忘れていましたが、巨瀬さんは、AWAKEの後手は乱戦になりやすい定跡を手で入れているそうです。


※ 乱戦にしたほうが後手という手番の損がぼけやすいので、という意味


やねうら王は横歩を取らなかったため、乱戦にはならなかったようですが。


さて、AWAKEは先手はどんな定跡が入っているのでしょうか。対局を見守りましょう。


■ 2014/11/3 15:15 やねうら王 vs Selene戦つづき


やねうら王側の定跡で矢倉模様に。互角ぐらいに進行して一安心Seleneの指し手がやねうら王のponderで当たり続け、やねうら王の消費時間5分に対してSelene25分以上の消費。


手数もそこそこ伸びそうなので、この進行ならやねうら王側、後手番の損ぐらいは取り戻せそう。


■ 2014/11/3 16:55 やねうら王優勢


現在80手目。やねうら王、かなり優勢。


ただし、やねうら王は攻めを切らせて安全勝ちを狙っているようなのだが、入玉も見えていて、下手すると入玉を目指して256手に達する恐れが出てた。


あと、手数が伸びてきたので消費時間的な部分でも切れ負けになる可能性が。また、相入玉になって、CSAルールによる宣言勝ちになるかも知れないが、そのへんの動作チェックあまりしてない&本対局の設定をCSAルールにしてたか覚えてない。(やねうら王は24点法・27点法・トライルールを設定で切り替えることができる)


やねうら王の作者的には、この状況、何も楽観できない。


■ 2014/11/3 17:16 やねうら王の寄せが怖すぎる


102手目。安全な簡単な勝ちがありそうだが…。


評価値上はやねうら王+1900なのだが玉を上空に逃す変化。これ、寄ってるのかなぁ。入玉される対策してないんだよな..。(前してたけど、今回評価関数を変えたときにやめちゃった)


駒をぼろぼろ取れるだけにやねうら王はえらい変化に飛び込んでしまった予感。


Selene評価、マイナスながら少し点数が戻ってきたらしい。なにこれ、やばい..


このまま256手にいく可能性、相入玉の可能性、CSA宣言ルールの説定ミスで負ける可能性、時間切れ負けの可能性、いろいろ見えてきた。


124手目、やねうら王、本局はじめての5分以上の大長考。ど、、どうしたのだ…。


■ 2014/11/3 17:45 やねうら王勝ちました


危うく入玉させるところでしたが、やねうら王、なんとか寄せ切ることができました。Seleneに勝って、やねうら王3位確定。


応援していただいた皆さん、ありがとうございました!!


■ 2014/11/3 17:55 AWAKE vs Ponanza


AWAKEPonanzaを制して優勝!

AWAKEの巨瀬さん、おめでとうございます

質問質問 2014/11/03 09:59 今回はpona対策として前回やったような序盤に時間をかける等、何か特別なことをするんでしょうか?差し支えない範囲で教えていただけると幸いです。

茶田茶田 2014/11/03 10:44 千日手も持将棋もやばいとはこれまたハラハラさせてくれますね

AWSAWS 2014/11/03 10:45 絶対にインスタンス落としたくないとかの事情があって
オンデマンドにされているわけじゃなかったんですね

デフォルトだと同時起動20台までなので申請しないといけないですよ

yaneuraoyaneurao 2014/11/03 10:56 ↑時間的にせっぱ詰まっていたので、最大のコア数で落とされたくなくてオンデマンドでやってました。もっと事前に学習を開始すればその必要はなかったのですが。(そもそもAWSを借りる必要もなかったのですが…)

り 2014/11/03 12:04 優勝して息子さんに素晴らしい誕生日プレゼントをプレゼントしてあげてください。
頑張れ〜

ななーしななーし 2014/11/03 13:41 お疲れ様でした。最後の最後の、桂ならず。あれはなんであんなことになるんでしょうか?

R_XeonR_Xeon 2014/11/03 13:43 惜しい所でしたが,AWAKEが強かったですね.
後は3位を確実に取って下さい.

3位ならAWS+電気代は軽く出ると思うので,金銭的には+ですね.
もちろんやねさんの頭脳を使用した分は含まれませんが・・・

odakinodakin 2014/11/03 13:45 ざんねん。。次はseldepthを上げる、とかそういう簡単なもんではないんでしょうね。
プロとの戦い頑張ってください!

ばねばね 2014/11/03 13:47 これはAWAKE強かったですね。66桂はすごすぎますわ

R_XeonR_Xeon 2014/11/03 16:32 これは少しずつやねうら王に形勢が傾いてきましたね.
Ponderがhitしてるのも地味に利いてます

茶田茶田 2014/11/03 16:42 トーナメントの棋譜だけ見るとやっぱりponanza強しって感じしますがどうなんでしょ

R_XeonR_Xeon 2014/11/03 17:45 3位おめでとうございます.
順当な結果にホッとしております.

電王戦Finalの提出期限まで1ヶ月ちょいありますので,もっとイテレーション回して強くなってください.楽しみにしてます

玄関口王玄関口王 2014/11/03 17:56 ↑強くするための改良は駄目なんじゃないでしたっけ?
揚げ足取りのXXXがうざったいので、今回は疑われる事しないでくださいねw

観戦者観戦者 2014/11/03 17:57 3位おめでとうございます!
AWS料金回収メソッドが炸裂しましたね!
それて例の如く、ラストハラハラさせて貰える劇場型w

これからの更なる進化に期待して、応援してます!!

madokamadoka 2014/11/03 17:57 おめでとーずっと応援してたよー
あとAWAKEもすごかった

YakitoriYakitori 2014/11/03 18:00 3位おめでとうございます。
やねさんのピエロ的な性格同様、妥当な順位かなと思います。
失礼ですね。ごめんなさい。
初戦ポナだったら2位もあり得ただけに大健闘だったと思います。
ここまで来たらプロ戦でやっつけて勝ち星を増やしたいですね。
期待しています。

RR 2014/11/03 18:09 ・持将棋対応を 27 点法 ⇒ 24 点法 への修正
・対プロ棋士用の乱数調整等を目的とした変更
・ソフトの動作の安定性を高めるための修正 (必要である場合)

が必須なだけで,通常の改良も任意かと思いますが
そもそもやねうら王自体が突貫工事で作られたソフトなので,安定性を高める≒強くなる可能性もありますね.

ガイドガイド 2014/11/03 18:24 前回の混乱を踏まえて、今回は「安定性を高めるための修正」が明記されたので、12月の提出日までは強化OKになりましたね。
その提出日以降は変更不可なようです。

takeshikoyamatakeshikoyama 2014/11/03 18:28 3位おめでとうございます!!!!!
来年の電王戦期待しています!!!

玄関口王玄関口王 2014/11/03 18:36 何ちゃんねるって何だコノヤロウ!
開発者挨拶が今日一番の見どころでした

ぐっきーぐっきー 2014/11/03 18:40 お疲れ様でした。そして3位おめでとうございます。
電王戦も応援します!

もあもあ 2014/11/03 19:18 3位おめでとうございます。
修正期間を経て強化修正されたやねうら王を本番で見られることを楽しみにしています。
頑張って下さい。

やったねたえちゃんやったねたえちゃん 2014/11/03 19:26 対局相手は稲葉七段ですかね?
もう、誰が相手でも手合い違いのレベルで
やっつけちゃって下さい!
圧勝した後のやねさんのトークが今から楽しみw

茶田茶田 2014/11/03 20:02 改良してAWAKE越えたら製品版出して下さいね(^0^)

ななしななし 2014/11/03 20:05 PV楽しみにしております。
うまい失言・・・もとい発言をして頂きたく存じます

おつかれさまでしたおつかれさまでした 2014/11/03 23:28 むしろAWAKE越えなくても製品版出して欲しいです。
強さでAWAKE越えるよりもGUIで激指を越えればヒット間違い無し!

furyfury 2014/11/03 23:48 3位おめでとうございます!
表彰式トークも笑わせてもらいましたw
電王戦FINALも楽しみにしていますー。

ジャックジャック 2014/11/04 00:26 やねうら王3位確定で賞金70万円、これで息子さんの誕生日プレゼント、ハムカツ買えますね。
(息子さんの誕生日)おめでとう御座います。

odakinodakin 2014/11/04 03:17 いっこ負けて終わりかと思ったら続きがあったんですね(^^;
AWAKEとのダブル勝利さすがですね!プロとの最後の戦いに向けてバグ取り完璧にやっちゃって下さい。(なんとなくバグ取り本買いましたw)

にちゃんねるにちゃんねる 2014/11/04 12:29 おめでとうございます、息子さんにハムカツをたらふく食べさせてあげてください 笑

あ 2014/11/04 15:49 3位おめでとうございます。製品版にするときは、ぜひ脱衣ゲーにしてください(笑)

ピンピン 2014/11/05 02:04 3位おめでとうございます。良い将棋が多く実況のお蔭でより楽しめました、ありがとうございました。予選の習甦戦の角の捌きが特に良かったです。ここから1ヶ月、やる事も気苦労も多くて大変でしょうが、どうかお気をつけて。
ソフトを提出して落ち着いたら学習メソッドの話の続きを聞きたいです。人間の棋力上昇とは何か、それをコンピュータで補助するとしたらどうするかと言う事にも繋がってくる気がします。

トラックバック - http://d.hatena.ne.jp/yaneurao/20141103

2014-11-02 やねうら王 対局 実況用スレッドその2

[] やねうら王 対局 実況用スレッドその2  やねうら王 対局 実況用スレッドその2を含むブックマーク  やねうら王 対局 実況用スレッドその2のブックマークコメント


■ 2014/11/02 8:31 無料飲み物きぼんぬ


さあ、今日お腹を空かせたハイエナものお出ましだ!


訳:私は無料飲み物があると聞いて昨日から水分を摂っていないので、早めに水分補給をしないと脱水症状になって、また倒れます


※ ちなみに今日無料朝食はないのだそうです。


■ 2014/11/02 8:35 Calamityはそんなに強くない!?


昨日、私がmtmtさんに今回10位までに入るソフトBonanzaに圧倒的に勝ち越すでしょう*1と話していたことを受けて。


かず(Calamityの作者)「CalamityはBonanzaにはそんなに勝たないと思います

やね「あれ?そうなの?どれくらい勝つの?」

かず「Bonanzaとはやってないので詳しいことはわからないですが…」


だそうです。


そんなわけで本件については謹んで訂正させていただきます


■ 2014/11/2 8:45 fv.binの追加学習はしていないです


「fv.binから追加学習したものであるならボナンザライブラリの申請が必要」という話があるので、書いておきますが、まず、やねうら王2014(今年の5月バージョン)はBonanzaのfv.binからの追加学習ではないです。


KPPの駒番号を整理したときに、以前の形式から変換するプログラムを書くのが面倒だったので、まあいっかーと棋譜から学習最初からやったためです。


大会別にボナンザライブラリに対して制限があるわけではないので、使っていても事前申請していれば問題ないかとは思いますが、上の理由によりライブラリ申請はしていません。


■ 2014/11/2 8:50 やねうら王の修正作業


今日明日は秒読みルールではないので、秒読みの修正しません。

置換表が8GBまでしか確保できない問題は、いろいろ絡むので十分なランニングができない環境だとこの修正は怖いので、この修正しません。8GB確保してうまく動作するかどうかはしばらくランニングしてみます。(昨日は4GBの確保で動かしていました)


ちなみに置換表使用率は30秒で8GBの20%程度使用します。2,3分考える場合、相当置換表のエントリーが衝突することになりますが、それによってどれくらい弱くなるのかはデータがないのでよくわかりません。そこまで影響しないものだと思っていますが…。


定跡は今日オフで戦います。昨日、習甦と激指には定跡なしで勝っているので、どちらかと対戦するなら、昨日と同じく定跡なしのほうが同じ進行になる意味もあって、そこまでのマイナスではないと思います


■ 2014/11/2 9:20 朝食ありました!


平岡今日は朝食ないって本当ですか?」

やね「さっき、ドワンゴの人に聞いたら、そう言ってはりましたけど?」

平岡ドワンゴからメールには飲み物・朝食・昼食は用意してありますって書いてありませんでしたっけ?」

やね「そうですよね…。じゃあ、私が言ってきましょうか?」

平岡「お願いできますか?」

やね「はい平岡が朝食がないぞ!と発狂してて、堪忍袋の緒が切れそうだと言ってると伝えてきますが?」

平岡「え。それはちょっと待って」


などと馬鹿なやり取りをしてると朝食が来てました!


ありがとうドワンゴ今日ただ飯に群がるハイエナ乞食どもお腹を空かせた開発者さんたちは餓死せずに済むよ…。


■ 2014/11/2 10:05 先後は振り駒で


今日は先後は振り駒(開発者の?)で決めるそうです。よくわかりません。


■ 2014/11/2 10:10 インターネットきぼんぬ


対局中はインターネットはできません。また、対局中以外でも朝の放送開始1時間ぐらい前まで以降はインターネットできないです。申し出れば、特別インターネットできるように計らってもらえるようですが、ネットワークの設定切り替えなどいろいろ手間がかかるようなのであまり気軽にお願いするのもためらわれます


私は開発環境ノーパソには入れてないので昨日は、自分iPhoneテザリング+Splashtop経由で家のPCプログラム修正 → Dropbox or GoogleDrive経由で自分ノーパソ転送 → 自前のUSBメモリ電王トーナメントPC転送


という手順でやっていました。すこぶる手間がかかります来年以降、初めて参加される方は開発環境ノーパソに入れて持って行ったほうがよろしいです。


追記) 会場で、無線LANは使える状態になっていました。対局設定表として現地でもらった紙に書いてありました。し、、しらなかった…。


■ 2014/11/2 10:20 千日手ルール


実行ファイル差し替えました。千日手局面になったときは、予選ルール(15分+秒読み10秒)で指しなおしとなるみたいなんですが、そうなったらお終いです( ; ; ) 千日手ならないで…。


■ 2014/11/2 10:54 もうすぐ開始


やねうら王はシード枠なので2戦目からです。持ち時間2時間なので双方2時間使い切ると4時間の対局となります。ということは、最大で15時までかかることになります。やねうら王はそれまで暇です。


■ 2014/11/2 10:56 Seleneの強さをPonaX基準で言うと?


Selene側、PonaX(≒去年の電王トーナメントPonanza)に対して勝率4割程度だそうです。


■ 2014/11/2 11:00 やねうら王の強さをPonaX基準で言うと?


昨日のやねうら王は一応PonaXにはわずかに勝ち越します。(昨日対戦させておいた結果を見る限りは)


また、今日のやねうら王は昨日のやねうら王より強い…と信じてます


■ 2014/11/2 14:50 激指敗退


激指が習甦に負けてまさか本戦1回戦敗退。習甦は、評価関数パラメーターを前日と差し替えたのだそうです。それが効いたのでしょうか。


実力的には激指のほうがかなり上だったはずで、この結果は意外です。


■ 2014/11/2 14:55 やねうら王 vs 習甦


やねうら王は習甦と当たることになりました。私が振り駒したところ、やねうら王が後手になりました。やねうら王の後手は糞戦法を選んでしまいがちで、立ち上がりで不利になることが多いので、これは辛いです


やねうら王、中終盤はそこそこ強いと思うんですが、序盤が本当に糞なんですよね…。習甦が咎めようとして無理攻めしてくれるといいのですが…。


なお、置換表は8GBモードでいきます。置換表が小さいのは棋力にそこまで影響しないと私は考えています


例によって定跡はオフです。


あと千日手になったら、15分+10秒の秒読み条件での再戦となるのでこれもやねうら王の終わりパターンです。


そのへんを踏まえて、対局をご覧いただけると…。


■ 2014/11/2 16:33 習甦が大長考


やねうら王、定跡をオフにしていたが、思考時間的にはそれほど損しなかったのでラッキーな展開。しかし、やねうら王、変な序盤で守勢に立たされる。


そして習甦が41手目で1033秒の大長考。やねうら王側、ponder中にハッシュ使用率98%。だから置換表サイズもっと大きくしておけと…。


これはいろいろやばいかも知れない。


■ 2014/11/2 17:06 つづき


やねうら王側、居玉の習甦がどこかで69玉と寄る手ばかりを読んでいますが、習甦が一向にその手を指さないため、読み筋が合わず、読み抜け状態となっています


こういう、読み筋が合わなくて読み抜けになるパターンはまずいです、、。評価値的には双方のソフトがほぼ互角と見ているようですが…。


■ 2014/11/2 18:05 つづき


習甦が寄せで日和ったので逆転模様。やねうら王優勢かつ、時間たっぷり残しての終盤。これは勝ったか


■ 2014/11/2 18:35 つづき


やねうら王、大優勢なのに手駒が少なく、手数がかかりそう。切れ負けルールなので、これ、下手すると…。


■ 2014/11/2 19:10 勝ちました


やねうら王が256手引き分けになってしまうか、そして残り時間を使い切ってしまうか(やねうら王は256手までに時間切れにならないような調整はしていないため)など、ハラハラする展開でしたが、習甦が指す手が少なくなってきて自爆しはじめたため、やねうら王からの寄せが発生し、どうにか寄せ切れました。


これでやねうら王の電王戦Final進出が確定!!


昨日と今日寿命10年は縮んだよ…。明日今日より強くなったやねうら王をお見せできるように頑張ります(AWSのサーバーが)


そして、応援してくださってる皆さん、ありがとうございます

ところてんところてん 2014/11/02 09:03 やねうら王の武運長久をお祈りしております。

ひろひろ 2014/11/02 10:31 今日も楽しみにしています。
応援していますので、頑張ってください。

ワグネルワグネル 2014/11/02 10:50 厳しいブロックですが期待してます。無事にプログラム動いて欲しいな・・

ばねばね 2014/11/02 11:08 今日決まるのはpona、AWAKE、やね、N4Sと予想。
やねさん出れば絶対盛り上がると思うので是非突破してほしい!応援してます!

ぐっきーぐっきー 2014/11/02 11:56 今日も応援してます!

そう言えばそう言えば 2014/11/02 14:08 何か足りないと思いながら全然気が付きませんでしたが、ツツカナが居なかったんだ。

ななしななし 2014/11/02 15:24 >>私が振り駒したところ、やねうら王が後手になりました
やねうら王が先手、の間違いですかね

ばねばね 2014/11/02 15:28 シュウソは長時間に強い説

yaneuraoyaneurao 2014/11/02 15:36 ↑*2 私が駒を歩を5枚振って、裏が多かったので相手の先手となったの意味です。

ななしななし 2014/11/02 15:37 昨日のやねうら-習甦を振り返っている生放送見て勘違いしました。(「辛い」と「幸い」を見間違えたのもあります)
なんでもないです

ななーしななーし 2014/11/02 16:43 インタビューやねさん来た。脱水症状でありませんように。いい話期待してます(^◇^)

R_XeonR_Xeon 2014/11/02 17:48 やねうら王逆転したように見えますね
やねうら王には伸びしろあるので,是非電王戦に!!

やはり将棋は中終盤ですね

kijibatokijibato 2014/11/02 18:30 >これは勝ったか?
フラグにならないと良いのですが。
詰むまでが遠足ですぞ!

R_XeonR_Xeon 2014/11/02 18:36 256手まで粘られたらと思うと...

ばねばね 2014/11/02 18:37 やったか!?

ところてんところてん 2014/11/02 19:11 おめでとうございます!
コンピューター将棋の未来が開いた瞬間を目撃させて頂きました。

   2014/11/02 19:11 これは稲庭現象ではないかと思うのですが、
時間が増えて読みが深くなれば打開できそうですか?
チューニングに期待します。

ところてんところてん 2014/11/02 19:11 おめでとうございます!
コンピューター将棋の未来が開いた瞬間を目撃させて頂きました。

ななーしななーし 2014/11/02 19:12 なんとかぎりなりましたね。おめでとうございます!

チャモアンチャモアン 2014/11/02 19:14 最後、持ち時間切れそうという話で焦りました。
準決勝進出おめでとうございます。

takeshikoyamatakeshikoyama 2014/11/02 19:16 おめでとうございます!!!!

観戦者観戦者 2014/11/02 19:22 Best4勝ち残りおめでとうございます!!

最後のハラハラは本当に楽しめましたw

玄関口王玄関口王 2014/11/02 19:23 ひやひやしました・・・。
後は順位決めですね、やねさんがトップだったら面白いのでさらなる改良頑張って下さい。

ばねばね 2014/11/02 19:23 やっぱやねは電王戦に必要ですわww
最後のおいしいところもっていきすぎでしょww

質問質問 2014/11/02 19:25 電王戦進出おめでとうございます。

習甦は長時間になると他のソフトよりも強いというのは本当なのでしょうか

s9s9 2014/11/02 19:26 準決勝進出おめでとうございます。
ロンドンから応援しています。

s9s9 2014/11/02 19:26 準決勝進出おめでとうございます。
ロンドンから応援しています。

YakitoriYakitori 2014/11/02 19:29 上位入賞おめでとうございます。やっぱ、やねさんは持ってますよ。
しかし、パスのあるルールだったらやばかったですね。
それにしても、死亡フラグとは良く言ったもので逆境からちゃんと勝利フラグ立てるまでに至りました。
自分にはできませんし羨望でございますよ。
明日も頑張ってください。

nanashinanashi 2014/11/02 19:30 おめでとうございます。
これでAWSの元は取れましたかね?

おめでとうございますおめでとうございます 2014/11/02 19:36 明日のやねうら王にも大いに期待しちゃいます!

ワグネルワグネル 2014/11/02 19:42 おめでとうございます。明日も期待しています。
ポナンザvsやねうら王 見たいです。
(ポナンザvsAWAKEもみたいけど)
頑張って下さい。

odakinodakin 2014/11/02 19:43 おめでとうございます!優勝祈ってます!!

oktnzmoktnzm 2014/11/02 20:05 お疲れさんでした。くれぐれもやねさんの寿命切れ負け?にならないように気をつけてください。

wrsswrss 2014/11/02 20:13 電王戦出場おめでとうございます
やねうら王は相変わらずお強いですが、時間切れとか置換表とかテスト対局の重要性が分かりました(笑)
明日の初戦は優勝候補のAWAKEですが、どんな奇襲をしかけてくるか楽しみにしています

omeome 2014/11/02 20:18 もしかして今のやねうら王って「毎日強くなる」レベルなんですか?

ぐっきーぐっきー 2014/11/02 20:19 電王戦出場決定おめでとうございます。
今日の習甦戦はハラハラしましたー。
明日はやねうら王がポナに土をつけるところが見たい!

納得納得 2014/11/02 20:51 未来定跡をオンにする
未来定跡をオフにする
という言葉の意味が今ひとつよくわかりませんorz
明日のインタビューで解説していただけるとうれしいです

toriroayanotoriroayano 2014/11/02 21:12 新しい手法で、結果を出されたことに感動しました!
明日もやねうら王の戦いぶりを楽しみにしてます!

お 2014/11/02 21:51 ダメだとか詰めが甘いとか言いながら
なんだかんだ突破してしまうあたり、やねさん流石です!(去年もそうだった
明日も応援してます!

ピンピン 2014/11/02 23:13 地力で逆転出来るからいいか、とも思いますが序盤かなり危なかった気がします
何か問題があって軽視や見落としをしたのか、そもそも最初から問題なかったのか、読み筋が見れるのなら確認してみたいですが、今更どうしようもないか
中盤の切り返しは見事でした、明日も楽しみに見ています

たまねぎ坊やたまねぎ坊や 2014/11/03 02:10 やねさん!やりましたね!
明日はいよいよPonanzaの全勝を止めて、Ponaのハブさん挑戦状で紙ひこーきを作成して軍資金を横取りするんですよね?期待してます!

一ファン一ファン 2014/11/03 20:08 やねさん、終始頭を抱えている場面ばかり流れていたので、かなり精神的なダメージをお受けになっているかと思います。とはいえ、修正期間は1ヶ月。おちおち休めないのがきついですね。ただ、プロ相手に勝つ将棋を作らなければ対戦するプロにも失礼だし、とぐるぐるぐるぐるな状態になりそうで体力大丈夫かなと思ってしまいます。無理のない範囲内でMVP目指して頑張ってください!

トラックバック - http://d.hatena.ne.jp/yaneurao/20141102

2014-11-01 やねうら王 対局 実況用スレッドその1

[] やねうら王 対局 実況用スレッドその1  やねうら王 対局 実況用スレッドその1を含むブックマーク  やねうら王 対局 実況用スレッドその1のブックマークコメント


■ 2014/11/01 9:40 朝食きぼんぬ


Aperyの平岡さんが、朝食が出るらしいので食べずに出発とかツイートしてたのを見て、ああ、ドワンゴからメールにそんなこと書いてあったなーと思って、私も食べずに出発したんですけど、何の手違いか、ドリンクはあるものの朝食はありませんでした。同じ考えで会場に臨んだ乞食ども開発者の皆さんがお腹をすかせておられます


■ 2014/11/01 9:45 やねうら王セットアップ


やねうら王の最新の評価関数バイナリAWSから持ってきました

イテレーションを繰り返した結果、指し手一致率はじわじわ上がっているようです。


io_log.txt(62): << Prediction(%) = 41.6054, 61.9203, 72.6732, 79.4686, 84.0842, 87.3918, 89.838, 91.6833,

io_log.txt(1755): << Prediction(%) = 41.9246, 62.4112, 73.2154, 80.0171, 84.6325, 87.9142, 90.3201, 92.1287,

io_log.txt(3448): << Prediction(%) = 42.1614, 62.7542, 73.6011, 80.4009, 85.0059, 88.2706, 90.6613, 92.4509,

io_log.txt(5141): << Prediction(%) = 42.3413, 63.0117, 73.8808, 80.6795, 85.2874, 88.5317, 90.8986, 92.6651,

io_log.txt(6834): << Prediction(%) = 42.4897, 63.2272, 74.0991, 80.915, 85.5045, 88.7343, 91.0797, 92.8262,

io_log.txt(8527): << Prediction(%) = 42.6249, 63.3802, 74.3008, 81.1083, 85.7, 88.916, 91.2505, 92.9872,

io_log.txt(10220): << Prediction(%) = 42.7127, 63.5457, 74.4652, 81.2769, 85.8503, 89.0635, 91.3745, 93.1004,

io_log.txt(11913): << Prediction(%) = 42.8187, 63.692, 74.6055, 81.411, 85.975, 89.1824, 91.4833, 93.207,

io_log.txt(13606): << Prediction(%) = 42.9036, 63.7816, 74.7375, 81.5363, 86.0963, 89.2827, 91.5799, 93.2872,

io_log.txt(15299): << Prediction(%) = 42.9647, 63.9085, 74.8365, 81.6498, 86.1959, 89.3866, 91.6706, 93.3685,

io_log.txt(16992): << Prediction(%) = 43.0124, 63.9985, 74.933, 81.7517, 86.2941, 89.4678, 91.7522, 93.4477,

io_log.txt(18685): << Prediction(%) = 43.082, 64.0796, 75.0252, 81.8341, 86.3674, 89.5391, 91.8177, 93.5024,


■ 2014/11/01 9:45 やねうら王、過学習っぽい?


指し手一致率43.082%。候補8つまで入れると棋譜の指し手と一致している率は93.5024%。高すぎます。どうも過学習っぽい気もしますが…。本当は対局して前のバージョンより勝率が上がっていることを確認すべきですが、その時間はありません。これで驚異的に強くなっていることに賭けるより他ないです。


■ 2014/11/01 9:50 なのは(Calamity)が止まる


なのはの作者が自己対戦中に止まるとか言ってます。「calamity」の名の通り、「大きな災難」がやってきたんでしょうか…。


Calamityは、Stockfishの探索部になっており、評価関数学習も1からやっているので、Bonanza6には8割以上勝ち越す強さでしょうし、Calamityが優勝する確率も5%〜10%ぐらいあると思うんですよ。みんなノーマークみたいですが…。逆にこの大会ルールだとPonanzaが5位にさえ入れない確率10%ぐらいあると私は思ってます


今回はCalamityと同じ強さのレベルのソフトがたくさんあるので、今回の大会は荒れそうです。


■ 2014/11/01 10:25 朝食きました!


お腹をすかせた乞食ども開発者の皆さん、歓喜!

いまから対局のテストが始まります


■ 2014/11/01 10:30 対局テスト中..


やねうら王、置換表のメモリ確保に失敗してることに気づきました。4096MBより大きなメモリ指定すると確保に失敗します。Windows8がらみの問題なのかなぁ…。うーむ..64GBあるのに4GBしか使ってないという…。まあ、動くだけマシか。あとで原因を調べよう..


■ 2014/11/01 10:47 うわ!


やねうら王がおかしい手を指してます。明らかにバグってます

将棋所がらみかWindows8がらみかわかりませんが…。


Windows7に変えるにはインストールDVD持ち込み(or 明日以降)とのことだそうです。あわわわわ。


→ 評価関数のテーブル自体は読み込めているようなので、まあ…このまま頑張りましょう…。


頑張れ、俺(のソフト)。負けるな俺(のソフト)。


■ 2014/11/01 11:05 バトンタッチ将棋


一昔前は将棋ソフトは序盤が初段、中盤が県大会優勝レベル、終盤がプロ級で、棋力の違う3人に次々とバトンタッチしていく、バトンタッチ将棋だと揶揄されたものですが、最近ソフトのほうも強くなってきて、序盤県大会優勝レベル、中盤プロ級、終盤宇宙人(人外の勝負!)となっているのではないかと思います


■ 2014/11/01 11:10 今回はAWAKE・Aperyが優勝候補だと思います


AWAKEの作者に尋ねたところ、AWAKEはKPPを次元下げでKPA(A=利き)をやっているらしい。あー、その発想はなかったわ…。そうか…これには脱帽。今年AWAKAが優勝したら来年はみんな次元下げKPAをやるだろう…。これはビッグウェーブだ。


Aperyのほうは、KPPに手番を考慮するようにしたが強さは微妙だったので手番の考慮はやめたとのこと。


■ 2014/11/01 11:12 いきなりやねうら王 vs Ponanza


いきなり今年のPonanzaの本気が見れるのか!!!なんぞこれ!!


■ 2014/11/01 11:16 つづき


やねうら王側は定跡手順(やねうら未来定跡)。後手の初手32銀。遠山五段いわく「人間なら、これで先手良しですが…」とのこと。ずいぶん変則的な形だがさすがにPonanzaはきちんと対応してくるのな…。これでPonanza対応してくるなら、予選抜けてPonanzaに当たったらこの定跡採用しないほうがいいな…。やねうら王側は予選抜けれるかどうかすら怪しいが。


そうこうしているうちに角・銀交換に。


遠山五段「やねうら王、序盤・中盤・終盤、スキだらけですねー」


やねうら王側はまだ形勢をほぼ互角と見ています果たしてどうなのか…。これは過学習の結果なのか?


52手目でやねうら王の長考。やねうら王はまだほぼ互角と見てます。本当、なんなのか、この将棋…。Ponanzaも傷があってもしかして難しい形勢なのか?


やねうら王のほう、そろそろ時間を使い切りそう。10秒での秒読みのテストしてないんですが、今回は大丈夫なんでしょうか…。例によって、事前にその部分テストできなかったので、わからないんですよね…。


■ 2014/11/01 11:40 やねうら王、秒読みきちんと動いてます


9.7秒まで思考してます。秒読み切れ負けしないかヒヤヒヤします。


やねうら王は形勢をまだほぼ互角と見てますしかし秒読みなので指し手が乱れてきそうです。


遠山五段「Ponanzaは+793。Ponanza優勢でしょう」


やねうら王側、評価値-410。やっと形勢が悪いことに気づいたみたいです。遅すぎ。


■ 2014/11/01 11:47 やねうら王側、(去年に続き)また時間切れ..


9.7秒まで読むと時間切れになってしまいました。

9.0秒に変更してみますが、これまた例によって駄目なような気が…。


対局のときサーバーから持ち時間設定が送られてくるので、こちらで秒読みの設定がUIから出来ないんですよね。プログラム書き換えて、強制的に9秒と解釈するように変えてしまうぐらいしか…。


サーバー側、ネットワーク遅延とか考慮して時間切れに対して0.数秒のマージン用意して欲しいです..。


とりあえず、今回駄目なら、コンパイルしなおして秒読み8秒設定に変更します。



■ 2014/11/01 12:10 ネットワークトラブル


ネットワークトラブル(サーバートラブル)があって、開始の合図が二回送られてきたようです。5分後にやりなおしということになりました。


やねうら王のほうは、"byoyomi"を8秒と強制解釈するように修正してコンパイルしなおした実行ファイル差し替えました。動作テストのための時間が1分もなかったので、これでうまく動くかどうかはわかりませんが…。


これでうまく動くなら、このネットワークトラブルはやねうら王を差し替え時間が出来たので幸運でした。


またやねうら王のやねうら未来定跡はオフしました。Ponanzaに通じなかったので萎えました…。ああいう変な局面にも初見対応してくるPonanza対応力は、さすがですね。次は正攻法でいこうと思います


■ 2014/11/01 12:25 全対局再スタート


サーバー側のトラブルのため全対局再スタートだそうです。


やねうら王、定跡を切ったので初手から考えてます思考時間的にはめっちゃ損です。こりゃ下手するとCalamity相手に負けもあるでー。(笑いごとじゃない)


なんかメモリ確保に失敗しているっぽいので評価関数ファイルのいずれかが読み込めてない可能性も…。うーむ。Windows8めー。



■ 2014/11/01 12:28 思考時間5分無駄にした


Calamityは定跡手順のようで19手目まで1手1秒。やねうら王のほうだけ一方的に5分ほど損しました。これ負けたら、もう帰りたい…。もう今日大惨事ですわ…。


■ 2014/11/01 12:53 Calamityに勝利


やねうら王側、飛車をタダ取りできたものの、形勢は互角ぐらいだったようです。(ソフト的には)


やねうら王側は時間的にも危なかったみたいですが、やねうら王なんとか勝ちました。やねうら王、秒読みで1手8秒(計測)で指せてたので修正は正しく出来ているようです。



定跡このあと使うかどうかは考え中..。


■ 2014/11/01 13:20 将棋所もWindows8悪くなかった


原因がわかった。将棋所もWindows8悪くなかった。悪いのは私だった。開発環境が16GBしかメモリ載ってないので、8GBまでしか置換表を確保するテストしてなかった。16GB確保できないのはコード上の問題で、以前この部分書いたとき高速化のために8GBを上限として設計したのだった…。つまり、私の意図通りだった。ここのコード書いたときには64GBもメモリがある環境で動かすことは想定してなかった。


そんなわけで置換表は8GBを指定するとちゃんと確保できた。さっき欲張って32GBを指定して確保に失敗して首を傾げてた。また評価関数はたぶんちゃんと読み込めている。たぶん…。


■ 2014/11/01 13:40 秒読み8秒で指す部分


0分10秒設定でやると、なんか初手で10数秒思考して時間切れになる。初手の処理おかしいな。突貫工事修正したのでなんかおかしいのだろう。今回は15分10秒設定なので問題ないと思うが…さすがに自信なくなってきた。もうしんどい…。帰りたいでござる…。


余談ではあるが会場が辺鄙なところにあって、近くは安いホテルカプセルホテルしかなかったんだよ。周りのいびきがうるさくて眠れないんだよ。初日から疲労マックスなんだよ。お腹痛いでござる。もう帰りたいでござる。


■ 2014/11/01 14:10 やっぱり原因わからんでござる…


開発環境(Windows7)では問題なく動いているのでWindows8スレッドスケジューラーが関係しているような気はするが他のソフトはみんなきちんと動いている(?)ようなのでやっぱりそのへんの私の書き方が悪いんだろうな…。


うさぴょんの作者は、Windows8だと独自UIが動かなかったらしく、自前のWindows7インストールしていた。いろいろ大変そうである


タスクマネージャーで見たらAntimalware Service ExecutableとかMicrosoft Windows Search Indexerとか悪さしそうなプロセスが走っている。これ大丈夫なのかな…。


やねうら王側のponderが絡む秒読み計測のバグのような気もする。これで駄目だったら次はponderやめる。もうgdgdだよ。疲労マックスなのでもう寝たいよ…。ponder+秒読みのテストって普段やらない組み合わせなので何かバグがあったんだろうな。


■ 2014/11/01 14:12 やねうら王 vs labyrinthus


labyrinthusは筋違い角。しかも定跡に入っているようで、ここまでずっと1秒。やねうら王は例によって5分消費。5分消費は痛いが、それより、秒読み入って切れ負けバグで負けそう。


あれ…。labyrinthusずっと思考時間1秒だぞ…。ずっと1秒思考ってこと?なにこれ??


こういうソフトなの?


これ逆に、やねうら王、なんか切れ負けバグが出そう。相手が10秒以上思考してくれると切れ負けにならないが、相手が即指しだとさっきのバグが出るような気がするんだよな…。


これ負けたら棄権して帰ろうかな。もうしんどいよ…。


■ 2014/11/01 14:20 秒読み=0と解釈するように修正する


いまのうちに秒読み=0と解釈するように修正する。


■ 2014/11/01 14:30 labyrinthusに勝利


バグはおきなかった…が、やねうら王、思考時間8秒で停止するはずが9秒使ってるところあるぞ..。これ、持ち時間が切れて秒読みに入るときバグか..。思考時間、秒読み5秒設定に変更する。


最後まで無事指せたらなんでもいいや…。


■ 2014/11/01 14:40 labyrinthusの作者に聞いてみた


labyrinthus、作者の方に尋ねたところ1秒思考は「負けるのわかっていたので時間攻め」をしたとのことでした。いやー、本当に危なかった。(バグって負ける的な意味で)


本当、やねうら王に時間攻めは、最高の作戦だしたぞ!


■ 2014/11/01 14:55 AWAKE vs Aperyは引き分け


AWAKEが必勝のまま256手ルールに引っかかり、引き分け

Aperyの平岡さんは少しニヤけ顔。


個人的には、256手ルールと秒読みはなしにして、15分切れ負けにしてもらえたほうが時間スケジュール通りに進行していいかと思うんですけどねー。


15時なのにまだ3回戦が終わったところです。(本日、残り5回戦あります)

4回戦は15:10から


■ 2014/11/01 15:00 今日のやねうら王はもしかしてラッキーだったのか?


時間切れ負けのバグを初戦のPonanza(もともと実力負け)で起きたことで、そんなに痛くないマイナス。そのあとバグが出ずに2局拾えて、裏街道ルートに入ったのかも知れない。


このあとの試合次第では本戦進出、あるで〜。(秒読み、1手5秒にしてあるけどな…)

もう最後まで指せれば何でもええのや〜。


※ 眠さと疲労が限界に達したので精神的に壊れております



■ 2014/11/01 15:00 きふわらべの人


きふわらべの人が左の席にいるんだよ!

聞いてみたところ、「きふわらべ、まだ将棋ルール通りに指せない」とのこと。


お、、おい、そんなソフト出てきていいのか!


この大会、ちゃんと事前に思考エンジン送って審査すべきじゃないか。

秒読みとかちゃんと守れないソフトはお呼びじゃねーんだよ!(俺のソフトのことだよ、俺の…なんかごめん…)


■ 2014/11/01 15:10 メカ女に入りたいです…


メカ女、なんか無料キャバクラみたくなっているのが非常に羨ましいので「メカ女に入って開発のお手伝いしたいです!」と言ってみたところ、「女子枠でいいならどうぞー」とのこと。女装しろってこと?え、、あ、、ごめん。やっぱいいです。


■ 2014/11/01 15:15 やねうら王 vs N4S


N4SはKKPPの学習をされているそうです。評価関数は15GB。三角配列を用いて節約しているもの学習には45GB(48GB搭載マシン or 64GB搭載マシン)積んでいないといけないそうで…。


とか言ってたら局面は相振り飛車、やねうら王側、穴熊からの猛攻。この攻めは決まってるのかな…?どうなの…。


N4Sのほう、NDFみたく相対にも次元下げすることと探索部を改良して、5月選手権バージョンからさらR100ほど上がっているそうです。


■ 2014/11/01 15:34 やねうら王秒読みに


やや、やねうら王有利?の終盤ですが、やねうら王が秒読みになってしまいました。しかも5秒設定なので1手4秒しか使いません。これではさすがに逆転してしまうのでは…。


秒読みまわりのバグ、本当にもったいないなぁ…。


■ 2014/11/01 15:44 やねうら王、負けました


秒読み4秒 vs 持ち時間残り5分+9秒の違いが出て、終盤の大事なところで逆転したっぽいです…。N4S側の評価でもやねうら王有利となっていたとのこと。


まあ、仕方ないですな…。


■ 2014/11/01 15:55 今回の本戦出場の条件は?


たぶん今回の本戦出場の条件は4勝4敗で、あとはソルコフ勝負。となれば同じ4敗ならPonanzaとかN4Sのような強豪に負けているほうが有利!よしよし、いけるいける!


※ 疲労が限界値を超えたため、謎のポジティブ思考モード突入


■ 2014/11/01 16:00 激指 vs やねうら王


今度は激指だと…。やねうら王、強豪ばっかり当たるやないか!


まあ、今回、強豪ソフト多すぎるんだよな…。強豪ソフトとばっかり当たるのは当然だな。


それはそうと、定跡オフにして秒読み1手4秒だとR100ぐらいの差が発生するな。やねうら王にこれを跳ね返すほどの棋力があればいいのだが…。


■ 2014/11/01 16:06 Apery平岡さんのAWAKE


私   「AWAKEのKPAって画期的じゃないですか?」

平岡さん「利きを評価しすぎるので、自陣に駒を集めるのを高い点数をつけるようになるので(さっきのApery vs AWAKE戦のように)良し悪しあるのでは?」

私   「ああ、受け棋風になっちゃう、みたいな?」

平岡さん「でもやってみる価値はあると思いますよ」


■ 2014/11/01 16:30 激指に勝ちました


激指 vs やねうら王、やねうら王勝ちました。定跡なし&秒読み1手4秒で…。

角換りで短手数の将棋になって秒読みまでに優勢になったのが良かったのかも知れません。


■ 2014/11/01 17:15 習甦 vs やねうら王


習甦の作者いわく、「去年からあんまり強くなってません。強くしたかったんですけどねー」とのこと。


去年の電王トーナメントでは、テストモード将棋でやねうら王と当たったのですが、そのあとは当たっていないので初めての対決です。


いま、46手目。やねうら王側はずっと+100〜+200の点数がついていますが、ほぼ互角の将棋だと言えるでしょう。


■ 2014/11/01 17:20 習甦戦、やねうら王側の構想


26歩突いて、38銀として39に玉を囲う(28飛のまま)のは、やねうら王がよくやる戦法です。結構やれるようです。今後、こういうの流行るかも知れませんね。(プロ将棋で通じるのかはわかりませんが…)


いま63手目。形勢はほぼ互角と、やねうら王は見ているようです。


いま72手目。やねうら王、ややよし(+200〜+300)と見ていますが、時間が双方なくなりそうです。このねじり合いで秒読み4秒 vs 9秒は勘弁して欲しいものがありますが..


93手目。やねうら王優勢。習甦側、手がかりがないのでこれなら秒読みでも逆転はしにくそう…。


習甦 vs やねうら王、194手にてやねうら王の勝ち。


やねうら王、これで本戦進出ほぼ確定?



■ 2014/11/01 19:00 やねうら王 vs Selene


Seleneのほうは、探索部はStockfishを部分的に参考にしている程度。評価関数はKPP + 相対とのこと。Calamityあたりと同じぐらいの強さなのかな?


序盤でSelene側の模様が取りにくくなったのでやねうら王側、じわじわ良くなったようです。このへん、コンピューターには苦手なタイプの序盤なんでしょう…。


遠山五段「66歩と(先手の)玉のコビンが空いたのは(後手にとって)大きな手ですね。」


そんなわけでSeleneに勝利!


■ 2014/11/01 19:10 秒読み4秒の件


実は今回の対局条件、会場に来るまで知らなかったんだ。朝食なくて、お腹すいて死にそうだったので、そのことしか頭になかった。気づいたらこんな状態だった。「去年と持ち時間ルールとか同じなんだからわかるだろ」と言われそうだが、私はそんなこときちんと覚えている人間じゃないんだよ。(威張って言うこっちゃないが)

ホテルの予約をしたのは1ヶ月前で、今日の会場もどこか忘れてたので今日、「電王トーナメント 住所」でググってここにきた。それが私だ。


■ 2014/11/01 19:30 やねうら王 vs Apery


やねうら王、現在2位。(1回戦で遠山五段からボロクソ言われていたのに、ここに来て「やねうら王、強いですねー」と高評価に!)


Apery戦の局面はほぼ互角のまま斬り合い。現在82手


やねうら王のほうは弱いソフト千日手引き分けになるとソルコフで損するかと思い、千日手は無理にでも打開するように設定していた。Apery戦は逆に、千日手は打開は無理せず局面スコアゼロ点を付けるべきであった。(Aperyはその設定)


私はそんな設定は忘れていた。中盤で、千日手になる変化を自ら打開してしまった。これで負けたらその設定をし忘れたことが敗因と言えるだろう…。


■ 2014/11/01 20:05 Aperyに負けました


終盤、激戦。やねうら王の17玉とかヒヤっとさせる手。


平岡さん「Aperyの頓死ありえますね…」


と言っていたのですが、Aperyがうまく受けきってAperyが見事に予選2位に!こっちは4秒将棋なのにAperyに3分以上時間が残っていたのも大きいと思うが、しかし形勢はやねうら王が悪かったので、順当な結果だろう。


■ 2014/11/01 20:15 結果


やねうら王は予選3位通過!応援してくださった皆さん、ありがとうございます


山岡「また明日来てください。明日には、AWSさらイテレーションを回した、さらに強いやねうら王を味あわせてあげますよ」

チャモアンチャモアン 2014/11/01 12:18 時間切れびっくりしました。
差し替えで上手く動くといいですね!

チャモアンチャモアン 2014/11/01 12:36 メモリ、持ち時間、独自定跡と三重苦ですか。
取り敢えず、無事に終局まで指せると良いですね。

電王戦5対5でやねうら王がみたいから頑張って欲しい

ところてんところてん 2014/11/01 12:43 未来を見せて下さい!

観戦者観戦者 2014/11/01 12:43 最後まで完走する事、応援してます

やはり突貫開発は本番が厳しいですなぁ…
当日使用機のOSは予めわからなかったんですか?
出来れば事前に動作確認くらいはしておきたかったですね

nanashinanashi 2014/11/01 13:09 出来ればもう1局ぐらいは未来定跡が見たいですね

KK 2014/11/01 13:11 負け将棋でトラブル出てくれたのはラッキーと考えませう
勝ち将棋で時間切れはダメージ大きいですから…
応援してます。頑張って!

チャモアンチャモアン 2014/11/01 13:12 初勝利おめでとうございます

BTRONBTRON 2014/11/01 13:22 応援しています!!!
トラブルで厄落としが出来ましたね!!
母胎のトラブルでトラブルと認めてくれたのは有り難かったと思量します。

BTRONBTRON 2014/11/01 13:34 把握が早いw

BTRONBTRON 2014/11/01 13:35 ぜひ電王戦に出てくださいね。
他の強豪ソフトはBonanzaシスターズでStockfishブラザーズだからつまらないです。

ななPななP 2014/11/01 13:59 超ガンガってください!(笑)

ななしななし 2014/11/01 14:06 置換表は一晩あれば修正出来るんですかね?
なんとか今日の予選乗り切って、明日から本気のやねうら王で勝ち進んで電王戦に出てほしいです。

BTRONBTRON 2014/11/01 14:54 おめでとうございますw

MacMac 2014/11/01 15:01 対局中に設定変更していいの?

玄関口王玄関口王 2014/11/01 15:17 なぞなぞ認証、なぞなぞ出してくれないのが不満です。
↑電王トーナメント1週間後までは改変OKだったはずです。

R_XeonR_Xeon 2014/11/01 15:45 終盤惜しい将棋でした.
秒読み5秒はさすがに厳しいのかもしれないですね.
7.7秒くらいで安全かなと思ったんですが...

赤 2014/11/01 15:52 8秒から一気に5秒まで縮めるのはずいぶん極端な気がしますが、
何か事情があるのでしょうか

furyfury 2014/11/01 15:58 次は激指とですか・・・。
辛い戦いが続きますね。なんとか勝ってほしいです!

ジャックジャック 2014/11/01 16:47 やねうらさん、がんばって(しなないで)下さい。

BTRONBTRON 2014/11/01 17:04 やねうら王は定跡使えない上に秒読みバグで早指しになっちゃいましたね。

kijibatokijibato 2014/11/01 18:22 秒読み不具合、明日までに直せるといいなぁ。
原因、推測できてないと辛いですけど。

ジャックジャック 2014/11/01 18:40 ↑明日から2時間切れ負けのルールになるから
秒読みの不具合直す必要ないと思うよ。

ろ過ろ過 2014/11/01 19:15 やねちゃんいけるやん。
明日に備えて徹夜調整かな。

R_XeonR_Xeon 2014/11/01 19:16 現在2位ですか〜スゴイですね.
ただ最終戦Apery戦くらいは秒読みもう少し増やしてほしいなと思ったり
それにしても流石です

YakitoriYakitori 2014/11/01 19:18 すごいじゃないですか、折れてますよ死亡フラグ。
最後に勝つのは地頭ですかね。PG力の勝利ですかね。
最後も期待してます。

AdhocAdhoc 2014/11/01 19:24 負けても言い訳がいくらでもきくような設定になっているにも関わらずしっかり勝っていてすごいです。
開発方針の正しさは証明されたと思いますので、調整頑張ってください。

チャモアンチャモアン 2014/11/01 20:23 予選3位おめでとうございます。
長時間お疲れ様でした。

ぐっきーぐっきー 2014/11/01 20:28 お疲れ様でした。
おっしゃっていた状態で予選3位通過とは今後が楽しみです。
本気の強いやねうら王に期待しています。

R_XeonR_Xeon 2014/11/01 20:31 3位おめでとうございます.
ただこれは死のグループに行っちゃいましたね
4位の方が結果的にはよかったけど、明日も頑張ってください

furyfury 2014/11/01 20:32 長時間お疲れ様でした。
激戦区に入ってしまったようですが、明日も楽しみにしています。

YakitoriYakitori 2014/11/01 20:38 すべてをなげうった本気。期待してます。

茶田茶田 2014/11/01 21:51 外出先で対N4S戦だけ見て「あれこれ5月時点のより弱くなってない?やっちゃったかー。予選通過できなそうだ。顔を洗って出直しだ。」と思ってたのに今見てみるとまさかの3位通過!あとでゆっくり棋譜を見させてもらいます。おめでとうございます。

odakinodakin 2014/11/01 22:02 凄い!優勝を祈ってます!!

ななしななし 2014/11/01 22:07 予選通過おめでとうございます!
はじめの頃、本当に冷や冷やしました。
ところで、内部エンジン?や強さが極端に変わっているようで、どれも本当のやねうら王なのでしょうが、なんだか別のプログラムが動いているようで、自分がどのソフトを応援しているのか分からなくなりそうでした。
やねうら王ソフトを応援しているのか、やねうら王ソフトチームを応援しているのか、みたいな感じに感じました。見ている方で何か言えた義理ではないのですが、統一感があった方がより愛着を持って応援できそうな気がしました。

がーすーがーすー 2014/11/01 22:29 やねさん、おつかれさまです。
昨年は「裏定跡」やら「3倍ファーファ」やらで勝ちをもぎ取る「作戦家」のイメージでしたが、今年は直球勝負の正攻法が破綻して取りこぼしているような感じですね。でも、まだまだ伸びシロがあるとも言えるわけで、明日以降も楽しみです。
やねうら王の本戦出場とその先の未来に期待しております!

YakitoriYakitori 2014/11/01 22:29 >>ななしさん。
やねさんがやねうら王と命名したものがやねうら王です。それ以外はありません。
今回は新理論でスクラッチから書いたため前回出場のモノとは素養が違います。
自分がなぜ今のやねうら王を応援しているかというと明確なチャレンジがあるからです。
そのメッセージはこのブログを読んでいればキャッチできます。
自分の場合はやねさんという人が起こす奇跡が見たいですね。
そのための彼の成果物が何を成すのか観察しています。

玉ねぎ坊や玉ねぎ坊や 2014/11/01 22:35 予選通過おめでとうございます!
明日以降も勝ち抜いてぜひPonanzaの羽生名人挑戦状にやねうら王のサインを入れて返してあげて下さいね!(つまりPonanza優勝を阻止してという意味)

ななしななし 2014/11/01 22:42 >>yakitoriさん
私が、全く異なると感じたのは、今日の試合だけを見ての事です。

因みに、私がやねうら王を応援している理由は、プロの棋譜が無ければ進化のスピードが穏やかになる可能性のある方法(限界を感じるし、多くの人がやり過ぎている方法)ではなく、それを使わずそれ以上に進化できる可能性を秘めていると感じる点にあります。また、これは将棋以外にも広く応用することで、人が絶対に到達できないところへも到達できる可能性があるかと思っています。

YakitoriYakitori 2014/11/01 22:50 あれ?以前に新やねうら王試したことありましたっけ。
今日が初だしだと認識していたのですが。
将棋倶楽部だったかで戦っていた奴とは別物だったと思いますよ。

ななしななし 2014/11/01 23:20 >>yakitoriさん
以前との比較というわけではなく、今日一日を見ての感想です。

また、やねうら王の特徴として、プロの棋譜以外で学習する点は非常に特徴的で、この点が引き継がれていれば、個人的には、新も旧もなく、やねうら王だと思っています。

YakitoriYakitori 2014/11/01 23:34 >>ななしさん。
ですよね。いやー、ラウドマイノリティで申し訳ない。

お 2014/11/02 00:34 決勝トーナメント進出おめでとうございます!
素朴な質問なのですが、8GB で設計していたということは
去年も8GBで参加、そして明日以降も8GBということでしょうか?
何かもったいないと思いつつ、まだまだ強くなる余力を残してることは脱帽です。
明日以降も応援してます!

ピンピン 2014/11/02 01:41 放送見てましたがあの言い方はどうなのかなと思いました。
決勝トーナメントも隙のない良い将棋を見せて下さい、応援してます。

KK 2014/11/02 23:34 スリルの共有というのは盛り上がりに必須ですねw
ご自身ではやねうら王の出来に憂慮しておられましたが
なんだかんだで本戦出場決定ですね!
おめでとうございます。後はいけるところまで行ってください!
応援してます。

トラックバック - http://d.hatena.ne.jp/yaneurao/20141101

2014-10-31 やねうら王開発実況用スレッド その3

[] やねうら王開発実況用スレッド その3  やねうら王開発実況用スレッド その3を含むブックマーク  やねうら王開発実況用スレッド その3のブックマークコメント


■ 2014/10/31 6:30 人間棋譜からのみの学習


一昨日に書いた、私の対局棋譜16局のみで学習させる件ですが、評価関数パラメーターの初期値はゼロです。やねうら王2014の評価値とは何も関係ありません。 全くのゼロから学習です。


ついでに言うと「初段〜3段ぐらい」になったと書きました。24のRで言うとR1500〜2000ぐらいという意味ですが、もともと駒得だけの評価関数でもR1600〜R1800ぐらいあるので、別にさほど強くはなっていません。


人間の少ない対局棋譜から棋風を学習するという部分が面白く、また、少ない棋譜から学習できるということがエポックメイキングなのです。まあ、この価値は、わからない人にはわからないでしょうけども…。


人間場合子供将棋を覚えてプロ棋士になるまでに何万局も並べるわけではありません。もっと少ない対局数から学習できます。それは、人間の汎化能力が優れているからで、その源泉がどこにあるのかを私は考えていました。


それはつまり次元下げなのです。


人間場合、適切に次元を下げ、その下げたパラメーターを適切に学習するのです。IQ(知能指数)によって、その次元の下げ方および学習の仕方に差はあります。それゆえ頭のいい人間と悪い人間とが分かれます。


それはこの次元を脳が下げて学習するというプロセス化学的な反応が関与していて、その化学的な反応を促進するための物質が適切に放出されるかという点には遺伝子的なものが関与しているからだと私は考えていますが、それは私の仮説に過ぎません。


ともかく、機械学習場合、適切に次元を下げると人間に近い学習が出来るようになると簡単に言えばそういうことです。


■ 2014/10/31 7:00 評価関数パラメーターの初期値


評価関数パラメーターの初期値をやねうら王2014のものから学習させたのでは、人間棋譜を参考にしていないことにはならないのではないか」という意見があります。(特に開発者ではない人から)


開発者の人は、初期値をどうとろうが、ローカルミニマムに落ちない限りは数回イテレーションを回せば値がごっそり変わることは知っています。要するに適切ではない方法学習させれば、学習のためのイテレーションを数回まわすだけで極端に弱くなります。初期値はあくまで初期値です。step 32なら1イテレーションで最大64も評価因子の値が変動します。10回まわすだけで最大640も変動します。元のものとは全然違ってきて当然です。


逆に適切な方法学習させれば、学習のためのイテレーションを数回まわすだけで極端に強くなります。その顕著な例はBonanzaです。Bonanza6ではdepth = 1(≒ 読みの深さ = 2手)で3ヶ月ぐらい回してある程度の値に収束させたあと、最後の仕上げだけdepth = 2(≒ 読みの深さ = 3手)で回しています。*1


このdepth = 2で回すことで(これにより前のバージョンからの棋力が向上したのであれば)R150程度向上していることになるとYSSの山下さんが以前、YSSの掲示板に書いておられました。


何故depth = 2にするとそんなに強くなるのでしょうか。「depth = 1から2に増やせば強くなるのなら、depthを上げれば上げるほど強くなるのではないか」という考えも自然ものだと思いますが*2、depth = 3で私がやってみましたが、棋力はわずかに向上するものの、結局は誤差の範疇でした。


2008年ごろ、激指オンライン学習を用いていて、もっと深いdepth(噂では8手読み)で学習させているという噂もありましたが、私はよく知りません。


現実的にはdepthを1増やす学習に2,3倍の時間を要するようになるので、ここで2,3倍の時間を使うなら、棋譜の数を2,3倍にしたほうが棋力の伸びは顕著でしょう。


Ponanzaチームの下山さんは「root(探索開始局面)からまり手数を進めると駒の配置などが全然違う局面になってしまい、その差を学習させるような(ボナメソのような)学習方式では、うまく学習できないのでは」と言っていました。


そのためか、現在ではNDF(たぶんPonanzaも)のように、大量の局面から学習させる方式が上位ソフトでは主流のようです。今後のことはわかりません。いまこのブログを読んでいる読者が新たな手法を開発しないとも限りません。


■ 2014/10/31 7:30 今回のやねうら王のPR文について


1) やねうら未来探索


・探索部は主にStockfishを参考にしている。

・GPSfishを参考にしていた部分(GPSチームの独自実装)は、全部やめた。

Bonanzaの1手詰めをコメントアウト。ただ、R70ぐらい下がるので代わりのものを簡単に用意した。まあ、元の1手詰めと棋力はそんなに変わらないと思う。

Bonanzaの3手詰め(?)、AWAKEは入れているようだが、やねうら王2014には元からそのコードを書いていない。これを入れて強くなるのかどうかは正直私にはわからない。Ponanza山本君いわく「(Bonanzaの3手詰めでやっているような遠方から王手して延々中合いして手数が延長されるような簡単な詰みは)どうせただで駒を取れる場合はそちらを優先的に読むのでその3手詰めはあまり意味ないのでは」とのことだが…。


2) やねうら未来定跡


これは今年の5月将棋倶楽部24に参戦しているとき自己学習で作った定跡を用いる。


3) やねうら未来学習メソッド


これは、何度も書いてきた評価関数次元下げ。KPPを128通りに分解する。ただ、学習イテレーション時間がかかりすぎるので今回は16に変更した。


また棋譜から学習メソッド独自のものになっている。ボナメソ(Bonanza6の実装)自体は、機械学習方法としてはさほど優秀でもないので、なかったらないで特に困らないと私は考えている。


仮に保木さんがいなくて、ボナメソが発明されてなくても、機械学習手法から似たことをする人は出てきていただろうし(NDFとかボナメソじゃないし…)、「ボナメソが引き起きしたコンピューター将棋ブレイクスルー」という認識自体が間違っていると私は考えている。


無論、保木さんの登場(およびBonanza6のソースコードの公開)で、コンピューター将棋評価関数パラメーターの学習機械学習が使えることが実証され、それによりコンピューター将棋進歩が加速したことには違いないのだが。



■ 2014/10/31 8:30 将棋所とBonadapter


将棋所、去年の開発時には切れ負けが実装されていなくて、また手数での終局もなかったので連続自己対戦をして勝率を調べようにも試合が終わらないことがあった。これでは将棋ソフト思考エンジンの開発には使えない。


将棋所の開発者思考エンジン開発者ではないから、その必要性がわかってもらえないのかなとも思ったものだったが、その後の将棋所のバージョンアップによって、最新の将棋所ではその二つの機能完璧実装されている。*3


同じく、去年の開発時には、Bonadapterも初手を返すときBonanzaが長考することがあり(思考時間を守らないバグのようだった)、これまたBonanza連続対戦させるときに困ったものだったが、このバグも最新のBonadapterでは修正されている。*4


どちらも自分的には神アップデートだ。作者に感謝!!最高だ!!

思考エンジン開発者的にはこの2つのアップデートは凄く嬉しい。



■ 2014/10/31 9:00 よわコミュの姫


短い時間自己対戦させていると飛車が横歩取って狭いところで詰まされて死んだりするのだが(横歩を取る段階では死ぬところまで読み切れてないのだろう)、さすがにアマチュア初段(R1500)レベルでもこれはない。仮にも人類未踏のR3400クラス将棋ソフトだぞ?ヤムチャピッコロぐらい違うんだぞ?ありえんだろ…。


こんな負け方をするところをニコ生で配信したら、「よっわwコミュ抜けるわw」と野次られるだろう。次の日には「よわコミュの姫」(やねうら王のイメージキャラクター女の子なんです)*5という名前ネット中を駆け巡りかねない。



■ 2014/10/31 9:30 羽生さんと対戦したいだと?


なんか、Ponanza山本君が羽生善治名人と戦うためにクラウドファンディングで7億集める道を模索したい*6と書いている。


上位のソフトは事前貸出なしの条件であればとっくに羽生さんを超えていることは誰の目にも明らかである。超えているとは言ってもソフトから見て勝率50%は超えるだろうという程度の意味で、勝率が90%とか100%とかではないので試合としては成立すると思うが…。


しかし、事前貸出1年間だとか、そういう条件がつくならとんでもない茶番であり、羽生さんがゲーム攻略よろしく将棋ソフトの序盤のあら探しに終始することになる。羽生さんのような優れた頭脳を1年もそんな遊びに投入させるべきではない。それこそ社会的損失である


とは言うものの、対局自体は旬のうちに見てみたいのでクラウドファンディングお金集めるなら私も10万円ぐらいなら出すけどナー。でも羽生さんの負けるところは見たくないなぁ。個人的には、羽生さんに対局して欲しい気持ちと、対局せずにこのまま逃げ切って欲しい気持ちと半々だな…。


■ 2014/10/31 10:00 移動しまーす


いまから移動の準備をするので続きは明日


■ 2014/10/31 13:50 広い概念を先に学習させるべき


保木さんが昨年、KPの学習をさせてからKPPの学習をさせると早く収束するということを学会誌に書いてたのだけど、もっと一般化して言えば、大きな、広い概念を先に学習させて、そのあと小さな、狭い、精緻化された概念学習させるということだ。よく考えてみれば人間はそういう順序で学習する。例えば、数学問題を解くときには、なるべく広い概念適用して、それで解決できないときに、より細分化された、その問題固有の条件などを利用して解いていこうとする。


先手の「78金」の形にしても、まずこの形の部分的な良し悪しがあって、別にそんなに悪い形ではないというのがあるが、しかし、後手が振り飛車ときには、先手は78に金がいると舟囲いに囲えないので損だという、特殊化された概念がある。


まあ、そんな前説はどうでもいいのだけど、次元分解して相対KPPを学習させるときも、相対KPPのほうが絶対KPPより広い概念なので、まず相対KPP(あるいは、相対PP)を先に学習させるべきだった。そうすると早く収束する。同じく、さらにKPPを分解するときも、同じ理屈が成り立つ。また、広い概念ほど一回獲得したらあまり値を動かすべきではない。人間もそうだよな…。KPを学習させたあとKPPを学習させるときもKPを固定しておいてもいいぐらいだ(と私は思う)。


いまごろ気づいても今回は、もう手遅れだけどなー\(^o^)/


もしかして、これって機械学習の基本なの?ごめん、知らなかった。私が20年ぐらい前に概念帰納学習とかなんかを勉強してたときに、そんなことが書いてあった気がするんだが、いまにしてその意味するところがわかった。(できれば1ヶ月前にわかりたかった…)


■ 2014/10/31 14:00 お前ら、AWSにいくら使うんだよ!


AWS電気代の10倍ぐらいする。高すぎる。棋譜から学習ときAWSを使う奴は馬鹿だ。AWSジャンジャン使っちゃうAperyの平岡さんも馬鹿だ。平岡さん、一体いくら使ってんだよ!あんた、大馬鹿だよ!!


…と思っていた時期が私にもありました…。いまでは自分も大馬鹿野郎の仲間入りです。\(^o^)/


追伸

来月のクレジットカードの請求書が怖いです。



■ 2014/10/31 18:00 人間棋譜を参考にしない?


今回のやねうら王は人間棋譜を参考にしないことをコンセプトに開発をしている。


人間(プロ棋士)の棋譜がなくともコンピューター将棋は強いのだ」、ひいては「人間なんておらんでも良かったんやー」というのを証明したいと思っている。


そのために自己対戦棋譜のみを使い、その棋譜を使って学習し、強くして、その強くなったソフトでまた自己対戦をして、その棋譜学習しというフィードバックによって強くしていこうと考えている…が、時間的問題もあってそこまで出来ていない。


使っているのは自己対戦棋譜のみではあるが、その自己対戦のために使ったやねうら王の評価関数パラメーターは以前、プロ棋士棋譜を用いて学習させたものであるから、これだと混血みたいな状態である。純血ではない。繰り返していくうちに人間棋譜の影響は薄らいでいくかも知れないが、これをもって「人間なんておらんでも良かったんやー」と主張するのはちょっと苦しい。


棋譜から学習の初期値に以前の評価関数パラメーターを使っているのも、以前の評価関数パラメーターの学習自体にはプロ棋士棋譜を使っているわけだから、これも「人間なんておらんで良かったんやー」の趣旨にはそぐわない。


ただ、後者のほうは、評価関数の形が以前のもの(Bonanza相当)とは少し違うので値をそのまま使えているわけではないし、時間さえあれば(+電気代さえあれば)、ゼロから学習させても同じ棋力のものが出来るのは間違いないので、私はこの部分は特に問題としていない。


むしろ、学術的に問題なのは、本当にブートストラッピング*7可能かどうか。すなわち、ゼロからスタートしてある程度の棋力のソフトが出来るのかどうかだ。


ある程度の棋力のソフトがいったん出来てさえしまえば、そのソフト自己対戦棋譜を使って評価関数パラメーターを学習させ、そのまた自己対戦棋譜で…というフィードバックループに入れる。(NDFはこれに近いことをしていたはず…)


ゼロからスタートする場合、終盤は自己対戦のときに深く読めば詰みが見える局面では正しい指し手を指せるから、終盤の指し手は正しい指し手を生成できる。


となれば、問題は終盤の指し手から中盤、ひいては序盤の指し手を学習できるかである。終盤の指し手や駒の位置関係から、いかにして中盤(序盤)の指し手を学ぶかという話に帰着する。


終盤の指し手から中盤の指し手を学習するためには、終盤に出てくる形をなるべく汎化して学習して、中盤に出てくる形に対応できるようになる必要がある。そのために、ここで次元下げの話に繋がるわけである


終盤の指し手からうまくKPPの次元を下げて学習すれば中盤がうまく指せるようになる。中盤の指し手からうまくKPPの次元を下げて学習すれば序盤もそのうちうまく指せるようになる…というブートストラッピング方法を私は考えたわけであるしかしまだそこまで実証できていない。そのへんは今後の目標であり、私の研究課題である


■ 2014/10/31 18:10 PVの件など..


そういうチャレンジングな部分に私はとても惹かれるわけであるが、視聴者からは「学術的なことなんかどうでもいいしPR文もどうでもいいから、ともかく強い将棋ソフトで出てくれよ」と言う声がほとんどである


今回の電王トーナメントPV撮影ときも、「強くするとか興味ないんです」「この方法ボナンザぐらいの強さになれば大成功なんですけど」と答えたものとか、綺麗にカットされていた。まあ、ドワンゴ的にはそれでは興ざめなんだろうな…。


それでまあ、PVを観た人の期待に応えるために私は急遽予定を変更してAWSを借りて棋譜から学習をして強くしているという次第なのである。限られた時間内でやれることはすべてやったが、これで強くなってるかどうかは正直わからん…。

玄関口王玄関口王 2014/10/31 09:45 結局のところ、電王T版のやねうら王はレートいくつなんですかね?
後、羽生さんの対局は個人的には見てみたいです。

yaneuraoyaneurao 2014/10/31 09:59 ↑私にもレートがいくらかよくわかりません。200〜500局ぐらいさせないと勝率が判明しないのですが、その時間がないためです。ただ将棋倶楽部24に参戦していたとき(4コアPCでR3300前後)からは多少は上がっていると思います。仮に+100ぐらいとしましょう。あと今回はPCが8コアなので+200ぐらいあって、トータルではR3600相当だと思います。

しかし、これでも予選通過できるかどうか…。

お 2014/10/31 10:44 学習の件、ものすごく興味深いです。「学習をPC的力技ではなく、効率化できるか」という発想が魅力的です。とても汎用性の高い議論だと思いました。むちゃくちゃ基礎スペックの高い人(ミスしないとか思考が深い、早い)に将棋を覚えさせるのに100局でプロレベルというのなら夢があります(笑)人間にしてもそれなりの実戦経験や学習など考慮しなければならない変数があるわけで、その学習方はとても非効率ですものね・・・。あ・・・羽生さんのチェスも(ry

かず@なのはかず@なのは 2014/10/31 18:50 *1の内容と本文で1つずれているのでは?

ジャックジャック 2014/10/31 21:24 電王トーナメントの直前ってどんな気分なんですか?
山本さんはPonanzaが勝てるか心配で心臓割れそうらしいです。
やねうらさんも割れそうですか?

り 2014/11/01 07:54 > 何故depth = 2にするとそんなに強くなるのでしょうか。

将棋ソフトでdepth = 2で読むと、誤った評価値を出してしまう局面の割合が多いのでしょうね。
その価値が理解できない手はノイズにしかならないし、
ノイスが多いと学習効果も減るのでしょう。
depthが深すぎてもいまいちな理由は良くわかりませんが。

いよいよ電王戦ですね。頑張ってください!

Ta(ryTa(ry 2014/11/01 09:25 来年がその年と言ってしまった人を引っ張り出す訳ですね?

トラックバック - http://d.hatena.ne.jp/yaneurao/20141031
 |  

1900 | 01 |
2004 | 01 | 02 | 03 | 04 | 05 | 06 | 07 | 08 | 09 | 10 | 11 | 12 |
2005 | 01 | 02 | 03 | 04 | 05 | 06 | 07 | 08 | 09 | 10 | 11 | 12 |
2006 | 01 | 02 | 03 | 04 | 05 | 06 | 07 | 08 | 09 | 10 | 11 | 12 |
2007 | 01 | 02 | 03 | 04 | 05 | 06 | 07 | 08 | 09 | 10 | 11 | 12 |
2008 | 01 | 02 | 03 | 04 | 05 | 06 | 07 | 08 | 09 | 10 | 11 | 12 |
2009 | 01 | 02 | 03 | 04 | 05 | 06 | 07 | 08 | 09 | 10 | 11 | 12 |
2010 | 01 | 02 | 03 | 04 | 05 | 06 | 07 | 08 | 09 | 10 | 11 | 12 |
2011 | 01 | 02 | 03 | 04 | 05 | 06 | 07 | 08 | 09 | 10 | 11 | 12 |
2012 | 01 | 02 | 03 | 04 | 05 | 06 | 07 | 08 | 09 | 10 | 11 | 12 |
2013 | 01 | 03 | 04 | 05 | 06 | 07 | 08 | 09 | 10 | 11 | 12 |
2014 | 01 | 02 | 03 | 04 | 06 | 08 | 10 | 11 | 12 |
2015 | 01 | 02 |


Microsoft MVP
Microsoft MVP Visual C# 2006.07-2011.06
Connection: close