読者です 読者をやめる 読者になる 読者になる

1.2くらいから考える将棋ブログ

わかった気になるも、よくわからないことを考えていく?

将棋所と技巧改で遊びながら評価値を鑑賞する

jotcut-jshakki.hatenablog.com
この記事のメモに、探索深さを変えることで評価値に変化が出るのかという話がある。

こちらのアイデアについては、Mizarさんが探索深さ制限機能のある技巧というものを公開されており、今回はそちらを利用する。参考リンク:読みの深さを制限した技巧のレーティングby uuunuuun

方法としては、例の課題局面においてDepthを1から徐々に上げていき技巧の評価値の推移を見比べるというもの。Depthの低い段階では、8八角成と角を取れるが、それ以上先は読めないため、3000前後の評価値にはなかなかならないと予想した。
なお、技巧ではやねうら王のようなUSIコマンドによる現局面の評価値を出す方法がなかった(少なくとも私はわからなかった)ので、読み筋先の評価値のみ表示する。

結果
Depth1
8八角成以降がよめず、1300程しか有利ではないと計算した。
f:id:jotcutJshakki:20170505193603p:plain
8八角成の局面で再度検討を行うと、成り込んだ馬が取り返されないためか、評価値は3000付近まで上昇している。(先手から見ているのでマイナスの値)
f:id:jotcutJshakki:20170505194310p:plain
Depth2
深さ2以上になり、成り込んだ馬が相手の応手によって取り返されないことがわかったためか、評価値は3000付近まで上昇した。予想より早く3000代になってしまった。
f:id:jotcutJshakki:20170505193608p:plain
Depth3以降は以下の通り
Depth3
f:id:jotcutJshakki:20170505193612p:plain
Depth4
f:id:jotcutJshakki:20170505193618p:plain
Depth5
f:id:jotcutJshakki:20170505193624p:plain

今回は技巧Depth1とDepth2の評価値を見比べることで、将棋ソフトで提示される評価値が読み筋の先にある局面の評価関数での計算結果であると、間接的に説明できた。

まだ調べてないのでわからないが、やねうら王で深さ制限をかけられる場合(やねうら王miniで遊ぼうシリーズにあった気がする)、同様に低Depthでの評価値と、evalによる値を見比べて見たいと思う。

以上

やねうら王と将棋所で遊びながら評価値を鑑賞する

前回の将棋所で遊んだ際に残したメモである、評価関数を入れ替えることによる評価値の変化を観察してみる。
jotcut-jshakki.hatenablog.com
最も、課題局面は前回と同じであり大差のついた局面なので、評価関数違いが目に見えるかは不安なところである。
やねうら王、Apery系列は、評価関数に互換性があるため、Aperyチルドレン、やねうら王チルドレンの評価関数は入れ替えて使うことができる。
今回は、やねうらお氏の公開している28種の評価関数の181_0020Gと500_0000M、第4回将棋電王トーナメントでやねうらチルドレン最強と評された読み太の評価関数、第27回世界コンピュータ将棋選手権で優勝したやねうらチルドレンのelmoの評価関数を用い、前回の課題局面での評価値を見比べてみる。
将棋所の設定は次の通り
f:id:jotcutJshakki:20170505185522p:plainf:id:jotcutJshakki:20170505185526p:plain

評価関数:500_0000M
課題局面では8八角成からの展開で3200有利と表示し、読み筋先でのEval値は2880であった。
また、課題局面自体の評価は0と計算している。これは500_0000Mが駒得のみの計算基準に基づいているからだと考えられる。
f:id:jotcutJshakki:20170505190759p:plainf:id:jotcutJshakki:20170505190805p:plainf:id:jotcutJshakki:20170505190810p:plain

評価関数:181_0020G
課題局面では8八角成からの展開で3074有利と表示し、読み筋先でのEval値は-3006であった。
また、課題局面自体の評価は-58と計算している。
f:id:jotcutJshakki:20170505191443p:plainf:id:jotcutJshakki:20170505191447p:plainf:id:jotcutJshakki:20170505191454p:plain

