96

Seminário de Visualização - Desenho de Grafospaulovic/aulas/VIS/2013/jorge_seminario.pdf · ... Algoritmo: 1 Aplicar um algoritmo de ... O artigo propõe um framework para realizar

Embed Size (px)

Citation preview

Seminário de Visualização - Desenho de Grafos

Jorge Henrique Piazentin Ono

19 de Novembro de 2013

Sumário

1 Rapid graph Layout Using Space-Filling Curves

2 Content Based Graph Visualization of Audio Data for MusicLibrary Navigation

3 Geometry-Based Edge Clustering for Graph Visualization

4 Interactive Level of Detail Rendering of Large Graphs

5 Edge Compression Techniques for Visualization of DenseDirected Graphs

6 Conclusões

2 / 76

Considerações Iniciais

Neste trabalho, será utilizada a abordagem de leitura einterpretação de artigos descrita em:

Laramee, R.S. �How to Read a Visualization Research Paper: Extracting the

Essentials�. IEEE Computer Graphics and Applications 31, no 3 (2011): 78�82.

doi:10.1109/MCG.2011.44.

1 Conceito;

2 Implementação;

3 Tipos de dados;

4 Trabalho relacionado;

3 / 76

Rapid graph Layout Using Space-Filling Curves

4 / 76

Rapid Graph Layout Using Space-Filling Curves

Muelder, C., e Kwan-Liu Ma. �Rapid Graph Layout Using Space FillingCurves�. IEEE Transactions on Visualization and Computer Graphics 14, no 6(2008): 1301�1308. doi:10.1109/TVCG.2008.158.

5 / 76

ConceitoDesenho de Grafos

Mostra padrões em bases de dados, por exemplo:

Visualização de documentosTexto;Música;

Visualização de redes sociaisOntologia FOAF (Friend of a Friend).

6 / 76

ConceitoAbordagens anteriores

Informação geográ�ca;

http://bayen.eecs.berkeley.edu/bayen/?q=webfm_send/162

Baseados em força (Iterativo - minimiza função de energia);Abordagens multi-escala (Desenha aproximações do grafo);

Álgebra linear;Agrupamento Hierárquico (Treemap layout).

7 / 76

ConceitoAbordagens anteriores

Informação geográ�ca;

Baseados em força

(Iterativo - minimiza função de energia);

Abordagens multi-escala (Desenha aproximações do grafo);

Álgebra linear;

Agrupamento Hierárquico (Treemap layout).

7 / 76

ConceitoAbordagens anteriores

Informação geográ�ca;Baseados em força (Iterativo - minimiza função de energia);

http:

//www.eulerdiagrams.com/tutorial/

AutomatedDiagramDrawing.html

Abordagens multi-escala (Desenha aproximações do grafo);Álgebra linear;

Agrupamento Hierárquico (Treemap layout).

7 / 76

ConceitoAbordagens anteriores

Informação geográ�ca;

Baseados em força (Iterativo - minimiza função de energia);

Abordagens multi-escala

(Desenha aproximações do grafo);

Álgebra linear;

Agrupamento Hierárquico (Treemap layout).

7 / 76

ConceitoAbordagens anteriores

Informação geográ�ca;Baseados em força (Iterativo - minimiza função de energia);Abordagens multi-escala (Desenha aproximações do grafo);

Harel, David, and Yehuda Koren. "A fast multi-scale method for drawing largegraphs."Graph drawing. Springer Berlin Heidelberg, 2001.

Álgebra linear;Agrupamento Hierárquico (Treemap layout).

7 / 76

ConceitoAbordagens anteriores

Informação geográ�ca;

Baseados em força (Iterativo - minimiza função de energia);

Abordagens multi-escala (Desenha aproximações do grafo);

Álgebra linear;

Agrupamento Hierárquico (Treemap layout).

7 / 76

ConceitoAbordagens anteriores

Informação geográ�ca;Baseados em força (Iterativo - minimiza função de energia);Abordagens multi-escala (Desenha aproximações do grafo);Álgebra linear;

Algebraic Multigrid Computation of Eigenvectors;High Dimensional Embedding.

Agrupamento Hierárquico (Treemap layout).

7 / 76

ConceitoAbordagens anteriores

Informação geográ�ca;

Baseados em força (Iterativo - minimiza função de energia);

Abordagens multi-escala (Desenha aproximações do grafo);

Álgebra linear;

Agrupamento Hierárquico

(Treemap layout).

7 / 76

ConceitoAbordagens anteriores

Informação geográ�ca;

Baseados em força (Iterativo - minimiza função de energia);

Abordagens multi-escala (Desenha aproximações do grafo);

Álgebra linear;

Agrupamento Hierárquico (Treemap layout).

7 / 76

ConceitoAbordagens anteriores

Informação geográ�ca;

Baseados em força (Iterativo - minimiza função de energia);

Abordagens multi-escala (Desenha aproximações do grafo);

Álgebra linear;

Agrupamento Hierárquico (Treemap layout).

7 / 76

ConceitoRapid Graph Layout Using Space Filling Curves

Gera um layout para o grafo, baseado numa curva depreenchimento de espaço.

8 / 76

ConceitoRapid Graph Layout Using Space Filling Curves

Curva de Hilbert

https://www.fractalus.com/kerry/tutorials/hilbert/

hilbert-tutorial.html

9 / 76

Implementação

Algoritmo:

1 Aplicar um algoritmo de agrupamento hierárquico no grafo.

2 Percorrer a hierarquia em profundidade (DFS).

3 Posicionar os nós na curva de acordo com o percurso DFS.

10 / 76

ImplementaçãoClustering Hierárquico

Algoritmo "Fast Modularity"para agrupamento.Clauset, Aaron, Mark EJ Newman, and Cristopher Moore. "Finding community

structure in very large networks."Physical review E 70.6 (2004): 066111.

Cada nó do grafo é um grupo;Agrupa dois grupos de modo a maximizar a função:

Q =1

2|V |∑i ,j

(ai ,j −

didj2|V |

)δ(i , j)

ai ,j é 1 se Vi e Vj são conectados por uma aresta e 0 caso contrário.δ(i , j) é 1 se Vi e Vj estão no mesmo grupo e 0 caso contrário.

11 / 76

ImplementaçãoClustering Hierárquico

12 / 76

ImplementaçãoPosicionar os vértices na Space-�lling Curve

Duas abordagens são possíveis:1 Posicionar os nós a uma distância 1

|V | (sem separação);2 Posicionar os nós a uma distância

si ,i+1 = |depthi+1 − depthi |k (com separação).

13 / 76

Implementação

Código desenvolvido

14 / 76

Implementação - Curva de Hilbert (Wikipedia) I

http://en.wikipedia.org/wiki/Hilbert_curve

15 / 76

Implementação - Curva de Hilbert (Wikipedia) II

16 / 76

Implementação - Curva de Hilbert (Wikipedia) III

17 / 76

Implementação - Curva de Hilbert (Wikipedia) IV

18 / 76

Implementação - Curva de Hilbert (Wikipedia) V

19 / 76

Implementação - Curva de Hilbert (Wikipedia) VI

20 / 76

Implementação - Curva de Hilbert (Wikipedia) VII

21 / 76

Implementação - Rapid Graph Layout I

Barabasi Game

22 / 76

Implementação - Rapid Graph Layout II

Watts Game

23 / 76

Implementação - Rapid Graph Layout III

Grafo "barabasi.game"+ "watts.strogatz.game", curva de Ordem 5

24 / 76

Principal Trabalho Relacionado

Muelder, C., e Kwan-Liu Ma. �A Treemap Based Method for Rapid Layout ofLarge Graphs�. In Visualization Symposium, 2008. Paci�cVIS '08. IEEEPaci�c, 231�238, 2008. doi:10.1109/PACIFICVIS.2008.4475481.

25 / 76

Características dos dados

Grafos e Dígrafos

26 / 76

Content Based Graph Visualization of AudioData for Music Library Navigation

27 / 76

