sakurapyon’s blog

sakurapyon’s blog

2012-01-01から1年間の記事一覧

静止探索の futility pruning 時に best value を更新している

Update bestValue when futility pruning In qsearch we should update the bestValue as we do in case of futilityValue moves with non-positive see. Update bestValue when futility pruning · 5af8179 · mcostalba/Stockfish futilityValue = futility…

Tactical move と Bad capture

window.twttr = (function(d, s, id) { var js, fjs = d.getElementsByTagName(s)[0], t = window.twttr || {}; if (d.getElementById(id)) return t; js = d.createElement(s); js.id = id; js.src = "https://platform.twitter.com/widgets.js"; fjs.paren…

[Stockfish] futility margins array *1

// Init futility margins array for (d = 1; d < 16; d++) for (mc = 0; mc < 64; mc++) FutilityMargins[d][mc] = Value(112 * int(log(double(d * d) / 2) / log(2.0) + 1.001) - 8 * mc + 45); ややこしい式になっているが、dが増えると増加・mcが増える…

課題局面

sakurapyon_test vs. qs_kpp (2012-12-13 02:00) (floodgateの局面図って、手数指定でリンクできないのかな? Gasyouさんのアドバイスに従ったらできましたので上のリンクは直しておきます) 後手:qs_kpp 後手の持駒: 角 金 銀 桂 歩二 9 8 7 6…

sakurapyonには必至が読めない

人間代表の強さを見て思った。4一銀打が最善手だと思っている。2一飛成の局面から考えると2一同玉・2三銀なのに。なぜ、ここで2一飛成しないんだろ?将棋タウン棋力判定問題集36 後手:White 後手の持駒: 角 銀 歩 9 8 7 6 5 4 3 2 1 +------…

△4五歩じゃなくて△7四歩を突いてほしい

Bonanzaも激指も7四歩を突く。sakurapyonの枝刈りがおかしいんだろうな… gps_normal vs. sakurapyon-2012-032 (2012-12-02 05:00) 後手:sakurapyon-2012-032 後手の持駒:なし 9 8 7 6 5 4 3 2 1 +---------------------------+ |v香v桂 ・ ・ ・…

人間強い

sakurapyon-2012-032 vs. nikohima_human (2012-11-30 23:30) ニコ生で放送されている方。放送も見ながら観戦。読み筋を話しながら指しているので棋力の低い私でも楽しめた。メリケン向飛車。とっくに定跡は外れてる。sakurapyonは のんびり穴熊に。実は穴熊…

KKP/KPPの差分評価

差分評価できたっぽい。まだ、いろいろと改善できる点はありそう。 局面の評価値ハッシュと反復深化の組み合わせでややこしいことになっていた。大損するのは All Node のときなので、2手目までにβCutされなければ、親ノードを非差分評価するようにしたら少…

打一手詰

もっとさぼれるところがあると思う。 // // 簡易1手詰(駒打ち) // 呼び出し元で持ち駒があることは確認している // template <Player_t p,Player_t op> inline Move Board::hMate1PlyDrop() { // // 玉の近傍に駒を打って詰ませる const int pos=king[op]; int to; // // 桂馬を打っ</player_t>…

bitboardの引き算

bitboarderを増やすプロジェクトがあるらしいので。 inline BitBoard operator - (const BitBoard &right) const { BitBoard t; t.bb[0]=bb[0]&(~right.bb[0]); t.bb[1]=bb[1]&(~right.bb[1]); t.bb[2]=bb[2]&(~right.bb[2]); return t; }使用例: // 桂馬を…

初期局面からの探索

NPS

目標20手@15秒 1/ 1( 1). 33: 2( 0.00) ▲16歩(17) 1/ 1( 2). 129: 4( 0.00) ▲26歩(27) 1/ 1( 7). 169: 11( 0.01) ▲76歩(77) 2/ 2( 1). 50: 70( 0.04) ▲76歩(77)△84歩(83) 3/ 4( 1). 194: 204( 0.06) ▲76歩(77)△84歩(83)▲77角(88) 4/ 4( 1). 23: 419( 0.07) …

1手詰みメモ(一段玉+持ち駒に金+玉頭に成り王手)

3手以上で詰む場合は考えない。一段玉以外でも玉が後ろに下がれない場合は同様だが、利きを持ってないと判定に時間がかかるので コストが引き合わないような気がする。 一段玉に頭金が打てるにも関わらず、頭金の1手で詰まなかった場合(打った金が玉以外の…

1手詰みメモ(移動直接王手)

桂成による直接王手の場合、影の利きにより移動先の成桂に利きが発生することはない 移動先に利きが無ければ、移動させなくても不詰みがわかる それ以外の駒の移動直接王手は、影の利きの考慮が必要 移動元と移動先の関係から影の利きが発生する可能性は絞り…

1手詰みメモ(歩成)

1手詰みメモ - 2012-10-10 - sakurapyonの日記の続き。金を持っていて、金打ちでは詰まなかったが、駒を取らない歩成で詰むパターンを考える。玉頭に駒を取らない歩成を行って詰む場合、金打ちでも詰む(はず)。玉頭以外の場合、隠れた利きにより玉の移動…

3手詰のはずが

さきほどの対局( http://wdoor.c.u-tokyo.ac.jp/shogi/view/2012/11/10/wdoor+floodgate-900-0+sakurapyon-2012-0.027kpp+gps_+20121110113000.csa )。↑の局面。後手は飛車と金を持ってるから6八飛車8九玉8八金までの3手詰。sakurapyonの評価値は29996…

王手千日手回避漏れ

http://wdoor.c.u-tokyo.ac.jp/shogi/view/2012/11/09/wdoor+floodgate-900-0+gps_normal+sakurapyon-2012-0.027kpp+20121109190002.csa にて発生。とりあえず適当に対策コードを書いた。この局面は後手負けだと思うが、後手の最善手は何だろうか。激指定跡…

局面の評価値(KP・KPP)は先後で同一ということに気がついた

null moveの時など、同一局面で手番だけ変わる場合、評価値の再計算は不要 評価値キャッシュの大きさは、同一エントリ数なら半分のサイズで済む

SEEで価値の大きな駒が当たりになる場合

上記の局面は、持ち駒の銀を5三に打ったところである。角か飛車がタダなので、同角同歩成同飛が有りうる進行だろうか? (もちろん大駒を単に見捨てる手もある)。この場合、銀歩と角(または飛車)の交換になるので、後手は駒損になる。駒損になる手は指さ…

1手詰みメモ

参考: Bonanzaの高速一手詰め - ym将棋 Bonanza雑感その3 - コンピュータ将棋Selene開発日記 将棋ファン向け : 利きの逆算について - 2009-12-20 - Bonanzaソース完全解析ブログ Bonanzaの1手詰み判定関数はどういう処理をしているのか - 2009-12-02 - Bon…

読み筋

深く読むと3一銀では負けだと気がつくけど、その前に指しちゃった模様。 んー、どうしたらいいんだろ。王手延長があるから、王手が続くとそこだけ深読みするんだよね。 1/ 1( 1). 2186: 2( 0.05) ▲52と(53) 2/ 3( 1). 1995: 392( 0.15) ▲52と(53)△39角打▲37…

なぜここから負ける?

相性の悪い mcts さんとの対局。優勢の終盤、120手目に△6二歩と受けたところ。両者とも残り時間は4分ちょっと。 sakurapyon-2012-0.022kpp vs. mcts (2012-10-08 02:00) 先手玉も後手玉もいまのところは詰まない。ということで、詰めろをかければ良さそう。…

そもそも

初手がただやんの場合、ほとんど詰まないのな。それでカットしてもいいかもしれず(><)

3手詰を省略できないか?

sakurapyonでは3手詰とそこから呼ばれる1手詰が実行時間の約1割を占めている。 これを高速化できないだろうか?そもそも、ほとんどの局面は不詰みなので、不詰みである局面をさっさと判定できれば良いことにする。 王手する 王手回避する 1手詰 ほとんど…

SEEがバグってた

なんかおかしな手が候補にあがってくることがあるなーと思ってたら、SEEがバグってた。いろいろ試行錯誤しながら作ったルーチンなので、思い切って1から作り直し、と言っても chessprogramming - SEE - The Swap Algorithm の丸パクリである(成駒の処理と…

3手詰を入れると、枝狩りのマージンを狭くできる?

末端近くで“大駒只捨て王手→取って王手回避→1手詰み”という3手詰局面では、大駒を取られた時点で枝狩りされる可能性がある。 3手詰があれば、枝狩りマージンが小さめでもこの枝を選択することができそう。https://twitter.com/HiraokaTakuya/status/25387741…

打歩詰

久々の打歩詰。 vps_mc vs. sakurapyon-2012-0.022kpp (2012-10-04 05:30) 原因: 打歩のチェックは、王手回避手生成時に「生成手数==0 && 直前の手が打歩王手」にて判断していた 王手回避手を一括生成から逐次生成にした(参考:将棋プログラムに何故corout…

今日のぬか喜び

最初は下位としか当たらないから妙に高いレートが出るんだよね。さて、今回はどこで落ち着くでしょうか……

3年ほど前の話題だけど(isseiさんの調査局面)

2009年の話題: isseiさんの調査局面 - 小宮日記 なぜこんなにこの問題がむずかしいだよ。。 - 毎日がEveryDay! 1九香打1七合同飛1六合同飛1五合同飛3一玉1一飛成という手順になるから「9手まで読まないとわからない」ということなのかな。 これをも…

王手がかかっている局面

王手がかかっている局面において、それが詰んでいない場合はもう1手以上読むとする。 (王手されてたら探索延長し、futility cut等のreducitonを行わない)この場合、この局面の評価値を求める必要はない……はず。これは静止探索でも同じ。 他にもそのような…

プログラム同士の相性

3手詰入れた後は gps_normal にだけ強くなってる模様。他のプログラムとの勝率はあまり変わらない。 (むしろ弱くなってたり)弱くなってるのは、たぶん3手詰が重くて読みが浅くなってるのだと思う。gps_normal相手に相性が良くなったのはなぜだろう?↓入れ…