Recursos e Limitações do HL

Recursos

  • Organiza nós sem sobreposições em níveis horizontais ou verticais.
  • Arranges the graph such that most of the links are short and flow uniformly in the same direction (from left to right, from top to bottom, and so on).
  • Reduz o número de cruzamentos de links. Na maioria das vezes, produz desenhos sem cruzamentos ou apenas um pequeno número de cruzamentos.
  • Geralmente produz desenhos balanceados que enfatizam as simetrias no gráfico.
  • Supports self-links (that is, links with the same origin and destination node), multiple links between the same pair of nodes, and cycles.
  • Algoritmo eficiente, escalável. Produz um layout adequado para a maioria dos gráficos esparsos e de densidade média, de forma relativamente rápida, mesmo que o número de nós seja muito grande.
  • Fornece várias opções de alinhamento e de deslocamento.
  • Suporta especificações de porta em que os links conectam os nós. Permite especificar a qual lado de um nó (parte superior, parte inferior, esquerda, direita) um link pode ser conectado ou especificar qual posição de porta relativa deve ser usada para a conexão.
  • Suporta restrições de layout. Permite especificar restrições posicionais relativas, por exemplo, que um nó está acima de outro nó ou à esquerda de outro nó.
  • Modo incremental e não incremental. Em modo incremental, a posição anterior de nós é considerada. Posiciona os nós sem alterar a ordem relativa dos nós para que o layout fique estável em mudanças incrementais do gráfico.
  • O tempo de cálculo depende do número de nós, do número de níveis e do número de links que cruzam vários níveis. Na maioria das vezes, os links são posicionados entre níveis adjacentes, o que mantém o tempo de cálculo curto.

Limitações

  • The algorithm tries to minimize the number of link crossings (which is generally an NP-complete problem). Matematicamente é impossível resolver este problema rapidamente para qualquer tamanho de gráfico. Therefore, the algorithm uses a fast heuristic that obtains a good layout, but not always with the theoretical minimum number of link crossings.
  • O algoritmo tenta posicionar os nós de forma que todos os links apontem de maneira uniforme na mesma direção. É impossível posicionar ciclos de links dessa maneira. For this reason, it sometimes produces a graph where few links are reversed to point into the opposite direction. O algoritmo tenta reduzir o número de links reversos (que, novamente, é um problema NP-completo). Therefore, the algorithm uses a fast heuristic resulting in a good layout, but not always with the theoretical minimum number of reversed links.
  • O tempo de cálculo necessário para obter um desenho apropriado depende mais significativamente do número de curvaturas nos links. Como o algoritmo posiciona uma curvatura sempre que um link cruza um nível, o número de curvaturas pode crescer relativamente rápido se o layout precisar de muitos links longos que se expandem em vários níveis. Therefore, the layout process can become time-consuming for dense graphs (the number of links is relatively high compared to the number of nodes) or for graphs that require many node levels.