SciELO - Scientific Electronic Library Online

 
vol.28 issue1Índice multicritério de bem estar social rural em um município da Região AmazônicaThe use of principal components and univariate charts to control multivariate processes author indexsubject indexarticles search
Home Pagealphabetic serial listing  

Services on Demand

Journal

Article

Indicators

Related links

Share


Pesquisa Operacional

Print version ISSN 0101-7438On-line version ISSN 1678-5142

Pesqui. Oper. vol.28 no.1 Rio de Janeiro Jan./Apr. 2008

https://doi.org/10.1590/S0101-74382008000100009 

Coloração total equilibrada de grafos – Um modelo para redes de interconexão

 

 

Abel Rodolfo Garcia LozanoI; Clicia Valladares Peixoto FriedmannII; Samuel Jurkiewicz III, *

IDepartamento de Matemática / FFP Universidade do Estado do Rio de Janeiro (UERJ) São Gonçalo – RJ
IIDepartamento de Matemática / FFP Universidade do Estado do Rio de Janeiro (UERJ) São Gonçalo – RJ cliciavp@terra.com.br
IIIPrograma de Engenharia de Produção / COPPE Universidade Federal do Rio de Janeiro (UFRJ) Rio de Janeiro – RJ jurki@pep.ufrj.br

 

 


RESUMO

Uma rede de interconexão é uma estrutura composta por um conjunto P de n > 1 processadores e um conjunto T de ligações, satisfazendo certas condições. Neste trabalho será introduzido o conceito de coloração total equilibrada. Este conceito é utilizado para oferecer uma representação natural para o processamento paralelo em redes de conexão. Uma coloração total equilibrada é apresentada para as principais topologias de redes de conexão, com no máximo D +2 cores, satisfazendo assim uma conjectura de Vizing.

Palavras-chave: coloração total equilibrada; processamento paralelo; arquiteturas de rede.


ABSTRACT

An interconnection network is a structure including a set P of n > 1 processors and a set T of connections of the elements of P, satisfying certain conditions. In this work it will be introduced the concept of equitable total coloring of a graph. This concept is shown to be a natural representation for parallel processing in interconnection networks. For the most common interconnection network topologies an equitable total coloring is presented with at most D +2 colors, thus satisfying a conjecture of Vizing.

Keywords: equitable total coloring; parallel processing; network architecture.


 

 

1. Introdução

O processamento paralelo possibilita a divisão de uma mesma tarefa entre vários processadores com a finalidade de se obter maior eficiência na sua execução e economia de tempo de processamento. Essa possibilidade de ganho de tempo é uma das razões pelas quais o estudo de algoritmos paralelos tem se expandido ao longo dos últimos anos.

Embora o processamento paralelo tenha vantagens significativas, apresenta como limitações o fato de a programação geralmente ser feita de forma seqüencial e os algoritmos em paralelo serem específicos para cada topologia. O ideal seria gerar algoritmos comuns a todas as topologias ou paralelizar automaticamente algoritmos seqüenciais. Neste trabalho mostramos o exemplo de um algoritmo de troca completa baseado unicamente nas cores, pelo que independe da topologia.

Nos próximos itens, serão apresentadas algumas noções básicas a respeito de redes de interconexão e de grafos, além de ser introduzida a noção de coloração total equilibrada. Também será exposto um algoritmo de transmissão que explora a idéia de coloração total equilibrada. Posteriormente, será mostrado que é possível colorir total e equilibradamente as topologias mais usuais de redes de interconexão do tipo ponto-a-ponto. Para isso, serão desenvolvidos métodos de coloração total equilibrada para os grafos específicos que representam as topologias mais comuns. Veremos que essas colorações não contrariam a conjectura de Vizing para colorações não equilibradas.

 

2. Redes de interconexão, representação de redes ponto-a-ponto e grafos

Uma rede de interconexão é uma estrutura composta por um conjunto P de n > 1 processadores e um conjunto T de ligações (conexões) entre os processadores e que satisfaz as seguintes propriedades:

1. Cada processador tem sua memória local;

2. Cada processador pode executar, em determinado momento, uma e somente uma das seguintes tarefas:

a) processar alguma informação;

b) enviar alguma informação;

c) e receber alguma informação.

3. Cada uma das tarefas gasta o mesmo tempo para sua realização.

Em uma rede de interconexão cada processador deve pertencer a alguma ligação, podendo estar em várias. Denomina-se canal a uma conexão que possui somente dois processadores.

Uma rede de interconexão pode ser representada por um grafo G(V, E), que é uma estrutura matemática constituída por um conjunto não vazio e finito V e por um conjunto E de subconjuntos de dois elementos de V. Os vértices e arestas do grafo G são respectivamente os elementos de V e de E. No caso das redes, os vértices são os processadores e estão associados ao processamento de informações; as arestas são os canais e representam a transmissão de informações. Tanto vértices quanto arestas são os elementos do grafo. Numa representação gráfica de um grafo G(V,E), os vértices são representados por pontos e as arestas por linhas.

A seguir, apresentamos algumas definições associadas a grafos que serão necessárias para uma melhor compreensão deste texto.

Dois vértices são adjacentes ou vizinhos quando existe uma aresta que os une e duas arestas são incidentes se possuem um vértice em comum. O grau de um vértice é dado pelo número de arestas que incidem sobre ele, e o grafo é regular quando todos os seus vértices têm o mesmo grau.

Em um grafo, define-se um caminho entre dois vértices v1 e vr como uma seqüência de vértices distintos v1, v2, . . , vr tais que {vi, vi+1} Î E. Um caminho é notado pela seqüência dos seus vértices: v1, v2, v3, . . , vr. Quando conveniente, as arestas ei serão incluídas na notação: v1, e1, v2, e2, v3,. . er-1, vr. O comprimento do caminho é dado pelo o número de arestas; ou seja, o caminho possui (r-1) arestas.

 

3. Coloração total equilibrada, processamento e transmissão de dados

Uma coloração total própria j de um grafo G(V,E) é uma função de V È E em um conjunto de cores C de tal forma que dois elementos adjacentes ou incidentes do grafo não tenham a mesma imagem. Denota-se por a(c) o número de vezes que a cor c aparece em uma coloração total. A Figura 1 mostra uma coloração total para um grafo regular de grau 2.

 

 

Diz-se que uma coloração total é equilibrada se para quaisquer cores c1 e c2 pertencentes ao conjunto de cores C então |a(c1) – a(c2)|< 1. A Figura 2 abaixo apresenta uma coloração equilibrada. A partir dessa coloração, pode-se associar que os processadores ou os canais coloridos com a mesma cor, por exemplo, com a cor 3, processem ou transmitam informações simultaneamente.

 

 

Observa-se que a idéia de associar coloração total equilibrada ao processamento e transmissão de dados pode ajudar na elaboração de algoritmos que envolvam processamento e transmissão de dados independentemente da topologia da rede. Em uma coloração total não equilibrada, embora exista a possibilidade desse tipo de associação, a falta de equilíbrio na distribuição das cores não permite um bom aproveitamento da rede.

A seguir, apresenta-se um algoritmo que envolve unicamente transmissão de dados. Nesse caso, a idéia de coloração total equilibrada também é útil, pois as cores nos vértices indicam o sentido da transmissão.

 

4. Um algoritmo de comunicação e coloração total equilibrada

Considera-se que a medida de tempo de um algoritmo seja dada pelo número de passos que ele efetua. Em uma rede admite-se que toda computação possa ser realizada instantaneamente por qualquer processador e que a comunicação entre processadores vizinhos deve consumir um passo de computação.

Abaixo, apresenta-se um algoritmo de comunicação, baseado em coloração total, que envolve troca completa de informações, ou seja, cada processador possui uma informação e é necessário que todos os processadores conheçam todas as informações.

4.1 Algoritmo para troca completa:

Tipo: cor=inteiro;  
Variáveis: k : inteiro {número de cores necessário para colorir totalmente o grafo associado à topologia}
x[k] : array de cor;
aux:cor;
início  
  Passo 1:  
    Criar uma coloração total equilibrada do grafo G(V,E) que representa a topologia da rede
para i:=1 a k faça x[i]:=i
 
  Passo 2:  
    para i:=1 a k faça
início
 
      Transmitir a informação por qualquer aresta com a cor i, na direção do vértice cuja cor tem o maior índice no array x.  
    fim;  
  Passo 3:  
    aux:=x[k] ;
para i:=k descendo até 1 faça x[i]:=x[i-1] ;
x[1]:=aux;
 
  Passo 4 :  
    Repetir os passos 2 e 3 até que todos os processadores recebam todas as informações.  
Fim  

4.2 Análise do algoritmo

