You are on page 1of 20

1

Revista Eletrônica Lato Sensu – Ano 3, nº1, março de 2008. ISSN 1980-6116
http://www.unicentro.br - Ciências Exatas e da Terra

APLICAÇÃO DA COLORAÇÃO EM GRAFOS FUZZY NO PROBLEMA DE


DISTRIBUÍÇÃO DE AULAS

Edson Gardin1
Fábio Hernandes2

RESUMO ABSTRACT

A coloração em grafos é um problema de The graph coloring is a problem of


otimização combinatória, visto que muitas combinatory optimization, therefore many
situações reais, tais como: gerência, alocação real problems, such as: management;
de recursos e atribuições de freqüências, allocation of resources and attributions of
podem ser modeladas desta forma. Em frequencies; can be formulated in this way.
alguns casos, entretanto este problema parece In some cases, however, this problem seems
ser muito restritivo, visto que a única to be very restrictive, since the only
limitação é que vértices adjacentes não restriction is that adjacent nodes cannot share
possuam a mesma cor, porém, na literatura, the same color, but, in the literature, there are
há alguns problemas de coloração de grafo some graph coloring problems that have
que possuem outras restrições, como other restrictions, as maximum color, the
quantidade máxima de cor, quantidade de number of the times that each color can be
vezes que cada cor pode ser usada e o grau used and the grade of the incompatibility
de incompatibilidade entre os vértices, between the nodes, appearing then the fuzzy
surgindo então o problema da coloração coloring problem. Therefore, in this article
fuzzy. Com isso, neste artigo, são are presented the works of the literature that
apresentados os trabalhos da literatura que treats of the graph coloring problem,
tratam do problema de coloração em grafos proposing a real application for this problem.
fuzzy, propondo uma aplicação real para este Keywords: Graph coloring problem, fuzzy
problema. sets theory, fuzzy graphs.
Palavras Chave: Problema da coloração de
grafos, teoria dos conjuntos fuzzy, grafos
fuzzy.

1. INTRODUÇÃO

É comum na literatura o estudo de coloração em grafos para solução de problemas de


otimização combinatória, que requerem a gerência de determinado recurso. Esses tipos de
problemas podem ser representados como grafos não orientados, onde os vértices representam
1
Pós-graduando em Matemática Aplicada, Departamento de Matemática, Setor de Ciências Exatas e de
Tecnologia, Universidade Estadual do Centro-Oeste – UNICENTRO
2
Orientador - Doutor em Engenharia Elétrica, Departamento de Ciência da Computação, Setor de Ciências
Exatas e de Tecnologia, Universidade Estadual do Centro-Oeste – UNICENTRO

Aplicação da Coloração em Grafos Fuzzy no Problema de Distribuíção de Aulas

GARDIN,E.;HERNANES,F.
2
Revista Eletrônica Lato Sensu – Ano 3, nº1, março de 2008. ISSN 1980-6116
http://www.unicentro.br - Ciências Exatas e da Terra

recursos que devem ser gerenciados e as arestas, o grau de incompatibilidade entre estes
recursos. A única restrição para os problemas que são formulados, usando-se a teoria da
coloração de grafos clássica é que as cores dos vértices adjacentes sejam distintas. A solução
do problema é encontrar o menor número de cores que atenda a essa restrição.
A coloração de grafos clássica ou crisp3 consegue resolver problemas onde só existe
uma restrição, que é a atribuição de cores distintas para vértices adjacentes. Porém, essa
restrição, em muitos casos, é insuficiente para garantir a solução completa e satisfatória de
problemas reais e mais complexos, como por exemplo, problemas de gerenciamento e de
alocação de recursos. Dessa forma, Muñoz et al (2003, 2005,) e Ramirez (2001) propuseram
uma extensão ao problema de coloração de grafos, baseado no conceito de incompatibilidade
dos vértices que compõem o grafo. Essa extensão chamada de coloração (d,f)-estendida se
justifica, pois ,em muitas situações reais, a incompatibilidade entre os vértices não é crisp e
sim fuzzy (incertas), pois a incompatibilidade entre os vértices pode apresentar diferentes
graus de pertinência, que é representado através de um grau de incompatibilidade. Porém,
segundo Hernandes (2007), mesmo com esta extensão proposta por Muñoz, ainda existe uma
categoria de problemas que requerem a adição de mais uma restrição, que seria a limitação do
uso das cores, surgindo assim uma nova extensão à proposta de Munõz e Ramirez, chamada
de coloração (d,f,g)-estendida.
O objetivo principal deste trabalho é apresentar uma aplicação real da utilização da
coloração (d,f,g)-estendida para a solução de problemas de gerenciamento de recursos. Para
isso, será realizada uma revisão conceitual do que é a coloração clássica, a coloração (d,f)-
estendida e a coloração (d,f,g)-estendida.
Para entender a aplicação da coloração (d,f,g)-estendida deve-se primeiro estudar a
coloração clássica, em seguida a coloração (d,f)-estendida para, finalmente, abordar a
coloração (d,f,g)-estendida e sua aplicação. Sendo assim, este trabalho está organizado da
seguinte forma: a Seção 2 trata do problema da coloração de grafos clássica, sendo elencadas,
além da teoria, algumas de suas aplicações na área de otimização combinatória. A Seção 3
apresenta os conceitos da coloração de grafos fuzzy. Nas Seções 4 e 5 são apresentadas a
coloração (d,f)-estendida e a coloração (d,f,g)-estendida, respectivamente. Na Seção 6, é
apresentada uma aplicação real do problema. As conclusões e perspectivas futuras estão na
Seção 7.

2. COLORAÇÃO DE GRAFOS CLÁSSICA

