Re: creating a decentralized web of trust

On Saturday 25. July 2015 21.34.24 Melvin Carvalho wrote:
> I multiply the #followers * 3 up to a maximum of 30 followers.  e.g.
> 
> http://gitpay.org/torvalds -- 90%
> http://gitpay.org/stratus -- 9 followers = 27%
> 
> I am looking for ideas on how to improve this algorithm, or maybe find a
> set of algorithms people can choose from to get out a trust score
> (however i am scpetical people will have time to code them).


Very cool already!

To convert numbers in an interval from 0 to something unbounded into 
something, I tend to suggest functions that will do it, rather than cap. 
For example
1-e^(-x)
That will always make sure that the number you get back is in the [0,1) 
intervall, if the input is in the [0,Inf] interval.

And then, you can add some factors to adjust it. The first thing to do is 
that you might like it to be in the [0,100) interval instead, and then you 
just do
100*(1-e^(-x))
and then, you probably want to adjust how fast the score goes up, to do 
that, you can introduce a factor r, like this:
100*(1-e^(-x/r))
You can then adjust r based on your assumptions of what a "large x" would 
be. So, following your example, where 30 is a large number of followers 
that should result in 90%, you'd have r = 15. 

You could fire up R (see https://www.r-project.org/ ) to explore the 
function, you could define it like this:
score <- function(x, raise) {
  return (100*(1-exp(-x/raise)))
}

and then create an array with integers from 0 to 30:
x <- seq(0,30)
and then plot:
plot(x,score(x, 15), type='l')

But to use something more than just #followers for x, perhaps PageRank 
would be the modern way to compute it these days...? :-)

Cheers,

Kjetil

Received on Sunday, 26 July 2015 15:56:10 UTC