Monday, June 27, 2011

6/12 - 6/26


 These last two weeks I've been working on the applet to analyze fractal dimension on networks.

What I've done so far:
  • Figured out the mathematics of calculating fractal network dimension
  • Implemented algorithms for the calculation
  • Realized my understanding of the math was wrong and started over
  • Repeated the above actions several times
  • Made some simple graphics to display various information about the network and the algorithm results
  • Tested some graphs to see what would come out
 The fractal dimension of a network has to do with how fast the number of nodes within a distance from an arbitrary node grows with the distance.  So for a network represented by a straight line of vertex-edge-vertex-etc., I would expect to get a dimension of 1.  The program gives ~.93, so I'm guessing there's some experimental error happening.
I also tested a graph that looks like the Sierpinski triangle, with vertices for line intersections and edges for line segments.  When the graph is constructed to match the triangle at 7 levels of recursion, I get  ~1.51 for the dimension.  The dimension of the actual Sierpinski triangle is  ~1.5849  - I don't know if I should be getting that for the network or not.  But here's a cool thing:  this is the plot of estimated fractal dimension at different points during the algorithm's execution


It isn't all on a straight line, but the important thing is that it isn't trending anywhere.  I'm not sure if this is sufficient to show a network is fractal, but it is necessary.  Compare to the plot for a random (therefore non-fractal) graph with the same number of vertices and edges
Definitely going somewhere.

I also put together a small synonym graph and analyzed it - the plot isn't as steady as for the triangle but it's much better than for a random graph of the same size.

Next steps:
  • Test networks with known dimension
  • Make it read and write graphs in XGMML
  • Improve graphics - readable coordinates, optional logarithmic scaling
  • Make gui more interactive (right now graph loading is still hard-coded)

No comments:

Post a Comment