diff --git a/src/mcts.jl b/src/mcts.jl index 6f68fa1..28810e4 100644 --- a/src/mcts.jl +++ b/src/mcts.jl @@ -177,9 +177,14 @@ function simulate(a, node::MCTSNode, decisionMaker::Function, progressValueEstim if node.isterminal break else - simTrajectoryReward += node.reward - expand(a, node, decisionMaker, progressValueEstimator, isterminal, n=n) - node = selectChildNode(node) + try + simTrajectoryReward += node.reward + expand(a, node, decisionMaker, progressValueEstimator, isterminal, n=n) + node = selectChildNode(node) + catch + # if error occurs, break and try again later + break + end end end