トップページ > 将棋・チェス > 2012年01月04日 > SpPErJl4

書き込み順位&時間帯一覧

33 位/876 ID中時間01234567891011121314151617181920212223Total
書き込み数0000000000101000020300007



使用した名前一覧書き込んだスレッド一覧
名無し名人
▲コンピュータ将棋スレッド66▽

書き込みレス一覧

▲コンピュータ将棋スレッド66▽
84 :名無し名人[sage]:2012/01/04(水) 10:38:25.66 ID:SpPErJl4
>>77
> どうして不成が先に評価されることになるの?

横からだけど、指し手生成の順番は関係ない。

この問題についてはnext.cを読もう。
gencapで生成した指し手はスコアをつけてinsertion sortしている。

俺も不成が先に評価されているに一票。
▲コンピュータ将棋スレッド66▽
88 :名無し名人[sage]:2012/01/04(水) 12:32:43.73 ID:SpPErJl4
>>87
> estimate_score_diff で評価値の予測をして、評価値が高くなる順にソートですね。

おい。どこ読んでんだよ。それは、next_evasion_genallのときだけだろ。
そこは、王手されてその回避手を逐次生成するところだよ。

しかも、「estimate_score_diff で評価値の予測をして」も、違う。その直前にswapって書いてある関数呼び出して
この値を足しているだろ。これがSEEだ。これとても重要。

>>74は間違いだが(そんなソースコードにはなっていない)、>>73は正しいと俺は思う。
そう仮定して、ソースコードをもう一度よく読み直してくれ。
▲コンピュータ将棋スレッド66▽
105 :名無し名人[sage]:2012/01/04(水) 17:32:21.33 ID:SpPErJl4
>>96
> ごめん嘘かも。

うん。>>95は嘘。>>101のほうがマシ。

>>101
> next.cは逐次生成のphase1ではまず取る手を生成して、ハッシュ手とキラー手を高く評価する。

「キラー手を高く評価する」が嘘。そんなことしていない。置換表の指し手を生成したあとは、
killerの指し手とGenCapturesで生成した指し手にそれぞれスコアをつけてinsertion sort。これが正しい。

あと、あんたはkillerの指し手のスコアリングを誤解している。killerの指し手のスコアはSEEの値ではないし、
不成の指し手がkillerに該当するケースが考慮に入っていない。
▲コンピュータ将棋スレッド66▽
106 :名無し名人[sage]:2012/01/04(水) 17:42:01.71 ID:SpPErJl4
>>104
> 成りじゃないとダメなところで不成にしているのは、多分バグですね。

そんな論拠も何もない感想を書いてないで、あんたはソースコードが読めるのだから
ソースコードをまず読む努力をしたらどうなんだ・・。

>>100
> 以降、局面を戻し、limit depth の値をいくら大きくしても、
> 全て不成となった。
> メモリの状態によって、指し手は変わるらしい。

探索したときに置換表にその局面のベストの指し手が書き込まれるわけだよ。

次に反復深化でその局面を訪問したときに、その置換表の指し手がまず最初に試されて、
その評価値を上回るものがなければ、その置換表の指し手はベストの指し手のままなわけだよ。

つまり、不成も成りもその指し手のあと、いくらかの深さで探索させた評価値は同じだから
先に評価したほうが優先されているということなんだよ。

評価値が違うなら、先に評価されようが関係ないわけだろ?ということで>>73に俺は一票。
▲コンピュータ将棋スレッド66▽
109 :名無し名人[sage]:2012/01/04(水) 19:10:26.39 ID:SpPErJl4
>>83
> 成/不成の直前の局面で、成/不成のどちらが先に評価されるのかを決めるのはスレーブかマスターか。
> 高校生レベルの問題です。

「どちらが先に評価されるか」と言う書き方言い方が紛らわしい。

1) 評価が開始された時点で「評価される」と言うのか
2)
▲コンピュータ将棋スレッド66▽
110 :名無し名人[sage]:2012/01/04(水) 19:12:21.35 ID:SpPErJl4
書きかけで投稿した。ごめん。

>>83
> 成/不成の直前の局面で、成/不成のどちらが先に評価されるのかを決めるのはスレーブかマスターか。
> 高校生レベルの問題です。

「どちらが先に評価されるか」という書き方が紛らわしい。

1) 評価が開始された時点で「評価される」
2) 評価が完了した時点で「評価される」

「先に評価される」と書くと1)を意味しているように読めてしまう。たぶん意図するところは2)なのだろうけど。

あと、そもそも「成/不成の直前の局面で」マスターからスレーブに局面が投げられるとは限らないから、この設問自体がおかしい。
▲コンピュータ将棋スレッド66▽
111 :名無し名人[sage]:2012/01/04(水) 19:16:31.61 ID:SpPErJl4
>>108
> でもコードにコメントが少な過ぎていつも心が折れそうになるよ。

http://d.hatena.ne.jp/LS3600/
にて、ほとんど解説されているけどな・・。解説が無いのは探索部とdfpnぐらいではないか。


※このページは、『2ちゃんねる』の書き込みを基に自動生成したものです。オリジナルはリンク先の2ちゃんねるの書き込みです。
※このサイトでオリジナルの書き込みについては対応できません。
※何か問題のある場合はメールをしてください。対応します。