• Nenhum resultado encontrado

Al´em dos fluxos submodulares de Edmonds e Giles, v´arios arcabou¸cos semelhantes foram propostos para generalizar rela¸c˜oes min-max e outros resultados. Destacamos os seguintes: cut-set polyhedra de Johnson [1975], lattice polyhedra de Hoffman [1976, 1978] e Hoffman e Schwartz [1978], kernel systems de Frank [1979b], distributive lattices de Gr¨oflin e Hoffman [1982], polymatroidal network flows de Hassin [1982] e Lawler e Martel [1982b, 1982a], e generalized polymatroids de Frank [1984b] e Frank e Tardos [1988].

Schrijver [1984a] desenvolveu um arcabou¸co bastante geral, a partir do qual todos os modelos mencionados no par´agrafo anterior podem ser obtidos. As rela¸c˜oes entre eles podem ser vistas na excelente resenha de Schrijver [1984b].

Nesta se¸c˜ao, modificamos levemente a demonstra¸c˜ao do teorema 2.3 de Edmonds-Giles para obter uma variante devida a Schrijver [1982]. A partir desse novo modelo, derivamos mais rela¸c˜oes min-max.

Come¸camos adaptando o corol´ario 2.2.1:

Lema 2.4α

Seja D = (V, A) um grafo orientado e C uma cole¸c˜ao de subconjuntos de V . Seja N a matriz C × A definida como

