Skip to content

improvements to seeding boards#411

Open
jasonmastbaum wants to merge 3 commits intomasterfrom
issue-355
Open

improvements to seeding boards#411
jasonmastbaum wants to merge 3 commits intomasterfrom
issue-355

Conversation

@jasonmastbaum
Copy link
Copy Markdown
Collaborator

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.

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.
Copy link
Copy Markdown

@code-review-doctor code-review-doctor Bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Looks good. Worth considering though. View full project report here.

Comment thread visualiser/tournament/game_seeder.py Outdated
print("bin entries: ", bin_entries)
except:
print("no bins")
if stop_adding_pairs == True:
Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
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.

@UEWBot
Copy link
Copy Markdown
Owner

UEWBot commented Mar 27, 2026

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
boardseeder.py

@jasonmastbaum
Copy link
Copy Markdown
Collaborator Author

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 boardseeder.py

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.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants