|Perl: the Markov chain saw|
Hello, all. tye has been taking a good, long, look at XP, voting, the relationship between them, the problems caused by the current relationship, and how to best solve them, for quite a while, and this is his plan, as posted on the wiki. It seems to have passed review by the gods, and I thought it was time to ask for feedback from you-all. I told him that it was probably time to post it here, and he said "feel free", so I am. Remember, this is not my work. If you want somebody to thank, thank tye. (If you want somebody to blame, blame ar0n.) Without futher ado:Here is my take on how the voting system should become. Much of this I worked out talking to vroom. Some details I finalized on my own. The main changes are:
Once each day, all monks are given their daily allocation of votes. So, once you have reached Level 2 (Novice -- see below) and waited upto one day for the next batch of votes to be given out, you can vote on nodes.
If you have any unused votes, then the XP Nodelet will appear telling you how many votes you have left and, on most nodes, you will see radio buttons labeled "++" and "--". You use these radio button to vote on the node, then press the "Vote" button toward the bottom of the page to cast the vote(s).
Use these votes wisely! Up-vote (vote "++" on) nodes that you appreciate and the author may gain experience points (XP) and you may gain XP for helping to rate nodes. You can down-vote (vote "--" on) nodes that you feel deserve it and the author may lose experience points. The details are below. (Also see vote-related preferences in user settings.)
You will receive a certain number of votes each 24-hour day. The higher your level, the more votes you receive. As you go up in level, you may also receive special powers.
All details are subject to change as we see necessary.
Other ways to alter XP:
There is roughly a 1/3 chance of you gaining 1 XP when someone up-votes one of your nodes. The odds increase the higher your node's reputation is "above average," but this effect fades as your node gets older (returning the odds to closer to 1/3 even if your node's reputation has become quite high).
There is roughly a 1/3 chance of you losing 1 XP when someone down-votes one of your nodes. The odds decrease the higher your node's reputation is "above average". The odds also decrease the older your node is.
For the first week after you post a node, the odds do not change (based on node age, but they may change as your node's reputation changes or as $NORM changes -- see below). This is called $week==1. At the second week, the odds of a down-vote resulting in you losing 1 XP reduce quite a bit (by about half). Each week after that, the odds of losing 1 XP when your node is down-voted approach zero while the odds of gaining 1 XP when your node is up-voted approach 1/3 (that is, your node's reputation has less effect on raising the odds above 1/3).
For each of your nodes, the first up-vote cast and the first down-vote cast have special odds.
Odds of gaining 1 XP when your node is up-voted:
First up-vote: Always Later up-votes: (2+$bonus/$week) / 6
Odds of losing 1 XP when your node is down-voted:
First down-vote: Never Later down-votes: 1 / (3+$bonus+$decay) (Except that the odds are set to 0 when $bonus is 4.)
Where the variables are defined as: