There is no magic, so please explain the math/algorithms you think would work here.
(Sorry, it's just a lot of people wave the magic "algorithm" flag when faced with hard problems)
I haven't given you pseudocode for an actual algorithm, but I can imagine that Facebook could combine all of these metrics into an index that can tell them roughly how likely you are to want to hang out with certain people.
Facebook also has a bunch of data on how often you've interacted with various friends there .. so that could be one data point. (How often you're tagged in a check-in / photo, how often you've liked a post made by someone else etc.)
Your Your mom / dad / school friends generally may not be a good data point, while your college friends might be.
It'll take a lot of beta testing and tweaking, but I think it can be done.