-
Notifications
You must be signed in to change notification settings - Fork 142
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Make Free Agency and Draft Values more team specific in hockey+football #380
Comments
Thanks, this is probably the next big thing I want to add. The idea is pretty simple... |
Getting it kind of working.... I'm finding that the blended team+player value works well for draft (sometimes take "best prospect available" even if it's a bad fit) but for free agency just going straight team value works better. Some of that could be because FBGM has the draft first, unlike the NFL, so in free agency it's more "fill in the holes" while in the draft there's more flexibility. And of course you still wind up with poorly constructed teams, because I haven't gotten to any of these scenarios yet (and not sure I will in the initial version):
Much more testing needed... |
https://github.com/zengm-games/zengm/tree/team-value-draft-fa if you're curious... I did this test in the worker console on a 100 year sim:
That counts the total number of seasons by top 10 QBs spent not starting (either on the bench or FA). master: 58 years on bench, 19 years in FA team-value-draft-fa: 15 years on the bench, 3 years in FA Promising start... |
wow i missed your updates here. This is exciting! I'm terrified by something taken to the 40th power (can u just take the log and multiply by 40 if it's positive? thx). It's also not clear how you're handling QB2 or whatever? I didn't see exponentials. Although something like, where you just divide by a half for every position after the last one.
|
https://github.com/zengm-games/zengm/blob/team-value-draft-fa/src/worker/core/team/ovrByPosFactory.ts#L74-L87 is basically that... I pretty arbitrarily set the coefficients there, not sure how optimal it is, I should probably play around with it some more. Also it uses the "recommended amount of players by position" to bump it up even more when you cross that threshold, otherwise it was difficult to tune the balance between signing the correct number of backups at each position. https://github.com/zengm-games/zengm/blob/team-value-draft-fa/src/worker/core/freeAgents/getBest.ts - this function also got a lot simpler, I got rid of all the hacky "don't forget to sign a kicker" code. The |
yeah I hadn't really reasoned through all the FA logic. As the name of my file (how to select) is called, I really started with it as a drafting idea and did the lazy FA extension. neat! If you're ever worried about parameter tuning. Just uhh... make it a free variable, defined a criteria and sample random numbers to see what works best. You already have an okay criteria with the "top 10 QBs on bench or FA". Random search is tough to beat. In less than a hundred trials, even Google's fancy initial hyperparameter optimizer didn't beat random sampling (figure 6 here), and there's this brutal set of results, where doing random search with 2x as many iterations as some fancy optimizer is pretty much identical in final performance. |
Just opening an issue for this contribution.
Currently teams only use player value to determine who to draft or who to sign. Instead, I think they should look at some blend of "individual value" and "team value". In positionless BBGM, those are the same thing, but with position groups, they're not.
IMO it should be something like
value = team_improvement + a*player_value
for some constanta
(it was 0.025 in my experiments below).Following the example in https://github.com/nicidob/fbgm/blob/master/how_to_select.ipynb
The key ingredients are
The text was updated successfully, but these errors were encountered: