Linus and Lucy
23-12-2006, 02:15
The Free Objectivist Republic of Linus and Lucy is hosting the first-ever Baseball World Series. Details are still to be worked out, but nations that are interested in principle in participating are encouraged to notify Linus and Lucy as soon as possible.
OOC:
Here's how I'm planning on having it work: Each nation will have team stats assigned from a computer program I'm writing, and participating nations may role-play their games if they want, though it is not necessary--results will be determined from a scorinator I'll also write, and RPs probably should match at least the end score of the game.
The format depends on how many teams sign up initially; as it grows in popularity, it'll go to a fixed format with qualifying rounds and whatnot.
Anyway, here's how the stats generator and scorinator work. I'm always open to suggestions on how to improve them or the World Series itself.
STATISTICS GENERATION:
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.
GAMEPLAY:
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.
OOC:
Here's how I'm planning on having it work: Each nation will have team stats assigned from a computer program I'm writing, and participating nations may role-play their games if they want, though it is not necessary--results will be determined from a scorinator I'll also write, and RPs probably should match at least the end score of the game.
The format depends on how many teams sign up initially; as it grows in popularity, it'll go to a fixed format with qualifying rounds and whatnot.
Anyway, here's how the stats generator and scorinator work. I'm always open to suggestions on how to improve them or the World Series itself.
STATISTICS GENERATION:
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.
GAMEPLAY:
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.