Geometry-Based Edge Clustering for Graph Visualization

Muelder, C., T. Provan, e Kwan-Liu Ma. �Content Based Graph Visualizationof Audio Data for Music Library Navigation�. In 2010 IEEE InternationalSymposium on Multimedia (ISM), 129�136, 2010. doi:10.1109/ISM.2010.27.

28 / 76

Conceito

Este artigo é uma aplicação do trabalho "Rapid Graph LayoutUsing Space Filling Curves"para visualização de bases de música.

Os autores utilizaram o extrator de características de áudio MFCCpara veri�car a similaridade entre músicas e representar estasimilaridade por meio de grafos. Três mecanismos de exploraçãoforam desenvolvidos: Seleção de caixa + grafo detalhado, Seleçãode vizinhos e Seleção de Keyword.

29 / 76

Implementação

Música Abracadabra - Steve Miller. Base de dados Covers8030 / 76

Implementação

MFCCs podem ser computados como:

v jMFCC (n) =K∑

k ′=1

log(|X ′(k ′, n)|) · cos(j ·(k ′ − 1

2

K

)

31 / 76

Implementação

Para cada música:

1 Calcular a média e o desvio padrão de cada um dos 12 MFCCs;

2 Calcular a matriz de distâncias da base de músicas com umadistância euclidiana;

3 Criar um grafo totalmente conectado, com pesos = distâncias;

4 Apresentar o grafo com Space-�lling Curve Layout.

32 / 76

Implementação

33 / 76

Principal Trabalho Relacionado

Muelder, C., e Kwan-Liu Ma. �Rapid Graph Layout Using SpaceFilling Curves�. IEEE Transactions on Visualization and ComputerGraphics 14, no 6 (2008): 1301�1308.doi:10.1109/TVCG.2008.158.

34 / 76

Geometry-Based Edge Clustering for GraphVisualization

35 / 76

Geometry-Based Edge Clustering for Graph Visualization

Cui, Weiwei, Hong Zhou, Huamin Qu, Pak Chung Wong, e Xiaoming Li.�Geometry-Based Edge Clustering for Graph Visualization�. IEEE Transactionson Visualization and Computer Graphics 14, no 6 (2008): 1277�1284.doi:10.1109/TVCG.2008.135.

36 / 76

Conceito

O artigo propõe um framework para realizar um agrupamento dearestas em grafos gerais. A ideia do algoritmo é selecionar pontosde controle baseados em uma malha de controle que re�ita padrõesnos grafos.Para um grafo com seus vértices já posicionados,

1 Uma malha de controle é de�nida (usuário ou algoritmoautomático);

2 Calcula-se as intersecções entre a malha e os vértices;

3 De�ne-se alguns pontos de controle como sendo os centróidesdos pontos de intersecção;

4 Altera-se as arestas para que passem pelos pontos de controle.

37 / 76

Conceito

38 / 76

ImplementaçãoGeração de malha de controle

A abordagem para a geração da malha de controle é a seguinte:Manual ou automaticamente, identi�car grupos de arestas comdireções e tamanhos similares. Gerar malhas de triângulos queatravessem os clusters.

39 / 76

ImplementaçãoGeração de malha de controle Manual

40 / 76

ImplementaçãoGeração de malha de controle Automática

1 Calcular uma bounding box para os vértices do grafo e geraruma grade regular;

2 Para cada grade, veri�car o número de nós e o número/direçãode arestas passando por ele (gera-se um vetor decaracterísticas);

3 Usar um Kernel Density Estimator para veri�car se há umagrupamento forte no vetor de características) e, se houver,calcula-se a direção principal da célula;

4 Agrupa-se regiões com direções principais semelhantes;

5 Criar arestas perpendiculares à direção principal dos clusters;

6 Utiliza-se a Constrained Poisson Triangulation para gerar amalha.

41 / 76

ImplementaçãoGeração de malha de controle Automática

1 Calcular uma bounding box para os vértices do grafo e geraruma grade regular;

2 Para cada grade, veri�car o número de nós e o número/direçãode arestas passando por ele (gera-se um vetor decaracterísticas);

