KFEndトップInside KFEnd


用語の定義

本サイトで以下の語を用いるときは、以下の定義に従う。一般に使われることがない語もある。これは本サイトでの便宜のもので、一般的な用語集ではない。

内容

プレイヤの呼び方

将棋のプレイヤは2人だが、それぞれの呼び方を定義する。

先手/後手

先手
ゲーム開始局面において先に着手するプレイヤ
後手
先手でないプレイヤ

手番プレイヤ/非手番プレイヤ

手番プレイヤ
ある局面において手番がある(次に着手する)プレイヤ
非手番プレイヤ
ある局面において手番がない(次に着手しない)プレイヤ

maxプレイヤ/minプレイヤ

maxプレイヤ
ルート局面での手番プレイヤ
minプレイヤ
ルート局面での非手番プレイヤ

探索関数

縦型探索を行うのに、下に例を示すnegaMax()のような再帰的に自分自身を呼び合う関数を用いて実装することがよくある。このような関数を探索関数と呼ぶことにする。

SCORE negaMax(short depth){
    if(depth == MAX_DEPTH) return(現局面の静的評価値);
    着手を生成する
    SCORE best_score = -∞;
    for(生成した各手に対して){
        その手で局面を進める
        best_score = max(best_score, -negaMax(depth+1));
        局面を戻す
    }
    return(best_score);
}

局面表

transposition tableのことを局面表と呼ぶ。局面表=局面+表=position tableとなり、"trans"が訳されてなくて変だが、transposition tableの実際の使われ方を考えれば、局面表で良いだろう。

通常探索

静的評価関数を使った探索を通常探索と呼ぶ。詰探索や必至探索と区別したいのでこの用語を決めておく。静的評価関数を使うが、内部ノードで部分的に詰探索を行う場合も、全体を通常探索と言うことがある。


KFEndトップInside KFEnd