algoritmo bsp/cgm para euler tour em grafos
DESCRIPTION
Algoritmo BSP/CGM para Euler tour em Grafos. Preliminares. Seja G=(V,E) um grafo euleriano e C= C 1 , C 2 , ..., C k uma partição de Euler de G. Seja H=(V’, C’, E’) o grafo bipartido definido pelo algoritmo de Atallah-Vishkin. - PowerPoint PPT PresentationTRANSCRIPT
![Page 1: Algoritmo BSP/CGM para Euler tour em Grafos](https://reader034.vdocuments.net/reader034/viewer/2022042608/5681544c550346895dc26408/html5/thumbnails/1.jpg)
Algoritmo BSP/CGM para Euler tour em Grafos
![Page 2: Algoritmo BSP/CGM para Euler tour em Grafos](https://reader034.vdocuments.net/reader034/viewer/2022042608/5681544c550346895dc26408/html5/thumbnails/2.jpg)
Preliminares Seja G=(V,E) um grafo euleriano e C=
C1, C2, ..., Ck uma partição de Euler de G. Seja H=(V’, C’, E’) o grafo bipartido
definido pelo algoritmo de Atallah-Vishkin.
Este grafo identifica os vértices de G através dos quais passam mais de um ciclo de C.
Seja S uma árvore geradora de H.
![Page 3: Algoritmo BSP/CGM para Euler tour em Grafos](https://reader034.vdocuments.net/reader034/viewer/2022042608/5681544c550346895dc26408/html5/thumbnails/3.jpg)
Um esteio S* = (V*, C*, E*) é um subgrafo de uma árvore geradora S de um grafo bipartido H=(V’, C’, E’), tal que, o grau de cada vértice em V* é maior ou igual a 2.
![Page 4: Algoritmo BSP/CGM para Euler tour em Grafos](https://reader034.vdocuments.net/reader034/viewer/2022042608/5681544c550346895dc26408/html5/thumbnails/4.jpg)
Exemplo
4
3 61
2
16
15 14
12
11
109
7 8
13
5
![Page 5: Algoritmo BSP/CGM para Euler tour em Grafos](https://reader034.vdocuments.net/reader034/viewer/2022042608/5681544c550346895dc26408/html5/thumbnails/5.jpg)
Distribuição das arestas
P0 (1,5) (2,1) (1,3) (2,6) (3,4) (6,5) (4,1) (7,2)
P1 (6,3) (4,6) (5,4) (3,2) (5,7) (8,7) (14,7) (7,9)
P2 (8,13) (10,8) (7,13) (9,12) (11,9) (13,9) (13,11) (9,10)
P3 (12,13) (9,8) (13,14) (16,14) (14,15) (15,16)
![Page 6: Algoritmo BSP/CGM para Euler tour em Grafos](https://reader034.vdocuments.net/reader034/viewer/2022042608/5681544c550346895dc26408/html5/thumbnails/6.jpg)
Passo 1
Obter uma partição de Euler.
![Page 7: Algoritmo BSP/CGM para Euler tour em Grafos](https://reader034.vdocuments.net/reader034/viewer/2022042608/5681544c550346895dc26408/html5/thumbnails/7.jpg)
Passo 1.1
Ordenar as arestas pelo vértice de destino.
![Page 8: Algoritmo BSP/CGM para Euler tour em Grafos](https://reader034.vdocuments.net/reader034/viewer/2022042608/5681544c550346895dc26408/html5/thumbnails/8.jpg)
Arestas ordenadas pelo vértice de destino
P0 (2,1) (4,1) (3,2) (7,2) (1,3) (6,3) (3,4) (5,4)
P1 (1,5) (6,5) (2,6) (4,6) (5,7) (8,7) (14,7) (9,8)
P2 (10,8) (7,9) (11,9) (13,9) (9,10) (13,11) (9,12) (7,13)
P3 (8,13) (12,13) (13,14) (16,14) (14,15) (15,16)
![Page 9: Algoritmo BSP/CGM para Euler tour em Grafos](https://reader034.vdocuments.net/reader034/viewer/2022042608/5681544c550346895dc26408/html5/thumbnails/9.jpg)
Passo 1.2
Ordenar as arestas pelo vértice de origem.
![Page 10: Algoritmo BSP/CGM para Euler tour em Grafos](https://reader034.vdocuments.net/reader034/viewer/2022042608/5681544c550346895dc26408/html5/thumbnails/10.jpg)
Arestas ordenadas pelo vértice de origem
P0 (1,3) (1,5) (2,1) (2,6) (3,2) (3,4) (4,1) (4,6)
P1 (5,4) (5,7) (6,3) (6,5) (7,2) (7,9) (7,13) (8,7)
P2 (8,13) (9,8) (9,10) (9,12) (10,8) (11,9) (12,13) (13,9)
P3 (13,11) (13,14) (14,7) (14,15) (15,16) (16,14)
![Page 11: Algoritmo BSP/CGM para Euler tour em Grafos](https://reader034.vdocuments.net/reader034/viewer/2022042608/5681544c550346895dc26408/html5/thumbnails/11.jpg)
Passo 1.3
Determinar o ciclo a qual pertence cada aresta.
Escolhe-se a menor aresta entre as arestas do ciclo como representante deste.
![Page 12: Algoritmo BSP/CGM para Euler tour em Grafos](https://reader034.vdocuments.net/reader034/viewer/2022042608/5681544c550346895dc26408/html5/thumbnails/12.jpg)
Representantes dos ciclos
P0 (1,3) (1,5) (1,3) (1,5) (1,3) (1,5) (1,5) (1,5)
P1 (1,5) (1,5) (1,5) (1,5) (1,5) (7,9) (7,13) (7,9)
P2 (8,13) (7,9) (8,13) (7,13) (8,13) (8,13) (7,13) (7,13)
P3 (8,13) (7,13) (7,13) (14,15) (14,15) (14,15)
![Page 13: Algoritmo BSP/CGM para Euler tour em Grafos](https://reader034.vdocuments.net/reader034/viewer/2022042608/5681544c550346895dc26408/html5/thumbnails/13.jpg)
Partição de Euler de G
4
3 61
2
16
15 14
12
11
109
7 8
13
5
![Page 14: Algoritmo BSP/CGM para Euler tour em Grafos](https://reader034.vdocuments.net/reader034/viewer/2022042608/5681544c550346895dc26408/html5/thumbnails/14.jpg)
Passo 1.4
Determinar o número de ciclos da partição de Euler.
Caso o número de ciclos seja 1, o circuito de Euler foi encontrado.
![Page 15: Algoritmo BSP/CGM para Euler tour em Grafos](https://reader034.vdocuments.net/reader034/viewer/2022042608/5681544c550346895dc26408/html5/thumbnails/15.jpg)
Passo 2
Construção do grafo bipartido.
![Page 16: Algoritmo BSP/CGM para Euler tour em Grafos](https://reader034.vdocuments.net/reader034/viewer/2022042608/5681544c550346895dc26408/html5/thumbnails/16.jpg)
Passo 2.1
Construir o grafo bipartido auxiliar H=(V’, C’, E’).
![Page 17: Algoritmo BSP/CGM para Euler tour em Grafos](https://reader034.vdocuments.net/reader034/viewer/2022042608/5681544c550346895dc26408/html5/thumbnails/17.jpg)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
(1,3)
(1,5)
(7,9)
(7,13)
(8,13)
(14,15)
![Page 18: Algoritmo BSP/CGM para Euler tour em Grafos](https://reader034.vdocuments.net/reader034/viewer/2022042608/5681544c550346895dc26408/html5/thumbnails/18.jpg)
Passo 2.2
Eliminar arestas replicadas. As replicações ocorrem quando por
um mesmo vértice passam duas arestas que pertencem ao mesmo circuito.
![Page 19: Algoritmo BSP/CGM para Euler tour em Grafos](https://reader034.vdocuments.net/reader034/viewer/2022042608/5681544c550346895dc26408/html5/thumbnails/19.jpg)
Grafo auxiliar sem arestas replicadas
P0 (1,(1,3)) (1,(1,5)) (2,(1,3)) (2,(1,5)) (3,(1,3)) (3,(1,5)) (4,(1,5))
P1 (5,(1,5)) (6,(1,5)) (7,(1,5)) (7,(7,9)) (7,(7,13)) (8,(7,9))
P2 (8,(8,13)) (9,(7,9)) (9,(8,13)) (9,(7,13)) (10,(8,13)) (11,(8,13)) (12,(7,13)) (13,(7,13))
P3 (13,(8,13)) (14,(7,13)) (14,(14,15)) (15,(14,15)) (16,(14,15))
![Page 20: Algoritmo BSP/CGM para Euler tour em Grafos](https://reader034.vdocuments.net/reader034/viewer/2022042608/5681544c550346895dc26408/html5/thumbnails/20.jpg)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
(1,3)
(1,5)
(7,9)
(7,13)
(8,13)
(14,15)
![Page 21: Algoritmo BSP/CGM para Euler tour em Grafos](https://reader034.vdocuments.net/reader034/viewer/2022042608/5681544c550346895dc26408/html5/thumbnails/21.jpg)
Passo 2.3
Eliminar as arestas que incidem em vértices com grau menor que 2.
![Page 22: Algoritmo BSP/CGM para Euler tour em Grafos](https://reader034.vdocuments.net/reader034/viewer/2022042608/5681544c550346895dc26408/html5/thumbnails/22.jpg)
Grafo auxiliar sem arestas que incidem em vértices de grau <2
P0 (1,(1,3)) (1,(1,5)) (2,(1,3)) (2,(1,5)) (3,(1,3)) (3,(1,5))
P1 (7,(1,5)) (7,(7,9)) (7,(7,13)) (8,(7,9))
P2 (8,(8,13)) (9,(7,9)) (9,(7,13)) (9,(8,13)) (13,(7,13))
P3 (13,(8,13)) (14,(7,13)) (14,(14,15))
![Page 23: Algoritmo BSP/CGM para Euler tour em Grafos](https://reader034.vdocuments.net/reader034/viewer/2022042608/5681544c550346895dc26408/html5/thumbnails/23.jpg)
1
2
3
7
8
9
13
14
(1,3)
(1,5)
(7,9)
(7,13)
(8,13)
(14,15)
![Page 24: Algoritmo BSP/CGM para Euler tour em Grafos](https://reader034.vdocuments.net/reader034/viewer/2022042608/5681544c550346895dc26408/html5/thumbnails/24.jpg)
Passo 3
Construir a árvore geradora.
![Page 25: Algoritmo BSP/CGM para Euler tour em Grafos](https://reader034.vdocuments.net/reader034/viewer/2022042608/5681544c550346895dc26408/html5/thumbnails/25.jpg)
Passo 3.1
Construir uma árvore geradora.
![Page 26: Algoritmo BSP/CGM para Euler tour em Grafos](https://reader034.vdocuments.net/reader034/viewer/2022042608/5681544c550346895dc26408/html5/thumbnails/26.jpg)
1
2
3
7
8
9
13
14
(1,3)
(1,5)
(7,9)
(7,13)
(8,13)
(14,15)
![Page 27: Algoritmo BSP/CGM para Euler tour em Grafos](https://reader034.vdocuments.net/reader034/viewer/2022042608/5681544c550346895dc26408/html5/thumbnails/27.jpg)
Árvore geradora obtida para o grafo G
P0 (1,(1,3)) (1,(1,5)) (2,(1,5)) (3,(1,5))
P1 (7,(1,5)) (7,(7,9)) (7,(7,13)) (8,(7,9))
P2 (9,(7,9)) (9,(8,13)) (13,(7,13))
P3 (14,(7,13)) (14,(14,15))
![Page 28: Algoritmo BSP/CGM para Euler tour em Grafos](https://reader034.vdocuments.net/reader034/viewer/2022042608/5681544c550346895dc26408/html5/thumbnails/28.jpg)
Passo 3.2
Computar o esteio da árvore geradora.
![Page 29: Algoritmo BSP/CGM para Euler tour em Grafos](https://reader034.vdocuments.net/reader034/viewer/2022042608/5681544c550346895dc26408/html5/thumbnails/29.jpg)
1
2
3
7
8
9
13
14
(1,3)
(1,5)
(7,9)
(7,13)
(8,13)
(14,15)
![Page 30: Algoritmo BSP/CGM para Euler tour em Grafos](https://reader034.vdocuments.net/reader034/viewer/2022042608/5681544c550346895dc26408/html5/thumbnails/30.jpg)
Esteio para o grafo G
P0 (1,(1,3)) (1,(1,5))
P1 (7,(1,5)) (7,(7,9)) (7,(7,13))
P2 (9,(7,9)) (9,(8,13))
P3 (14,(7,13)) (14,(14,15))
![Page 31: Algoritmo BSP/CGM para Euler tour em Grafos](https://reader034.vdocuments.net/reader034/viewer/2022042608/5681544c550346895dc26408/html5/thumbnails/31.jpg)
Passo 3.3
Calcule o número de arestas do esteio.
![Page 32: Algoritmo BSP/CGM para Euler tour em Grafos](https://reader034.vdocuments.net/reader034/viewer/2022042608/5681544c550346895dc26408/html5/thumbnails/32.jpg)
Passo 4
Realizar a costura.
![Page 33: Algoritmo BSP/CGM para Euler tour em Grafos](https://reader034.vdocuments.net/reader034/viewer/2022042608/5681544c550346895dc26408/html5/thumbnails/33.jpg)
Passo 4.1
Se o número de arestas a serem costuradas for menor ou igual a O(m/p), os processadores devem enviar suas arestas para um único processador, que realiza a operação de costura seqüencialmente.
A operação de costura consiste em trocar os sucessores das arestas que pertencem ao esteio.
![Page 34: Algoritmo BSP/CGM para Euler tour em Grafos](https://reader034.vdocuments.net/reader034/viewer/2022042608/5681544c550346895dc26408/html5/thumbnails/34.jpg)
Passo 4.2
Senão a operação de costura deverá ser realizada de maneira distribuída.
![Page 35: Algoritmo BSP/CGM para Euler tour em Grafos](https://reader034.vdocuments.net/reader034/viewer/2022042608/5681544c550346895dc26408/html5/thumbnails/35.jpg)