Sejam x e y dois vértices adjacentes do grafo G(V,E), associado a uma rede; o vértice y receberá a informação de x em no máximo k repetições dos passos 2 e 3 do algoritmo. Se d for o comprimento do maior caminho entre dois vértices quaisquer do grafo G, então, em dk2 passos, todos os vértices receberão todas as informações.

O algoritmo apresentado independe da topologia da rede de interconexão, mas funciona com qualquer coloração. Entretanto, uma coloração total equilibrada do grafo, que representa a rede, torna o processamento mais eficiente. A seguir, será mostrado que as topologias mais utilizadas em redes de interconexão admitem colorações totais equilibradas que não contrariam a conjectura de Vizing, que será enunciada logo abaixo.

 

5. Coloração total equilibrada das topologias de redes de interconexão

Denomina-se número cromático total de G(V,E), representado por cT(G), a cardinalidade do menor conjunto C que colore totalmente o grafo. A conjectura de Vizing a respeito de coloração total estabelece que:

"Para qualquer grafo G(V,E) então cT(G) <D +2 , sendo D o grau máximo do grafo."

É fácil verificar que cT(G) > D +1. Se cT(G) = D +1, então o grafo é do tipo 1, caso cT(G) = D +2, o grafo é de tipo 2; portanto a conjectura de Vizing pode ser reapresentada como:

"Para qualquer grafo G(V,E) então G é do tipo 1 ou do tipo 2."

Tem-se que as topologias mais utilizadas em redes de conexão são: anel, hipercubo e toro. Será mostrado que é possível associar a cada uma delas uma coloração total equilibrada de tal forma que sejam classificadas como de tipo 1 ou de tipo 2. Em alguns casos, é usada a arquitetura em árvore, que admite uma coloração equilibrada com D +1 cores, conforme Garcia Lozano (2005).

5.1 Anel

Um ciclo ou anel Ck de comprimento (k-1) é um caminho v1, v2 . . vk tal que {v1, vk } Î E. O anel Ck possui k vértices e k arestas, sendo k > 3. Abaixo, mostra-se que um ciclo Ck é colorido de forma total equilibrada com três ou quatro cores.

1° caso - k múltiplo de 3

Seja C = {c1, c2, c3} um conjunto de cores. Considere a seqüência de elementos do anel Ck dada por: v1e1v2, v2e2v3, . . ., vk-1ek-1vk, vkekv1, sendo a aresta ei = {vi, vi+1} quando 1< i < k-1 e ei = {vk, v1} se i=k. Colore-se a seqüência acima com as cores c1, c2, c3 nessa ordem e sucessivamente até completar o ciclo. Observa-se que a cor da aresta ek será c3; diferente das cores do vértice v1 e da aresta e1 que são coloridos respectivamente por c1 e c2. Cada uma das três cores é utilizada 2.k/3 vezes e a coloração é equilibrada.

2° caso - k não múltiplo de 3

Se k não é múltiplo de 3, não há coloração total com 3 cores. De fato, cada classe de cor teria 2k/3 + 1 elementos, o que se constata facilmente ser impossível. Em seguida, apresentamos uma coloração com 4 cores c1, c2, c3, c4.

Se k é par, a seqüência de elementos do ciclo dada por: v1e1v2, v2e2v3, . . ., vk-1ek-1vk, vkek será colorida sucessivamente pelas cores c1, c2, c3, c4 nessa ordem até completar o anel. A aresta ek terá cor c4, diferente da cor do vértice v1 (cor c1) e da aresta e1 (cor c2). Cada cor aparecerá k/2 vezes, e a coloração é equilibrada.

Se k for ímpar, colore-se a seqüência de elementos do ciclo com as cores c1, c2, c3, c4 nessa ordem até a aresta ek-1 inclusive. Observa-se que até ek-1 a coloração é equilibrada. A fim de evitar conflito de cores no restante da coloração, o vértice vk é colorido com c2 e a aresta ek com a cor c3. As cores c1 e c4 são usadas (k-1)/2 vezes cada uma e as cores c2 e c3 são utilizadas (k+1)/2 vezes.

5.2 Hipercubo

Um hipercubo de dimensão k (k inteiro positivo) é um grafo cujo conjunto de vértices é formado por todas as k-uplas constituídas por "0" e "1". Existe uma aresta entre dois vértices do hipercubo se as k-uplas correspondentes aos vértices diferem apenas de uma coordenada. Um hipercubo de dimensão k, denotado por Qk, é um grafo regular de grau k e possui 2k vértices e k2k-1 arestas. A Figura 3 abaixo mostra os hipercubos Q1, Q2 e Q3.

 

 

