http://www.perlmonks.org?node_id=41341

Looking at Voting/Experience System, it seems that there are two parts to XP gains from votes - 25% per vote, and 1/6 of total votes if all votes given in a day, but only up to level 5 (Monk).

Saints get 40 votes, the most of anyone. At a 25% for 1 XP, that means that on average, a saint who finds 40 things to vote on in a day will gain about 10 XP. Which is not significant compared to the amount of XP needed.

Even a monk with 20 votes will, on average, gain 5 XP, needing 300 to travers the level, meaning that if you vote all of your votes Monday thru Friday and both days of the weekends you can go up a level in about 3 months. Assuming you find 20 worthwhile (good or bad) posts everyday.

This does not seem to be a big deal. At the worst it means that you are reading every post and contributing to PM via evaluating nodes instead of a more direct addition of posts, but that's not a major sin.

=Blue
...you might be eaten by a grue...

Replies are listed 'Best First'.
RE: X-treme P-ondering
by Dominus (Parson) on Nov 13, 2000 at 21:32 UTC
Yes, and that 5XP a day from voting looks even smaller when you consider that the same person is also getting a free 2XP every day just for logging in.

On a related metter, a couple of days ago I got to wondering how big the voting bonus really was. An Acolyte gets 8 votes per day, so it's easy to see that the Acolyte can expect to acquire an extra 2 XP from casting votes. (Not counting an additional bonus of 2 XP for using them all up.) But the 2XP is really a 25% chance of 1 XP for each vote, so the Acolyte might be lucky and get more XP, or unlucky and get none at all.

```my \$n = shift || 8;
my \$p = shift || .25;

for (\$i=0; \$i<=\$n; ++\$i) {
my \$prob = choose(\$n,\$i) * (\$p**\$i) * ((1-\$p)**(\$n-\$i));
\$x += \$i * \$prob;
\$tp += \$prob;
printf "%2d %.4f\t(%.4f)\n", \$i, \$prob, 1-\$tp;
}
print "Expected: \$x\n";

sub choose {
my (\$n, \$r) = @_;
return 0 if \$n < 0 || \$r < 0 || \$r > \$n;
return 1 if \$r == 0 || \$r == \$n;
return choose(\$n-1,\$r-1) * \$n / \$r;
}
(THe program will run When you run this, you can give it an argument which is the number of votes you get per day; it defaults to 8. Then it prints out a table showing the probability of getting each possible number of XP:

``` 0 0.1001       (0.8999)
1 0.2670       (0.6329)
2 0.3115       (0.3215)
3 0.2076       (0.1138)
4 0.0865       (0.0273)
5 0.0231       (0.0042)
6 0.0038       (0.0004)
7 0.0004       (0.0000)
8 0.0000       (0.0000)
Expected: 2