A apresentação está carregando. Por favor, espere

A apresentação está carregando. Por favor, espere

Métodos para representação de estruturas hierárquicas

Apresentações semelhantes


Apresentação em tema: "Métodos para representação de estruturas hierárquicas"— Transcrição da apresentação:

1 Métodos para representação de estruturas hierárquicas
Algoritmo de Sugiyama Métodos para representação de estruturas hierárquicas Christiano Gouveia de Oliveira

2 Algoritmo de Sugiyama Algoritmo criado para a geração automática de representações de estruturas hierárquicas de maneira inteligível. Os mapas gerados pelo algoritmo de Sugiyama apresentam as seguintes características: Vértices de mesmo nível são posicionados ao longo de uma mesma linha horizontal; As arestas são representadas por retas e só podem ligar vértices de níveis adjacentes; O algoritmo procurar gerar mapas compactos, balanceados e com poucos cruzamentos entre arestas.

3 O algoritmo pode ser dividido em duas etapas: na primeira, busca-se minimizar o número de cruzamentos entre arestas e na segunda, procura-se representar o mapa de maneira compacta e balanceada. Nesta apresentação, temos dois métodos para minimizar o número de cruzamentos: Penalty Minimization Method (método exato); Barycentric Method (método heurístico). Para compactar e balancear o grafo, temos uma formulação matemática de um problema de programação não-linear e uma heurística para resolvê-lo: Quadratic Programming Layout Method; Priority Layout Method.

4 Definições Básicas Uma hierarquia n-nível (n ≥ 2) é definida como um grafo direcionado (V,E), em que V é o conjunto de vértices e E o conjunto de arestas, tal que: V é dividido em n subconjuntos em que Vi é o i-ésimo nível e n o tamanho da hierarquia. Toda aresta tal que e cada aresta é única.

5 Uma hierarquia é dita própria se satisfaz as seguintes condições:
As arestas são divididas em n-1 subconjuntos E1, E2, ..., E3, tal que a interseção entre os subconjuntos é vazia e cada aresta ei liga vértices do subconjunto Vi e Vi+1. Uma ordem σi de Vi representa a seqüência de todos os vértices de Vi. |Vi| é o número de vértices em Vi

6 Uma hierarquia, portanto é definida como
em que Para as próximas discussões, serão considerados uma hierarquia própria.

7 Matriz de Realização de uma Hierarquia n-nível
Uma matriz , é uma matriz cujas linhas são ordenadas de acordo com σi e σi+1, em que i representa o i-ésimo nível da hierarquia. Cada elemento da matriz M(i) é definido como: 1, 0, para outros casos

8 M(i) é chamada matriz de interconexões.
Uma matriz de realização g de G é dada pela fórmula:

9

10 Número de Cruzamentos em Hierarquias n-Níveis
O número de cruzamentos com o vértice vk, sucedendo vj na matriz de interconexões: em q representa o número de colunas da matriz M(i).

11 Cruzamentos = 3

12 Cruzamentos = 3 + 0

13 Cruzamentos = = 3

14 O número de cruzamentos em uma matriz M(i) é:

15

16 O número de cruzamentos em uma mapa g é dado pela soma dos cruzamentos de cada matriz de interconexões:

17

18 Conectividade U: conectividade superior
i: i-ésima matriz de interconexões k: vértice representado pela k-ésima linha da matriz M(i) i = 2 e k = 4

19 U: conectividade inferior
i: i-ésima matriz de interconexões k: vértice representado pela k-ésima linha da matriz M(i) i = 2 e k = 4

20 Baricentros A definição de baricentro será importante para as heurísticas apresentadas posteriormente.

21

22 Penalty Minimization Method
PM Method Penalty Minimization Method

23 O PM Method é um método de solução exata utilizado para minimizar o número de cruzamentos entre arestas em um mapa com apenas duas hierarquias. O método opera quando a ordem de uma linha ou coluna é mantida fixa. Para aplicar o algoritmo precisamos entender o Penalty Graph.

24 Penalty Graph Uma penalidade é representada por:
O objetivo do algoritmo é achar uma ordem para as linhas ou colunas de uma matriz de interconexões de tal forma que a soma do número de cruzamentos de todos os níveis adjacentes seja minimizada

25

26 O algoritmo Passo 1: Obter o grafo de penalidades H;
Passo 2: Encontrar todos os componentes fortemente conectados de H; Passo 3: Em todos os componentes que possuem mais de dois vértices, elimina-se os ciclos revertendo a direção das arestas de tal forma que a soma de penalidades seja mínima. “minimum feedback arc set”; Passo 4: A ordem dos vértices é definida pelo caminho de mínimo custo que liga todos os vértices no novo grafo H obtido no Passo 3.