Nesta seção, são apresentadas algumas definições utilizadas tanto para coloração crisp
quanto para a fuzzy.

3
O termo crisp é utilizado pela teoria fuzzy para se referir ao modelo tradicional, ao clássico (BARROS, 2006).

Aplicação da Coloração em Grafos Fuzzy no Problema de Distribuíção de Aulas

GARDIN,E.;HERNANES,F.
3
Revista Eletrônica Lato Sensu – Ano 3, nº1, março de 2008. ISSN 1980-6116
http://www.unicentro.br - Ciências Exatas e da Terra

2.1. Conceitos e definições


Definição 1:
Seja um conjunto C e um grafo G=(V,E) definido pelo par de conjuntos V e E, tal que:
C é o conjunto de cores;
V é o conjunto dos vértices do grafo; e
E é o conjunto das arestas do grafo.

Uma coloração de G é a atribuição de uma cor ci ( c i ∈ C , i=1,2,...,n) para cada vértice


de G, tal que dois vértices adjacentes possuam cores distintas. Formalmente uma coloração de
um grafo G=(V,E) é uma função f: V→ C, tal que para cada aresta (w,u) de E tem-se f(w) ≠
f(u).

Definição 2:
Uma k-coloração de G, C k é uma função de coloração com não mais do que k cores
distintas.
C k = V → {1,2, ...,k}

Definição 3:
O número cromático, denotado por X(G), de um grafo G é o menor número de cores k
tal que existe uma k-coloração para G (NONATO, 2007).

A figura a seguir ilustra um grafo que possui uma 4-coloração.


3

2 1 2

Figura 1. Exemplo de uma 4-coloração

2.2. Aplicações de coloração de grafos clássica


A coloração clássica pode ser utilizada para resolver uma série de problemas de
otimização combinatória que envolve o gerenciamento de determinado recurso. Os problemas
que se enquadram nessa categoria podem ser modelados e solucionados utilizando-se um

Aplicação da Coloração em Grafos Fuzzy no Problema de Distribuíção de Aulas

GARDIN,E.;HERNANES,F.
4
Revista Eletrônica Lato Sensu – Ano 3, nº1, março de 2008. ISSN 1980-6116
http://www.unicentro.br - Ciências Exatas e da Terra

grafo não orientado e em seguida determinando sua k-coloração. Exemplos de aplicações que
utilizam a teoria da coloração são:
Problemas de Programação de Horários (Timetabling Problems) onde, por exemplo,
se deseja determinar o número mínimo de dias para se realizar um período de provas
em determinada instituição de ensino, onde duas provas não podem ser realizadas na
mesma hora se for o mesmo professor que irá aplicá-las, ou se for aplicada na mesma
turma, ou se for aplicada na mesma sala.
Alocação de faixas de freqüência para rádios FM, onde dois transmissores não
podem transmitir na mesma faixas de freqüência se estiverem próximos um do outro.
Alocação de registradores num processador, onde dado um conjunto de variáveis e
um conjunto de registradores disponíveis, deve-se alocar as variáveis de um
determinado escopo do programa aos registradores de modo a reduzir o número de
acessos à memória (AGUIAR, 2005).
Sistema de controle das fases de semáforo em um determinado cruzamento.
Definem-se quais fluxos de veículos não são permitidos simultaneamente e o objetivo
é planejar o controle dos semáforos com o menor número de fases possível.

3. COLORAÇÃO EM GRAFOS FUZZY


Para facilitar a compreensão dos conceitos da coloração de grafos fuzzy e do número
cromático, primeiramente é utilizada uma aplicação deste problema.

3.1. O Problema do Semáforo


O problema do semáforo consiste em como programar um sistema de semáforos para
controlar o tráfego dos veículos em um cruzamento entre ruas de modo a evitar colisões. Um
dos modos de modelar esse problema de tráfego é através da coloração fuzzy (Muñoz,2003).
Suponhamos que a Figura 2 representa o cruzamento de duas ruas.

Figura 2. Exemplo do cruzamento de duas ruas

Observando a Figura 2, nota-se que certas ruas são compatíveis umas com as outras.
Por exemplo, as pistas AD e CB admitem tráfego nas duas direções simultaneamente, porém,
entre as pistas AB e CD existe uma incompatibilidade que não pode ocorrer tráfego

Aplicação da Coloração em Grafos Fuzzy no Problema de Distribuíção de Aulas

GARDIN,E.;HERNANES,F.
5
Revista Eletrônica Lato Sensu – Ano 3, nº1, março de 2008. ISSN 1980-6116
http://www.unicentro.br - Ciências Exatas e da Terra

simultâneo porque poderão acontecer colisões entre veículos.


Este problema pode ser modelado por meio de um grafo de incompatibilidade,
G=(V,E), onde os nós são as ruas e um par de ruas define um arco se essas forem
incompatíveis, isto é, se causarem colisões.
Neste caso tem-se:
Conjunto dos vértices: V= {AB, AD, CB, CD, DB}
Conjunto dos arcos: E={{AB,CD};{AD, DB}; {CD,DB}}

Os conjuntos V e E formam o grafo representado na Figura 3

Figura 3. Representação da figura 2 em forma de grafo

Qualquer k-coloração, Ck, do grafo G identifica o controle do semáforo nos


cruzamentos. Cada fase do semáforo é representada por uma cor, o ciclo inteiro é formado
pelas k fases do semáforo. Desta maneira o número cromático X(G) define o número mínimo
de fases do conjunto de semáforos necessárias para controlar o sistema.
Resolvendo esse problema encontra-se que o número cromático de G é 2, sendo uma
2-coloração. Dessa forma são necessárias apenas duas fases, sendo:
cruzamento da pista A para B na fase 1 do semáforo - C2(AB)=1;
cruzamento da pista A para D na fase 2 do semáforo - C2(AD)=2;
cruzamento da pista C para B na fase 1 do semáforo - C2(CB)=1;
cruzamento da pista C para D na fase 2 do semáforo - C2(CD)=2;
cruzamento da pista D para B na fase 1 do semáforo - C2(DB)=1.