評価関数:読み太_SDT4
課題局面では8八角成からの展開で2967有利と表示し、読み筋先でのEval値は2686であった。
また、課題局面自体の評価は48と計算している。
f:id:jotcutJshakki:20170505191903p:plainf:id:jotcutJshakki:20170505191908p:plainf:id:jotcutJshakki:20170505191913p:plain

評価関数:elmo_wcsc27
課題局面では8八角成からの展開で3627有利と表示し、読み筋先でのEval値は-3265であった。
また、課題局面自体の評価は154と計算している。
f:id:jotcutJshakki:20170505191921p:plainf:id:jotcutJshakki:20170505191925p:plainf:id:jotcutJshakki:20170505191929p:plain

500_0000Mに比べて、他の評価関数は読み筋先での局面の評価値との差が少ない気がする。
気が向いたらそれぞれの評価関数の設計思想とこれらの値を照らし合わせてみようと思う。


閑話
elmoの第27回世界コンピュータ将棋選手権での優勝おめでとうございます。正直Ponanza Chainerを二度も打ち破るとは思いませんでした。見立てが甘かったです。

旅の記録ー書籍編(未完成?)

ひとまず評価値と探索の関連について、参考になった書籍を羅列するだけです。

人間に勝つコンピュータ将棋の作り方

人間に勝つコンピュータ将棋の作り方

コンピュータ将棋の進歩 6 -プロ棋士に並ぶ-

コンピュータ将棋の進歩 6 -プロ棋士に並ぶ-

将棋とコンピュータ (情報フロンテイアシリーズ)

将棋とコンピュータ (情報フロンテイアシリーズ)

Java将棋のアルゴリズム―アルゴリズムの強化手法を探る (I・O BOOKS)

Java将棋のアルゴリズム―アルゴリズムの強化手法を探る (I・O BOOKS)

 

 

いやぁ、今年のコンピュータ将棋選手権も面白い展開ですね、正直言って去年二次予選に進めなかったelmo(monkeymagic)がPonanzaを、大合神クジラちゃんが技巧を倒すとは思っていませんでした、すみません。

決勝リーグではPonanza Chainerがelmoにリベンジを果たすも、クジラちゃんに負け、混戦の末にPonanza三連覇とかになると根拠なしの予想をしておきます。(執筆2017/05/04時点では二次予選まで終了)

 

旅の記録ー実験(将棋所編)

前回の記事では、将棋ウォーズの棋神(2016Ponanza)による解析の評価値から千田先生の解説を噛み砕いていった。

今回は将棋プログラムのやねうら王(Yaneuraou-2017early)を使った実験で、先の説明を補完していった結果を示す。(正直最初にこれに気づいてれば回り道しなくてよかったかも)

やねうら王には将棋所で使えるUSI拡張コマンドが多数用意されており、その中に'eval'というコマンドが存在する。このコマンドはその時点の局面に対しる評価関数での計算結果を表示するというものである。

▲7六歩△8四歩▲6八銀の局面に対し、このコマンドを使用し、その局面での評価値と指しての先の評価値を比較してみる。

 

実験結果

まずは▲6八銀まで進めた状態。この時点でやねうら王は、およそ700~800万局面を読み、3106という評価値をつけている。(赤枠参照) これまでの説明をもとにすると、この値は隣にある読み筋の8八角成▲7九金△9九馬▲7七銀…という応酬の果てにある局面を示していることになる。

f:id:jotcutJshakki:20170503002857p:plain

次に、この局面でevalコマンドを送った状態。-87という値が返されており(赤枠参照) 、この局面だけ見るのならば評価は-87ということがわかった。

f:id:jotcutJshakki:20170503002859p:plain

最後に、先程の評価値3106の読み筋通りに進めた局面を示す。evalでの値は2796となっており、まあまあ近い値を示すことがわかった。

f:id:jotcutJshakki:20170503002903p:plain

 

