Wizualizacja sieci złożonych

20  Download (0)

Pełen tekst

(1)

Wizualizacja sieci złożonych

dr hab. Piotr Fronczak

(2)

Wizualizacja sieci – cele

Czyszczenie i filtracja danych Eksploracja danych

Znajdowanie anomalii

Identyfikacja struktur, klastrów, wzorców

(3)

Układ (layout)

Układ, który wizualizuje graf, powinien spełniać normy estetyczne i informacyjne (przejrzystość, łatwy dostęp do informacji).

Przykładowe normy estetyczne:

• minimalizacja przecinających się krawędzi

• zachowanie odległości między węzłami

• proste krawędzie o podobnej długości

(4)

Układy dla sieci o strukturze drzewa

• W klasycznym układzie węzły dzieci rysuje się poniżej ich wspólnych rodziców.

• Układ planarny – brak przecinających się krawędzi.

• Czytelna hierarchia - węzły w tej samej odległości od korzenia znajdują się na tej samej wysokości.

• Problemy z czytelnością już dla kilkuset węzłów.

Ernst Haekel, Pedigree of man (1879)

Podziel obszar na H pasków równej wysokości, gdzie H – głębokość drzewa

Podziel każdy pasek na M równych części, gdzie M – liczba węzłów na danym poziomie

Narysuj każdy węzeł w centrum odpowiedniego prostokąta

Narysuj krawędź między dolnym brzegiem węzła i górnym brzegiem każdego z jego dzieci

Zamiast równych części – szerokość proporcjonalna do liczby liści.

Inny sposób: Rozmieść liście równomiernie i rysuj rodziców centralnie nad nimi.

(5)

𝜏 𝜌 = 2𝑐𝑜𝑠−1 𝜌 𝜌 + 𝛿

𝑤 𝑣 - liczba liści w poddrzewie v

DrawSubTree(v,0,0,2)

proc DrawSubTree(v,,1,2)

Rysuj punkt o współrz. biegunowych ,1+2 If 𝜏 𝜌 < 𝛼2 − 𝛼1 2

then 𝑠 = 𝜏 𝜌

𝑤(𝑣); 𝛼 =𝛼1+𝛼2−𝜏(𝜌)

2 ;

else 𝑠 = 𝛼2−𝛼1

𝑤(𝑣) ; 𝛼 = 𝛼1; Dla każdego dziecka u węzła v

DrawSubTree(𝑢, 𝜌 + 𝛿, 𝛼, 𝛼 + 𝑠 ∗ 𝑤(𝑢))

P. Eades (1992)

Układ radialny

Węzły w tej samej odległości od korzenia

umieszczone są na koncentrycznych okręgach.

Poddrzewom przydzielony jest wycinek koła zależny od ich liści.

(6)

drzewo filogenetyczne

~480 000 węzłów

(7)

Układy kołowe

• Węzły na okręgu, krawędzie – cięciwy

• Współrzędne kątowe mogą reprezentować atrybuty węzłów (np. wiek lub stopień)

• Bardzo szybkie

• Trudne do interpretacji dla dużych sieci

• Wiele przecinających się krawędzi

• Wiele długich krawędzi (sąsiadujące węzły powinny być blisko)

• Trudno dostrzec strukturę

(8)

Spring Embedder

• model węzłów połączonych krawędziami = model ciał połączonych sprężynami

• Siły sprężyste – utrzymują stałą (oczekiwaną) odległość między połączonymi węzłami

• Siły elektryczne – odpychają węzły od siebie zapobiegając nakładaniu się węzłów

• Opcjonalnie siły grawitacyjne – przyciągają węzły do środka ekranu (brak dryfu)

(9)

Siła sprężystości

𝐹1𝑥(𝑣) = 𝑘(1)

𝑢𝑣 𝑑 𝑢, 𝑣 − 𝑙 𝑥𝑣 − 𝑥𝑢 𝑑(𝑢, 𝑣)

𝑢∈𝑆(𝑣)

składowa x działająca na węzeł v

