Saturday, May 23, 2009

Brandes Algorithm

I've implemented Brandes algorithm http://www.inf.uni-konstanz.de/algo/publications/b-fabc-01.pdf which calculates:

Characteristic path length (mean shortest path)
Diameter
Betweenness centrality
Closeness centrality

The version I have implemented is really for unweighted networks so future adjustments may be necessary.

I should be able to easily add some tweaks to get us the # of connected components for free (more or less).


I've realized that we probably need some mechanism to start pulling the GUI stuff together. We will probably want a way for the user to examine the results from different viewpoints: global metrics view, per-node view, per metric view, global node-metric view.

I'll still need a way to query the user for parameters (undirected/directed, weighted/unweighted, estimate/pure-calculations).

I'll make a to-do list (I'll have to see if there is way to do this easily in blog-spot).

4 comments:

  1. Ok good work Patrick

    I'm working on the data structure framework, you'll directly profit from it, as you'll access more easylee network structure.

    per node results will be put through the Attributes API. It means you will add a attribute column "result_stat1" for instance and push values for each node. Attributes values will be displayed in the data laboratory module, therefore you don't need to take care for the UI. What do you think ?

    ReplyDelete
  2. I agree, I likethe idea of putting the per-node results as attributes is a good idea. Off the top of my head we can put:
    1. clustering coefficient
    2. Betweeness centrality
    3. closeness centrality
    4. degree (in/out) [if not already there]
    5. An indication as too how much this node contributes to the community structure
    6. Hits & Page Rank information

    ReplyDelete
  3. Hi Patrick, here you can find some doc about how to add per-node results. Then you can use Data Laboratory to see the results.

    http://gephigsoc.wikispaces.com/AttributeAPI

    I added an InOutDegree example class in the truck to demonstrate the method.

    ReplyDelete
  4. I desperately need the Brandes Algorithm implementation in C. Please send me at sandip.nsec@gmail.com

    ReplyDelete