3 Usar um Kernel Density Estimator para veri�car se há umagrupamento forte no vetor de características) e, se houver,calcula-se a direção principal da célula;

4 Agrupa-se regiões com direções principais semelhantes;

5 Criar arestas perpendiculares à direção principal dos clusters;

6 Utiliza-se a Constrained Poisson Triangulation para gerar amalha.

41 / 76

ImplementaçãoGeração de malha de controle Automática

1 Calcular uma bounding box para os vértices do grafo e geraruma grade regular;

2 Para cada grade, veri�car o número de nós e o número/direçãode arestas passando por ele (gera-se um vetor decaracterísticas);

3 Usar um Kernel Density Estimator para veri�car se há umagrupamento forte no vetor de características) e, se houver,calcula-se a direção principal da célula;

4 Agrupa-se regiões com direções principais semelhantes;

5 Criar arestas perpendiculares à direção principal dos clusters;

6 Utiliza-se a Constrained Poisson Triangulation para gerar amalha.

41 / 76

ImplementaçãoGeração de malha de controle Automática

1 Calcular uma bounding box para os vértices do grafo e geraruma grade regular;

2 Para cada grade, veri�car o número de nós e o número/direçãode arestas passando por ele (gera-se um vetor decaracterísticas);

3 Usar um Kernel Density Estimator para veri�car se há umagrupamento forte no vetor de características) e, se houver,calcula-se a direção principal da célula;

4 Agrupa-se regiões com direções principais semelhantes;

5 Criar arestas perpendiculares à direção principal dos clusters;

6 Utiliza-se a Constrained Poisson Triangulation para gerar amalha.

41 / 76

ImplementaçãoGeração de malha de controle Automática

1 Calcular uma bounding box para os vértices do grafo e geraruma grade regular;

2 Para cada grade, veri�car o número de nós e o número/direçãode arestas passando por ele (gera-se um vetor decaracterísticas);

3 Usar um Kernel Density Estimator para veri�car se há umagrupamento forte no vetor de características) e, se houver,calcula-se a direção principal da célula;

4 Agrupa-se regiões com direções principais semelhantes;

5 Criar arestas perpendiculares à direção principal dos clusters;

6 Utiliza-se a Constrained Poisson Triangulation para gerar amalha.

41 / 76

ImplementaçãoGeração de malha de controle Automática

1 Calcular uma bounding box para os vértices do grafo e geraruma grade regular;

2 Para cada grade, veri�car o número de nós e o número/direçãode arestas passando por ele (gera-se um vetor decaracterísticas);

3 Usar um Kernel Density Estimator para veri�car se há umagrupamento forte no vetor de características) e, se houver,calcula-se a direção principal da célula;

4 Agrupa-se regiões com direções principais semelhantes;

5 Criar arestas perpendiculares à direção principal dos clusters;

6 Utiliza-se a Constrained Poisson Triangulation para gerar amalha.

41 / 76

ImplementaçãoGeração de malha de controle Automática

42 / 76

ImplementaçãoMalhas em LOD

Pode-se simpli�car as malhas com operações de "edge collapse".

http://www0.cs.ucl.ac.uk/research/equator/papers/Documents2002/

Jean-Daniel_Nahmias/Massive_Model_Rendering.htm

43 / 76

ImplementaçãoAgrupamento de arestas por pontos de controle

1 Aplica-se o algoritmo de agrupamento K-means para calcularum ou mais pontos de controle em cada aresta.

2 Altera-se as arestas (agora poli-linhas) para que passem pelospontos de controle, e não pelos pontos de intersecção.

3 Como as poli-linhas podem ter muitos zigue-zagues, pode-seaplicar um algoritmo de suavização local de arestas no layoutresultante (minimização de uma função de custo e criaçãomais pontos de controle).

44 / 76

ImplementaçãoAgrupamento de arestas por pontos de controle

1 Aplica-se o algoritmo de agrupamento K-means para calcularum ou mais pontos de controle em cada aresta.