Obviamente, a política de controle do semáforo depende da incompatibilidade entre as


ruas. Dessa forma, o conceito de incompatibilidade poderá ser fuzzy e poderá ser gradual. Esta
graduação, que não necessita ser numérica, é associada ao nível de segurança desejado para o
fluxo de tráfego. Por exemplo, não seria conveniente que os sentidos AD e CD (Figura 2)
fossem liberados simultaneamente em horários de muito trânsito, porém em horários de pouco
movimento essa liberação poderia acontecer.

Aplicação da Coloração em Grafos Fuzzy no Problema de Distribuíção de Aulas

GARDIN,E.;HERNANES,F.
6
Revista Eletrônica Lato Sensu – Ano 3, nº1, março de 2008. ISSN 1980-6116
http://www.unicentro.br - Ciências Exatas e da Terra

O nível máximo de segurança é alcançado quando todos os sentidos forem


incompatíveis, neste caso, o grafo será completo e o número cromático é o número de
direções. Com isso, o semáforo só irá permitir um movimento por vez. Por outro lado, o nível
mínimo de segurança será quando todas as direções forem compatíveis, tornando o número
cromático 1. Como conseqüência todas as direções são possíveis simultaneamente.
No exemplo da Figura 2, as ruas CD e DB são mais incompatíveis do que as AB e DB.
Com isso, pode-se definir o seguinte conjunto de incompatibilidade: I= {n, b,m, a, t}, tal que
n, b, m, a, t representam os graus de incompatibilidade nulo, baixo, médio, alto e total;
respectivamente.
Desse modo, o problema do semáforo pode ser modelado por meio de um grafo fuzzy
~
G = (V , µ ) , sendo:
V= {AB. AD, CB, CD, DB}: o conjunto dos vértices; e
 − n b a b
 
 n − n m a
µ =  b n − n n 
 a m n − a
b a n a −
 
: matriz de adjacência que representa as arestas existentes
com seus respectivos graus de incompatibilidade

~
Este grafo fuzzy G = (V , µ ) está representado na Figura 4

AB
b b
a
DB AD

a
a
m
CD CB

Figura 4. Grafo fuzzy

Para se resolver essa incompatibilidade fuzzy é definida, na seção seguinte, uma função de
coloração fuzzy.

Aplicação da Coloração em Grafos Fuzzy no Problema de Distribuíção de Aulas

GARDIN,E.;HERNANES,F.
7
Revista Eletrônica Lato Sensu – Ano 3, nº1, março de 2008. ISSN 1980-6116
http://www.unicentro.br - Ciências Exatas e da Terra

3.2. Função de Coloração em grafos fuzzy


~
Dado um grafo fuzzy G = (V , µ ) , uma abordagem para obter algum conhecimento
sobre isto é analisar a seqüência dos α − cortes . Um conjunto fuzzy A definido em X pode ser
caracterizado pela família de seus α − cortes .
Aα = {x ∈ X | µ A ( x ) ≥ α , α ∈ I },
Esta família de conjuntos é monótona, isto é, verifica-se que se α ≤ β então Aα ⊇ Aβ
.
Por outro lado, segundo Kerre (1993), dada uma família finita monótona
{ Aα p | p ∈ {1,..., m}} um conjunto fuzzy A pode ser definido pela função de pertinência
µ A ( x) = sup{α p | x ∈ Aα ∀ x ∈ X } .
~
Seja Gα = {(V , Aα ) | α ∈ I } a família do conjunto de α − cortes de G , onde os -
cortes de um grafo fuzzy é um grafo crisp Gα = (V , Aα ) com Aα = {(i, j ) | i, j ∈ V , µ ij ≥ α } .
k
Por outro lado, uma k-coloraçao clássica, Cα pode ser definida sobre Gα . A função k-
~
coloraçao G é definida através dos -cortes.
~
Para cada α ∈ I , dado o número cromático de Ga , o número cromático de G é
definido através da família monótona dos conjuntos dos -cortes.
O número cromático de um grafo fuzzy é um número fuzzy normalizado cujo valor
modal é associado ao conjunto de arestas do grafo. Seu significado depende do sentido do
índice α , sendo que se α possuir valores pequenos, existem muitas ligações incompatíveis
entre os vértices e, desse modo, mais cores serão necessárias para colorir; por outro lado, para
α com valores maiores existem poucas incompatibilidades entre os vértices, resultando em
menos cores necessárias.
No exemplo da Figura 4, cinco grafos crisp Gα = (V , Aα ) são obtidos, considerando-se
os valores α , para cada α ∈ I . A Tabela 1 contém o conjunto de arestas Aα , o número
cromático X α e uma X α − coloração , Cα

Aα Xα CαXα CαXα CαXα CαXα CαXα


α
(AB) (AD) (CB) (CD) (DB)
n {AB,AD};{AB,CB}; 5 1 2 3 4 5
{AB.CD};{AB,DB};{AD,CB}
;
{AD,CD};{AD,DB};{CB,CD}
;{CB,DB};{CD,DB}
Continua...

Aplicação da Coloração em Grafos Fuzzy no Problema de Distribuíção de Aulas

GARDIN,E.;HERNANES,F.
8
Revista Eletrônica Lato Sensu – Ano 3, nº1, março de 2008. ISSN 1980-6116
http://www.unicentro.br - Ciências Exatas e da Terra