今回の実験では、やねうら王の拡張コマンドを用いることで、将棋プログラムが示す評価値が、その局面の評価値ではないということが明らかになった。

ただ、本実験でも、読み筋の先の局面の評価値が2796で、初期の3106と比較して400程度離れていることが気になった、

 

今後の予定としては、探索を制限させる、評価関数を変えてみるなどして、様々な局面(6八銀の局面/その他序盤/こまのぶつかりあった中盤/最終盤、盤上この一手や劇的逆転の局面など)でいろいろ試行錯誤したいところである。

 

 

 

以上

 

メモ:

値自体は静的評価値

読みと異なる手をさした場合、大幅に値が変動するが、序盤など選択肢が広い場合は、プログラムが探索してない局面に移行しても評価が大きく変動しない?

旅の記録ー人体実験(将棋ウォーズ編)

当時、千田先生の解説を読んでもいまいちわかったようなわからないような気分の私は、

実際に試して見たほうが早いと考え、幾つかの評価値の出る媒体で実験してみることにした。

今回は将棋ウォーズでの結果

方法は、▲7六歩△3四歩▲6八銀!と指し、その対局を棋神(2016Ponanza)グラフ解析と1手解析で解析するというもの

実際結果

解析による3手目の評価値、左は一局をグラフ解析した後3手目を表示した状態、右は3手目の局面から次の一手を1手解析して得られた結果となる。

左図での評価値2708は、4手目以降の8八角成となる展開を予想して算出された値だと予想できる。一方右図の1手解析では、Ponanzaは発狂でもしたのか、8八角成を読まずに、△6二銀と自陣に手をいれる手を読んでいる。その後は▲7七角△7四歩▲2六歩△7七角成▲同銀△2二銀▲6八銀△2五歩▲7三銀△2四歩と進み、この局面に進めば互角の30になると評価を下している。

f:id:jotcutJshakki:20170502232047p:plain

実戦では△3五歩と進んだ、この場合、後手としては必勝手順である8八角成を逃し、先手側に8八角成を回避する猶予を与えてしまったため、グラフ解析による評価値は先程の2708から86にまで減少している。またこの局面の1手解析では、▲7八金で角を保護し、以下△8八角成▲同金△3二金▲7八金△4二飛▲6六歩△6二玉▲6七銀△4四歩と進み、この局面に進めば63になると計算している。

この場合は、グラフ解析における評価値と1手解析で示された手順での評価値が近いため、グラフ解析での評価値は1手解析の手順と近いものを探索し86という値を表示したのだと思われる。

f:id:jotcutJshakki:20170502233720p:plain

実戦では次に5六歩と指し、再度8八角成を誘導した。その際の評価は下のようになった。

今度も1手前の局面同様、グラフ解析と1手解析での評価値が近い値を示しており、グラフ解析での評価値2583は1手解析での手順と近い手順を辿り計算されると想像できる。

なお、1手解析では△8八角成▲7七桂△9九馬▲7八金△8九馬▲5七銀△3二飛▲6八玉△6二玉▲2六歩の手順で2708となっている

f:id:jotcutJshakki:20170502235759p:plain

実戦では今度こそ8八角成とされ、当然負け。

 

以上

旅の記録ーその他参考になったツイート

動画非公開の頃に、Twitterで調べたら、参考になる様々なツイートを見つけることもありました。

指す将の三岸さんによる説明

アユムさんは実況で有名で、マイナー戦法とかで動画検索するとよく見る気がしますね

最後から二番目のツイートに評価値関連の記述

盤デレ感想関連で参考になったもの

 

 

以上

 

旅の記録ー高橋直大さんのツイート

AtCoderのchokudaiさんはしばしば将棋の話題にも触れられている。

今年の1月ごろには、評価値と言語化について参考になるツイートをされていた。

 

特に、この会話の中で評価値について触れられている

きっかけとなった一連のツイートは以下

他にもこのような議論が行われていた。

-------------------------------------------------------------------------------

-------------------------------------------------------------------------------

-------------------------------------------------------------------------------

以上