II) Orta çaplı damar vaskülitler
1.1.3. Ailesel Akdeniz Ateşi 1 Tanımı ve Tarihçe
1.1.3.5. Klinik Bulgular
1.1.3.5.7. Diğer sistem tutulumları
Considerando que estamos trabalhando com um grafo plano triangulado G que possui uma representação retangular, iremos apresentar como obter um grafo dos caminhos dirigidos de G. Observe que podem existir diversas representações retangulares de G, logo, pode existir o mesmo número de grafos dos caminhos dirigidos. Nosso objetivo é encontrar um destes grafos e a partir deste construir uma representação retangular de G.
Nesta seção vamos apresentar a estratégia do algoritmo de Bhasker e Shani. Para facilitar o entendimento, inicialmente, vamos adotar o sentido inverso do algoritmo, vamos partir da representação retangular para explicar como o grafo dos caminhos dirigidos é utilizado durante o algoritmo.
Observe a representação retangular ilustrada na figura5.1C. A representação retangular é particionada em seis colunas (A, B, C, D, E e F) que são limitadas pelas linhas pontilhadas. Note que toda aresta vertical está sobre uma linha pontilhada.
Como já explicado anteriormente, podemos construir um grafo dos caminhos dirigidos D a partir desta representação retangular (figura 5.1B).
Se olharmos para cada coluna da representação retangular, conseguimos identificar um caminho em D do vértice v∞ a uma folha de D. Ainda, dada duas colunas, os caminhos
referente a elas em D, são disjuntos nas arestas.
Como existe esta correspondência entre os caminhos de D com as colunas da representação retangular, o algoritmo consiste em receber o grafo plano triangulado G (figura
5.1A), encontrar um grafo dos caminhos dirigidos dirigidos D de G e, por fim, processar D para encontrar uma representação retangular de G.
Agora, vamos omitir como faremos para encontrar um grafo dos caminhos dirigidos de G. Suponha que sabemos encontrar um grafo dos caminhos dirigidos e este satisfaz o lema
5.2.
De modo geral, o algoritmo para encontrar uma representação retangular a partir do grafo dos caminhos dirigidos D percorre todos os caminhos dirigidos do vértice v∞ até uma
folha, da esquerda para direita.
Vamos simular o algoritmo para construir uma representação retangular a partir do grafo plano triangulado. Considere como entrada o grafo G ilustrado na figura 5.1A.
Para construir o grafo dos caminhos dirigidos, precisamos identificar os vértice que irão corresponder aos retângulos dos cantos: superior esquerdo, superior direito, inferior esquerdo e inferior direito. Estes vértices serão rotulados, respectivamente, como NO, NE, SO e SE. Para o grafo da figura 5.1A, temos NO = 1, NE = 9, SO = 3 e SE = 8.
5.2 Visão geral do algoritmo de Bhasker e Shani 51
O circuito C = h1, 4, 6, 9, 10, 8, 3, 2, 1i define a face externa de G. Podemos particionar o circuito C em quatro caminhos da borda: caminho superior, caminho inferior, caminho esquerdo e caminho direito. Por exemplo, neste grafo o caminho superior da borda possui os vértices 1, 4, 6 e 9; o caminho inferior da borda possui os vértices 3 e 4; o caminho esquerdo da borda possui os vértices 1, 2 e 3; e o caminho direito da borda possui os vértices 9, 10 e 8.
Após definir os rótulos NO, NE, SO e SE podemos construir um grafo dos caminhos direcionados D de G. Todos os caminhos deverão começar em um vértice do caminho superior da borda de G e terminar em um caminho inferior da borda de G.
Inicialmente, o grafo D só deve possuir o vértice v∞. Devemos percorrer o caminho
esquerdo da borda (h1, 2, 3i) do grafo D. Este caminho irá se tornar o caminho mais a esquerda do grafo D (figura 5.3A). Como já adicionamos os vértice 1, 2 e 3 em D, então podemos remover o caminho esquerdo da borda de G, o grafo G resultante e os novos rótulos são ilustrados na figura 5.3B.
O novo caminho esquerdo da borda de G não pode ser adicionado a D da mesma forma que foi feito anteriormente, pois a aresta (4, 8) viola o lema 5.2. O que acontece é que se o caminho h4, 5, 8i for adicionado a D, então o vértice 4 será um ancestral distante de 8. Podemos contornar este problema não utilizando a aresta (5, 8). Para completar o caminho no grafo D em um vértice que pertence ao caminho inferior da borda de G, ao invés de adicionarmos a aresta (5, 8), vamos substituí-la pela aresta (5, 3). A aresta (4, 8) será utilizada para construir um outro caminho. O processamento do caminho h4, 5, 8i irá resultar no grafo dos caminhos dirigidos ilustrado na figura 5.3C. O grafo G resultante após o processamento é ilustrado na figura 5.3D. Observe que o grafo da figura 5.3B e o grafo da figura 5.3D
possuem o mesmo vértice rotulado como SO. Isso se deve ao fato que SO = SE e que todos os caminhos devem terminar em um vértice pertencente ao caminho inferior da borda de G. Neste momento, h6, 7, 8i é o caminho esquerdo da borda de G. Adicionando este caminho a D, temos que o grafo resultante é igual ao ilustrado na figura5.4A. O grafo G resultante é ilustrado na figura 5.4B. Adicionando este último caminho a D temos o grafo dos caminhos dirigidos de G (figura5.4C). É fácil verificar que D não viola o lema5.2. Perceba que o grafo dos caminhos dirigidos da figura 5.4C não é igual ao ilustrado na figura 5.1B, isto se deve ao fato que um grafo plano triangulado pode possuir diversas representações retangulares.
É importante ressaltar que o algoritmo para obter um grafo dos caminhos dirigidos é mais complicado do que apresentado anteriormente, pois, precisamos tratar diversos casos especiais, como mostraremos a seguir.
Depois de construirmos D a partir de G, podemos construir a representação retangular de G.
(A) (B)
(C) (D)
Figura 5.3: Exemplo de uma construção do grafo dos caminhos dirigidos [BS88].
Vamos percorrer os caminhos do vértice v∞ até uma folha de D da esquerda para direita.
Para simplificar a notação, sempre que nos referirmos ao retângulo X, estamos nos referindo ao retângulo associado ao vértice X.
Inicialmente, o caminho mais esquerdo de D irá gerar os retângulos da coluna A (figura
5.5A). Vamos definir a largura de todos os retângulos desta coluna como sendo 1 unidade, entretanto, durante a execução do algoritmo podemos modificar a largura de algum retângulo que pertence a esta coluna. O próximo caminho é hv∞, 4, 5, 3i. Como o retângulo 4 é adjacente
aos retângulos que já foram definidos (retângulos 1 e 2), devemos desenhar o retângulo 4 conforme ilustrado na figura 5.5B. Desenhar o retângulo 4 desta forma possibilita satisfazer as restrições de adjacência do vértice 5. O retângulo 5, deve ser adjacente, além do retângulo 2, ao retângulo 3. Entretanto, o retângulo 3 já foi desenhado e como o retângulo 5 deve estar acima dele, precisamos alargá-lo de modo que satisfaça esta condição (figura 5.5C), finalizando a coluna B. O próximo caminho é hv∞, 4, 8i. Como o retângulo 4 já foi desenhado,
5.2 Visão geral do algoritmo de Bhasker e Shani 53
(A) (B)
(C)
Figura 5.4: Exemplo de uma construção do grafo dos caminhos dirigidos (continuação)[BS88].
precisamos alargá-lo para poder colocá-lo acima do retângulo 8. Assim, concluímos a coluna C (figura 5.5D).
Para coluna D, iremos percorrer o caminho hv∞, 6, 7, 8i. O retângulo 6 deve ficar no
topo, seguido pelo retângulo 7. Como o retângulo 7 deve ficar acima do retângulo 8, vamos alargar o retângulo 8 (figura 5.6A). O último caminho de D é hv∞, 9, 10, 8i será responsável
pela última coluna da representação retangular (E). Como nos caminhos anteriores, vamos desenhar os retângulos 9 e 10. Já o retângulo 8, precisamos alargá-lo para que fique abaixo de 10 (figura 5.6B). Como este era o último caminho de D, então após processá-lo, temos
(A) (B)
(C) (D)
Figura 5.5: Exemplo de uma construção da representação retangular de G.[BS88].
uma representação retangular de G.
(A) (B)
Figura 5.6: Exemplo de uma construção da representação retangular de G. (continuação) [BS88].