Aα Xα CαXα CαXα CαXα CαXα CαXα


α
(AB) (AD) (CB) (CD) (DB)
b {AB,CB};{AB.CD};{AB,DB} 3 1 1 2 2 3
;{AD,CD};{AD,DB};{CD,DB
}
m {AB.CD};{AD,CD};{AD,DB} 3 1 3 1 2 1
;{CD,DB}
a {AB.CD};{AD,DB};{CD,DB} 2 1 2 1 2 1
t - 1 1 1 1 1 1
Tabela 1. α , Aα , X α , C α

( AB ) , C ( AD ) , C ( CB ) , C ( CD ) , C ( DB )
α

α

α

α

~ ~
A Tabela 1 mostra o número cromático de G é X( G ) = {(1,t); (2,a); (3,m); (3,b);
(5,n)}.
Para se chegar a esses valores, resolvendo-se o problema de coloração fuzzy, pode-se
utilizar qualquer algoritmo para problemas de grafos crisp em cada um dos grafos que se
originam nos -cortes. Desta forma, o problema de coloração fuzzy se divide em vários
problemas de coloração de grafos clássica. Contudo, Muñoz e Ramirez propuseram uma
extensão do problema da coloração fuzzy baseado em um novo conceito chamado de (d,f)-
coloração.

4. A (d,f)-COLORAÇÃO OU COLORAÇÃO (d,f)-ESTENDIDA

Para abordar esse novo conceito é apresentado um exemplo ilustrativo de distribuição


de exames de um conjunto de disciplinas onde a solução proposta aplica a extensão (d,f)-
coloração, onde as incompatibilidades fuzzy são determinadas por meio de uma medida de
dissimilaridade, definida no conjunto de cores e de uma função escala.
4.1. O problema da distribuição de exames
O problema da distribuição de exames consiste em elaborar o calendário dos exames
de um conjunto de disciplinas, dentro de um período de tempo específico, quando um aluno
não poderá fazer mais do que um exame simultaneamente (Muñoz, 2003).
Uma versão simplificada deste tipo de problema pode ser modelada como um
problema de coloração de grafos clássicos, onde as disciplinas são os vértices do grafo, as
arestas unem as disciplinas que possuem alunos em comum nos exames e as cores
representam os conjuntos das disciplinas que poderão ter exames simultaneamente.
Determinando o número cromático do grafo, encontra-se o número mínimo de seções (cores)

Aplicação da Coloração em Grafos Fuzzy no Problema de Distribuíção de Aulas

GARDIN,E.;HERNANES,F.
9
Revista Eletrônica Lato Sensu – Ano 3, nº1, março de 2008. ISSN 1980-6116
http://www.unicentro.br - Ciências Exatas e da Terra

necessárias para a realização dos exames.


Porém, nestes tipos de problemas, é conveniente que os exames das disciplinas
consideradas mais difíceis ocorram com certo intervalo de tempo entre elas. Com o modelo
clássico de coloração, não é possível levar em consideração este tipo de restrição, já que só é
considerada ao colorir os vértices que a cor atribuída não seja a mesma em vértices
adjacentes, surgindo assim a (d,f)-coloração.
Exemplo: Distribuição dos Exames
Deseja-se distribuir os exames de seis disciplinas (A, B, C, D, E, F), sendo que entre
estas existem distintos graus de incompatibilidades (nulo- n , baixo - b, médio - m, alto - a).
Os elementos da matriz de incompatibilidade µ ij a seguir indicam o grau de
incompatibilidade entre as disciplinas ∀ ( i , j ) ∈ { A, B,..F } tal que i ≠ j .

 − b a n a m
 
b − m n n n
a m − b n m
µ =  
n n b − b m
 
a n n b − n
m n m m n − 

~
O grafo fuzzy G = (V , µ ) da Figura 5 representa esta situação, tal que V= {A, B, C, D,
E, F).

B
b m

A a
C

a
m
m b

m
F D

b
E
Figura 5. Representação do grafo para o exemplo 4.1

Aplicação da Coloração em Grafos Fuzzy no Problema de Distribuíção de Aulas

GARDIN,E.;HERNANES,F.
10
Revista Eletrônica Lato Sensu – Ano 3, nº1, março de 2008. ISSN 1980-6116
http://www.unicentro.br - Ciências Exatas e da Terra

Uma forma de interpretar o grau de incompatibilidade entre as disciplinas é: se duas


disciplinas são compatíveis (possuem incompatibilidade nula) seus exames podem ser
realizados em qualquer dia, se a incompatibilidade for baixa, média ou alta, então, os seus
exames deverão ocorrer ao menos com 1, 2 ou 3 dias de distância, respectivamente.
Resolvendo este problema através do algoritmo proposto por Muñoz et al(2005), tem-
se que são necessários cinco dias para a realização dos exames, sendo a distribuição ótima a
seguinte:

Dias 1 2 3 4 5
Disciplinas de A, B F E C
Exame D
Tabela 2. Distribuição dos exames
4.2. A coloração (d,f)-estendida
Para modelar certos tipos de problemas como problemas de coloração fuzzy, é
necessário definir a medida de dissimilaridade e função escala. A dissimilaridade é o grau de
incompatibilidade entre os vértices do grafo. Quanto maior essa incompatibilidade maior
deverá ser a distância entre as cores destes vértices. A função escala é a função que será
utilizada para essa coloração. Esses conceitos serão definidos abaixo:

