Ata - Aula do dia 11/06/2003
Redatora: Daniele Constant Guimarães - ra: 012108
Organização
Nesta ata serão apresentados os exercícios resolvidos em aula referentes ao capítulo 26 do livro "Algoritmos - Tradução da segunda edição americana - teoria e prática", 2002 do autor Thomas H. Cormen, além da discussão gerada em sala sobre esses exercícios.
|
|
Solução:
Discussão:
Esse exercício gerou uma discussão sobre o que é fluxo líquido e fluxo máximo. O professor explicou a diferença entre os fluxos da seguinte forma:
Existe uma rede e existe o fluxo. O fluxo sendo máximo ou não, em qualquer corte, o valor do fluxo líquido vai ser igual ao valor do fluxo naquele corte. Agora, a capacidade do corte varia dependendo do corte. Se o corte for mínimo o fluxo vai ser máximo.
No exercício, se for possível achar um corte mínimo com valor 19, pode-se garantir que o fluxo é máximo, mas um fluxo com valor 19 e um corte com valor 31, não se pode afirmar nada.
O corte mínimo encontrado em sala foi de ({s, v1, v2, v4}, {v3, t}) sendo seu valor c(v1, v3) + c(v4, v3) + c(v4, t) = 12 + 7 + 4 = 23
(a) | ||
(b) | ||
(c) | ||
(d) | ||
(e) |
Figura 26.5, página 522 |
Dado um fluxo máximo em uma rede G=(V,E). Este fluxo pode ser representado por um conjunto de caminhos CJ selecionados da seguinte forma:
a) Inicialmente define-se um grafo G' que é igual a G.
b) Esolhe-se aleatoriamente um caminho simples c entre s e t de G'.
c) Determina-se que o fluxo f(c) deste caminho é igual ao menor fluxo entre todas as suas arestas.
d) Adiciona-se c ao conjunto de caminhos CJ.
e) Para cada aresta (i, j) do grafo G' que pertence a c, subtrai-se f(c) do fluxo da aresta. Se o fluxo da aresta se torna 0 ela é removida do grafo G'.
f) Retorna-se ao passo da letra (b) até que não existam mais caminhos.
Vamos associar cada caminho de CJ a uma das arestas removidas quando ele foi adicionado a CJ. Podemos afirmar o seguinte:
A associacao caminho c -> aresta removida (i,j) é INJETIVA, ou seja, não há dois caminhos associados à mesma aresta.
Vamos provar isto:
Tomemos um caminho c escolhido para ser adicionado a CJ, e considere sua aresta associada (i,j). Os caminhos adicionados antes de c não foram associados a (i,j), pois ela estava ainda no grafo quando c foi adicionado. Os caminhos adicionados depois de c também não podem estar associados a (i,j), pois ela não estava mais no grafo depois que c foi adicionado.
Considerando cada cada um dos caminhos c de CJ é um caminho aumentante, e como a associação é injetiva, então temos no máximo |E| caminhos aumentantes.
O enunciado original deste exercício referencia a figura 26.6, o correto é referenciar a figura 26.5.
Outro problema encontrado foi na tradução do segundo item do exercício. No enunciado original a pergunta é: "... cancelam O fluxo?". Após discussão em sala, chegou-se a conclusão que o enunciado correto seria: "... cancelam fluxo?"