O problema de aloca¸c˜ao de comprimentos de onda pode ser formulado como um problema de colora¸c˜ao de v´ertices no qual os v´ertices representam os caminhos ´opticos existentes na rede, e as arestas representam a existˆencia de pelo menos um enlace compartilhado entre os caminhos ´opticos. Uma aloca¸c˜ao ´otima dos caminhos ´opticos ´e dada pela minimiza¸c˜ao do n´umero de cores utilizadas sob a restri¸c˜ao de que v´ertices adjacentes devem possuir cores diferentes.
O problema de colora¸c˜ao ´otima em grafos ´e um problema NP-Dif´ıcil. Os melho- res algoritmos existentes para a colora¸c˜ao de v´ertices possuem complexidades de tempo O(2, 4423n), O(2, 4151n) e O(2, 4023n) [80, 52, 10], o que torna intrat´avel a busca de uma solu¸c˜ao para redes de grande porte.
Por outro lado, existem algoritmos de complexidade polinomial para colorir grafos bipartidos ou de intervalos. Para grafos cordais, existem algoritmos que possuem tempo de execu¸c˜ao linear.
Neste cap´ıtulo, a abordagem para a colora¸c˜ao de grafos apresentada em [12] ´e utilizada.
1
4.2. Complexidade parametrizada da colora¸c˜ao de v´ertices 51
Para auxiliar a compreens˜ao desta abordagem, algumas nota¸c˜oes devem ser introduzidas: Considere F uma fam´ılia de grafos e Π um problema NP-Dif´ıcil que pode ser resolvido em tempo polinomial para qualquer grafo de F . Seja G um grafo que n˜ao pertence a F , mas ´e semelhante a um grafo de F , diferindo apenas em algumas arestas. Considere k um n´umero inteiro positivo; F − ke denota a classe de grafos que pode ser obtida a partir de F apenas removendo no m´aximo k arestas. Um Modulador ´e um conjunto de k arestas que, quando adicionados, transformam G em um grafo da classe F .
Em [12], foi introduzido um algoritmo que colore de forma ´otima um grafo F − ke para uma classe de grafos contra´ıveis nas arestas F (e.g. Planar, Cordal, Split, Cografos, etc). O Teorema 1 provˆe a complexidade de tempo para este problema.
Teorema 1 (Cai, 2003 [12]) Seja F uma classe de grafos contra´ıveis nas arestas, e T (m, n) o tempo necess´ario para computar uma colora¸c˜ao ´otima de um grafo de F . Uma colora¸c˜ao ´otima de um grafo G que perten¸ca a classe F − ke, dado um Modulador de G, pode ser encontrada em tempo O(2kmax{T (m + k, n), m + n + k}).
O algoritmo gen´erico para uma fam´ılia contra´ıvel nas arestas F utiliza o m´etodo da conex˜ao-contra¸c˜ao e sua prova pode ser encontrada em [12]. Este resultado implica que o problema de encontrar uma colora¸c˜ao ´otima para um grafo da classe F − ke ´e FPT se o problema de colora¸c˜ao para um grafo da classe F puder ser resolvido em tempo polinomial e o problema para encontrar um Modulador para um grafo da classe F − ke for FPT.
Este artigo introduz um algoritmo baseado no Teorema 1 para grafos da classe Cordal− ke2. Dado que uma colora¸c˜ao ´otima de um grafo Cordal pode ser encontrada em tempo O(m+ n)[129] e um Modulador para um grafo Cordal −ke pode ser encontrado em tempo O(f (k)(m + n)) [11], ent˜ao a colora¸c˜ao ´otima para um grafo da classe Cordal − ke com a complexidade de tempo O(f (k)(m + n)) pode ser encontrada.
De forma a encontrar a solu¸c˜ao para o problema de colora¸c˜ao de um grafo Cordal −ke, ´e necess´ario resolver dois subproblemas: a colora¸c˜ao de um grafo Cordal e a determina¸c˜ao de um Modulador para um grafo Cordal − ke. O primeiro problema pode ser resolvido executando-se uma busca lexicogr´afica (e.g. Cardinality Search) no grafo G [118], cuja poss´ıvel implementa¸c˜ao tem complexidade de tempo O(n + m) [129]. Dada a ordena¸c˜ao dos v´ertices de G, ´e necess´ario checar se esta corresponde a uma ordena¸c˜ao perfeita, i.e. uma ordena¸c˜ao que sempre colore o grafo G com o menor n´umero de cores poss´ıvel. Este procedimento pode ser executado em tempo O(n + m) [129], portanto, a complexidade para se colorir um grafo Cordal ´e O(n + m).
O problema para encontrar um Modulador para um grafo Cordal − ke pode ser resol- vido utilizando-se o algoritmo de k-Cordaliza¸c˜ao [11]. Este algoritmo requer como entrada
2
k-Cordaliza¸c˜ao(G, k)
Entrada: Um grafo G e um inteiro positivo k.
1: Se G ´e um grafo Cordal ent˜ao
2: Retorna G 3: Sen˜ao 4: Encontre um Buraco H em G. 5: Se k < |V (H)| − 3 ent˜ao 6: Retorna “N˜ao”. 7: Sen˜ao
8: Para cada MOP H# de V (H) fa¸ca
9: G# = G + (E(H#) − E(H)).
10: k-Cordaliza¸c˜ao(G#, k − (|V (H)| − 3)).
11: Fim Para
12: Fim Se
13: Fim Se
Figura 4.2: Algoritmo de k-Cordaliza¸c˜ao.
um grafo G e um inteiro positivo k e retorna um grafo Cordal G# que ´e um supergrafo de G no qual |E(G#)| − |E(G)| ≤ k se G# existir. A partir de G# ´e f´acil obter o Modulador M = E(G#) − E(G). O algoritmo para encontrar o modulador est´a apresentado na Figura 4.2.
Um Buraco3 pode ser encontrado em tempo linear [130], e todos os poss´ıveis gra- fos “outerplanares” m´aximos (MOPs4)5 de um Buraco podem ser obtidos em tempo O(Ck+1(m + n)) [108], sendo Ck+1 o (k + 1)-´esimo n´umero de Catalan, e k ´e o n´umero de v´ertices do Buraco.
Desta forma, a complexidade de tempo para encontrar um Modulador para um grafo Cordal − ke ´e O
,
4k
(k+1)32(m + n)
-
. A prova para esta dedu¸c˜ao pode ser encontrada em [11].
Pelo Teorema 1, pode-se concluir que ´e poss´ıvel obter um algoritmo para encon- trar uma colora¸c˜ao ´otima de um grafo Cordal − ke com a complexidade de tempo O
,
4k
(k+1)32(m + n)
-
. Tal algoritmo pertence a classe de complexidade FPT. Al´em disso,
3
Um Buraco ´e um ciclo sem cordas com mais de 3 v´ertices.
4
Maximal Outerplanar Graphs
5
Grafo Outerplanar ´e um grafo que admite um desenho onde duas arestas n˜ao se cruzam e todos os v´ertices est˜ao na fronteira da face externa. Grafo Outerplanar M´aximo, tamb´em chamado de grafo triangulado, ´e o grafo em que nenhuma aresta extra pode ser inclu´ıda sem que a propriedade de outer- planaridade seja perdida.
4.3. Aplica¸c˜ao do algoritmo de colora¸c˜ao parametrizada para a aloca¸c˜ao de comprimentos de onda53