27 Exemplo

28 O número de cruzamentos K(g) é 69

29 Passo 1: Penalty Digraph
(u,v), se k(r(u),r(v)) < k(r(v),r(u)) Se k(r(u),r(v)) = k(r(v),r(u)) não se traça arestas no grafo.

30 Passo 2: Componentes Fortemente Conectados
Aplicando um algoritmo baseado em busca em profundidade, encontramos os componentes fortemente conectado: {1, 3, 4, 5, 8} {2} {6} {7}

31 Passo 3 Encontrando todos os ciclos existentes no grafo.

32 Permanent Expansion?

33 Substituindo ui por variáveis Booleanas ei e trocando o produto por somas e vice e versa.
Simplificando a expressão acima por meio da lei da absorção.

34 Pela expressão anterior, obtemos ordens ótimas se invertemos as arestas:
(5,1) ou (8,5) de H.

35 Invertendo (5,1):

36 Invertendo (8,5):

37 48 69

38 BC method Barycentric Method

39 Heurística para minimizar o número de cruzamento entre arestas num mapa com dois níveis.
O algoritmo consistem em ordenar os vértices de uma linha ou coluna de uma matriz M(σ1, σ2) usando como chave o seu baricentro

40 A operação que transforma uma matriz M(σ1,σ2) em outra reordenada M(σ1’,σ2) é chamada ordenação baricêntrica. M(σ1’,σ2) = βRM(σ1,σ2) M(σ1,σ2’) = βCM(σ1,σ2) Podemos reduzir o número de cruzamentos repetindo a ordenação baricêntrica de linhas e colunas várias vezes.

41 O algoritmo consiste em duas fases, Fase 1 e Fase 2
O algoritmo consiste em duas fases, Fase 1 e Fase 2. A Fase 2 usa a Fase 1 como um subalgoritmo. Na primeira fase as linhas (ou colunas) são submetidas à ordenação baricêntrica, sendo que as linhas (ou colunas) que apresentarem o mesmo baricentro são preservadas.

42 Logo em seguida, a segunda fase é executa, trocado a ordem das linhas (ou colunas) que apresentarem o mesmo baricentro. RR(M) (ou RC(M)). Terminada a segunda fase, repete-se a primeira fase para as colunas (ou linhas).

43 Algoritmo Seja M0 uma matriz de realização de uma hierarquia de dois níveis e seja M* uma matriz de solução e K* o número de cruzamentos de M*

44 Fase 1:

45 Fase 2:

46 Exemplo

47

48

49

50 Algoritmos para hierarquias n-níveis

51 O método pode ser utilizado em qualquer um dos dois algoritmos apresentados

52 Tempo de parada: A mesma matriz de realização aparece várias vezes;
Atinge limite de iterações.

53 Exemplo

54

55

56

57 Quadratic Programming Layout Method
QP Method Quadratic Programming Layout Method

58 Problema de Programação não-linear (quadrática)
Minimizar a distância entre vértices pai e filhos; Balancear o grafo; Restrições: Ordem dos vértices em cada nível; Retas verticais ligando vértices falsos.

59 Modelo Matemático

60

61 Exemplo

62

63

64 Priority Layout Method
PL Method Priority Layout Method

65 Método heurístico para obter uma representação mais legível de um grafo com menor custo computacional. Segue o mesmo modelo dos algoritmos anteriores, nos quais a execução era realizada seqüencialmente sobre cada matriz de interconexões de uma matriz de realizações. Conceito de prioridade

66 Valores iniciais da posição horizontal de cada vértice em um nível i são dados por:
A posição de cada vértice é melhorada seqüencialmente de cima para baixou ou de baixo para cima;

67 A posição de cada vértice em um nível é determinada um por uma de acordo com a sua prioridade.
A maior prioridade é dados aos vértices falsos e seu valor é maior que a conectividade de todos os vértices. As demais prioridades é dada pela conectividade de cada vértice.

68 A principal maneira de melhorar a distribuição dos vértices em cada nível é minimizar a distância entre a posição atual do vértice e os baricentros superiores ou inferiores do mesmo vértice.

69 Restrições As posições são representadas por números inteiros;
A ordem dos vértices é preservada; Uma vez determinada a posição de um vértice, ela deve permanecer fixa. A partir daí somente os vértices de menor prioridade podem se mover, de tal forma que a distância seja mínima.

70 Exemplo

71

72 Dúvidas?

73

74


Carregar ppt "Métodos para representação de estruturas hierárquicas"

Apresentações semelhantes


Anúncios Google