/last-fm-bfs

A simple BFS exploration of Last FM's social graph

Primary LanguagePython

last.fm social graph exploration using BFS
==========================================

Breadth first search algorithm using multiple threads to perform Last.fm API calls.

Breadth first search exhausts each level before moving into the next.
We assign a pool of Nodes (friends_queue) to retrieve from the remote site, 
and threads consume each of these nodes and wait before moving to the next level.

We start by arbitrarily exploring user 'RJ' because the social graph from LastFM is not fully connected:
                
                  'RJ'                          Level0
                    |
      ______________________________
      /          |                  \
    Friend1   Friend-i     ...      FriendN     Level1
    /..\       /..\                  /..\
                                                LevelN

The number of Levels as well as the number of threads are parameter values.
--
by: Lalith Suresh
    Mariano Vallés
    EMDC - KTH 2011