Nota-se que a retirada da última coordenada de cada uma das k-uplas transforma um Qk em dois hipercubos de dimensão imediatamente inferior. Da mesma forma, um hipercubo Qk é obtido pela junção de dois hipercubos Qk-1 ao acrescentar 0 ou 1 após a última coordenada de cada uma das (k-1)-uplas.

Abaixo, será demonstrado que qualquer hipercubo Qk pode ser colorido de forma total e equilibrada com (D +2) cores, ou seja, com (k+2) cores. Posteriormente, também será exibida uma coloração equilibrada de Q3 com quatro cores, o que acarretará uma conjectura a respeito de que hipercubos podem ser do tipo 1.

5.2.1 Coloração total e equilibrada de Qk com k+2 cores

Abaixo, será apresentada uma coloração total equilibrada de Qk, que será iniciada pelos vértices, seguida pela coloração das arestas.

Coloração dos vértices

Pela definição do hipercubo, observa-se que os vértices, cuja soma das coordenadas é par, não são adjacentes. O mesmo vale para o conjunto dos vértices cuja soma das coordenadas é ímpar. Esses conjuntos de vértices são coloridos respectivamente com as cores c1 e c2. Cada cor será utilizada (2k-1) vezes.

Coloração das arestas

Para cada vértice u do hipercubo Qk , existem k vértices adjacentes a ele. Seja vi (i=1,2,3 .., k) o vértice adjacente a u , cuja i-ésima coordenada difere da i-ésima coordenada de u ; atribui-se cor ci+2 à aresta {u,vi}. Dessa forma, garante-se que cada aresta {u,vi} é colorida com uma cor diferente. A mesma distribuição de cores pode ser aplicada às arestas adjacentes a todos os vértices. Cada cor é utilizada 2k-1 vezes.

Observa-se que as cores c0 e c1, que são utilizadas para colorir os vértices, não se repetem nas arestas. Tem-se também que quaisquer arestas com a cor ci+1 não possuem vértices em comum. De fato, se duas arestas, com a mesma cor, fossem incidentes a um vértice em comum, implicaria que os outros dois vértices, cada um deles incidente em apenas uma das duas arestas, pertenceriam à vizinhança do vértice em comum, e pela coloração sugerida no parágrafo anterior, as arestas teriam cores diferentes.

São necessárias (k+2) cores para colorir totalmente o hipercubo cubo Qk , sendo que cada cor é utilizada 2k-1 vezes . A coloração é equilibrada.

5.2.2 Coloração total e equilibrada de Q3 com quatro cores e uma conjectura

Conforme já comentado, pode-se exibir uma coloração de Q3 com D +1 cores, ou seja, com 4 cores. A coloração é feita da seguinte forma:

Cor 0 Vértices: (0,0,0) e (1,1,1) Arestas: [(0,0,1),(0,1,1)]; [(0,1,0),(1,1,0)]; [(1,0,1),(1,0,0)]

Cor 1 Vértices: (0,0,1) e (1,1,0) Arestas: [(0,1,1),(0,1,0)]; [(0,0,0),(1,0,0)]; [(1,1,1),(1,0,1)]

Cor 2 Vértices: (0,1,1) e (1,0,0) Arestas: [(0,1,0),(0,0,0)]; [(0,0,1),(1,0,1)]; [(1,1,0),(1,1,1)]

Cor 3 Vértices: (0,1,0) e (1,0,1) Arestas: [(0,0,0),(0,0,1)]; [(0,1,1),(1,1,1)]; [(1,0,0),(1,1,0)]

Esta coloração apresenta uma simetria que tem uma característica interessante: todas as cores estão presentes em exatamente 2k/(k+1) vértices e k.2k-1/(k+1) arestas. Isso só é possível quando (k+1) é uma potência de 2, o que induz à conjectura de que um hipercubo Qk será do tipo 1 (quanto à coloração total) apenas quando (k+1) for uma potência de 2.

5.3 Toro

O toro é definido como o produto cartesiano de dois ciclos. Formalmente, o toro Tj,k é o grafo não orientado que tem como conjunto de vértices V(Tj,k) = { vs,t | 1 < s < j; 1 < t < k } e cujas arestas ligam vértices va,b e vc,d sempre que:

  • a = c e |d – b| = 1 ou k-1 (mod k) ou

  • b = d e |c – a| = 1 ou j-1 (mod j).

