package shef.strategies.uct; import java.util.List; import shef.strategies.uct.UCTGamer; import util.statemachine.MachineState; import util.statemachine.exceptions.GoalDefinitionException; import util.statemachine.exceptions.MoveDefinitionException; import util.statemachine.exceptions.TransitionDefinitionException; /** * UCT player which completes the rollout by perform a random rollout * * @author jonathan * */ public final class UCTSimpleStrategy extends UCTGamer { /** * Random rollout to a terminal state * * @throws MoveDefinitionException * @throws TransitionDefinitionException * @throws GoalDefinitionException */ protected List<Double> completeRollout(final MachineState from, final int fromLvl) throws TransitionDefinitionException, MoveDefinitionException, GoalDefinitionException { MachineState terminal = theMachine.performDepthCharge(from, null); return theMachine.getDoubleGoals(terminal); } @Override public String getName() { return "Basic UCT Gamer"; } }