Definição 4:
Seja S o conjunto de cores possíveis, a medida de dissimilaridade d é definida por
d : SxS → [ 0, ∞ ] : com as seguintes propriedades:
 d (r , s ) ≥ 0, ∀ r , s ∈ S ;
 d (r , s ) = 0 ⇔ r = s, ∀ r , s ∈ S ;
 d (r , s ) = d ( r , s ), ∀ r , s ∈ S ;

Definição 5:
~
Sejam dados um grafo fuzzy G = (V , µ ) , um conjunto S de cores, uma medida de
dissimilaridade d definida em S e uma função escala f (função para determinar o número
~
máximo de cores). Uma coloração (d,f)-estendida de G , denotada por C d , f (para simplificar
C), é uma aplicação C : V → S tal que:
d (C (i ), C ( j )) ≥ f ( µ ij ) ∀ i, j ∈ V sendo i ≠ j .
A dissimilaridade leva em consideração o grau de incompatibilidade entre dois nós.

Aplicação da Coloração em Grafos Fuzzy no Problema de Distribuíção de Aulas

GARDIN,E.;HERNANES,F.
11
Revista Eletrônica Lato Sensu – Ano 3, nº1, março de 2008. ISSN 1980-6116
http://www.unicentro.br - Ciências Exatas e da Terra

Definição 6:
~
Dado k ∈ S uma k-coloração (d,f)-estendida de G é uma função de coloração
(d,f)- estendida com no máximo k cores distintas.
Uma k-coloração (d,f)-estendida de um grafo pode ser considerada como uma
generalização de uma k-coloração de um grafo crisp G=(V,A), fazendo I={0,1}, d=d0 e
f(0)=0, f(1)=1, tal que:
 1, se r ≠ s
d 0 (r , s ) =  ∀ r ,s ∈ S
 0, se r = s
~
G torna-se um grafo crisp se a matriz µ for definida da seguinte forma:
 1, se (i , j ) ∈ A
µ ij =  ∀ i, j ∈ V
 0, caso contrário

Embora uma k-coloração (d,f)-estendida de um grafo pode ser considerada como uma
generalização de uma k-coloração de um grafo crisp G=(V,A), existe diferenças:
nem sempre haverá uma solução para (d,f)-estendida;
pode haver cores que não sejam usadas.

5. O PROBLEMA DA (d,f,g)-COLORAÇÃO

Analisando a (d,f)-coloração, Hernandes (2007) observou que poderia ser adicionado


uma nova extensão, a qual denominou de coloração (d,f,g)-estendida. Essa extensão introduz
uma nova restrição ao grafo fuzzy, que limita o número máximo de vezes que uma cor pode
ser atribuída no grafo.
Para ilustrar esse conceito, será utilizado um exemplo.
5.1. Exemplo da utilização da (d,f,g)-coloração para alocação de horários
Deseja-se distribuir os horários das disciplinas A, B, C, D, E, F e G de um curso, onde
cada disciplina possui 4h de aula semanais sendo ministradas em um único dia da semana.
Sabe-se também que não pode haver mais do que duas disciplinas por dia (8h/a) e que
deverão ser ministradas somente em dias úteis da semana. Além dessas restrições, algumas
disciplinas que são consideradas com um grau de dificuldade maior não devem ser alocadas
no mesmo dia. Os graus de incompatibilidade das disciplinas são: nulo, baixo e médio. Isto
significa que as disciplinas que possuem essas incompatibilidades devem ser ministradas com
uma diferença de zero, um ou dois dias, respectivamente. Como ficaria a distribuição das
aulas e qual é o número mínimo de dias que estas disciplinas podem ser alocadas?
Seja:
V= {A, B, C, D, E, F, G}

Aplicação da Coloração em Grafos Fuzzy no Problema de Distribuíção de Aulas

GARDIN,E.;HERNANES,F.
 − m b n m n n 12

Revista Eletrônica 
Lato Sensu – Ano 3, nº1, março de 2008. ISSN 1980-6116
 m − b b b n n
 b b http://www.unicentro.br
− b m n n
- Ciências Exatas e da Terra
 
µ =  n b b − b b n
 
 m b m b − m n
 n n n b m − b
 
n n n n n b −

Esta situação pode ser representada pelo grafo da Figura 6.

B b
m m E
A
b m
b
b

C b m

b D
b
F
D b
Figura 6. Grafo representando o problema de alocação de horários

Resolvendo esse problema por meio do algoritmo proposto por Muñoz e adaptado por
Hernandes, para suportar a extensão (d,f,g)-coloração, obtém-se que são necessários quatro
dias para ministrar todas as disciplinas, com a seguinte distribuição de aulas:

Dias da Semana Segunda-feira Terça- Quarta- Quinta-


feira feira feira
Disciplinas AeD CeF BeG E
Tabela 3. Resultado da figura 6
5.2 A coloração (d,f,g)-estendida de um grafo fuzzy
A função de coloração (d,f,g)-estendida proposta por Hernandes é uma extensão da
(d,f)-estendida através da introdução da restrição que uma determinada cor não poderá ser
atribuída mais que g vezes.
As definições a seguir são baseadas na coloração (d,f)-estendida, acrescidas da
restrição do número máximo de vezes que uma determinada cor pode ser atribuída ao grafo.

Aplicação da Coloração em Grafos Fuzzy no Problema de Distribuíção de Aulas

GARDIN,E.;HERNANES,F.
13
Revista Eletrônica Lato Sensu – Ano 3, nº1, março de 2008. ISSN 1980-6116
http://www.unicentro.br - Ciências Exatas e da Terra

Definição 7:
~
Dado um grafo fuzzy G = (V , µ ) , um conjunto S de cores, uma medida de
dissimilaridade d definida em S, uma função escala f e um valor g representando o número
máximo de vezes que cada cor poderá ser atribuída, então uma função de coloração (d,f,g)-
~
estendida de G , denotada por Cd,f,g (para simplificar C), é uma aplicação C : V → S tal que :
 d (C (i ), C ( j )) ≥ f ( µ ij ) ∀ i, j ∈ V sendo i ≠ j ;
