Perl: the Markov chain saw PerlMonks

### comment on

 Need Help??
I believe that, under your proposal, votes cast later would be more valuable than votes cast earlier.

Here's a statistical proof. This code tries random orders of voting, keeping track of where in the order your vote is cast, and calculates the average reputations.

```#!/usr/local/bin/perl -w

use strict;

\$| = 1;

my @all = ((5) x 6, (10) x 6);
# twelve voters: six voting up to 5, six voting up to 10

for my \$own (5, 10) {

my \$i = 0;
my @others = grep \$_ != \$own || \$i++, @all;
# remove your vote from the list for now...

my(%r, %n);

for (1 .. 5000) {
my @voters = shuffle(@others);

splice @voters, my \$pos = int(rand @voters+1), 0, \$own;
# put your vote back in, and save the position

my \$rep = 0;
for my \$v (@voters) {
\$rep++ if \$rep < \$v;
}
# calculate the reputation

\$r{\$pos} += \$rep;
\$n{\$pos}++;
# adjust the stats for this position
}

print "\$own:\n";

for (sort { \$a <=> \$b } keys %n) {
printf " %2d  %4d  %4.2f\n", \$_, \$n{\$_}, \$r{\$_} / \$n{\$_};
}
# print position, number of occurences, and average reputation

}

sub shuffle {
my @list = @_;

for (my \$i = \$#list; \$i >= 0; --\$i) {
my \$j = int rand \$i + 1;
@list[\$i, \$j] = @list[\$j, \$i];
}

@list;
}
And some results (your position / occurences / mean reputation):
```5:
0   411  8.77
1   404  8.80
2   409  8.77
3   414  8.74
4   411  8.76
5   452  8.25
6   393  8.36
7   425  8.28
8   409  8.32
9   417  8.31
10   444  8.29
11   411  8.23
10:
0   386  8.17
1   439  8.15
2   420  8.25
3   435  8.14
4   393  8.21
5   407  8.74
6   437  8.73
7   412  8.71
8   444  8.69
9   402  8.67
10   399  8.77
11   426  8.75
Observe that the node's reputation will be closer to what you personally want if you vote later. If you're voting low, a later vote leads to a lower rep; if you're voting high, a later vote leads to a higher rep.

In reply to Re: Re: Choose a maximum for Rep by chipmunk
in thread Choose a maximum for Rep by lemming

Title:
Use:  <p> text here (a paragraph) </p>
and:  <code> code here </code>
to format your post; it's "PerlMonks-approved HTML":

• Are you posting in the right place? Check out Where do I post X? to know for sure.
• Posts may use any of the Perl Monks Approved HTML tags. Currently these include the following:
<code> <a> <b> <big> <blockquote> <br /> <dd> <dl> <dt> <em> <font> <h1> <h2> <h3> <h4> <h5> <h6> <hr /> <i> <li> <nbsp> <ol> <p> <small> <strike> <strong> <sub> <sup> <table> <td> <th> <tr> <tt> <u> <ul>
• Snippets of code should be wrapped in <code> tags not <pre> tags. In fact, <pre> tags should generally be avoided. If they must be used, extreme care should be taken to ensure that their contents do not have long lines (<70 chars), in order to prevent horizontal scrolling (and possible janitor intervention).
• Want more info? How to link or How to display code and escape characters are good places to start.

Create A New User
Domain Nodelet?
Chatterbox?
and the web crawler heard nothing...

How do I use this? | Other CB clients
Other Users?
Others romping around the Monastery: (5)
As of 2023-04-01 05:41 GMT
Sections?
Information?
Find Nodes?
Leftovers?
Voting Booth?

No recent polls found

Notices?