2011-12-28 21 views
5

Mam DAG z wieloma tysiącami wierzchołków i krawędzi.Sposoby mapowania skierowanego wykresu acyklicznego do siatki/macierzy

Szukam algorytmów, które mogą pozycjonować wierzchołki na punktach siatki w sposób najbardziej przyjazny dla człowieka/estetyczny. Mam przeczucie, że najładniejszy układ będzie podobny do układu z minimalną sumą długości krawędzi.

Czy możesz wskazać mi wydajne algorytmy dla takiej minimalnej sumy układów długości krawędzi lub innych algorytmów, które mogłyby mi pomóc rozwiązać ten problem?

Oto część wyjściu z algorytmem bardzo naiwnych: enter image description here

+0

Interesuje mnie zabawa z tym problemem. Czy masz przykładowy zestaw danych, który możesz gdzieś przesłać? – Snowball

Odpowiedz

3

Jestem całkiem pewien, że to jest problemem otwartym („graph drawing”). Kilka innych rzeczy, może warto rozważyć optymalizację:

  • Kąt między krawędziami pochodzących z wierzchołka (maksymalizacji)
  • liczba przejść krawędź (zminimalizować)

może być w stanie używać algorytm genetyczny lub jakiś inny rodzaj metaheuristic, ale nie wiem, jak dobre będą wyniki.

Powiązane problemy