Hacker News new | ask | show | jobs
by gnramires 845 days ago
This is pretty cool! If I may suggest something, on the explore view, avoid showing most popular (I think it can lead to rote behavior!)

If I may suggest another algorithm, something like picking from most popular to least with probability ~1/(rank+k)^p, where p is any number >1, for example set p=1.5, k=10.

It can be implemented the following way (by computing the integral of the probability distribution):

(1) Have sorted index by popularity with n items

(2) Pick a random (double) r between 0 and 1

(3) The chosen index is (if I did my integrals right;round to nearest integer):

i = ( k^(p-1)*(n-1+k)^(p-1) / ( (r+1)*(n-1+k)^(p-1) - r*k^(p-1) ) ) ^ 1/(p-1) - k

2 comments

Correction: I've got the integral wrong, of course :)

I've got an expression (after correcting my rusty maths) of

i = k*(n-1+k) / ( (1-r)*(n-1+k)^(p-1) + r*k^(p-1) ) ^ (1/(p-1)) - k

I think there could be precision problems (with p<2 specially)

sorry im too dumb to comprehend this math
No worries :P It's just a way to try to avoid showing the most popular, instead you'd choose randomly from a curve from most popular to least popular, with the chosen index given by i. An easier idea to understand is to pick randomly from the top say 50 websites instead of just showing the most popular ones, avoiding "winner takes all" effects.
That’s a good idea!