(no subject)

Dec 29, 2008 15:05

Visualization of the shortest path tree on a weighted directional graph representing a social network, with respect to Michelle. The weight of a "friendship" is 1/((number of mutual friends + 1) / number of frinds) - basically, the strength of your friendship is assumed to be proportional to the number of mutual friends you have with that person normalized against the number of friends you have. Since smaller edge weights mean you're closer, the edge weight is inversely proportional to the strength of your friendship. You then find the shortest path tree with respect to a given node (that is to say, a person), to find the path of least resistance to all people in your social graph. I tried this for two reasons - first, whereas a social graph is very difficult to visualize, a tree is fairly easy to visualize. Second, this illustrates that sometimes the path that you would take to reach an acquaintance goes through a person well known to both of you. For example, if you want your friend's girlfriend to show up at a party you may not invite her directly, but you would invite her indirectly through your friend. Along similar lines there are a number of people you are not acquainted with who are relatively nearby you in the social graph - they are very socially accessible to you through a common person who both of you know very well. If this is a person you fancy, knowing the path of least resistance to them might be useful.

Your close friends make a number of other people accessible to you. That is what it means to "have connections". This is shown in the visualization with the blue lines - the blue circles show how well you know a person directly, and the blue lines connecting to the red circle show how much closer they get to you by virtue of the common friend. In other words, this image is an esoteric illustration of the value of friendship.

It is interesting to note, I made this graph using Graphserver, which I originally built to find trip plans in transit systems. Other subtasks of this project: coded Python bindings for Processing, and ported the Facebook python client library to Python-3000.

The full size is desktop background size. It's not as pretty as it could be - I could use some help on design. I can't pay any money, but I'll give you credit when this thing goes live on Facebook.


Previous post Next post
Up