Os toros são grafos 4-regulares, logo, para qualquer número de vértices n, o número de arestas será m = 4n/2 = 2n. O número total de elementos a ser colorido é 3n.

A seguir, será mostrada uma coloração equilibrada com 6 cores para todos os toros e uma coloração equilibrada com 5 cores para toros Tj,k em que k é múltiplo de 5.

5.3.1 Para j par e k ¹ 5.t , t Î Z

No caso em questão, como o número de vértices n é par, então 3n é divisível por 6, logo a coloração oferecida vai alocar a mesma cor a n/2 elementos.

Para colorir totalmente toros com os dois ciclos geradores de ordem par, são utilizados "pseudo-toros" modulares do tipo T2,2 e T2,3 . A rigor, esses dois módulos são considerados como "toros degenerados", uma vez que incluem arestas múltiplas. Esta característica, entretanto, não interfere na construção da coloração. Abaixo, na Figura 4, são indicadas as colorações dos módulos 2x2 e 3x2 respectivamente.

 

 

Observa-se que as colorações exibidas são equilibradas. Além disso, elas podem ser utilizadas para colorir todo e qualquer toro com j par e k qualquer. Por exemplo, para colorir um toro T8,13 , basta ligar os módulos, conforme indicado na tabela abaixo:

 

 

5.3.2 Para j ímpar e k ¹ 5.t , t Î Z

A mesma construção do item 5.3.1 é utilizada aqui com algumas diferenças. Como n é ímpar, a coloração total vai alocar cores a três classes de (n+1)/2 cores e a três de (n - 1)/2 cores. Para conseguir completar a montagem, serão utilizados dois módulos, também "degenerados" da forma T1,2 e T1,3. A degeneração agora inclui laços, isto é, arestas ligando um vértice a ele mesmo. Outra vez, esta característica não interferirá na construção. A Figura 5 abaixo mostra os módulos T1,2 e T1,3

 

 

A tabela a seguir ilustra a coloração de T7,7 com 6 cores utilizando os quatro tipos de módulos.

 

 

5.3.3 k múltiplo de 5

No caso particular em que k é um múltiplo de 5, é construída uma coloração total com 5 cores. Os módulos utilizados agora serão de 2 X 5 e de 3 X 5, conforme ilustrado na Figura 6 abaixo.

 

 

Observa-se que a coloração desses módulos apresenta uma simetria circular que dá uma característica interessante: todas as cores estão presentes em exatamente n/5 vértices e 2n/5 arestas. O processo é ilustrado na tabela abaixo com uma 5-coloração de T7,10.

 

 

6. Conclusão

A coloração total equilibrada possibilita a representação de uma divisão natural dos recursos de uma rede de conexões. Com o uso desse conceito, a confecção de algoritmos paralelos pode ser feita de maneira genérica, em que pelo menos ë t/(D +2)û processadores ou conexões podem ser usados simultaneamente, sendo t o número de elementos do grafo associado à rede (i.é. número de vértices + número de arestas).

Permanece em aberto se hipercubos e toros são do tipo 1 ou do tipo 2, mas em ambos os casos, a conjectura de Vizing se mostra verdadeira.

 

Referências Bibliográficas

(1) Garcia Lozano, A.R. (2005). Coloração total equilibrada de grafos. Tese de Doutorado, Universidade Federal do Rio de Janeiro, COPPE/UFRJ, D.Sc., Engenharia da Produção.         [ Links ]

(2) McDiarmid, C.J.H. & Sanchez Arroyo, A. (1993). An upper bound for total coloring of graphs. Discrete Mathematics, 111, 389-392.         [ Links ]

(3) Vijayaditya, N. (1971). On total chromatic number of a graph. J. London Math. Soc., 2, 405-408.         [ Links ]

(4) Yap, H.P. (1996). Total Colorings of Graphs. Springer Verlag.         [ Links ]

(5) Yap, H.P. (1986). Some Topics in Graph Theory. Cambridge University Press.         [ Links ]

 

 

Recebido em 12/2006; aceito em 10/200
Received December 2006; accepted October 2007

 

 

* Corresponding author / autor para quem as correspondências devem ser encaminhadas

Creative Commons License All the contents of this journal, except where otherwise noted, is licensed under a Creative Commons Attribution License