Wiki source code of [Layout] Predicting Graph Drawing Space Requirements: A Machine Learning Approach for Node Size Approximation in Top-down Layout
Last modified by Maximilian Kasperowski on 2024/02/28 07:28
Show last authors
| author | version | line-number | content |
|---|---|---|---|
| 1 | Top-down Layout is a technique to draw large hierarchical diagrams from the root node downwards, scaling children down to fit in the space provided by their parents. This is in contrast to bottom-up layout where children are laid out first and the parents' dimensions are determined accordingly afterwards. | ||
| 2 | |||
| 3 | In top-down layout a strategy needs to be used to set node sizes without knowledge of the hierarchical contents of the node as that has not been processed/laid out at that point. Current strategies are: | ||
| 4 | |||
| 5 | * Using a default base size | ||
| 6 | * Counting the number of children and taking the square root as a multiplication factor for the default base size | ||
| 7 | * Computing the layout of only the children (look-ahead layout) | ||
| 8 | |||
| 9 | The main challenge is to get an approximation that gives a suitable aspect ratio (close to what will actually be required). | ||
| 10 | |||
| 11 | Graphs are complex feature vectors and the solution space is very large without necessarily one correct and optimal answer. Therefore, a machine learning (ML)-based approach may help find good solutions. | ||
| 12 | |||
| 13 | == Example Top-down Layout of an SCChart == | ||
| 14 | |||
| 15 | [[image:attach:Controller_topdown_v3.png]] | ||
| 16 | |||
| 17 | = Goals = | ||
| 18 | |||
| 19 | * Use the KiCoDia benchmarking tool to extract feature vectors from existing models | ||
| 20 | * Train and evaluate an ML model on the extracted data sets | ||
| 21 | * Integrate the model as a new node size approximator into top-down layout | ||
| 22 | |||
| 23 | = Scope = | ||
| 24 | |||
| 25 | Master's (Bachelor's) Thesis | ||
| 26 | |||
| 27 | = Related Work/Literature = | ||
| 28 | |||
| 29 | [Under Review] M. Kasperowski and R. von Hanxleden, //Top-down Layout: Effectively Utilizing Zoom for Drawings of Compound Graphs// | ||
| 30 | |||
| 31 | M. Nielsen, //Neural Networks and Deep Learning//, Determination Press, 2015 ([[http:~~/~~/neuralnetworksanddeeplearning.com/index.html>>url:http://neuralnetworksanddeeplearning.com/index.html||shape="rect"]]) | ||
| 32 | |||
| 33 | I. Goodfellow and Y. Bengio and A. Courville, //Deep Learning//, MIT Press, 2016 ([[https:~~/~~/www.deeplearningbook.org/>>url:https://www.deeplearningbook.org/||shape="rect"]]) | ||
| 34 | |||
| 35 | = Involved Languages/Technologies = | ||
| 36 | |||
| 37 | * Java / Xtend, Python | ||
| 38 | * KiCo | ||
| 39 | * ML Frameworks (to be chosen) | ||
| 40 | |||
| 41 | = Supervised by = | ||
| 42 | |||
| 43 | Maximilian Kasperowski in cooperation with the [[Intelligent Systems>>url:https://www.ins.informatik.uni-kiel.de/en||shape="rect"]] group. | ||
| 44 | |||
| 45 | mka@informatik.uni-kiel.de |