Introdção à Teoria dos Grafos Bacharelado em Ciência da Comptação UFMS, 2005 PROBLEMA DA ATRIBUIÇÃO DE TAREFAS Resmo Existem mitas aplicações qe são modeladas em grafos e cja solção se vincla a algm tipo especial de emparelhamento. Dentre elas, podemos listar algmas famosas como o Problema do Casamento, o Problema da Atribição de Tarefas, o Problema da Atribição Ótima, o Problema do Escalonamento de Horários, entre otras. Neste texto, apresentaremos m algoritmo eficiente para solção do Problema da Atribição de Tarefas. 1 Motivação Sponha qe em ma certa empresa n trabalhadores,,..., x n estejam disponíveis para exectar n tarefas,,..., y n, sendo qe cada trabalhador está qalificado para realizar ma o mais destas tarefas. Qeremos ma resposta satisfatória para a seginte qestão: todos os empregados podem ser atribídos, m empregado por tarefa, para tarefas as qais eles estão qalificados? Este problema é conhecido como o Problema da Atribição de Tarefas o Problema da Atribição de Pessoal. 2 Modelagem do problema em teoria dos grafos O Problema da Atribição de Tarefas pode ser tradzido para a Teoria dos Grafos da seginte forma. Constrímos m grafo bipartido G com partição (X, Y ), onde X = {,,..., x n }, Y = {,,..., y n } e o vértice x i está ligado ao vértice y j se e somente se o trabalhador representado por x i é qalificado para realizar a tarefa representada por y j. O problema tornase então o problema de determinar se o grafo G tem o não m 1-fator o m emparelhamento perfeito. Problema PAT(G): dado m grafo bipartido G, com partição (X, Y ) tal qe X = Y, determinar m 1-fator em G. De acordo com o teorema de Hall (1937), o G tem m 1-fator o existe m sbconjnto S de X tal qe N(S) < S. Na próxima seção, apresentaremos m algoritmo qe solciona o Problema da Atribição de Tarefas. Como veremos, dado m grafo bipartido arbitrário G com partição (X, Y ), o algoritmo encontra m emparelhamento em G qe cobre todo vértice em X o encontra m sbconjnto S de X tal qe N(S) < S. 1
3 1-fatores em grafos bipartidos Um algoritmo eficiente para encontrar m 1-fator em m grafo bipartido é descrito a segir. A idéia básica contida no algoritmo é mito simples. Começamos com m emparelhamento arbitrário M. Se M cobre todo vértice em X, então este emparelhamento é m 1-fator. Se não, escolhemos m vértice em X não coberto por M e procramos sistematicamente por m caminho amentador com respeito a M com origem em. Este método de bsca, descrito em detalhes logo abaixo, encontra m tal caminho P, se ele existir; neste caso, M = M E P é m emparelhamento com mais arestas qe M, e portanto cobre mais vértices em X. Repetimos este processo agora com M no lgar de M. Se m caminho como esse não mais existir, o conjnto Z de todos os vértices qe estão conectados a por caminhos alternantes é encontrado. Então, como na demonstração do teorema de Hall (1937), S = Z X satisfaz N(S) < S. Seja M m emparelhamento em G e seja m vértice não coberto por em X. Uma árvore alternante H G com raiz tem as segintes propriedades: (i) V H, e (ii) para todo vértice v de V H, o único caminho de a v em H é m caminho alternante com respeito a M. Uma árvore alternante com respeita M em m grafo G é mostrada na figra 1. PSfrag replacements G x 6 x 5 x 6 y 5 y 6 y 4 y 5 y 6 y3 y 4 y1 = (a) (b) Figra 1: (a) Um emparelhamento M em m grafo bipartido G. (b) Uma árvore alternante relativa a M em G. A bsca por m caminho amentador com respeito a m emparelhamento M e com origem em está baseada no crescimento de ma árvore alternante H com raiz. Este procedimento foi proposto inicialmente por Edmonds [3]. Inicialmente, H consiste apenas do vértice. Então, a árvore cresce de tal forma qe, em qalqer estágio, o 2
(i) todos os vértices de H exceto são cobertos por M, como na figra 2(a), o (ii) H contém m vértice não coberto por M diferente de, como na figra 2(b). PSfrag replacements (a) (b) Figra 2: (a) Caso (i); (b) Caso (ii). Se o caso (i) acontece, como inicialmente, então fazemos S = V H X e T = V H Y, e temos N(S) T ; assim, o N(S) = T o N(S) T : (a) Se N(S) = T então, como os vértices em S \ {} estão emparelhados sob M com os vértices em T, N(S) = S 1, indicando qe G não pode possir m emparelhamento qe cobre todos os vértices em X; (b) Se N(S) T, existe m vértice y em Y \ T adjacente a m vértice x em S. Como todos os vértices de H, exceto, estão emparelhados sob M, o x = o então x é emparelhado com m vértice de H. Portanto, a aresta xy M. Agora, se y é coberto por M, com yz M, amentamos a árvore H adicionando os vértices y e z e as arestas xy e yz a H. Voltamos então ao caso (i). Se y é não é coberto por M, amentamos H adicionando o vértice y e a aresta xy a H, e então temos o caso (ii). Dessa forma, o caminho de para y em H é certamente m caminho amentador com respeito a M e com origem em, como qeríamos. A figra 3 a segir ilstra o processo de crescimento de ma árvore alternante H, para m grafo G e m emparelhamento M arbitrários, de acordo com os passos qe foram descritos acima. Observe qe, nesta figra, existem na verdade dois exemplos: o vértice y, da primeira vez, é coberto por M e não é coberto por M da segnda vez. Dessa forma, essa figra exemplifica, respectivamente, o caso (i) onde todos os vértices exceto são cobertos por M em H e o caso (ii) onde existe m vértice não coberto por M diferente de em H. 3
z y y x x Caso (i) Caso (i) y x PSfrag replacements Caso (i) Caso (ii) Figra 3: O processo de crescimento de ma árvore alternante com relação a m emparelhamento. 4
O algoritmo qe acabamos de descrever em alto nível é também conhecido como Método Húngaro. O algoritmo pode então ser resmido da seginte forma. MÉTODO-HÚNGARO(G): recebe m grafo bipartido G, com partição (X, Y ), e devolve m 1- fator de G o m conjnto S X tal qe N(S) < S. 1: Comece com m emparelhamento arbitrário M. 2: Se M cobre todo vértice em X, então pare e devolva M. Caso contrário, seja m vértice não coberto por M em X. Faça S = {} e T =. 3: Se N(S) = T então N(S) < S, já qe T = S 1. Pare, já qe pelo teorema de Hall (1937) não existe m emparelhamento qe cobre todo vértice em X. Caso contrário, seja y N(S) \ T. 4: Se y é coberto por M, seja yz M. Troqe S por S {z} e T por T {y} e vá para o passo 3; observe qe T = S 1 é mantido depois destas trocas. Caso contrário, seja P m caminho amentador com respeito a M de para y. Troqe M por M = M E P e vá para o passo 2. Considere, por exemplo, o grafo G na figra 4, com emparelhamento inicial M = {,, x 5 y 5 }. Na figra 4(a) ma árvore alternante relativa ao emparelhamento M destacado é constrída, começando com, e o caminho amentador é encontrado. Então, o algoritmo prodz m novo emparelhamento M = {,,, x 5 y 5 } e ma árvore alternante relativa ao emparelhamento M é agora constrída a partir de (veja a figra 4(c) e 4(d)). Como não existe caminho amentador com respeito a M com origem em, o algoritmo termina. O conjnto S = {,, }, com vizinhos N(S) = {, }, mostra qe G não tem m 1-fator. Um algoritmo pode ser proposto para encontrar m emparelhamento de cardinalidade máxima em m grafo bipartido, fazendo peqenas mdanças no algoritmo qe acabamos de apresentar. Um algoritmo eficiente qe determina m emparelhamento de cardinalidade máxima em m grafo arbitrário foi proposto por Edmonds em [3]. Referências Este texto foi prodzido com a conslta às referências [1] e [2]. Como mencionado anteriormente, o método húngaro pode ser facilmente alterado para encontrar m emparelhamento de cardinalidade máxima em m grafo bipartido. Este algoritmo, neste caso, torna-se m caso particlar do algoritmo proposto por Edmonds em [3], qe constrói m emparelhamento de cardinalidade máxima em m grafo arbitrário. O algoritmo de Khn-Mnkres [4,6] encontra m emparelhamento de valor máximo em m grafo bipartido com cstos nas arestas. O problema associado a esta solção é chamado Problema da atribição ótima. Uma excelente referência sobre emparelhamentos é o livro de Lovász e Plmmer [5]. 5
x 5 y 4 y 5 (a) (b) x 5 PSfrag replacements y 4 y 5 (c) (d) (d) Figra 4: (a) Um emparelhamento M. (b) Uma árvore alternante relativa a M. (c) Um emparelhamento M. (d) Uma árvore alternante relativa a M. 6
[1] J. A. Bondy and U. S. R. Mrty, Graph Theory with Applications, North-Holland, 1976. [2] G. Chartrand and O. R. Oellermann, Applied and Algorithmic Graph Theory, McGraw- Hill, Inc., 1993. [3] J. Edmonds, Paths, trees and flowers, Canad. J. Math., 17, pp. 449-467, 1965. [4] H. W. Khn, The Hngarian method for the assignment problem, Naval Res. Logist. Qart., 2, pp. 83-97, 1955. [5] L. Lovász and M. D. Plmmer, Matching Theory, North-Holland, 1986. [6] J. Mnkres, Algorithms for the assigment and transportation problems, J. Soc. Indst. Appl. Math., 5, pp. 32-38, 1957. 7