def select(self, board):
if self.unexplored:<EOL><INDENT>i = random.randrange(len(self.unexplored))<EOL>pos = self.unexplored[i]<EOL>self.unexplored[i] = self.unexplored[len(self.unexplored) - <NUM_LIT:1>]<EOL>self.unexplored.pop()<EOL>return pos<EOL><DEDENT>elif self.bestchild:<EOL><INDENT>return self.bestchild.pos<EOL><DEDENT>else:<EOL><INDENT>return PASS<EOL><DEDENT>
select move; unexplored children first, then according to uct value