card ( A j ) ≤ g, ∀ j = {1,2,..., k } A j = {i ∈ V tal que C ( i ) = s j ; s j ∈ S}
 sendo

Definição 8:
Dado k ∈ S , uma k-coloração (d,f,g)-estendida de G~ é uma função de coloração
(d,f,g)-estendida de no máximo k cores distintas;

Definição 9:
~
O (d,f,g)-número cromático de G é definido da seguinte forma:
X d ,f ,g ( )
~
{ ~
G = mín k ∈ S | G admite a lg uma k − coloração (d , f , g ) − estendida . }
Dessa forma, o problema da coloração (d,f,g)-estendida consiste em determinar o
(d,f,g)-número cromático de um grafo fuzzy e uma função de coloração (d,f,g)-estendida
associada. Portanto, o (d,f,g)-número cromático do exemplo da Seção 5.1. é
~
X d , f ,g G = 4
,
( )
com a distribuição ótima representada na Tabela 3.
5.3 Passo para solução do problema da coloração (d,f,g)-estendida
Para a solução computacional dos problemas de coloração (d,f,g)-estendida,
Hernandes (2005) propôs um algoritmo baseado no algoritmo da coloração (d,f)-estendida.
Nesta seção, são apresentados os passos do algoritmo adaptado.

Passo 1: Definição das variáveis de entrada


Além de fornecer a estrutura da rede (vértices e arestas), são necessárias as seguintes
variáveis:
matriz de incompatibilidade µ : matriz que representa as incompatibilidades entre os
vértices do grafo;
variável f: variável que conta o número máximo de cores que podem ser utilizadas
para colorir o grafo, ou seja, representa a restrição das cores que estão disponíveis para
serem usadas na coloração do grafo;
variável g: variável que representa a restrição do número de vezes que cada cor pode
ser usada para colorir os vértices do grafo.

Aplicação da Coloração em Grafos Fuzzy no Problema de Distribuíção de Aulas

GARDIN,E.;HERNANES,F.
14
Revista Eletrônica Lato Sensu – Ano 3, nº1, março de 2008. ISSN 1980-6116
http://www.unicentro.br - Ciências Exatas e da Terra

Passo 2: Restrição de Incompatibilidade segundo a matriz µ


Esse passo verifica se a cor atribuída a um determinado vértice respeita as restrições
de incompatibilidades definidas na matriz µ , para todos os vértices coloridos até o momento.
Esse trabalho de verificação é realizado por meio de uma varredura em todos os vértices
analisados antes deste. Se neste passo todas as cores possíveis de serem usadas se esgotarem,
ou seja, o número de cores definido na variável f for alcançado e ainda não satisfez a restrição
de incompatibilidade para o vértice em questão. Então o processamento deve ser encerrado e
executado o Passo 4, notificando que não existe solução que atenda às restrições da matriz µ .

Passo 3: Verifica restrição do número máximo de vezes que cada cor é utilizada
Após verificada a incompatibilidade da matriz µ para o vértice que está sendo
analisado, é verificada a restrição do número máximo de vezes que a cor do vértice, atribuída
no passo anterior, foi utilizada. Esse número não pode ultrapassar o valor definido na variável
g de entrada.
Os Passos 2 e 3 devem ser executados para todos os vértices do grafo, com exceção de
quando não existir solução possível.

Passo 4: Exibição dos resultados


Após a varredura do grafo realizada nos Passos 2 e 3 uma solução possível, que atenda
as restrições será encontrada, ou não haverá solução. No caso de haver uma solução, está será
composta pelo número cromático encontrado e a distribuição ótima dos recursos.
O fluxograma da Figura 7 ilustra os passos descritos anteriormente.

Aplicação da Coloração em Grafos Fuzzy no Problema de Distribuíção de Aulas

GARDIN,E.;HERNANES,F.
15
Revista Eletrônica Lato Sensu – Ano 3, nº1, março de 2008. ISSN 1980-6116
http://www.unicentro.br - Ciências Exatas e da Terra

Variáveis de
Entrada Não existe uma k-coloração ou todos os
vértices foram analisados?

Não

Sim

Passo 1

Passo 2

Passo 3

Figura 7. Fluxograma representando os passos para solução da coloração (d,f,g)-estendida

6. APLICAÇÃO COMPUTACIONAL

Esta seção apresenta a aplicação da coloração (d,f,g)-estendida para a distribuição de


horários de aula de uma dada série que será solucionada aplicando o algoritmo implementado,
segundo os passos da Seção 5.3. Como a distribuição dos horários segue o mesmo processo
para todas as séries, será realizada a alocação dos horários das disciplinas apenas da 3 a série
do curso.

Regras da Distribuição de Aulas


O departamento de Ciência da Computação da Universidade Estadual do Centro-Oeste
– UNICENTRO necessita organizar os horários de aula do curso de Ciência da Computação.
O chefe do departamento informou que as seguintes regras para distribuição das aulas devem
ser seguidas:
as disciplinas podem possuir 2 ou 4 horas/aula semanais;
as aulas são ministradas sempre aos pares;
disciplinas com 4 horas/aula semanais devem ser ministradas em dias distintos, com
intervalo de pelo menos um dia;
número máximo de aula que pode ser ministrado por dia letivo é 8;

Aplicação da Coloração em Grafos Fuzzy no Problema de Distribuíção de Aulas

GARDIN,E.;HERNANES,F.
16
Revista Eletrônica Lato Sensu – Ano 3, nº1, março de 2008. ISSN 1980-6116
http://www.unicentro.br - Ciências Exatas e da Terra

algumas disciplinas, devido ao grau de dificuldade, devem ter suas aulas alocadas
com um intervalo de dias letivos. Conforme a dificuldade esse intervalo pode ser de 0,
1 ou 2 dias;
as disciplinas são ministradas de segunda a sexta-feira.

As disciplinas que compõem a grade curricular da 3a série do curso de Ciência da


Computação estão descritas na Tabela 4.
Carga Horária
Disciplina Sigla
Semanal
Banco de Dados II BDII1 4
Empreendedorismo E 2
Engenharia de Software II ESII 4
Inteligência Artificial IA 4
Interação Humano-Computador IHC 2
Paradigmas de Programação PP 2
Redes de Computadores RC 4
Teoria da Computação TC 4
Tópicos Especiais em Ciência da
TEI 4
Computação I
Tabela 4. Disciplinas da 3a série do curso de Ciência da Computação
6.1. Preparação dos dados
Analisando as regras citadas na seção anterior defini-se a unidade básica de alocação
dos horários das disciplinas no grupo de 2 horas semanais. Dessa forma devemos
primeiramente subdividir todas as disciplinas que possuem mais de 2 aulas semanais, tratando
cada grupo como uma disciplina isolada. A Tabela 4 foi reorganizada originando a Tabela 5.
Disciplinas Subdivididas Sigla Carga Horária
Semanal
Banco de Dados II - Parte 1 BDII1 2
Banco de Dados II - Parte 2 BDII2 2
Empreendedorismo E 2
Engenharia de Software II – Parte 1 ESII1 2
Engenharia de Software II – Parte 2 ESII2 2
Inteligência Artificial – Parte 1 IA1 2
Inteligência Artificial – Parte 2 IA2 2
Interação Humano-Computador IHC 2
Paradigmas de Programação PP 2
Redes de Computadores – Parte 1 RC1 2
Redes de Computadores – Parte 2 RC2 2

Aplicação da Coloração em Grafos Fuzzy no Problema de Distribuíção de Aulas

GARDIN,E.;HERNANES,F.
17
Revista Eletrônica Lato Sensu – Ano 3, nº1, março de 2008. ISSN 1980-6116
http://www.unicentro.br - Ciências Exatas e da Terra

Disciplinas Subdivididas Sigla Carga Horária


Semanal
Teoria da Computação – Parte 1 TC1 2
Teoria da Computação – Parte 2 TC2 2
Tópicos Especiais em Ciência da TEI1 2
Computação I – Parte 1
Tópicos Especiais em Ciência da TEI2 2
Computação I – Parte 2
Tabela 5. Disciplinas subdivididas em grupo de 2 horas/aula

Baseando-se na Tabela 5 e no conhecimento empírico do Departamento de Ciência da


Computação, pode-se construir o grafo que representa as disciplinas, com o grau de
incompatibilidade entre elas. Esse grafo está representado na Figura 8. Para se construir esse
grafo, além dos requisitos citados na Seção 6, é necessário levar em consideração as
características de cada disciplina, como: volume de conteúdo, quantidade de trabalhos
extra-classe, dificuldade de assimilação, entre outros. Deve ser observado na Figura 8 que
nem todas as disciplinas possuem incompatibilidades umas com as outras, por isso existem
disciplinas que não estão ligadas entre si.

PP EE
RC 1
1 2
2
TEI 1 ESII
1 2 1 2
1
2 BDII
IH 2
1
1 1 1 2 C
RC 1 1
1 TEI ESII
21 1
2 1 1
2 1
1
1 1 1
1
1 2
IA IA
1 2 1 1
BDII TC
1
2 1 1
2
TC
2

Figura 8. Grafo que representa a incompatibilidade entre as disciplinas.

Tomando o grafo da Figura 8, definem-se as seguintes variáveis de entrada que serão

Aplicação da Coloração em Grafos Fuzzy no Problema de Distribuíção de Aulas

GARDIN,E.;HERNANES,F.
18
 0 2 0 0 0 0 0 0 2 1 1 0 0 0 0
 Revista Eletrônica Lato Sensu – Ano 3, nº1, março de 2008.
 ISSN 1980-6116
 2 0 0 0 0 0 http://www.unicentro.br
0 0 2 1 1 0 0- Ciências 0 0  Exatas e da Terra
 0 0 0 0 0 0 0 2 0 0 0 0 0 0 0
 
 0 0 0 0 2 1 1 0 1 0 0 0 0 0 0
 0 0 0 2 0 1 1 0 1 0 0 0 0 0 0
 
 0 0 0 1 1 0 2 0 0 0 0 1 1 1 1
 
 0 0 0 1 1 2 0 0 0 0 0 1 1 1 1
µ =  0 0 2 0 0 0 0 0 0 0 0 0 0 1 1
 
 2 2 0 1 1 0 0 0 0 0 0 0 0 0 0
 1 1 0 0 0 0 0 0 0 0 2 0 0 0 0
 
 1 1 0 0 0 0 0 0 0 2 0 0 0 0 0
 0 0 0 0 0 1 1 0 0 0 0 0 2 1 1
 
 0 0 0 0 0 1 1 0 0 0 0 2 0 1 1
 
 0 0 0 0 0 0 0 1 0 0 0 1 1 0 2
 0 0 0 0 0 0 0 1 0 0 0 1 1 2 0
 
aplicadas no algoritmo da coloração (d,f,g)-estendida:
conjunto dos vértices: V={BDII1, BDII2, E, ESII1, ESII2, IA1, IA2, IHC, PP, RC1,
RC2, TC1, TC2, TEI1, TEI2};
matriz de incompatibilidade µ : os elementos dessa matriz possuem os valores: 0, 1
ou 2, que representam os dias de intervalo entre cada grupo de 2 horas/aula.