składowa y analogicznie

k(1) – stała sprężystości – zwykle nie zależy od u oraz v d(u,v) – odległość między węzłami

l – odległość oczekiwana

𝐹2𝑥(𝑣) =

𝑘(2) 𝑢𝑣 𝑑(𝑢, 𝑣)2

𝑥𝑣 − 𝑥𝑢 𝑑(𝑢, 𝑣)

(𝑢,𝑣)∈𝑁

Siła elektryczna (odpychająca)

składowa x działająca na węzeł v

składowa y analogicznie

k(2) – stała – zwykle nie zależy od u oraz v

sumowanie po wszystkich węzłach (można zaniedbać dalekie)

(10)

Przykład

repeat

for each node v do

for each pair of nodes (u, v)

compute repulsive force fr(u,v) for each edge e = (u,v)

compute attractive force fa(u,v)

sum all force vectors F(v) = Σ fr(u,v) + Σ fa(u,v) move node v according to F(v)

until

(11)

Gdy liczba węzłów N>>1000, to czas symulacji trudny do akceptacji

Metoda wielopoziomowa

1. Tworzymy nowy graf scalając pary sąsiadujących węzłów.

2. Uzyskujemy iteracyjnie hierarchię coraz mniejszych sieci, G0,G1, . . . , GL.

3. Ostatni graf wykorzystujemy do stworzenia początkowego układu (czekamy, aż układ się ustali).

4. Powtarzamy pkt 3 dla kolejnych grafów GL, …, G0 zaczynając od układu ustalonego dla poprzedniego grafu.

(12)

Problemy wizualizacji 2D

• liczba pixeli > liczba węzłów

– 800 x 600 = 480,000 pixeli – 1024 x 768 = 786,432 pixeli – 1920 x 1200 = 2,304,000 pixeli

• Kolejność rysowania obiektów

– Ważniejsze na wierzchu

• Może 3D?

(13)

Geometria hiperboliczna

W drzewie binarnym rysowanym w geometrii euklidesowej R2 na każdym poziomie r liczba węzłów rośnie jak 2r, podczas gdy obwód rośnie jak r. Z każdym poziomem coraz ciaśniej.

Geometria hiperboliczna jest jedną z geometrii nieeuklidesowych oparta na tych samych założeniach, co geometria euklidesowa z wyjątkiem aksjomatu Euklidesa o równoległych.

Dodatkowy aksjomat: Przez dowolny punkt nieleżący na danej prostej przechodzą co najmniej dwie różne proste niemające wspólnych punktów z tą prostą.

Pole 𝑆 𝑟 = 4𝜋𝑠𝑖𝑛ℎ2 𝑟

2

Obwód 𝑂 𝑟 = 2𝜋sinh (𝑟)

Dla 𝑟 → 0, 𝑆 𝑟 ≈ 𝜋𝑟2, 𝑂 𝑟 ≈ 2𝜋𝑟

Dla 𝑟 → ∞, 𝑆 𝑟 ~𝑒2𝑟, 𝑂 𝑟 ~𝑒𝑟 - zatem więcej miejsca na okręgu niż w R2.

(14)

Transformacja na dysk jednostkowy (Poincare’a).

(15)
(16)
(17)

Przykład

(18)

http://www.caida.org/tools/visualization/walrus/gallery1/

Rzutowanie H3 na kulę R3

(19)

Strategie wizualizacji dużych sieci

Redukcja liczby węzłów i krawędzi

• wprowadzenie wartości progowych

• tylko krawędzie o wadze > w

• tylko węzły o stopniu > kmin

• tylko autorzy, którzy napisali minimum x artykułów

• minimalne drzewa rozpinające

• wszystkie N węzłów, tylko N+1 krawędzi

• scalanie węzłów w klastry

• wiele węzłów jako jeden węzeł

• tylko połączenia między klastrami

• np. struktura internetu na poziomie systemów autonomicznych

a nie routerów

(20)

Obraz

Updating...

Cytaty

Powiązane tematy :