# Simple MCTS Example This example demonstrates basic MCTS usage with a simple state transition function. ```julia using LLMMCTS # Define a simple state transition function function simple_transition(state::Dict, args::NamedTuple) # In a real scenario, this would call an LLM # For this example, we'll just generate deterministic next states current_step = get(state, :step, 0) new_step = current_step + 1 # Create new state newstate = Dict( :step => new_step, :reward => new_step * 2, # Simple reward function :isterminal => new_step >= args.max_steps ) # LLM would provide progressvalue estimate progressvalue = (new_step / args.max_steps) * 10 return Dict( :newNodeKey => "step_$(new_step)", :newstate => newstate, :progressvalue => progressvalue ) end # Initial state initialstate = Dict( :step => 0, :reward => 0, :isterminal => false ) # Transition arguments transitionargs = (max_steps = 5,) # Run MCTS result = runMCTS( initialstate, simple_transition, transitionargs; maxiterations = 10, explorationweight = 1.0, maxSimulationDepth = 3, horizontalSampleExpansionPhase = 3 ) # Access results println("Root node visits: ", result.root.visits) println("Best next state: ", result.bestNextState) println("Best terminal state: ", result.bestTerminalState) println("High value states: ", result.highValueStateList) ```