差分表示
- 最後の更新で追加された行はこのように表示します。
- 最後の更新で削除された行は
このように表示します。
ゲームの進行状況を表した木構造。
*概要
局面(盤面・駒台及び手番)をノードとし、指し手を枝とした仮想的な木構造の事をゲーム木と呼ぶ。
“仮想的な”と記述したのは、コンピュータ将棋の思考ルーチン実装にあたりゲーム木をデータ構造として構築する必要は必ずしも無いからである。
【注】本ページの記述は将棋のゲーム木に関する説明なので、他のゲームの場合には当てはまらない可能性がある。
例えば、双六は3人以上でプレイする可能性があるので、本ページの記述とは異なる。
*例
- R
-- E1
--- S11
--- S12
--- S13
-- E2
--- S21
--- S22
--- S23
-- E3
--- S31
--- S32
--- S33
# 本当は図があったほうが分かりやすいのですが・・・私には時間的に無理です。
*MAXプレイヤー・MINプレイヤー
思考ルーチンの事をMAXプレイヤーと呼び、対局相手(人または他のコンピュータ将棋ソフト)の事をMINプレイヤーと呼ぶ。
*ルートノード
ゲーム木の根にあたるノードをルートノードと呼ぶ。上記の例ではRがルートノードである。
*子ノード・親ノード・兄弟ノード
あるノードから見てルートノードに近く、かつ、枝で結ばれているノードの事を親ノードと呼ぶ。
上記の例では、S11の親ノードはE1である。
あるノードから見てルートノードから遠く、かつ、枝で結ばれているノードの事を子ノードと呼ぶ。
上記の例では、E1の子ノードはS11・S12及びS13である。
あるノードの親ノードの子ノードのうち、そのノード以外のノードを兄弟ノードと呼ぶ。
上記の例では、S11の兄弟ノードはS12及びS13である。
*LEAFノード
子ノードを持たないノードの事をLEAFノードと呼ぶ。
上記の例では、S??はLEAFノードである。
*内部ノード
少なくとも一つの子ノードと親ノードを持つノードを内部ノードと呼ぶ。
上記の例では、E?は内部ノードである。
*MAXノード・MINノード
MAXプレイヤーの手番であるノードをMAXノード、MINプレイヤーの手番であるノードをMINノードと呼ぶ。