2 Altera-se as arestas (agora poli-linhas) para que passem pelospontos de controle, e não pelos pontos de intersecção.

3 Como as poli-linhas podem ter muitos zigue-zagues, pode-seaplicar um algoritmo de suavização local de arestas no layoutresultante (minimização de uma função de custo e criaçãomais pontos de controle).

44 / 76

ImplementaçãoAgrupamento de arestas por pontos de controle

1 Aplica-se o algoritmo de agrupamento K-means para calcularum ou mais pontos de controle em cada aresta.

2 Altera-se as arestas (agora poli-linhas) para que passem pelospontos de controle, e não pelos pontos de intersecção.

3 Como as poli-linhas podem ter muitos zigue-zagues, pode-seaplicar um algoritmo de suavização local de arestas no layoutresultante (minimização de uma função de custo e criaçãomais pontos de controle).

44 / 76

Principal trabalho relacionado

Qu, Huamin, Hong Zhou, and Yingcai Wu. "Controllable andprogressive edge clustering for large networks."Graph Drawing.Springer Berlin Heidelberg, 2007.

Utiliza a triangulação de Delaunay para gerar a malha de controle.Possui problemas com zigue-zagues para grafos muito grandes.

45 / 76

Características dos Dados

Grafos e dígrafos;

46 / 76

Interactive Level of Detail Rendering of LargeGraphs

47 / 76

Interactive Level of Detail Rendering of Large Graphs

Zinsmaier, M., U. Brandes, O. Deussen, e H. Strobelt. �InteractiveLevel-of-Detail Rendering of Large Graphs�. IEEE Transactions on Visualizationand Computer Graphics 18, no 12 (2012): 2486�2495.doi:10.1109/TVCG.2012.238.

Trabalho: KDE + Agregação de arestas

48 / 76

Soluções para a sobreposição (R)

Representação com um píxel

49 / 76

Soluções para a sobreposição

Alpha Blending

50 / 76

Soluções para a sobreposição

Histograma 2D

51 / 76

Soluções para a sobreposição

Kernel Density Estimate

52 / 76

Kernel Density Estimate

fh(x) =1nh

n∑i=1

K (x − xi

h)

=1n

n∑i=1

Kh(x − xi )

h = 1, 06 · δ · n−15

(h é a largura de banda)

53 / 76

Kernel Density Estimate

fh(x) =1nh

n∑i=1

K (x − xi

h) =

1n

n∑i=1

Kh(x − xi )

h = 1, 06 · δ · n−15

(h é a largura de banda)

53 / 76

Kernel Density Estimate

fh(x) =1nh

n∑i=1

K (x − xi

h) =

1n

n∑i=1

Kh(x − xi )

h = 1, 06 · δ · n−15

(h é a largura de banda)

53 / 76

Kernel Density Estimate - Multivariado

fH(x) =1n

n∑i=1

KH(x− xi)

KH(x) = |H|−12K(H−

12 x)

54 / 76

Kernel Density Estimate - Multivariado

fH(x) =1n

n∑i=1

KH(x− xi)

KH(x) = |H|−12K(H−

12 x)

54 / 76

Abordagem + simples

OpenGL Geometry Shading;

Cada nó é um ponto, mapeado em um retângulo texturizado.

Desvantagem

Ine�ciente para grandes conjuntos de nós;

55 / 76

Abordagem + simples

OpenGL Geometry Shading;

Cada nó é um ponto, mapeado em um retângulo texturizado.

Desvantagem

Ine�ciente para grandes conjuntos de nós;

55 / 76

Geometry Shader

56 / 76

Abordagem proposta KDE

Accumulation Bu�er;

OpenGL Geometry Shading;

Cada píxel é um ponto, mapeado em um retângulo texturizado.

57 / 76

Abordagem proposta KDE - Accumulation Bu�er

58 / 76

Agregação de arestas

Algoritmo

Procura-se pelos pontos de máximos locais de densidade;

Move-se os pontos de início e �m para o ponto de máximolocal mais próximo.

59 / 76

Principal trabalho Relacionado

