Originally posted by revo
View Post
Announcement
Collapse
No announcement yet.
Announcement
Collapse
No announcement yet.
CBS Franchise Baseball
Collapse
X
-
on the topic of finding the optimal order to play other teams in a league. what you really want to maximize is your summed up percentage chance of winning. it was bothering me that just using the pitcher values was giving me some matchups against better teams in leagues that i could demonstrate were non-optimal. i figured it had to do with the other values (batting and/or relief pitching).
so, i collected data over the last two days from lots of contests, writing down my values for hitting, starting pitching, and relief pitching, and the same for my opponent, along with the CBS estimate of percentage chance of winning. i tried plotting various combinations of the values against the winning percentage. the best correlation is if you use all three of hitting and the two pitching values, and take the difference of your own (added together) and your opponents (added together). the correlation is significantly worse if you leave off any of the three (relief pitching surprised me a bit!).
the attached plot shows the result. it looks kind of like a hysteresis curve. you'd need a high order polynomial to fit it (or something like a tension spline), but if you look at the center part, it's fairly linear. also drawn on the attached plot is a simple linear expression: win% = 50 + 25 * difference; which is a reasonable fit to that middle part (you have to account for the "tails" by limiting things at 0 and 95).
so i coded this up - code at bottom. it gives a much better solution when you have one or two opponents in the league that you can't find a 95% chance for (tougher opponents). it does require you to enter a bit more information.
it's not the absolutely optimal solution - for that you would have to iterate over all the possible combinations of 18 opponents, but 18! ~ 6.4e15 which takes too long. so i just go through the opponents once, then do it again. good enough for government work...
Code:#!/usr/bin/python -u import itertools my_team_batting = 7.30 my_team_relief_pitching = 6.42 my_team_starting_pitching = [ 9.34, 8.68, 7.89, 6.32, 8.02 ] starting_pitcher_slot = 1 other_team_batting = [ 6.41, 6.01, 6.03, 5.82, 5.72, 5.24, 5.37, 5.33, 5.70 ] other_team_relief_pitching = [ 6.13, 5.71, 5.33, 5.52, 4.99, 5.33, 3.86, 4.28, 4.02 ] other_team_starting_pitching = [ [7.63, 6.05, 6.57, 6.07, 5.84], [5.80, 5.44, 5.48, 5.94, 5.57], [4.43, 5.85, 7.29, 7.22, 6.72], [5.96, 6.02, 7.15, 7.05, 5.07], [5.89, 5.79, 5.44, 5.13, 4.02], [6.70, 5.68, 5.42, 5.42, 4.98], [6.49, 6.40, 5.96, 5.92, 5.35], [4.97, 8.62, 6.35, 4.35, 5.68], [5.65, 6.49, 5.68, 5.27, 6.33] ] other_team_names = ["Chanvi", "Stingers", "Cubs", "angels", "Gashouse", "tigers", "Elite", "Daleys", "sloths"] # # really should do this like: # teams = [ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17 ] # and only iterate once, to find the best solution. but 18! ~ 6.4e15, and # takes too long. so make it go through each other GM once (9! is only # 362880 and executes in a few seconds), then decrement the starting pitcher # slot and go through once more again. not optimal, but takes less than a # hubble time to run, and gives a pretty good solution. # teams = [ 0, 1, 2, 3, 4, 5, 6, 7, 8 ] highest_win_percentage = 0.0 for order in itertools.permutations(teams): current_win_percentage = 0 for ii in range(len(order)): pitcher_slot = (starting_pitcher_slot-1+ii)%5 my_total = my_team_batting + my_team_relief_pitching + my_team_starting_pitching[pitcher_slot] other_total = other_team_batting[order[ii]] + other_team_relief_pitching[order[ii]] + other_team_starting_pitching[order[ii]][pitcher_slot] win_percentage = 50 + 25 * (my_total - other_total) if win_percentage > 95: win_percentage = 95 elif win_percentage < 0: win_percentage = 0 current_win_percentage += win_percentage if current_win_percentage > highest_win_percentage: highest_win_percentage = current_win_percentage highest_order = order line = "%5.2f: " % highest_win_percentage for ii in range(len(highest_order)): line = line + other_team_names[highest_order[ii]] + " " print line starting_pitcher_slot -= 1 highest_win_percentage = 0.0 for order in itertools.permutations(teams): current_win_percentage = 0 for ii in range(len(order)): pitcher_slot = (starting_pitcher_slot-1+ii)%5 my_total = my_team_batting + my_team_relief_pitching + my_team_starting_pitching[pitcher_slot] other_total = other_team_batting[order[ii]] + other_team_relief_pitching[order[ii]] + other_team_starting_pitching[order[ii]][pitcher_slot] win_percentage = 50 + 25 * (my_total - other_total) if win_percentage > 95: win_percentage = 95 elif win_percentage < 0: win_percentage = 0 current_win_percentage += win_percentage if current_win_percentage > highest_win_percentage: highest_win_percentage = current_win_percentage highest_order = order line = "%5.2f: " % highest_win_percentage for ii in range(len(highest_order)): line = line + other_team_names[highest_order[ii]] + " " print line
"Instead of all of this energy and effort directed at the war to end drugs, how about a little attention to drugs which will end war?" Albert Hofmann
Comment
-
Just had this line against a Pro Team...
Pos Name REC YDS AVG FUM TD
WR1 J. Cribbs, CLE 18 433 24.1 0 7
That's just ridiculous.Considering his only baseball post in the past year was bringing up a 3 year old thread to taunt Hornsby and he's never contributed a dime to our hatpass, perhaps?
Comment
-
So, I just had another draft in Football, and I'm about 90% certain I just drafted a play I already owned. The other play that was available in the draft, I already own.
If you use the play spin wheel to get plays, be careful before drafting plays...you might already own them.
A bit bogus, if you ask me.Considering his only baseball post in the past year was bringing up a 3 year old thread to taunt Hornsby and he's never contributed a dime to our hatpass, perhaps?
Comment
-
If you are offered a play you already have, it'll be a higher level version of the play. That may not make it worth taking, of course, but it's not a total waste.In the best of times, our days are numbered, anyway. And it would be a crime against Nature for any generation to take the world crisis so solemnly that it put off enjoying those things for which we were presumably designed in the first place, and which the gravest statesmen and the hoarsest politicians hope to make available to all men in the end: I mean the opportunity to do good work, to fall in love, to enjoy friends, to sit under trees, to read, to hit a ball and bounce the baby.
Comment
-
Originally posted by mjl View PostIf you are offered a play you already have, it'll be a higher level version of the play. That may not make it worth taking, of course, but it's not a total waste.Considering his only baseball post in the past year was bringing up a 3 year old thread to taunt Hornsby and he's never contributed a dime to our hatpass, perhaps?
Comment
-
huh. In my experience it has been, but maybe that's because I hadn't bought any plays in a while so it happened to be higher level.In the best of times, our days are numbered, anyway. And it would be a crime against Nature for any generation to take the world crisis so solemnly that it put off enjoying those things for which we were presumably designed in the first place, and which the gravest statesmen and the hoarsest politicians hope to make available to all men in the end: I mean the opportunity to do good work, to fall in love, to enjoy friends, to sit under trees, to read, to hit a ball and bounce the baby.
Comment
-
Originally posted by Pogues View PostSo, I just had another draft in Football, and I'm about 90% certain I just drafted a play I already owned. The other play that was available in the draft, I already own.
If you use the play spin wheel to get plays, be careful before drafting plays...you might already own them.
A bit bogus, if you ask me.
Comment
-
my silly numbers of the day:
Pennington 54 for 68, 926 yards, 1 int, 9 td
Stevens 18 rec, 305 yd, 3 td
Hunter 14 rec, 271 yd, 4 td
Patterson 14 rec, 224 yd, 2 tdIn the best of times, our days are numbered, anyway. And it would be a crime against Nature for any generation to take the world crisis so solemnly that it put off enjoying those things for which we were presumably designed in the first place, and which the gravest statesmen and the hoarsest politicians hope to make available to all men in the end: I mean the opportunity to do good work, to fall in love, to enjoy friends, to sit under trees, to read, to hit a ball and bounce the baby.
Comment
-
Vince Coleman is averaging 14 hr/162 games for me for some reason. (And only 36 sb/162, although I guess .22 sb/game is good by the sim's standards.)In the best of times, our days are numbered, anyway. And it would be a crime against Nature for any generation to take the world crisis so solemnly that it put off enjoying those things for which we were presumably designed in the first place, and which the gravest statesmen and the hoarsest politicians hope to make available to all men in the end: I mean the opportunity to do good work, to fall in love, to enjoy friends, to sit under trees, to read, to hit a ball and bounce the baby.
Comment
-
Originally posted by mjl View PostVince Coleman is averaging 14 hr/162 games for me for some reason. (And only 36 sb/162, although I guess .22 sb/game is good by the sim's standards.)Considering his only baseball post in the past year was bringing up a 3 year old thread to taunt Hornsby and he's never contributed a dime to our hatpass, perhaps?
Comment
-
Originally posted by mjl View PostVince Coleman is averaging 14 hr/162 games for me for some reason. (And only 36 sb/162, although I guess .22 sb/game is good by the sim's standards.)
On my FB team, I decided I'd go with the "Legend Collection" strategy, where you add certain 3-to-5 Legends to get Level VI badges once achieved. The easiest collection is the "Men of Steal" where all five legends are just 3 coins apiece. I went with Roger Bresnahan, Joe Tinker and Lou Brock, and upon adding all three, received a Level VI Speed badge, which I assigned to Brock.
Through 772 games, Brock has just 167 SBs, or also 0.22 SB/game, despite a SB rate of 22.7% and further synergies with the badge/manager. Like Coleman, Brock once had 100+ SBs in a season, so I naturally expected triple digit SBs per 162 games, and he's not close to that. I had MIchael Bourn starting out, and he was at 0.25 SB/game without such huge steal percentages as Brock.
OTOH, as I reported, my Big Mac is averaging 0.34 HR/game, so he's on a "legendary" pace when it comes to HRs.
I just don't get it.
Comment
Comment