I have made good progress on most writing related items, and am currently re-reading and editing (if and where required) my attempts at an RDA2 report, technical report and to some extent, thesis material. It should be noted that the RDA2 report is short (currently only a page) and non-technical, involving no knowledge of my work - its more of a research-only peice which mentions what ive done, i.e. literature survey processes etc.
The technical report, I was still unsure about. All (most) items regarding the Multilevel Global Forces work, without clustering, has been written and undergoing the same checks. The results for the clustering though, they were a nuisance. Not only did they not match my expected results, for example, a clustering of 2 vertices should have given me drawings of similar quality and similar runtime to those in standard edge contraction - but they did not (yet the octree results did return expected results).
After some lengthy work on the testing suite, I finally found the answer to my doubts. The bad results had been due to conflicting movements. For context, when a level has been given a layout in the MGF algorithm, a post-order search of the tree is carried out to update the coarser graphs with updated coordinates of the finer graphs, and so, keeping the approximation tree up to date. This is similar to a process required to keep the octree up to date, but is not required in the multilevel paradigm alone. In my haste to progress with the clustering, I had rewritten some code without thinking twice about it.
Well instead of updating the coordinates in the tree, I was actually adding them to the already existing coordinates previously computed. This generated awful layouts, and when coupled with a different but similar issues, increased runtime too. Having fixed this, layouts now look much better and re-testing of the clustering has begun (another lengthy process but worth the more accurate results).
In addition to this fix and the reports, I begun thinking towards the MPhil to PhD viva and what might be expected of me. It is then I made a horrible realisation: people might want to see this Testing Suite ive been bragging about. Therefore, I have spent the majority of my time over the past few days, cleaning the test suite and ensuring everything is in working order. In this clean up, I have resolved so many undiscussed bugs it is not true, and have even cleared up some of the theory behind the work (values of K, repulsive forces and viewing sizes etc). This new suite lead me to the discovery of my clustering issue, and will now be a prototype system to a finished product, should my work go that far.
Now if anyone is thinking like me, they'll be screaming "you have bigger things to worry about - dynamics for instance". My argument to this is that if I hadn't done it now, I might not have found time towards the end, or even worse, I would have forgotten everything about the code (admittedly an issue I had now) and may never have fixed my bug with clustering.
TLDR:
- More progress reading and editing the various documents for RDA2 (MPhil to PhD transfer)
- Fixed bug causing the horrors that were my results for clustering
- Running fresh tests for clustering, ETA 2 days, then finally an end to the MGF business
- Cleaned and re-programmed much of the Testing Suite, now codenamed Osmium [Alpha] - formerly WeaponX (more of a personal nickname for it... if you can think of anything better, let me know!)
- All algorithms are in a "default" mode, allowing for any graphs to be input in Chaco format, and requiring no (or little) changes to the settings/code
No comments:
Post a Comment