Tangled Up In Blue
09-04-2006, 18:35
If you're interested in participating in the First NS Baseball World Series, sign up here. Please state your interest and also provide a roster of twelve players: four pitchers and one each at each of the other positions (there is no designated hitter in this edition; perhaps in later editions if interest and outcomes demand it). Signups will end at midnight CDT April 18, 2006 real-world time.
The tournament will consist of round-robin pool-play (the number of pools and teams per pool depend on how many nations participate--later editions may have stricter qualifying rules), and the top two (again, this may change depending on the number of participants) from each pool will participate in a best-of-seven tournament.
OOC: The extended signup period is to give me time to develop the scorination software...the algorithm I'm using is rather complex, and the software will likely work by performing a statistical play-by-play simulation of an entire game. The precise algorithm will be posted here later today or tomorrow for those who are interested. I also have a plan for rotating hosts and qualification based on prior performance; if this tournament works out well and there is interest in continuing the series, then I will also describe those in detail.
Tangled Up In Blue
09-04-2006, 21:10
OOC: OK, here's how the scorination system will work.
There are two parts--a stats generator and a game simulator. The stats generator generates normally-distributed player statistics with a mean equal to the most recently concluded MLB season's leaguewide mean for that particular statistic. There is one mean calculated solely for pitchers and one mean calculated for everyone else. The relevant statistics are:
On-Base Percentage
Slugging Average
Batting Average
Walk Percentage
Strikeout Percentage
Fielding Percentage
You will notice that all but one of the statistics are offensive statistics. This will change with future versions of the scorinator, but for now I'm keeping it (relatively) simple. Furthermore, pitching ability is totally irrelevant--all pitchers are assumed to be of equal ability The only variation among pitchers (besides fielding percentage, which is a defensive stat ALL players have) is offensive capability.
The stats generator will also generate an RBI stat for each player; this is because, while RBIs are not a stat that will directly affect gameplay, after team-player stats have been generated they will be returned to the human-player (nation) to allow him/her/it to decide on a batting order--and RBIs are often useful in deciding who you might want towards the middle of your lineup.
Since each team has four pitchers, the pitchers will be rotated each game.
Now, how the stats generator works:
1. Generate two uniformly-distributed random numbers on the interval (0, 1].
2. Put the pair of numbers through a Box-Muller Transform to generate a pair of normally-distributed random numbers.
3. Repeat steps 1 and 2 until a total of eight normally distributed numbers (four pairs) are assigned.
4. Scale these numbers so that the mean is equal to the mean of the statistic being calculated for all non-pitching players in Major League Baseball.
5. Assign the statistics to the respective players.
6. Repeat steps one through five for each of the four pitchers.
7. Subtract the nation's income tax rate from 100, and divide the result by 100.
8. Divide the nation's per-capita GDP by 500,000.
9. Add the results from steps 7 and 8. This is the nation's "baseball madness".
10. Divide the base-ten logarithm of the nation's population by 9 and multiply this by the nation's "baseball madness". This is the nation's "talent pool".
11. For each statistic per player, multiply (if higher numbers are good) or divide (if lower numbers are good) that statistic by the nation's talent pool. This will produce the final set of statistics.
And the game simulator:
1. Pick a uniformly-distributed random number on the interval [0, 1].
2. If the number is less than or equal to the player's On-Base Percentage, continue to step 3; otherwise, go to step 9.
3. Divide the player's Slugging Average by his On-Base Percentage; this is his average number of bases per times on base.
4. Generate two uniformly-distributed random numbers on the interval (0, 1].
5. Put the pair of numbers through a Box-Muller Transform to generate a pair of normally-distributed random numbers.
6. Pick one of the numbers produced in step 5 and scale that so that the mean of the distribution is equal to the result of step 3.
7. Round the result of step 6 so it is an integer between 1 and 4, inclusive. This is the number of bases the player advances.
8. Advance all other baserunners by the same number of bases, incrementing the team's score if necessary. Then go to step 23.
9. If the number is greater than the player's On-Base Percentage and less than or equal to the sum of the On-Base Percentage and the player's Walk Percentage, go to step 10; otherwise, go to step 11.
10. The player has received a base on balls. Move the player to first base and advance all other baserunners by one base, incrementing the team's score if necessary. Then go to step 23.
11. If the number is greater than the sum of the player's On-Base Percentage and Walk Percentage and less than or equal to the player's Strikeout Percentage, go to step 12; otherwise, go to step 13.
12. The player has struck out. Increment the number of outs by one, ending the half-inning if necessary. Then go to step 23.
13. The player has hit a fly ball, line drive, or ground ball. Pick a fielding position at random.
14. Pick a uniformly-distributed random number on the interval [0, 1].
15. If the number is less than or equal to the chosen fielder's fielding percentage, go to step 16; otherwise, go to step 17.
16. The player is out on a fly ball, line drive, or ground ball catch. Increment the number of outs by one, ending the half-inning if necessary. Then go to step 23.
17. The player has reached a base. Divide the player's Slugging Average by his Batting Average; this is his average number of bases per hit.
18. Generate two uniformly-distributed random numbers on the interval (0, 1].
19. Put the pair of numbers through a Box-Muller Transform to generate a pair of normally-distributed random numbers.
20. Pick one of the numbers produced in step 5 and scale that so that the mean of the distribution is equal to the result of step 17.
21. Round the result of step 20 so it is an integer between 1 and 4, inclusive. This is the number of bases the player advances.
22. Advance all other baserunners by the same number of bases, incrementing the team's score if necessary.
23. Repeat steps 1-22, iterating through the batting order, until the hitting team has received three outs.
24. Switch teams.
25. Repeat steps 1-24 until each team has been up to bat nine times.
26. If one team has more runs than another, that team is the winner. Otherwise, repeat steps 1-24 until one team has more runs than another at the end of one of the extra innings; then that team is the winner.
Milchama
09-04-2006, 21:53
I'm sorry but there are two important parts in baseball and those are pitching and hitting and if you're abandoning one of those parts then your not being true to baseball.
As a baseball purist (or as much of a baseball purist as a teenager can be) I cannot condone your lack of pitching statistics. Although the rest of your scorinator looks good because it's statistic based and insanely complicated to use which are essentials in a baseball scorinator.
Tangled Up In Blue
09-04-2006, 22:03
Calm down :D
All that and more will be added in future versions; I'm just taking it one step at a time.
Anyway, if you have suggestions on how to improve it for future versions (including how to work in other statistics), then I'll start an OOC thread and we can discuss it there. One thing that I'd really like to add (but won't for a while because of the insane data processing capabilities needed) is situational statistics--i.e. batting average on 2 and 2 with two out and down by one run against left-handed pitchers in roofless stadiums with wind speed at least twelve miles an hour.
But, none of this will happen unless there's sufficient participation in the first World Series to justify my effort in improving it for future ones :D