I'd like to know how you think (or know) it is that Facebook produces the "people you might like" or "suggested friends" on each user's page. This is really an algorithm question, not a Facebook question, but social networking is probably the most visible and well understood example which is why I referenced this for for my question.
For me it is a curious question of efficiency. I understand how one might accomplish this for a single user; basically finding the users that are friends with the highest number of your current friends but not you. However, this does not strike me as very fast or efficient a process, and it must be done for around about a billion users.
This leads me to believe that the process is run only on a user's login, but I still wonder what kind of algorithm is actually used to find these "suggested friends". What would be an efficient way of executing a "suggestion algorithm" like this on a large scale?
Related question on Quora: http://www.quora.com/How-does-Facebook-calculate-weight-for-edges-in-the-EdgeRank-formula
The actual formula used (for Top News for example) is somewhat meaningless without knowing how each component is calculated, but it was discussed by Facebook at F8 2010 and covered by Techcrunch here: http://techcrunch.com/2010/04/22/facebook-edgerank/
This solution might sounds like breaking a butterfly upon a wheel but it could be interesting to procede this way.
I guess Facebook could do it in a similar way Netflix know the movies you Will like. Cf the answer of this post Algorithm to complete a corrupted matrix of data
If you log in they can reduce the matrix to a very small one, and it would be like solving the netflix problem with much more complete datas and a much smaller matrix.
You can have a look at machine learning
Facebook probably uses a different approach than Google but maybe you will too find this intresting:
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With