From b27684073db5954fc611b6843f2b50871aee34d9 Mon Sep 17 00:00:00 2001 From: narawat lamaiin Date: Sat, 22 Jun 2024 16:55:38 +0700 Subject: [PATCH] update --- src/interface.jl | 2 +- src/mcts.jl | 7 +++++-- 2 files changed, 6 insertions(+), 3 deletions(-) diff --git a/src/interface.jl b/src/interface.jl index b54b947..3322241 100644 --- a/src/interface.jl +++ b/src/interface.jl @@ -2,7 +2,7 @@ module interface export runMCTS -using ..type, ..mcts +using ..type, ..mcts, ..util # ---------------------------------------------- 100 --------------------------------------------- # diff --git a/src/mcts.jl b/src/mcts.jl index 49558c0..1fb9133 100644 --- a/src/mcts.jl +++ b/src/mcts.jl @@ -32,7 +32,7 @@ julia> # Signature """ function selectBestNextState(node::MCTSNode)::MCTSNode - highestProgressValue = 0 + highestProgressValue = -1 nodekey = nothing # if all childnode has statevalue == 0, use progressvalue + reward to select the best node @@ -251,7 +251,10 @@ function expand(node::MCTSNode,transition::Function, transitionargs::NamedTuple; while true nthSample += 1 if nthSample <= totalsample - newNodeKey, newstate, progressvalue = transition(node.state, transitionargs) + result = transition(node.state, transitionargs) + newNodeKey::AbstractString = result[:newNodeKey] + newstate::AbstractDict = result[:newstate] + progressvalue::Integer = result[:progressvalue] if newNodeKey ∉ keys(node.children) node.children[newNodeKey] = MCTSNode(newNodeKey, newstate, 0, progressvalue, 0, newstate[:reward],