Class: MCTS

MCTS(nn, C, evaluatePlugin)

モンテカルロツリー探索を実行するクラスです。

Constructor

new MCTS(nn, C, evaluatePlugin)

コンストラクタ
Parameters:
Name Type Default Description
nn NeuralNetwork
C BoardConstants
evaluatePlugin function null
Source:

Classes

MCTS

Methods

cleanupNodes()

nodesの中の不要なノードを未使用状態に戻します。
Source:

clear()

内部状態をクリアします。 同一時間設定で初手から対局できるようになります。
Source:

createNode(b, prob) → {Integer}

局面bのMCTSの探索ノードを生成してノードIDを返します。
Parameters:
Name Type Description
b Board
prob Float32Array
Source:
Returns:
ノードID
Type
Integer

(async) evaluate(b, random) → {Array.<Float32Array>}

ニューラルネットワークで局面を評価します。
Parameters:
Name Type Default Description
b Board
random bool true
Source:
Returns:
Type
Array.<Float32Array>

getNodeIdInNodes(b)

this.nodesに同じ局面があればそのインデックスを返します。 なければnullを返します。
Parameters:
Name Type Description
b Board
Source:

getSearchTime() → {number}

次の着手の考慮時間を算出します。
Source:
Returns:
使用する時間(秒)
Type
number

hasEdgeNode(edgeIndex, nodeId, moveNumber) → {bool}

nodeIdのノードのedgeIndexのエッジに対応するノードが既に存在するか返します。
Parameters:
Name Type Description
edgeIndex Integer
nodeId Integer
moveNumber Integer
Source:
Returns:
Type
bool

isConsistentNode(nodeId, b)

Parameters:
Name Type Description
nodeId Integer
b Board
Source:

printInfo(nodeId, c)

探索結果の詳細を表示します。
Parameters:
Name Type Description
nodeId Integer
c BoardConstants
Source:
MCTS探索メソッドです。 局面bをルートノード設定して、終了条件を設定し、time時間探索し、結果をログ出力してルートノードを返します。
Parameters:
Name Type Description
b Board
time number 探索時間を秒単位で指定します
ponder bool ttrueのときstopメソッドが呼ばれるまで探索を継続します
clean bool 形勢が変わらない限りパス以外の着手を選びます
Source:
Returns:
[Node, Integer] ルートノードと評価数
Type
Array.<Object>

setLeftTime(leftTime)

残り時間を設定します。
Parameters:
Name Type Description
leftTime number
Source:

setTime(mainTime, byoyomi)

持ち時間の設定をします。 残り時間もリセットします。
Parameters:
Name Type Description
mainTime number
byoyomi number
Source:

shouldSearch(best, second) → {bool}

検索するかどうかを決定します。
Parameters:
Name Type Description
best Integer
second Integer
Source:
Returns:
Type
bool

stop()

実行中のkeepPlayoutを停止させます。
Source: