Quote from KenderMar 09, 2011 - 20:50:03
So, our challenge is to arrange these three variables in a formula in such a way that everyone is happy:
- p_solved - Maximum number of "points" on a site divided by the users actual "points" on the site. (some sites use challs as points, some have their own points system, others use rank, etc.)
- base_score - Manually adjustable per-site fixed number used for weighting in rare cases.
- avg_solved - The average of p_solved of all the WeChall users linked to the site.
Here's a starter:
2000 * pow(p_solved,2) * 1/pow(1-avg_solved,2)
This gives for example:
1
2
3
4
5 | site first last total
SPOJ 0.65 2722.09 2847989
HackThisSite 3.50 710.25 36401.12
Hax.tor.hu 3.28 326.26 8238.82
first: points for 1st solve, last: points for last solve, total: total points when site complete |
Which is still a long way from perfect, but you catch my drift ;)
That is actually looking considerably better to me. Thank you for considering the points raised in this thread.
I didn't notice where that '2000' came from. Is that the base_score you mentioned?
Again, I understand your hesitance about using user-voted difficulty but I have to stress that I consider the 'avg_solved' a pretty bad way to measure difficulty. I think this is because site age (and probably 'time that it has been linked to WeChall') is a factor, maybe a large one. The older the site the longer people have had to find the site and the longer people have had to solve the challenges. Thus, if used as a measure of difficulty, 'difficulty' is going to be skewed downward for older sites. That is why Ma's and Electrica are (absurdly in my opinion) mid-range difficulty judged by average solved.
Haxtor, I think, is by the same formula most difficult not because it is the most difficult, though it has some tough problems, but because of its linear design. You get locked at a challenge until you solve it, which is quite different from most sites. And you don't necessarily get locked at a challenge that is harder than those unsolved ones above it. Sometimes the next one is easier than the one you just solved. My guess is that a change to Hax.tor's structure would radically change its percentage solved.
Using 'avg_solved' also skews difficulty upwards for large sites, since the simple fact that there are more challenges means it takes longer to get a high percentage solved, and chances are fewer people persist long enough to get the high solution. Neither of those really indicates difficulty though.
Anyway, making progress...