Friday, 12 October 2012

What is brute force... What is normal...

Welcome back to another episode of me complaining.

I have failed at implementing a brute force multilevel dynamic graph drawing algorithm. Outputting the changes in coordinates as changes occur is easy enough, but cascading a layout through the coarser levels is not, all due to the number of movements per level. For example, a coarse graph of 2 vertices has 2 movements, but its finer graph of 16 vertices would have 16 movements, which when used to update the coarser graph, causes erratic behavior (shrinking and expanding the graph erratically with no layout).

In this instance, I had expected the weights of vertices, and the difference of k between levels (sqrt(4/7) as given by Walshaw), would have prevented this, apparently I am wrong (or there is a bug I haven't found yet). This type of behavior has been covered and tackled by Veldhuizen through use of damping and time dilation mechanisms, suggesting Veldhuizens approach is actually brute force, adapted to use the Barnes Hut octree approximation and "dynamics" between levels. This is a bad assumption to make though and I certainly don't want to reduce the value of his contribution. 

In any case, this behavior helps me identify a bare bones algorithm for multilevel dynamic graph drawing which identifies the mechanisms (and theory) which are required by default for any implementation. In order to continue, I have instead opted to implement Veldhuizens algorithm first, then develop my own bare bones algorithm (and after, improve upon it). For this though, I have requested aid from my supervisors so I can fully understand the algorithm (there's a lot of mathsy stuff which confuses me a little). 

In the mean time, I am checking over and editing my literature review to put it into some readable format (as opposed to notes pushed together as it is currently). With less than a year, I better get a move on - as the song goes -  "our time is ruuuuuuuunning ooooouuuuut".

No comments:

Post a Comment