2009-05-05

Search Strategy

I have thought about search strategies and have realised there are concepts that should be taken into consideration:
  • Aiming for Unavoidable Outcomes
    When choosing a move, the best path is one in which the opponent cannot do any legal move to avoid a certain outcome (i.e. you win). Permutation analysis can show at what point an unavoidable outcome occurs, and allows you to choose that path.

  • Draws
    When attempting to search for the best move, there may be a choose between a possible win/possible loss, or a unavoidable-draw. This is where the notion of Game within a Series comes into play. If a draw is helpful, then an unavoidable-draw is a good option.

  • Multi-paths
    Most probably, multiple paths that lead to good possible outcomes may exist. On paper, these paths are equally good, or bad depending on what the opponent does.

  • Trick Paths
    However, some paths may lead to board configuration where your intended path is obscured, and might lead them to making the incorrect move - which is the path to your desired outcome. Calculating obscurity is extremely subjective, and also needs to incorporate opponent play style and opponents knowledge of configurations.

  • Subset-branch searches
    Doing exhaustive (brute force) searches earlier in the game require billions of permutations, and at a certain point become effectively impossible in any realistic amount of time. However, if the idea for a program to play the game, then it can effectively limit every second branch to a very small subset of moves, or perhaps even only a couple of moves, which are effectively the move that it would play in that given configuration. This would allow calculations for perhaps up to 10 moves from the end, rather than six - in the same timeframe (and permutation count). Ten moves from the end of a 16 move (spaces) game means the brute force calculations can commence only three turns each into the game.

No comments:

Post a Comment