Lampe, O.D., e H. Hauser. �Interactive visualization of streaming data withKernel Density Estimation�. In 2011 IEEE Paci�c Visualization Symposium(Paci�cVis), 171�178, 2011. doi:10.1109/PACIFICVIS.2011.5742387.

Utiliza-se KDE para representar scatterplots super-povoados

60 / 76

Exemplo de execução I

61 / 76

Exemplo de execução II

62 / 76

Edge Compression Techniques for Visualizationof Dense Directed Graphs

63 / 76

Edge Compression Techniques for Visualization of DenseDirected Graphs

Dwyer, Tim, Nathalie Henry Riche, Kim Marriott, e Christopher Mears. �EdgeCompression Techniques for Visualization of Dense Directed Graphs�. IEEETransactions on Visualization and Computer Graphics 19, no 12 (2013):2596�2605. doi:10.1109/TVCG.2013.151.

64 / 76

Conceito

Avaliação das técnicas:

65 / 76

Implementação I

Matching Neighbours

Agrupa-se u e v se:

N+(u) = N+(v)

N−(u) = N−(v)

Modular Decomposition

M é uma decomposição modular se ∀u, v ∈ M:

N+(u)/M = N+(v)/M

N−(u)/M = N−(v)/M

66 / 76

Implementação II

Power graph

Relaxamento da condição do Modular Decomposition: permite quearestas cruzem os limites de módulos.

67 / 76

Resultados

Teste com 15 participantes. Tarefa: buscar o caminho mínimoentre dois nós.

68 / 76

Resultados

Teste com 15 participantes. Power Graph

69 / 76

Conclusões

70 / 76

Conclusões

Diversas abordagens foram desenvolvidas para o desenho degrafos;

Algumas são mais escaláveis que outras;

Trade-o�: escalabilidade / perda de informações;

71 / 76

A visualização de grafos é uma área que ainda não estácompletamente resolvida, principalmente para Big Data:

"KDE"+ "focus + context"para visualização de grafos;

"KDE"+ "edge compression";

72 / 76

Referências I

Weiwei Cui, Hong Zhou, Huamin Qu, Pak Chung Wong, andXiaoming Li.Geometry-based edge clustering for graph visualization.IEEE Transactions on Visualization and Computer Graphics,14(6):1277�1284, 2008.

Tim Dwyer, Nathalie Henry Riche, Kim Marriott, andChristopher Mears.Edge compression techniques for visualization of dense directedgraphs.IEEE Transactions on Visualization and Computer Graphics,19(12):2596�2605, 2013.

73 / 76

Referências II

T. Dwyer, K. Marriott, F. Schreiber, P. Stuckey,M. Woodward, and M. Wybrow.Exploration of networks using overview+detail withconstraint-based cooperative layout.IEEE Transactions on Visualization and Computer Graphics,14(6):1293�1300, 2008.

O.D. Lampe and H. Hauser.Interactive visualization of streaming data with kernel densityestimation.In 2011 IEEE Paci�c Visualization Symposium (Paci�cVis),pages 171�178, 2011.

74 / 76

Referências III

R.S. Laramee.How to read a visualization research paper: Extracting theessentials.IEEE Computer Graphics and Applications, 31(3):78�82, 2011.

C. Muelder, T. Provan, and Kwan-Liu Ma.Content based graph visualization of audio data for musiclibrary navigation.In 2010 IEEE International Symposium on Multimedia (ISM),pages 129�136, 2010.

C. Muelder and Kwan-Liu Ma.Rapid graph layout using space �lling curves.IEEE Transactions on Visualization and Computer Graphics,14(6):1301�1308, 2008.

75 / 76

Referências IV

C. Muelder and Kwan-Liu Ma.A treemap based method for rapid layout of large graphs.In Visualization Symposium, 2008. Paci�cVIS '08. IEEE

Paci�c, pages 231�238, 2008.

M. Zinsmaier, U. Brandes, O. Deussen, and H. Strobelt.Interactive level-of-detail rendering of large graphs.IEEE Transactions on Visualization and Computer Graphics,18(12):2486�2495, 2012.

76 / 76