• Move 1: 1 point
  • Move 2: 1 point
  • Move 3: 4 points
  • Move 4: 4 points
  • Move 5: 1 point
  • Move 6: 1 point
  • Move 7: 4 points
  • Move 8: 1 point
  • Move 9: 4 points
  • Move 10: 6 points
  • Move 11: 7 points
  • Move: 12: 8 points
  • Move 13: 7 points
  • Move 14: 7 points
  • Move 15: 7 points
  • Move 16: 7 points
  • Move 17: 7 points
  • Endgame Bonus: 10 + 10 + 7 + 7 + 2 == 36 Endgame Bonus
  • Total Score: 113

Note that while this is “optimal” placements, it is not the best sequence in-game. For example, sequence 8, 9, 10, 11, and 12 are going backwards. I’m not sure how to rewrite my program to account for the top-down placements per round however. So there’s still work to be done.

This was a relatively simple brute-force bot that exhaustively checked all possibilities for the best possible placement. So I’m pretty sure I’ve go the best placement here. Well, maybe it was more “Dynamic Programming”. I worked backwards: I calculated all possible 17-placement endgames (there’s only 1.081 million of them, aka 25-choose-17), and then back-calculated all possible moves back to move#1.

Then I calculate from move#1 forward, choosing the best endgame move now that all possible endgames have been searched. Chess-programming fans would know this as a “Tablebase” approach.


EDIT: Searching the ~60 million possible optimal games proved to be difficult, as my computer ran out of RAM at 2GB (ummm… I got a 32GB system here. WTF Windows?). I’m sure there was some compiler flag I messed up on.

But I did a few heuristics and came up with the following board:

This is a 17-placement across 5 rounds with as many placements on the “top” of the board that I could find with my program.


EDIT:

  • Optimal 11 Placement: 58 Points
  • Optimal 12 Placement: 63 Points
  • Optimal 13 Placement: 73 Points
  • Optimal 14 Placement: 82 Points
  • Optimal 15 Placement: 91 Points
  • Optimal 16 Placement: 99 Points
  • Optimal 17 Placement: 113 Points
  • Optimal 18 Placement: 123 Points
  • Optimal 19 Placement: 136 Points
  • Optimal 20 Placement: 147 Points
  • Optimal 21 Placement: 163 Points
  • Optimal 22 Placement: 174 Points
  • Optimal 23 Placement: 192 Points
  • Optimal 24 Placement: 211 Points
  • Optimal 25 Placement: 240 Points

  • dragontamer@lemmy.worldOP
    link
    fedilink
    English
    arrow-up
    4
    ·
    edit-2
    10 months ago

    I didn’t try very hard to find the best sequence yet, but this is much more playable.


    I’m currently estimating about 62-million sequences that are optimal. I’ll likely have to search all 62 million of them to find the “most playable” optimal 113-score game.

    This is still small enough to brute force on a single-core in a few seconds. But I’m too tired to keep programming today.

    This above sequence is theoretically possible in 6-rounds of play.