variável f (número máximo de cores que podem ser utilizadas para colorir o grafo):
como os dias disponíveis da semana representam as cores possíveis para serem
utilizadas na coloração, tem-se que o número máximo de cores que podem ser
utilizadas é 5;
variável g (número de vezes que cada cor pode ser usada): o número de disciplinas
que podem ser alocadas num mesmo dia representa o número de vezes que cada cor
pode ser usada, assim sendo a variável g receberá o valor 4.
6.2. Resultados computacionais
Após submeter às variáveis de entrada da Seção 6.1 ao algoritmo de coloração (d,f,g)-
estendida foram obtidos os resultados listados na Tabela 6, sendo o (d,f,g)-número cromático
igual a 5, com a seguinte distribuição:

Dia da Segunda- Terça- Quarta- Quinta- Sexta-


Semana feira feira feira feira feira
Disciplina BDII1 IA1 BDII2 IA2 PP

Aplicação da Coloração em Grafos Fuzzy no Problema de Distribuíção de Aulas

GARDIN,E.;HERNANES,F.
19
Revista Eletrônica Lato Sensu – Ano 3, nº1, março de 2008. ISSN 1980-6116
http://www.unicentro.br - Ciências Exatas e da Terra

E RC1 ESII2 RC2


ESII1 TEI1 IHC TEI2
TC1 TC2
Tabela 6. Resultados Computacionais da coloração do grafo da Figura 8

Realizando uma análise comparativa dos resultados obtidos com as regras enunciadas
na Seção 6, verifica-se que o resultado está de acordo com todas as proposições. Se os
critérios de incompatibilidade sofressem alterações devido a mudanças nas grades curriculares
ou devido a algum outro fator, era necessário somente alterar a matriz de incompatibilidade
µ e executar novamente o algoritmo para se obter a nova distribuição de horários.

7. CONCLUSÕES

Neste trabalho, foi abordado o conceito de coloração de grafos fuzzy. Inicialmente, foi
apresentada a extensão do conceito de incompatibilidade entre os vértices de um grafo, para
assim, incluir o conceito de incertezas e imprecisões (Muñoz et al (2005)). Para esta nova
situação, foi detalhada uma extensão proposta por Muñoz et al (2003, 2005), sendo
exemplificada com o problema dos semáforos. Com base nestas extensões, Hernandes (2007)
introduziu uma outra extensão chamada coloração (d,f,g)-estendida, sendo que esta considera
um grau de incompatibilidade relacionado ao valor da função de pertinência de cada aresta e
atribui uma restrição quanto ao número de vezes que uma determinada cor é associada,
limitando superiormente.
Com base nos conceitos abordados, neste trabalho foi implementada uma aplicação ao
problema da coloração fuzzy, mais especificamente ao problema da (d,f,g)-coloração. A
aplicação implementada foi o problema da distribuição de aulas, onde as regras a serem
seguidas para esta distribuição podem ser modeladas como uma (d,f,g)-coloração.
Como proposta futura pretende-se estudar a viabilidade de algoritmos aproximados
(algoritmos genéticos e evolutivos) para este problema, visto que o algoritmo proposto pode
ser lento quando aplicado em redes de grande porte.

REFERÊNCIAS BIBLIOGRÁFICAS

AGUIAR, F N; HONORATO, G S C; SANTO, H. G; SATORU, L O. Metaheuristica Busca


Tabu para o Problema de Coloração em Grafos. In: Simpósio Brasileiro de Pesquisa
Operacional, 37, 2005, Gramado. Instituto de Computação – Universidade Federal
Fluminense, 8 p., p. 2497-2504.

BARROS, L C; BASSANEZI, R C Tópicos de Lógica Fuzzy e Biomatemática. Campinas,


SP: UNICAMP/IMEC, 2006. 354 p.

Aplicação da Coloração em Grafos Fuzzy no Problema de Distribuíção de Aulas

GARDIN,E.;HERNANES,F.
20
Revista Eletrônica Lato Sensu – Ano 3, nº1, março de 2008. ISSN 1980-6116
http://www.unicentro.br - Ciências Exatas e da Terra

HERNANDES, F. Algoritmos para Problemas de Grafos com Incertezas. Tese de doutorado –


Faculdade de Engenharia Elétrica e Computação, Universidade Estadual de Campinas,
Campinas, 2007, 142p.

KERRE, E E. Introduction to the Basic Principles of Fuzzy Set Theory and Some of its
Applications, edition 2, 1993. p 57-70.

MUÑOZ, S; Ortuño, M T; Ramírez, J; Yánez, J. Coloring Fuzzy Graphs. Omega 33:211-221,


2005.

MUÑOZ, S; Ortuño, M T; Ramírez, J; Yánez, J. Coloración de Grafos Difusos, Aplicación a


Problemas de Planificación de Exámenes. In: Congreso Nacional de Estadística e
Investigación Operativa (Espanhol), 27, 2003, Ciudad Real, Espanha.

NONATO, L G. Coloração em Grafos. Disponível em http://www.lcad.icmc.usp.br


/~nonato/ED/ Coloracao/coloracao.html. Acesso em 10 de Fevereiro de 2007.

RAMÍREZ, J. Extensiones del Problema de Colaración de Grafos (em Espanhol). Tese de


doutorado. Universidad Complutense de Madrid (2001).

Aplicação da Coloração em Grafos Fuzzy no Problema de Distribuíção de Aulas

GARDIN,E.;HERNANES,F.

You might also like