てst
grave2将棋(仮称)はこれから高精度化を達成する予定であるところの評価関数の青天井な精度の高さだけを武器とするのであって詰み探索ルーチンなどという無粋なものは積まないので当然αβ ponderが詰みルーチンと同等の結果を返すことが要求されるる
評価関数が適当な現段階においては詰ますのに必要以上に手間取ることが十分予想されるが、評価関数に相手の詰みを+∞、自己の詰みを-∞とする評価が入っている以上、(αβ法が正しく、指し手生成がルール通りに実装されちる限り)詰みと不詰みを誤ることは有り得ないからそれを今からチェック汁、
問1
FU(15), KY(3), KE(3), GI(3), KI(4), KA(2), HI(1), OU(0) 9 8 7 6 5 4 3 2 1 ---------------------------+ + + + + + + + KE KY |一 + + + + + 龍 銀 + OU |二 + + + + + + FU FU FU |三 + + + + + + + + + |四 + + + + + + + + + |五 + + + + + + + + + |六 + + + + + + + + + |七 + + + + + + + + + |八 + + + + + + + + + |九 ---------------------------+ 歩(0), 香(0), 桂(0), 銀(0), 金(0), 角(0), 飛(0), 王(0) stateHash(act)=0x034127ead9bfee46 OK stateHash(exp)=0x034127ead9bfee46 stateEval(act)=-103178 OK stateEval(exp)=-103178 9 8 7 6 5 4 3 2 1 ---------------------------------------------------------------------------------------------------------------------+ (--) (--) (--) (--) (--) (--) (--) (nw) (n_) |一 (--) (--) (--) (--) (--) (--) (--) (w_) (S_) |二 (--) (--) (--) (--) (--) (--) () (sw) (s_) |三 (--) (--) (--) (--) (--) (--) (s_) (s_) (s_) |四 (--) (--) (--) (--) (--) (--) (--) (--) (--) |五 (--) (--) (--) (--) (--) (--) (--) (--) (--) |六 (--) (--) (--) (--) (--) (--) (--) (--) (--) |七 (--) (--) (--) (--) (--) (--) (--) (--) (--) |八 (--) (--) (--) (--) (--) (--) (--) (--) (--) |九 ---------------------------------------------------------------------------------------------------------------------+ 9 8 7 6 5 4 3 2 1 ---------------------------------------------------------------------------------------------------------------------+ (--) (--) (--) (--) (nw) (N_nw) (n_ne) (ne) (--) |一 (W_) (W_) (W_) (W_) (W_) (--) (E_) (--) (--) |二 (--) (--) (--) (--) (sw) (S_sw) (se) (se) (--) |三 (--) (--) (--) (--) (--) (S_) (--) (--) (--) |四 (--) (--) (--) (--) (--) (S_) (--) (--) (--) |五 (--) (--) (--) (--) (--) (S_) (--) (--) (--) |六 (--) (--) (--) (--) (--) (S_) (--) (--) (--) |七 (--) (--) (--) (--) (--) (S_) (--) (--) (--) |八 (--) (--) (--) (--) (--) (S_) (--) (--) (--) |九 ---------------------------------------------------------------------------------------------------------------------+ 9 8 7 6 5 4 3 2 1 ---------------------------------------------------------------------------------------------------------------------+ (--) (--) (--) (--) (--) (--) (--) (SE) (S_) |一 (--) (--) (--) (--) (--) (--) (E_) (E_) (--) |二 (--) (--) (--) (--) (--) (--) (--) (NE) (N_) |三 (--) (--) (--) (--) (--) (--) (--) (--) (--) |四 (--) (--) (--) (--) (--) (--) (--) (--) (--) |五 (--) (--) (--) (--) (--) (--) (--) (--) (--) |六 (--) (--) (--) (--) (--) (--) (--) (--) (--) |七 (--) (--) (--) (--) (--) (--) (--) (--) (--) |八 (--) (--) (--) (--) (--) (--) (--) (--) (--) |九 ---------------------------------------------------------------------------------------------------------------------+ 9 8 7 6 5 4 3 2 1 ---------------------------------------------------------------------------------------------------------------------+ (--) (--) (--) (--) (--) (--) (--) (--) (--) |一 (--) (--) (--) (--) (--) (--) (--) (--) (--) |二 (--) (--) (--) (--) (--) (--) (--) (--) (--) |三 (--) (--) (--) (--) (--) (--) (--) (--) (--) |四 (--) (--) (--) (--) (--) (--) (--) (--) (--) |五 (--) (--) (--) (--) (--) (--) (--) (--) (--) |六 (--) (--) (--) (--) (--) (--) (--) (--) (--) |七 (--) (--) (--) (--) (--) (--) (--) (--) (--) |八 (--) (--) (--) (--) (--) (--) (--) (--) (--) |九 ---------------------------------------------------------------------------------------------------------------------+ gpos=0 alpha=-102868 bestMove=+3231GI FU(15), KY(3), KE(3), GI(3), KI(4), KA(2), HI(1), OU(0) 9 8 7 6 5 4 3 2 1 ---------------------------+ + + + + + + 銀 KE KY |一 + + + + + 龍 + + OU |二 + + + + + + FU FU FU |三 + + + + + + + + + |四 + + + + + + + + + |五 + + + + + + + + + |六 + + + + + + + + + |七 + + + + + + + + + |八 + + + + + + + + + |九 ---------------------------+ 歩(0), 香(0), 桂(0), 銀(0), 金(0), 角(0), 飛(0), 王(0) stateHash(act)=0x9552649345c37153 OK stateHash(exp)=0x9552649345c37153 stateEval(act)=-103178 OK stateEval(exp)=-103178 gpos=+1 alpha=-102498 bestMove=-0032KY FU(15), KY(2), KE(3), GI(3), KI(4), KA(2), HI(1), OU(0) 9 8 7 6 5 4 3 2 1 ---------------------------+ + + + + + + 銀 KE KY |一 + + + + + 龍 KY + OU |二 + + + + + + FU FU FU |三 + + + + + + + + + |四 + + + + + + + + + |五 + + + + + + + + + |六 + + + + + + + + + |七 + + + + + + + + + |八 + + + + + + + + + |九 ---------------------------+ 歩(0), 香(0), 桂(0), 銀(0), 金(0), 角(0), 飛(0), 王(0) stateHash(act)=0x85db1bdef9754e22 OK stateHash(exp)=0x85db1bdef9754e22 stateEval(act)=-103208 NG stateEval(exp)=-103218 gpos=+2 alpha=+Infinite bestMove=+4232RY FU(15), KY(2), KE(3), GI(3), KI(4), KA(2), HI(1), OU(0) 9 8 7 6 5 4 3 2 1 ---------------------------+ + + + + + + 銀 KE KY |一 + + + + + + 龍 + OU |二 + + + + + + FU FU FU |三 + + + + + + + + + |四 + + + + + + + + + |五 + + + + + + + + + |六 + + + + + + + + + |七 + + + + + + + + + |八 + + + + + + + + + |九 ---------------------------+ 歩(0), 香(1), 桂(0), 銀(0), 金(0), 角(0), 飛(0), 王(0) stateHash(act)=0x1578fc6195db1dfb OK stateHash(exp)=0x1578fc6195db1dfb stateEval(act)=-102838 NG stateEval(exp)=-102858 gpos=+3 alpha=-102498 bestMove=-0022KY FU(15), KY(1), KE(3), GI(3), KI(4), KA(2), HI(1), OU(0) 9 8 7 6 5 4 3 2 1 ---------------------------+ + + + + + + 銀 KE KY |一 + + + + + + 龍 KY OU |二 + + + + + + FU FU FU |三 + + + + + + + + + |四 + + + + + + + + + |五 + + + + + + + + + |六 + + + + + + + + + |七 + + + + + + + + + |八 + + + + + + + + + |九 ---------------------------+ 歩(0), 香(1), 桂(0), 銀(0), 金(0), 角(0), 飛(0), 王(0) stateHash(act)=0x757b65fae2033913 OK stateHash(exp)=0x757b65fae2033913 stateEval(act)=-102868 NG stateEval(exp)=-102898 gpos=+4 alpha=+Infinite bestMove=+3122NG FU(15), KY(1), KE(3), GI(3), KI(4), KA(2), HI(1), OU(0) 9 8 7 6 5 4 3 2 1 ---------------------------+ + + + + + + + KE KY |一 + + + + + + 龍 全 OU |二 + + + + + + FU FU FU |三 + + + + + + + + + |四 + + + + + + + + + |五 + + + + + + + + + |六 + + + + + + + + + |七 + + + + + + + + + |八 + + + + + + + + + |九 ---------------------------+ 歩(0), 香(2), 桂(0), 銀(0), 金(0), 角(0), 飛(0), 王(0) stateHash(act)=0xae8024600f84f26c OK stateHash(exp)=0xae8024600f84f26c stateEval(act)=-102578 NG stateEval(exp)=-102618 gpos=+5 alpha=+Infinite bestMove=(none)
これわ10秒で解いた、
問2
FU(17), KY(4), KE(3), GI(3), KI(4), KA(1), HI(1), OU(0) 9 8 7 6 5 4 3 2 1 ---------------------------+ + + + + + + GI KE + |一 + + + + 龍 角 OU + + |二 + + + + + + + + + |三 + + + + + + 歩 + + |四 + + + + + + + + + |五 + + + + + + + + + |六 + + + + + + + + + |七 + + + + + + + + + |八 + + + + + + + + + |九 ---------------------------+ 歩(0), 香(0), 桂(0), 銀(0), 金(0), 角(0), 飛(0), 王(0) stateHash(act)=0xb0985f56be68ed7a OK stateHash(exp)=0xb0985f56be68ed7a stateEval(act)=-102896 OK stateEval(exp)=-102896 9 8 7 6 5 4 3 2 1 ---------------------------------------------------------------------------------------------------------------------+ (--) (--) (--) (--) (--) (nw) (n_) (ne) (--) |一 (--) (--) (--) (--) (--) (w_sw) (s_) (e_se) (--) |二 (--) (--) (--) (--) (--) (sw) (s_) (se) () |三 (--) (--) (--) (--) (--) (--) (--) (--) (--) |四 (--) (--) (--) (--) (--) (--) (--) (--) (--) |五 (--) (--) (--) (--) (--) (--) (--) (--) (--) |六 (--) (--) (--) (--) (--) (--) (--) (--) (--) |七 (--) (--) (--) (--) (--) (--) (--) (--) (--) |八 (--) (--) (--) (--) (--) (--) (--) (--) (--) |九 ---------------------------------------------------------------------------------------------------------------------+ 9 8 7 6 5 4 3 2 1 ---------------------------------------------------------------------------------------------------------------------+ (--) (--) (--) (nw) (N_NW) (ne) (NE) (--) (--) |一 (W_) (W_) (W_) (W_) (--) (E_) (--) (--) (--) |二 (--) (--) (--) (sw) (S_SW) (se) (SEn_) (--) (--) |三 (--) (--) (--) (SW) (S_) (--) (--) (SE) (--) |四 (--) (--) (SW) (--) (S_) (--) (--) (--) (SE) |五 (--) (SW) (--) (--) (S_) (--) (--) (--) (--) |六 (SW) (--) (--) (--) (S_) (--) (--) (--) (--) |七 (--) (--) (--) (--) (S_) (--) (--) (--) (--) |八 (--) (--) (--) (--) (S_) (--) (--) (--) (--) |九 ---------------------------------------------------------------------------------------------------------------------+ 9 8 7 6 5 4 3 2 1 ---------------------------------------------------------------------------------------------------------------------+ (--) (--) (--) (--) (--) (SE) (S_) (SW) (--) |一 (--) (--) (--) (--) (--) (E_) (--) (W_) (W_) |二 (--) (--) (--) (--) (--) (NE) (N_) (NW) (--) |三 (--) (--) (--) (--) (NE) (--) (N_) (--) (NW) |四 (--) (--) (--) (NE) (--) (--) (--) (--) (--) |五 (--) (--) (NE) (--) (--) (--) (--) (--) (--) |六 (--) (NE) (--) (--) (--) (--) (--) (--) (--) |七 (NE) (--) (--) (--) (--) (--) (--) (--) (--) |八 (--) (--) (--) (--) (--) (--) (--) (--) (--) |九 ---------------------------------------------------------------------------------------------------------------------+ 9 8 7 6 5 4 3 2 1 ---------------------------------------------------------------------------------------------------------------------+ (--) (--) (--) (--) (--) (--) (--) (--) (--) |一 (--) (--) (--) (--) (--) (--) (--) (--) (--) |二 (--) (--) (--) (--) (--) (--) (--) (--) (--) |三 (--) (--) (--) (--) (--) (--) (--) (--) (--) |四 (--) (--) (--) (--) (--) (--) (--) (--) (--) |五 (--) (--) (--) (--) (--) (--) (--) (--) (--) |六 (--) (--) (--) (--) (--) (--) (--) (--) (--) |七 (--) (--) (--) (--) (--) (--) (--) (--) (--) |八 (--) (--) (--) (--) (--) (--) (--) (--) (--) |九 ---------------------------------------------------------------------------------------------------------------------+ gpos=0 alpha=+Infinite bestMove=+4233UM FU(17), KY(4), KE(3), GI(3), KI(4), KA(1), HI(1), OU(0) 9 8 7 6 5 4 3 2 1 ---------------------------+ + + + + + + GI KE + |一 + + + + 龍 + OU + + |二 + + + + + + 馬 + + |三 + + + + + + 歩 + + |四 + + + + + + + + + |五 + + + + + + + + + |六 + + + + + + + + + |七 + + + + + + + + + |八 + + + + + + + + + |九 ---------------------------+ 歩(0), 香(0), 桂(0), 銀(0), 金(0), 角(0), 飛(0), 王(0) stateHash(act)=0xcc8ec38d0409ce7c OK stateHash(exp)=0xcc8ec38d0409ce7c stateEval(act)=-102656 OK stateEval(exp)=-102656 gpos=1 alpha=+Infinite bestMove=(none)
これわ5秒で解いた、
問3
FU(17), KY(3), KE(4), GI(2), KI(4), KA(1), HI(0), OU(0) 9 8 7 6 5 4 3 2 1 ---------------------------+ + + + + HI + 龍 + KY |一 + + + + + + + 銀 OU |二 + + + + + + + FU + |三 + + + + + + + GI + |四 + + + + + + + + + |五 + + + + + + + + + |六 + + + + + + + + + |七 + + + + + + + + + |八 + + + + + + + + + |九 ---------------------------+ 歩(0), 香(0), 桂(0), 銀(0), 金(0), 角(0), 飛(0), 王(0) stateHash(act)=0x77d9adbddfff764e OK stateHash(exp)=0x77d9adbddfff764e stateEval(act)=-102618 OK stateEval(exp)=-102618 9 8 7 6 5 4 3 2 1 ---------------------------------------------------------------------------------------------------------------------+ (W_) (W_) (W_) (W_) (--) (E_) (E_) (nw) (n_) |一 (--) (--) (--) (--) (S_) (--) (--) (w_) (S_) |二 (--) (--) (--) (--) (S_) (--) (nw) (sw) (s_ne) |三 (--) (--) (--) (--) (S_) (--) (--) (s_) (--) |四 (--) (--) (--) (--) (S_) (--) (sw) (s_) (se) |五 (--) (--) (--) (--) (S_) (--) (--) (--) (--) |六 (--) (--) (--) (--) (S_) (--) (--) (--) (--) |七 (--) (--) (--) (--) (S_) (--) (--) (--) (--) |八 (--) (--) (--) (--) (S_) (--) (--) (--) (--) |九 ---------------------------------------------------------------------------------------------------------------------+ 9 8 7 6 5 4 3 2 1 ---------------------------------------------------------------------------------------------------------------------+ (--) (--) (--) (--) (W_) (W_) (nw) (E_n_) (E_ne) |一 (--) (--) (--) (--) (--) (sw) (S_) (se) (--) |二 (--) (--) (--) (--) (--) (--) (S_sw) (--) (se) |三 (--) (--) (--) (--) (--) (--) (S_) (--) (--) |四 (--) (--) (--) (--) (--) (--) (S_) (--) (--) |五 (--) (--) (--) (--) (--) (--) (S_) (--) (--) |六 (--) (--) (--) (--) (--) (--) (S_) (--) (--) |七 (--) (--) (--) (--) (--) (--) (S_) (--) (--) |八 (--) (--) (--) (--) (--) (--) (S_) (--) (--) |九 ---------------------------------------------------------------------------------------------------------------------+ 9 8 7 6 5 4 3 2 1 ---------------------------------------------------------------------------------------------------------------------+ (--) (--) (--) (--) (--) (--) (--) (SE) (S_) |一 (--) (--) (--) (--) (--) (--) (--) (E_) (--) |二 (--) (--) (--) (--) (--) (--) (--) (NE) (N_) |三 (--) (--) (--) (--) (--) (--) (--) (--) (N_) |四 (--) (--) (--) (--) (--) (--) (--) (--) (N_) |五 (--) (--) (--) (--) (--) (--) (--) (--) (N_) |六 (--) (--) (--) (--) (--) (--) (--) (--) (N_) |七 (--) (--) (--) (--) (--) (--) (--) (--) (N_) |八 (--) (--) (--) (--) (--) (--) (--) (--) (N_) |九 ---------------------------------------------------------------------------------------------------------------------+ 9 8 7 6 5 4 3 2 1 ---------------------------------------------------------------------------------------------------------------------+ (--) (--) (--) (--) (--) (--) (--) (--) (--) |一 (--) (--) (--) (--) (--) (--) (--) (--) (--) |二 (--) (--) (--) (--) (--) (--) (--) (--) (--) |三 (--) (--) (--) (--) (--) (--) (--) (--) (--) |四 (--) (--) (--) (--) (--) (--) (--) (--) (--) |五 (--) (--) (--) (--) (--) (--) (--) (--) (--) |六 (--) (--) (--) (--) (--) (--) (--) (--) (--) |七 (--) (--) (--) (--) (--) (--) (--) (--) (--) |八 (--) (--) (--) (--) (--) (--) (--) (--) (--) |九 ---------------------------------------------------------------------------------------------------------------------+ gpos=0 alpha=-102703 bestMove=+2211NG FU(17), KY(3), KE(4), GI(2), KI(4), KA(1), HI(0), OU(0) 9 8 7 6 5 4 3 2 1 ---------------------------+ + + + + HI + 龍 + 全 |一 + + + + + + + + OU |二 + + + + + + + FU + |三 + + + + + + + GI + |四 + + + + + + + + + |五 + + + + + + + + + |六 + + + + + + + + + |七 + + + + + + + + + |八 + + + + + + + + + |九 ---------------------------+ 歩(0), 香(1), 桂(0), 銀(0), 金(0), 角(0), 飛(0), 王(0) stateHash(act)=0x9fedcf60ac36142d OK stateHash(exp)=0x9fedcf60ac36142d stateEval(act)=-102608 NG stateEval(exp)=-102618 gpos=+1 alpha=-102383 bestMove=-1213OU FU(17), KY(3), KE(4), GI(2), KI(4), KA(1), HI(0), OU(0) 9 8 7 6 5 4 3 2 1 ---------------------------+ + + + + HI + 龍 + 全 |一 + + + + + + + + + |二 + + + + + + + FU OU |三 + + + + + + + GI + |四 + + + + + + + + + |五 + + + + + + + + + |六 + + + + + + + + + |七 + + + + + + + + + |八 + + + + + + + + + |九 ---------------------------+ 歩(0), 香(1), 桂(0), 銀(0), 金(0), 角(0), 飛(0), 王(0) stateHash(act)=0xb9c3de834bc18fd2 OK stateHash(exp)=0xb9c3de834bc18fd2 stateEval(act)=-102688 NG stateEval(exp)=-102698 gpos=+2 alpha=-102528 bestMove=+3151RY FU(17), KY(3), KE(4), GI(2), KI(4), KA(1), HI(0), OU(0) 9 8 7 6 5 4 3 2 1 ---------------------------+ + + + + 龍 + + + 全 |一 + + + + + + + + + |二 + + + + + + + FU OU |三 + + + + + + + GI + |四 + + + + + + + + + |五 + + + + + + + + + |六 + + + + + + + + + |七 + + + + + + + + + |八 + + + + + + + + + |九 ---------------------------+ 歩(0), 香(1), 桂(0), 銀(0), 金(0), 角(0), 飛(1), 王(0) stateHash(act)=0xbd98948ace4f8bd8 OK stateHash(exp)=0xbd98948ace4f8bd8 stateEval(act)=-102583 NG stateEval(exp)=-102618 gpos=+3 alpha=-102272 bestMove=-1314OU FU(17), KY(3), KE(4), GI(2), KI(4), KA(1), HI(0), OU(0) 9 8 7 6 5 4 3 2 1 ---------------------------+ + + + + 龍 + + + 全 |一 + + + + + + + + + |二 + + + + + + + FU + |三 + + + + + + + GI OU |四 + + + + + + + + + |五 + + + + + + + + + |六 + + + + + + + + + |七 + + + + + + + + + |八 + + + + + + + + + |九 ---------------------------+ 歩(0), 香(1), 桂(0), 銀(0), 金(0), 角(0), 飛(1), 王(0) stateHash(act)=0x18684370faceaed2 OK stateHash(exp)=0x18684370faceaed2 stateEval(act)=-102703 NG stateEval(exp)=-102738 (・・・中略・・・) gpos=+16 alpha=-102036 bestMove=+1615KY FU(15), KY(3), KE(3), GI(2), KI(4), KA(1), HI(0), OU(0) 9 8 7 6 5 4 3 2 1 ---------------------------+ + + + + + + + + 全 |一 + + + + + + + + 飛 |二 + + + + + + + FU FU |三 + + + + + + + KE OU |四 + + + + + + + + 香 |五 + + + + + + + + + |六 + + + + + + + 龍 + |七 + + + + + + + + + |八 + + + + + + + + + |九 ---------------------------+ 歩(1), 香(0), 桂(0), 銀(1), 金(0), 角(0), 飛(0), 王(0) stateHash(act)=0x04930a2a84846ce4 OK stateHash(exp)=0x04930a2a84846ce4 stateEval(act)=-101869 NG stateEval(exp)=-101896 gpos=+17 alpha=-101937 bestMove=-1415OU FU(15), KY(4), KE(3), GI(2), KI(4), KA(1), HI(0), OU(0) 9 8 7 6 5 4 3 2 1 ---------------------------+ + + + + + + + + 全 |一 + + + + + + + + 飛 |二 + + + + + + + FU FU |三 + + + + + + + KE + |四 + + + + + + + + OU |五 + + + + + + + + + |六 + + + + + + + 龍 + |七 + + + + + + + + + |八 + + + + + + + + + |九 ---------------------------+ 歩(1), 香(0), 桂(0), 銀(1), 金(0), 角(0), 飛(0), 王(0) stateHash(act)=0x8313fd2438f31cec OK stateHash(exp)=0x8313fd2438f31cec stateEval(act)=-102159 NG stateEval(exp)=-102176 gpos=+18 alpha=+Infinite bestMove=+1213RY FU(15), KY(4), KE(3), GI(2), KI(4), KA(1), HI(0), OU(0) 9 8 7 6 5 4 3 2 1 ---------------------------+ + + + + + + + + 全 |一 + + + + + + + + + |二 + + + + + + + FU 龍 |三 + + + + + + + KE + |四 + + + + + + + + OU |五 + + + + + + + + + |六 + + + + + + + 龍 + |七 + + + + + + + + + |八 + + + + + + + + + |九 ---------------------------+ 歩(2), 香(0), 桂(0), 銀(1), 金(0), 角(0), 飛(0), 王(0) stateHash(act)=0x475d953ea165d730 OK stateHash(exp)=0x475d953ea165d730 stateEval(act)=-102037 NG stateEval(exp)=-102054
これわ何か20分ぐらいかかったorz*1
まあ平手戦に合わせたチューニングしかしないし
だいたいこれからチューニングするという話だから正直どうでもいいのだが、