- 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
I’ve added a new placement based on a few more heuristics.
The newest placement is theoretically possible in 5 rounds, creates the maximum 113 score, and is biased to have as many placements as “high” up as possible (row1 favored most, row2 next favored, etc. etc.)