improvements to seeding boards#411
Conversation
These edits are from the game-seeding-improvements branch. Created a new branch because in the other branch I merged master into the feature branch. This implements improvements in seeding the games but does not implement anything relating to using the number of games played between players to assign countries on different parts of the board (no repeat next door neighbor games). SeedMethod.MATRIX is meant to supersede SeedMethod.RANDOM since it handles assigning multiboarders and blocked player pairs before doing anything else. Multiboarders are assigned to multiple boards first then pulled out of the pool of players to assign. Blocked player pairs likewise get assigned to different boards first.
There was a problem hiding this comment.
Looks good. Worth considering though. View full project report here.
| print("bin entries: ", bin_entries) | ||
| except: | ||
| print("no bins") | ||
| if stop_adding_pairs == True: |
There was a problem hiding this comment.
| if stop_adding_pairs == True: | |
| if stop_adding_pairs is True: |
True is a singleton data type, so should be compared using is. Read more.
|
Peter McNamara has also been looking at board seeding. He provided the attached (standalone) code, which he says he thinks should do a better job at seeding bigger tournaments |
Per his comments there's a very optimistic assumption to how he does this: "It assumes every player plays every round and seeds the rounds one round at a time." Also per his comments it doesn't solve multiboarders. So would need a lift to address those two missing pieces. I had considered the approach of assigning incremental players based on where they increase the fitness score the least, but I wasn't sure if there was going to be sensitivity to the ordering of how people get picked in that process that could cause skew with some of the pre-player-swapping boards being really highly optimized and then some boards being crap because they just got stuck with whomever was left. On quick look I think but am not 100% sure he's doing some legwork to address that. |
These edits are from the game-seeding-improvements branch. Created a new branch to merge in to master, because in the other branch I did a merge of master into the feature branch to get it caught up when I should have rebased instead.
This implements improvements in seeding the games but does not implement anything relating to using the number of games played between players to assign countries on different parts of the board (no repeat next door neighbor games).
SeedMethod.MATRIX is meant to supersede SeedMethod.RANDOM since it handles assigning multiboarders and blocked player pairs before doing anything else. Multiboarders are assigned to multiple boards first then pulled out of the pool of players to assign. Blocked player pairs likewise get assigned to different boards first.