Advise on how to improve my Breakthrough AI? Breakthrough

4 replies. Last post: 2007-09-21

Reply to this topic Return to forum

Advise on how to improve my Breakthrough AI?
  • Eric Idema at 2007-09-20

    I just released Breakthrough on my website at:

    http://vying.org/games/breakthrough

    I'm fairly new to the game (I haven't even played here at LG, yet, though I'm going to join a tournament now), and I think my AI is probably pretty weak. I'd love it if some more experienced players could give me some suggestions for improving its play.

    Right now, I think the AI is too focused on capturing and a count of pieces remaining. I think it might be better to look at squares that are defended, and how complete a wall they form…

    Thanks,

    Eric

  • MichaeI X at 2007-09-21

    Well, Vegabot, claiming to be smarter than Capellabot, seems not to count the material at all, which makes her very vulnerable.

    In general, be defensive: when exchanging pieces, avoid being the first to capture, because the second one usually ends in a better position.

    Don't advance too fast. Rather keep the change to get defending pawns to keep the balance until opponent has no choice but to start the exchange.

    But dont be too late, when it is suddenly just a count of moves how long it will take…

    The trick is being the first to realize when to switch from defending to the final race.

    Now it's up to you, to translate that into AI.

  • graff at 2007-09-21

    Overall, I think it's difficult to build a good Breakthrough AI because of just how far a good player can look ahead to the end of the game. I've managed to see a win in about 13-15 moves but I think Ray's best is in the range of 30-40 moves.

  • Eric Idema at 2007-09-21

    Yeah, I'm finding it quite difficult to improve the AI. It's hard to balance objectives and know when to switch between them. It seems like there are phases to the game, as you say, and knowing when to switch from building strong formations to capturing or to racing is quite difficult.

    The best solution would be to search very deeply, but I'm tied down by my goal of having all the AI bots play very quickly. The board is fairly stable, so one could probably divide the board and search more deeply over a smaller subset of the pieces…

    I also wonder if it might be a good idea to create a lookup table for various piece formations. For example, score all possible 3x3 formations, and use the lookup table to get a better eval function. If the lookup table is built with a deep search, it'd effectively extend every search. This approach worked fairly well for SiriusBot's Othello play.

    I'm trying to experiment with path finding to detect when an open path exists (and to exploit it). So far the results have been rather “meh”, but I'm hoping I can improve them.

    I'm also wondering if it'd make sense to factor in what I'm calling board coverage. For each piece, look at how many squares it could *potentially* reach (without taking into account enemy pieces). Perhaps, sum the coverage of all pieces to get an idea of how strong your defense is. Or, maybe score each square by how many pieces could potentially reach it.

    Thanks for the tips so far, btw. : )

Return to forum

Reply to this topic