N [S, a] := (

1, se a ∈ δ→(S), 0, caso contr´ario,

para cada S ∈ C e a ∈ A. Suponha que C satisfaz a seguinte condi¸c˜ao:

se X, Y, Z ∈ C e X ⊆ V \ Y ⊆ Z, ent˜ao δ→(X) ∩ δ→(Z) = ∅. (2.7) Se C ´e livre de cruzamentos, ent˜ao a matriz N ´e totalmente unimodular.

Demonstra¸c˜ao. Pelo teorema 2.2, a fam´ılia C admite uma representa¸c˜ao arb´orea (T, π). Seja a = uv ∈ A e P o pseudocaminho que liga π(u) a π(v) em T . Afirmamos que os arcos diretos de P s˜ao consecutivos, isto ´e, formam um caminho P0. Caso contr´ario, existiriam arcos b, c, d ∈ AT que aparecem nesta ordem em P e tais que b e d s˜ao arcos diretos de P

e c ´e um arco reverso de P . Mas ent˜ao a condi¸c˜ao (2.7) ´e violada pelos conjuntos X := Sd,

Y := Sc e Z := Sb, contradizendo nossa hip´otese. Se P0 vai de u0 a v0, defina a0 := u0v0.

Tome o grafo orientado D0 := (VT, A0), onde A0 := { a0: a ∈ A }. N˜ao ´e dif´ıcil ver que a

matriz de rede gerada por T e D0´e igual a N , identificando cada arco a ∈ AT com o conjunto

Sa∈ C e cada arco a0 ∈ A0com o arco a ∈ A. Logo, pelo teorema 2.1, a matriz N ´e totalmente

unimodular.

Seja D = (V, A) um grafo orientado e C uma cole¸c˜ao de subconjuntos de V fechada sob cruzamentos. Uma fun¸c˜ao g : C → R ´e dita supermodular em cruzamentos se a fun¸c˜ao −g ´e submodular em cruzamentos.

Se¸c˜ao 2.4. Uma variante 31

Teorema 2.4 (Variante de Schrijver)

Seja D = (V, A) um grafo orientado. Seja C uma cole¸c˜ao de subconjuntos de V fechada sob cruzamentos e g : C → R uma fun¸c˜ao supermodular em cruzamentos. Se a cole¸c˜ao C satisfaz a condi¸c˜ao (2.7), ent˜ao o sistema

xa≥ 0 para todo a ∈ A,

x δ→(S) ≥ g(S) para todo S ∈ C, (2.8) ´e box-TDI.

Demonstra¸c˜ao. A prova ´e quase idˆentica `a do teorema 2.3 de Edmonds-Giles. Dentre todas as solu¸c˜oes ´otimas y do programa linear dual a min{ cx : x satisfaz (2.8) }, escolha como y∗ uma solu¸c˜ao que minimiza a fun¸c˜ao linear φ(y) definida em (2.5).

Para ver que C∗ := { S ∈ C : y∗S> 0 } ´e livre de cruzamentos, suponha que U, W ∈ C∗ se cruzam. Defina y0∈ RC

≥0 como em (2.6). Como

χδ

(U ∩W )+ χ→δ(U ∪W )≤ χ→δ(U )+ χ→δ(W )

e g ´e supermodular em cruzamentos, ent˜ao y0 tamb´em ´e uma solu¸c˜ao ´otima do dual. Por´em, pelo lema 2.3α do descruzamento, temos φ(y0) < φ(y∗), contradizendo a escolha de y∗.

Como a cole¸c˜ao C∗ ´e livre de cruzamentos, o lema 2.4α nos garante que as linhas da matriz de (2.8) correspondentes a C∗ formam uma matriz totalmente unimodular. Segue do teorema 1.9 que o sistema (2.8) ´e box-TDI.

Derivamos agora uma s´erie de rela¸c˜oes min-max. Observe que, pela proposi¸c˜ao 1.8 e pelos teoremas 1.7 e 2.4,

min cx : x ∈ ZA≥0, x satisfaz (2.8) = max

n yg : y ∈ ZC≥0, X S∈CySχ δ → (S)≤ co (2.9)

sempre que g e c s˜ao vetores integrais e algum desses programas lineares admite alguma solu¸c˜ao ´otima. Nos corol´arios a seguir, sempre usaremos g := 1 e definiremos apenas os parˆametros D, c e C satisfazendo as hip´oteses do teorema 2.4.

Seja G = (V, E) um grafo. Dizemos que F ⊆ E ´e uma cobertura por arestas se cada v´ertice de G ´e ponta de alguma aresta de F . Dizemos que S ⊆ V ´e est´avel se o subgrafo induzido G[S] n˜ao tem arestas. Rado [1933] obteve a seguinte rela¸c˜ao min-max, que Gallai [1958a, 1958b] atribui a K˝onig em 1932:

Corol´ario 2.4.1 (Teorema de cobertura por arestas de K˝onig-Rado)

Num grafo bipartido sem v´ertices isolados, o tamanho m´ınimo de uma cobertura por arestas ´e igual ao tamanho m´aximo de um conjunto est´avel.

Demonstra¸c˜ao. Seja G um grafo (U, W )-bipartido. Oriente todas as arestas de U para W , obtendo o grafo orientado D. Agora o resultado segue da equa¸c˜ao (2.9) tomando c := 1 e C := { VG\ {u} : u ∈ U } ∪ { {w} : w ∈ W }.

Seja D = (V, A) um grafo orientado e r ∈ V . Dizemos que B ⊆ A ´e um r-corte ou um corte enraizado em r se B = δ→(S) para algum subconjunto n˜ao-vazio S ⊆ V \ {r}. ´E ´obvio que um subconjunto de arcos cont´em uma r-arborescˆencia se, e somente se, intersecta todos os r-cortes. A seguinte rela¸c˜ao min-max foi provada por Fulkerson [1974] e j´a aparecia impl´ıcita nos artigos de Edmonds [1967] e Bock [1971].

Corol´ario 2.4.2 (Teorema da arborescˆencia ´otima de Fulkerson)

Seja D = (V, A) um grafo orientado, ` : A → Z≥0 uma fun¸c˜ao comprimento e r ∈ V . Ent˜ao

o comprimento m´ınimo de uma r-arborescˆencia ´e igual ao tamanho m´aximo de uma fam´ılia `-disjunta de r-cortes.

Demonstra¸c˜ao. Imediato de (2.9), tomando c := ` e C := { S : ∅ 6= S ⊆ V \ {r} }.

Seja D = (V, A) um grafo orientado e {R, S} uma parti¸c˜ao de V . Dizemos que B ⊆ A ´e uma (R, S)-bi-ramifica¸c˜ao se, no grafo orientado (V, B), cada v´ertice de S ´e acess´ıvel a partir de algum v´ertice de R e cada v´ertice de R acessa algum v´ertice de S. Observe que B ⊆ A ´e uma (R, S)-bi-ramifica¸c˜ao se, e somente se, o grafo orientado (V, B)/R cont´em uma R-arborescˆencia e o grafo orientado (V, B−1)/S cont´em uma S-arborescˆencia, onde R e S denotam os v´ertices contra´ıdos.

Dizemos que B ⊆ A ´e um (R, S)-bicorte se B = δ→(U ) para algum subconjunto n˜ao-vazio U ( V tal que U ⊆ S ou U ⊇ S. ´E evidente que um subconjunto de arcos cont´em uma (R, S)-bi-ramifica¸c˜ao se, e somente se, intersecta todos os (R, S)-bicortes. O resultado a seguir foi obtido por Schrijver [1982]:

Corol´ario 2.4.3 (Teorema da bi-ramifica¸c˜ao ´otima de Schrijver)

Seja D = (V, A) um grafo orientado, ` : A → Z≥0 uma fun¸c˜ao comprimento e {R, S} uma

parti¸c˜ao de V . Ent˜ao o comprimento m´ınimo de uma (R, S)-bi-ramifica¸c˜ao ´e igual ao tamanho m´aximo de uma fam´ılia `-disjunta de (R, S)-bicortes.

Demonstra¸c˜ao. Imediato de (2.9), com c := ` e C := { U : ∅ 6= U ⊆ S ou S ⊆ U ( V }. O teorema 2.3.1 de Lucchesi-Younger e o teorema 2.3.2 de intersec¸c˜ao de matr´oides de Edmonds tamb´em podem ser facilmente derivados da variante de Schrijver. Notamos ainda que, para derivar vers˜oes capacitadas dos teoremas anteriores, basta aplicar a equa¸c˜ao (2.9) com uma fun¸c˜ao custo c : A → Z≥0 arbitr´aria.

No cap´ıtulo 3, veremos um outro arcabou¸co para rela¸c˜oes min-max: os conectores fortes de Schrijver [1982]. O teorema do conector forte ´otimo de Schrijver tamb´em pode ser derivado da variante de Schrijver. Omitimos a prova, j´a que veremos depois uma redu¸c˜ao algor´ıtmica desse modelo para o teorema de Lucchesi-Younger.

Resultados relacionados 33

Resultados relacionados

As matrizes de rede s˜ao, na verdade, os blocos b´asicos de constru¸c˜ao de todas as matrizes totalmente unimodulares: segundo um profundo teorema estrutural de Seymour [1980], toda matriz totalmente unimodular pode ser constru´ıda a partir de matrizes de rede e de duas matrizes 5 × 5 atrav´es de certas opera¸c˜oes de “colagem”. Mais detalhes sobre a teoria relacionada a unimodularidade total podem ser encontrados no livro de programa¸c˜ao linear e inteira de Schrijver [1986, cap´ıtulos 19–21] e no livro de decomposi¸c˜ao de matr´oides de Truemper [1992, cap´ıtulos 9–12].

Na se¸c˜ao 2.3, usamos fluxos submodulares para provar duas rela¸c˜oes min-max: o teorema de Lucchesi-Younger e o teorema de intersec¸c˜ao de matr´oides de Edmonds. Por´em, podemos derivar tamb´em resultados puramente combinat´orios a partir desse arcabou¸co: Frank [1982] mostrou que uma vers˜ao fraca do teorema de orienta¸c˜ao de Nash-Williams [1960] segue do teorema 2.3 de Edmonds-Giles. Essa vers˜ao fraca afirma que um grafo admite uma orienta¸c˜ao k-arco-conexa se, e somente se, ´e 2k-aresta-conexo. Veja tamb´em Frank [1980].

Frank e Tardos [1989] mostraram ainda que o teorema 2.3 de Edmonds-Giles pode ser usado para resolver o seguinte problema de aumento de conexidade enraizada. Dados grafos orientados (V, A0) e (V, A), uma fun¸c˜ao custo c : A → R≥0, um v´ertice r ∈ V e um inteiro

k ∈ Z≥0, encontre um subconjunto de arcos A0 ⊆ A de custo m´ınimo tal que, para cada

v ∈ V , o grafo orientado (V, A0∪ A0) tenha k caminhos de r a v internamente disjuntos. Veja

tamb´em Frank [1999b].

A seguir, listamos algumas referˆencias sobre aspectos algor´ıtmicos de fluxos submodulares. O primeiro algoritmo polinomial para fluxos submodulares foi obtido por Gr¨otschel, Lov´asz e Schrijver [1981] e ´e baseado no m´etodo dos elips´oides. O primeiro algoritmo combinat´orio polinomial foi desenvolvido por Cunningham e Frank [1985], utilizando a regra de caminhos aumentadores em ordem lexicogr´afica de Sch¨onsleben [1980] e Lawler e Martel [1982a], a t´ecnica de scaling de Edmonds e Karp [1972] e R¨ock [1980], e id´eias e resultados de Frank [1982, 1984a].

Frank e Tardos [1987] obtiveram o primeiro algoritmo fortemente polinomial para o problema do fluxo submodular de peso m´aximo, baseando-se no m´etodo de aproxima¸c˜ao diofantina simultˆanea de Lenstra, Lenstra e Lov´asz [1982]. Fujishige, Zimmerman e R¨ock [1989] desenvolveram um algoritmo fortemente polinomial que ´e uma generaliza¸c˜ao mais direta do algoritmo de Tardos [1985] para o problema da circula¸c˜ao de custo m´ınimo, o primeiro algoritmo fortemente polinomial para este problema. Esse algoritmo de Fujishige, Zimmerman e R¨ock usa como sub-rotina o algoritmo de Cunningham e Frank e o m´etodo de tree projection de Fujishige [1986].

Todos esses algoritmos sup˜oem a existˆencia de um procedimento capaz de minimizar uma fun¸c˜ao submodular arbitr´aria. Um tal procedimento j´a era conhecido para diversos casos especiais importantes. Para o caso geral, o primeiro algoritmo fortemente polinomial foi constru´ıdo por Gr¨otschel, Lov´asz e Schrijver [1981, 1988] e ´e baseado no m´etodo dos elips´oides. O desenvolvimento de um algoritmo combinat´orio fortemente polinomial para minimizar uma fun¸c˜ao submodular arbitr´aria manteve-se um problema em aberto por quase 20 anos, tendo sido resolvido em 1999 independentemente por Schrijver [2000] e Iwata,

Fleischer e Fujishige [2001]. Os dois algoritmos foram inspirados em trabalhos anteriores de Cunningham [1984, 1985].

Para resultados mais recentes nessa linha de pesquisa, recomendamos o artigo de Iwata, McCormick e Shigeno [2005] e a monografia de Fujishige [2005].

Lov´asz [1976] forneceu uma prova combinat´oria do teorema 2.3.1 de Lucchesi-Younger, baseada em submodularidade.

A t´ecnica do descruzamento tamb´em foi usada para provar uma rela¸c˜ao min-max bastante geral de Frank e Jord´an [1995] para cobertura bisupermodular, que inclui alguns problemas de aumento de conexidade, o teorema de Edmonds [1965b] sobre parti¸c˜ao do conjunto-base de um matr´oide em bases, e uma extens˜ao de um teorema de Lubiw [1991], que ´e uma vers˜ao capacitada de uma rela¸c˜ao min-max de Gy˝ori [1984] sobre intervalos. Veja tamb´em Frank [1999a].

Cap´ıtulo 3

O algoritmo de Frank

O primeiro algoritmo fortemente polinomial para encontrar uma jun¸c˜ao de custo m´ınimo foi desenvolvido por Frank. Esse algoritmo resolve simultaneamente os dois problemas de otimiza¸c˜ao de uma vers˜ao capacitada do teorema de Lucchesi-Younger: o problema da jun¸c˜ao de custo m´ınimo, e o seu dual, que envolve o empacotamento de cortes orientados. Neste cap´ıtulo, apresentamos o algoritmo de Frank e o arcabou¸co de conectores fortes de custo m´ınimo de Schrijver, que fornece uma redu¸c˜ao algor´ıtmica de quase todas as rela¸c˜oes min-max derivadas no cap´ıtulo 2 para o teorema de Lucchesi-Younger. Teremos assim um algoritmo fortemente polinomial para cada uma dessas rela¸c˜oes.

Como j´a mencionamos na se¸c˜ao 2.3, o algoritmo de Frank para a vers˜ao capacitada do teorema de Lucchesi-Younger ´e, na verdade, uma especializa¸c˜ao de um algoritmo mais geral para fluxos submodulares. Por´em, as principais caracter´ısticas desse algoritmo mais geral est˜ao presentes nessa especializa¸c˜ao. Uma boa compreens˜ao do algoritmo de Frank para jun¸c˜oes de custo m´ınimo facilita muito o estudo do algoritmo para fluxos submodulares.

O algoritmo ´e primal-dual e mant´em, a cada itera¸c˜ao, uma jun¸c˜ao e uma certa fun¸c˜ao, chamada potencial. A cada itera¸c˜ao, alteramos um desses objetos para que eles se aproximem de certas condi¸c˜oes de otimalidade. A principal opera¸c˜ao do algoritmo ´e a modifica¸c˜ao da jun¸c˜ao atual ao longo de um certo circuito num grafo auxiliar. No fim do algoritmo, quando as condi¸c˜oes de otimalidade est˜ao satisfeitas, usamos a fun¸c˜ao potencial para construir um empacotamento de cortes orientados que certifica que a jun¸c˜ao obtida tem custo m´ınimo.

O restante do cap´ıtulo est´a organizado da seguinte forma: na se¸c˜ao 3.1, estudamos diversas propriedades de n´ucleos, objetos centrais no desenvolvimento do algoritmo; na se¸c˜ao 3.2, enunciamos as condi¸c˜oes de otimalidade do algoritmo; na se¸c˜ao 3.3, mostramos como uma jun¸c˜ao pode ser modificada ao longo de um circuito num certo grafo auxiliar; na se¸c˜ao 3.4, descrevemos a itera¸c˜ao primal-dual do algoritmo, encaixando as pe¸cas desenvolvidas nas se¸c˜oes anteriores; na se¸c˜ao 3.5, finalizamos a descri¸c˜ao do algoritmo ao mostrarmos como construir o grafo auxiliar de forma eficiente; conclu´ımos o cap´ıtulo com a se¸c˜ao 3.6, na qual descrevemos o arcabou¸co de conectores fortes de custo m´ınimo de Schrijver.

3.1

N´ucleos

Seja D = (V, A) um grafo orientado fracamente conexo. Um subconjunto n˜ao-vazio N ⊆ V ´e um n´ucleo se δ←(N ) = ∅, isto ´e, se N = V ou δ→(N ) ´e um corte orientado. ´E f´acil ver que

d→(N ∩ M ) + d→(N ∪ M ) = d→(N ) + d→(M ) (3.1) para quaisquer n´ucleos N e M .

Para cada S ⊆ V , denote por κ(S) o n´umero de componentes fracos de D − S, sendo κ(V ) = 0 por conven¸c˜ao.

Para quaisquer n´ucleos N e M , temos κ(N ) + κ(M ) ≤ κ(N ∩ M ) + κ(N ∪ M ). (3.2) Demonstra¸c˜ao. Seja G o grafo subjacente a D. Abrevie E[S] := EG[V \ S] para todo S ⊆ V .

Vamos usar a fun¸c˜ao submodular r : P(EG) → R definida no corol´ario 1.12.1. Observe que

r E[S] = |V | − |S| − κ(S) para todo S ⊆ V . ´

E f´acil ver que E[N ∪ M ] = E[N ] ∩ E[M ]. Como N e M s˜ao n´ucleos, ent˜ao n˜ao h´a arestas com uma ponta em N \ M e outra em M \ N . Usando esse fato, ´e f´acil provar que E[N ∩ M ] = E[N ] ∪ E[M ]. Pela submodularidade da fun¸c˜ao r, temos

κ(N ) + κ(M ) = |V | − |N | − r E[N ] + |V | − |M | − r E[M ]

≤ |V | − |N ∩ M | − r E[N ] ∪ E[M ] + |V | − |N ∪ M | − r E[N ] ∩ E[M ] = |V | − |N ∩ M | − r E[N ∩ M ] + |V | − |N ∪ M | − r E[N ∪ M ] = κ(N ∩ M ) + κ(N ∪ M ),

como quer´ıamos.

Se N 6= V ´e um n´ucleo, ent˜ao o corte orientado δ→(N ) ´e a uni˜ao de κ(N ) cortes orientados disjuntos. Para ver isso, defina L(N ) := { V \ K : K ´e um componente fraco de D − N } e note que δ→(N ) =S{ δ→(M ) : M ∈ L(N ) }. Conclu´ımos assim que,

se N ´e um n´ucleo e J ´e uma jun¸c˜ao, ent˜ao d→J(N ) ≥ κ(N ). (3.3)

Seja J uma jun¸c˜ao. Dizemos que o n´ucleo N ´e justo (com rela¸c˜ao a J ) se d→J(N ) = κ(N ).

Se, al´em disso, κ(N ) = 1, dizemos que N ´e perigoso (com rela¸c˜ao a J ). Dada uma fam´ılia N de n´ucleos, adote a abreviatura δ→(N ) := { δ→(N ) : N ∈ N }. Conclu´ımos da discuss˜ao anterior que,

(3.4) se N ´e um n´ucleo justo, ent˜ao L(N ) consiste de n´ucleos perigosos e

δ→L(N ) ´e uma parti¸c˜ao de δ→(N ).

O seguinte argumento ´e bastante comum em provas envolvendo submodularidade: (3.5) Sejam N e M n´ucleos justos com N ∩ M 6= ∅. Ent˜ao N ∩ M e N ∪ M

Se¸c˜ao 3.1. N´ucleos 37

Demonstra¸c˜ao. ´E evidente que N ∩ M e N ∪ M s˜ao n´ucleos. Pela equa¸c˜ao (3.1) e pelas afirma¸c˜oes (3.2) e (3.3), κ(N ) + κ(M ) = d→J(N ) + d → J(M ) = d → J(N ∩ M ) + d → J(N ∪ M ) ≥ κ(N ∩ M ) + κ(N ∪ M ) ≥ κ(N ) + κ(M ),

de modo que todas as inequa¸c˜oes acima valem com igualdade. Logo, d→J(N ∩ M ) = κ(N ∩ M )

e d→J(N ∪ M ) = κ(N ∪ M ).

Aplicando a afirma¸c˜ao (3.5) repetidas vezes, obtemos que,

(3.6) se uma cole¸c˜ao de n´ucleos justos forma um hipergrafo conexo, ent˜ao sua

uni˜ao ´e um n´ucleo justo.

Seja v ∈ V . Denote por Nmin(v) a intersec¸c˜ao de todos os n´ucleos justos que contˆem v.

Observe que Nmin(v) est´a bem definido, j´a que V ´e um n´ucleo justo. Note ainda que Nmin(v)

depende da jun¸c˜ao J em quest˜ao. Segue de (3.5) que

Nmin(v) ´e o menor n´ucleo justo que cont´em v, e w ∈ Nmin(v) sempre que vw ∈ A. (3.7)

Um n´ucleo N ´e fechado (com rela¸c˜ao a J ) se Nmin(v) ⊆ N para todo v ∈ N . Por

exemplo, V ´e um n´ucleo fechado. Ent˜ao

um n´ucleo ´e fechado se, e somente se, ´e uma uni˜ao de n´ucleos justos disjuntos. (3.8) Demonstra¸c˜ao. ´E evidente que toda uni˜ao de n´ucleos justos disjuntos ´e um n´ucleo fechado. Seja N um n´ucleo fechado. Considere o hipergrafo H sobre N com EH:= { Nmin(v) : v ∈ N }.

Pela afirma¸c˜ao (3.6), os componentes de H s˜ao n´ucleos justos, e sua uni˜ao ´e N .

A parti¸c˜ao N de N obtida nesta ´ultima prova ´e chamada de parti¸c˜ao justa de N . Abreviamos K(N ) :=S

M ∈NL(M ). ´E claro que { δ

(M ) : M ∈ N } ´e uma parti¸c˜ao de δ→(N ). Logo, pela afirma¸c˜ao (3.4), temos que,

(3.9) se N ´e um n´ucleo fechado, ent˜ao K(N ) consiste de n´ucleos perigosos e

δ→K(N ) ´e uma parti¸c˜ao de δ→(N ). Vale tamb´em o seguinte:

(3.10) Sejam J e J0 jun¸c˜oes. Se N ´e um n´ucleo fechado com rela¸c˜ao a J e

d→J 0(N ) = d →

J(N ), ent˜ao N ´e fechado com rela¸c˜ao a J

0.

Demonstra¸c˜ao. Seja N a parti¸c˜ao justa de N com rela¸c˜ao a J . Ent˜ao d→J(N ) = X M ∈N d→J(M ) = X M ∈N κ(M ) ≤ X M ∈N d→J 0(M ) = d → J 0(N ) = d → J(N ),