240720122958_Grafos_cadernozero

download 240720122958_Grafos_cadernozero

of 16

Transcript of 240720122958_Grafos_cadernozero

  • Grafos

    (Falso rosto provisrio)

  • Grafos

    Marcos GoldbargAutor

    (Rosto provisrio)

  • CIP-BRASIL. CATALOGAO-NA-FONTE SINDICATO NACIONAL DOS EDITORES DE LIVROS, RJ

    G564g

    Goldbarg, Marco Cesar Grafos : conceitos, algoritmos e aplicaes / Marco Goldbarg, Elizabeth Goldbarg. - Rio de Janeiro : Elsevier, 2012.

    ISBN 978-85-352-5716-8

    1. Teoria dos grafos. 2. Algoritmos. I. Goldbarg, Elizabeth II. Ttulo.

    12-1694.. CDD: 511.5 CDU: 511

    2012, Elsevier Editora Ltda.

    Todos os direitos reservados e protegidos pela Lei no 9.610, de 19/02/1998.Nenhuma parte deste livro, sem autorizao prvia por escrito da editora, poder ser reproduzida ou transmitida sejam quais forem os meios empregados: eletrnicos, mecnicos, fotogrficos, gravao ou quaisquer outros.

    Copidesque: Tania HeglacyReviso: Andrea VidalEditorao Eletrnica: Triall Composio Editorial Ltda.

    Elsevier Editora Ltda.Conhecimento sem FronteirasRua Sete de Setembro, 111 16o andar20050-006 Centro Rio de Janeiro RJ Brasil

    Rua Quintana, 753 8o andar04569-011 Brooklin So Paulo SP

    Servio de Atendimento ao [email protected]

    ISBN 978-85-352-5716-8

    Nota: Muito zelo e tcnica foram empregados na edio desta obra. No entanto, podem ocorrer erros de digitao, impresso ou dvida conceitual. Em qualquer das hipteses, solicitamos a comunicao ao nosso Servio de Atendimento ao Cliente, para que possamos esclarecer ou encaminhar a questo.Nem a editora nem o autor assumem qualquer responsabilidade por eventuais danos ou perdas a pessoas ou bens origi-nados do uso desta publicao.

  • www.elservier.com.brConhecimento sem Fronteiras.

    Contedo Complementar On-line que Facilita o Estudo

    Obrigado por adquirir o livro

    Grafos

    Nesta pgina voc tem o cdigo de acesso on-line e gratuito a:

    Soluo dos exerccios Figuras coloridas

    QUEM QUER SABER AINDA MAIS, CONSULTA!

    Risque o adesivo com cuidado! No use objetos

    pontiagudos. Se possvel, utilize uma extremidade

    plstica (em vez de uma moeda) e no risque com muita

    fora a fim de evitar danificar o cdigo de identificao.

    Observao importante: a compra deste livro inclui acesso

    a materiais complementares on-line para o uso exclusivo

    do comprador. Essa licena e esse acesso funcionam

    apenas para um usurio por cdigo de acesso.

    O compartilhamento de senhas rigorosamente proibido

    e qualquer tentativa dessa natureza invalidar a senha.

    O acesso no pode ser compartilhado, revendido ou

    divulgado e ser encerrado quando a prxima edio

    deste livro for lanada.

    Os detalhes completos e os termos de uso esto

    disponveis no momento do registro e o acesso estar

    sujeito aceitao dos termos de uso.

    O material complementar on-line ser constantemente atualizado

    ATENO! O livro no poder ser devolvido se o adesivoestiver danificado. No use objetos pontiagudos.

  • Introduo Conceitos Algoritmos Aplicaes vii

    IntroduoO presente texto objetiva dar suporte ao ensino e ao estudo dos conceitos bsicos em Teoria dos Grafos, em algoritmos em grafos e em suas conexes com a otimizao combinatria e aplicaes reais. O livro ocupa um espao didtico pouco povoado situado na conexo da Teoria dos Grafos com as aplicaes reais. Cinco focos definem a proposta e esto exibidos na Figura 1:

    Otimizao combinatria

    e problemas do mundo real

    Ancoragem para a

    pesquisa

    Algoritmos emgrafos

    Facilitao ao acesso

    informao

    Autoaprendizagem

    Focos

    Figura 1: Os focos do livro

    1o foco

    O emprego do ferramental da Teoria dos Grafos na soluo de problemas de otimizao combinatria e do mundo real. Nesse foco esto especialmente envolvidos os Captulos 2, 8 e 9, bem como os tpicos de aplicaes existentes em cada captulo.

    2o foco

    Suporte ao desenvolvimento de algoritmos em grafos para a soluo computacional desses problemas. Com exceo do Captulo 2, todos os demais apresentam vrios algoritmos de soluo para os tpicos abordados.

    3o foco

    Desenvolvimento do texto de forma a facilitar a auto-aprendizagem e o incentivo motivao para o dom-nio das competncias e habilidades relativas a essa disciplina. Tpicos semelhantes so, na medida do possvel, reunidos e estudados em conjunto. Todos os conceitos apresentados so imediatamente exemplificados. Vrios exerccios resolvidos auxiliam a autoaprendizagem.

    4o foco

    Criao de ancoragem para a pesquisa e ampliao e aprofundamento dos temas abordados no livro atravs da disponibilizao de uma rede de referncias bibliogrficas. Os principais temas do livro so objeto de um

  • viii Grafos

    levantamento do estado da arte. O objetivo de identificar e relacionar a literatura associada aos temas em estudo permitir ao leitor facilidade em aprofundar os temas abordados no livro.

    5o foco

    Facilitao ao acesso informao. Diversas referncias bibliogrficas do livro podem ser obtidas gratuitamente na internet. Tais referncias esto assinaladas e trazem endereo URL.

    O texto introdutrio. No existe a pretenso do aprofundamento para alm dos cursos de graduao. A aten-o est centrada nos conceitos bsicos, no desenvolvimento de algoritmos e nas aplicaes reais. A imerso mais intensa, especialmente no que diz respeito ao ferramental matemtico do modelo, foge ao escopo do traba-lho. Todavia, o livro est aparelhado para o uso em cursos de ps-graduao em reas afins Programao Discreta ou Cincia da Computao.

    So disponibilizados exerccios resolvidos e exerccios propostos. A soluo dos exerccios propostos parte do desafio do processo de aprendizagem. Como na maioria dos casos a resposta dos exerccios propostos a prpria resoluo, essas solues no constam do texto.

    A metodologia busca organizar o texto de forma a reunir conceitos semelhantes em quadros vizinhos. Os con-ceitos so fichados. Isso permite ao leitor confrontar imediatamente o conceito abordado com outros assemelha-dos, esclarecendo eventuais dvidas. A Figura 2 exemplifica a apresentao dos conceitos correlacionados.

    Um grafo G bipartido dito completo se cada vrtice do conjunto N1 com p vrtices adjacente a todos os q vrtices do conjunto N2 e vice-versa.

    Um grafo clique de um grafo G um subgrafo completo de G.

    Um grafo KG um grafo clique se e somente se ele contm uma famlia F de subgrafos completos cuja unio resulta KG, e tal que nenhum par de grafos com-pletos em alguma subfamlia possui uma interseo* vazia a interseo entre todos os membros da famlia no vazia (Harary, 1994, p. 20).

    Um grafo G dito completo se existe uma aresta associada a cada par de vrtices de G. No caso orientado isso significa a existncia de um arco para cada par ordenado de vrtices.

    Grafo Completo

    Grafo Bipartido Completo

    Grafo Clique Kn

    Grafo Clique Definio Alternativa

    Kn

    K,p,q

    Conceitos associados

    Conceito principal

    Notao usada

    Figura 2: Exemplo de apresentao de conceitos correlacionados

    So apresentadas dicas para a soluo dos modelos examinados no texto. Esse cuidado caminha no sen-tido da criao de conexes entre o que se apresenta e um eventual aprofundamento para alm do escopo imediato do livro. A Figura 3 exibe um exemplo desse tipo de ancoragem na literatura.

  • Introduo Conceitos Algoritmos Aplicaes ix

    Decomposio em rvore Dicas de TrabalhosXu et al. (2005) apresentam uma aplicao da decomposio em rvore na predio da estrutura de protenas. Bodlaender & Fomin (2005) abordam o problema associado da decomposio em rvores de menor custo. Dourisboure & Gavoille (2007) tratam da de-composio em rvores com menor dimetro.

    Figura 3: Exemplo de ancoragem na literatura

    Os algoritmos abordados so descritos tanto no texto como resumidos atravs de pseudocdigo, como exemplifica a Figura 4.

    Ler G = (N, M)S ; (G) 0;Ordenar os vrtices em ordem no crescente de grausEnquanto N Fazer k mnimo { j tal que x

    j N }

    N N \ { xk }

    S S { xk }

    M M \ R // R o conjunto das arestas adjacentes a xk)//

    (G) (G) + 1Fim_EnquantoEscrever S e (G)

    A Cobertura de Vrtices

    HeursticoFigura 4: Exemplo de pseudocdigo

    Os algoritmos cujo pseudocdigo apresentado possuem sua complexidade analisada em item especfico, como exemplifica a Figura 5.

    Aps a inicializao, so executadas, no mximo, n1 iteraes do k. Em cada uma destas iteraes so calculados cami-nhos com k arestas entre a origem e cada um dos demais vrtices do grafo. Para cada vrtice, a lista dos seus antecessores examinada. Uma vez que o rtulo do vrtice origem no alterado, o exame deste antecessor pode ser descartado. Deste modo, para cada vrtice, no mximo, n2 antecessores so examinados. Cada exame consiste apenas de operaes de adio e comparao. Portanto, a complexidade do algoritmo apresentado O(n3).

    Ford-Moore-BellmanComplexidade

    O(n3)

    Figura 5: Exemplo de anlise de complexidade de um algoritmo descrito em pseudocdigo

    Os problemas de otimizao combinatria so introduzidos e associados aos problemas em grafos ou sugeridos como questes especficas, como exemplifica a Figura 6.

  • x Grafos

    A partir de algum ponto da cidade de Knigsberg no sculo XVIII, possvel fazer uma caminhada que atravesse todas as pontes da cidade somente uma vez?

    3a Questo p

    A partir de algum ponto da cidade de Knigsberg no sculo XXI, torna-se possvel fazer uma caminhada que atra-vesse todas as pontes da cidade somente uma vez?

    4a Questo p

    Determinar um passeio fechado de custo mnimo passando por todas as arestas do grafo G.

    O Problema do Carteiro Chins p

    Determinar um passeio fechado de custo mnimo passando por todas as arestas do grafo G em uma matriz de custos assimtrica.

    O Problema do Carteiro ao Vento Windy p

    Figura 6: Conexes dos modelos em grafos com os problemas de otimizao combinatria

    O desenvolvimento da proposta didtica comportou a elaborao de aproximadamente 2.100 conjuntos de desenhos, 470 exerccios, 100 exerccios resolvidos e 40 aplicaes reais detalhadamente descritas. No livro cerca de 850 referncias bibliogrficas so citadas. Material eletrnico adicional permite que alguns recursos do texto possam ser incorporados aos trabalhos didticos e as aulas da disciplina, de forma a auxiliar o processo de aprendizagem. A soluo dos exerccios solucionados apresentados em cada captulo, as figuras coloridas e o material eletrnico adicional ser disponibilizado aos leitores no site www.elsevier.com.br/grafos.

    Os autores formulam votos de que o presente projeto possa ser til na formao dos alunos de graduao e no auxlio ao ensino da disciplina de Grafos. Assim nos colocamos prontos e desejosos de ouvir as importantes obser-vaes daqueles a quem o livro foi dedicado.

    Ementas que podem ser associadas ao livroO livro aborda diversos temas pertinentes a Teoria dos Grafos, de modo que pode dar suporte a mais de uma disciplina. Grandes temas como:

    Algoritmo em grafos; Introduo Teoria dos Grafos; Aplicaes de grafos; Grafos e otimizao combinatria.

    podem encontrar suporte no contedo didtico do livro. No sentido de exemplificar o alcance do contedo dispo-nibilizado, so transcritas a seguir algumas ementas que podem ser desenvolvidas com base no texto. Observe que as ementas citadas no esgotam as possibilidades de composio do contedo do livro, todavia permitem ressaltar sua versatilidade.

  • Introduo Conceitos Algoritmos Aplicaes xi

    Ementa 1 Ampla

    Definio e aplicao de grafos. Conceitos bsicos em grafos. Representao de grafos: matrizes de adjacncias, incidncia, listas de adjacncias e representao em estrela. Operaes em grafos. rvores. rvore geradora m-nima. Caminhos e ciclos. Caminho mais curto. Ciclos hamiltonianos e eulerianos. Conectividade de vrtices e arestas. Subconjunto de vrtices e arestas. Estabilidade, absoro e dominncia e emparelhamentos. Introduo planaridade. Colorao. Redes e fluxos em redes. Problemas de otimizao em grafos.

    Ementa 2 Foco em algoritmos

    Definio e aplicao de grafos. Subgrafos e hipergrafos. Busca em profundidade. Algoritmos para componentes conexas. Busca em largura. rvores. Algoritmos para rvores geradoras mnima e mxima. Caminhos. Algo-ritmos para caminhos mais curtos. Colorao. Algoritmos para colorao. Fluxo em redes. Algoritmos de fluxo mximo em redes. Emparelhamentos. Algoritmos para emparelhamentos.

    Ementa 3 Foco em aplicaes

    Definio e aplicao de grafos. Conceitos bsicos em grafos. Representao de grafos: matrizes de adjacncias, incidncia, listas de adjacncias e representao em estrela. Operaes em grafos. Modelos em grafos. rvores. Modelos em rvores. rvore de Steiner. Caminhos e ciclos. Carteiro chins. Caixeiro-viajante. Colorao. T-Co-lorao. Fluxo em redes.

    Ementa 4 Introdutria

    Introduo. Noes bsicas: grafos orientados, no orientados, bipartidos. Percursos em grafos. Subgrafos e Su-pergrafos. Cliques. rvores e rvores geradoras. Conectividade. Problemas de caminhos. Estabilidade e n-mero cromtico. Emparelhamentos. Grafos planares. Circuitos eulerianos e hamiltonianos. Grafos acclicos. Colorao em grafos. Redes. Fluxos em redes.

    Ementa 5 Foco em tpicos especficos

    Definio e aplicao de grafos. Subgrafos e hipergrafos. Busca em profundidade, componentes biconexos, com-ponentes fortemente conexos, busca em largura, busca em largura lexicogrfica, busca irrestrita, nmero crom-tico. rvores geradoras mximas e mnimas. Introduo planaridade. Algoritmos de fluxo mximo em redes. Algoritmos para emparelhamentos.

    Ementa 6 Foco em tpicos especficos

    Definio e aplicao de grafos. Subgrafos e hipergrafos. Isomorfismo de grafos. Representao computacional. Algoritmos de buscas. Grafos orientados. Trilhas, caminhos e ciclos. Distncias. Caminhos. Conectividade. Ciclos eulerianos e hamiltonianos. Problema do caixeiro-viajante. Problema do carteiro chins. rvores, rvore geradora mnima. Introduo planaridade. Colorao de vrtices. Nmero cromtico. Emparelhamento. Fluxos em redes.

  • Sumrio xiii

    Sumrio

    Captulo 1 Conceitos Bsicos .......................................................................................................1

    1.1 Grafos: Notao Bsica e Exemplos ............................................................................... 2

    1.2 Definies Bsicas ......................................................................................................... 6

    1.3 Subgrafos e Supergrafos ............................................................................................. 25

    1.4 Famlia de Grafos Especiais ......................................................................................... 36

    1.5 Operaes com Grafos e Estruturas Parciais ................................................................ 43

    1.6 Estruturas de Dados para Grafos ................................................................................. 53

    1.7 Busca em Grafos ........................................................................................................ 59

    1.8 Grafos com Apelidos .................................................................................................. 68

    1.9 Exerccios Resolvidos do Captulo 1 ............................................................................. 71

    1.10 Exerccios Propostos do Captulo 1 .............................................................................. 75

    1.11 Referncias ................................................................................................................. 89

    Capitulo 2 Modelos de Aplicao ........................................................................................................... 91

    2.1 Exemplos de Aplicao dos Modelos em Grafos .......................................................... 92

    2.2 Modelando Problemas Atravs de Grafos .................................................................. 107

    2.3 Exerccios Resolvidos do Captulo 2 ........................................................................... 121

    2.4 Exerccios Propostos do Captulo 2 ............................................................................ 123

    2.5 Referncias ............................................................................................................... 128

    Capitulo 3 rvores ................................................................................................................................ 129

    3.1 Conceitos Bsicos ..................................................................................................... 130

    3.2 rvores Geradoras .................................................................................................... 137

    3.3 rvores Geradoras Mnimas ...................................................................................... 150

    3.4 Exemplos de Aplicao ............................................................................................. 161

    3.5 Grafos Especiais Associados s rvores ..................................................................... 168

    3.6 Aplicaes Reais Selecionadas ................................................................................... 169

    3.7 Exerccios Resolvidos do Captulo 3 ........................................................................... 170

    3.8 Exerccios Propostos do Captulo 3 ............................................................................ 172

    3.9 Referncias ............................................................................................................... 179

    Capitulo 4 Caminhos ............................................................................................................................ 185

    4.1 Conexidade .............................................................................................................. 186

    4.2 Caminhos em Grafos ................................................................................................ 195

    4.3 Algoritmos para o Caminho mais Curto .................................................................... 199

    4.4 Caminhos e Ciclos Hamiltonianos ............................................................................. 216

    4.5 Caminhos e Ciclos Eulerianos.................................................................................... 220

    4.6 Variantes do Caminho mais Curto............................................................................. 228

    4.7 Cadeias Eulerianas e Modelos de Otimizao ............................................................ 233

    4.8 Exemplos de Aplicaes ............................................................................................ 236

  • xiv Grafos

    4.9 Grafos Especiais dos Temas do Captulo .................................................................... 247

    4.10 Aplicaes Reais Selecionadas ................................................................................... 257

    4.11 Exerccios Resolvidos do Captulo 4 ........................................................................... 259

    4.12 Exerccios Propostos do Captulo 4 ............................................................................ 264

    4.13 Referncias ............................................................................................................... 285

    Capitulo 5 Subconjuntos de Vrtices e Arestas .................................................................................... 293

    5.1 Coberturas ............................................................................................................... 294

    5.2 Conjunto Dominante, Independente e k-Packing .......................................................3045.3 Emparelhamento ou Matching .................................................................................. 3085.4 Resumo dos Invariantes ............................................................................................ 317

    5.5 Decomposio em Subgrafos .................................................................................... 318

    5.6 Algoritmo para Conjunto Estvel .............................................................................. 321

    5.7 Algoritmo para Cobertura de Vrtice ........................................................................ 323

    5.8 Problemas de Otimizao Associados ........................................................................ 325

    5.9 Exemplos de Aplicaes ............................................................................................ 326

    5.10 Grafos Especiais Associados ao Tema do Captulo ..................................................... 336

    5.11 Aplicaes Reais Selecionadas ................................................................................... 343

    5.12 Exerccios Resolvidos do Captulo 5 ........................................................................... 344

    5.13 Exerccios Propostos do Captulo 5 ............................................................................ 350

    5.14 Referncias ............................................................................................................... 361

    Capitulo 6 Fluxo em Redes ................................................................................................................... 367

    6.1 Fluxo em Redes Conceitos Bsicos.......................................................................... 368

    6.2 O Problema do Fluxo Mximo ................................................................................... 373

    6.3 O Problema da Circulao Vivel em Redes ............................................................... 387

    6.4 Exemplos de Aplicaes ............................................................................................ 390

    6.5 Aplicaes Reais Selecionadas ................................................................................... 394

    6.6 Exerccios Resolvidos do Captulo 6 ........................................................................... 396

    6.7 Exerccios Propostos do Captulo 6 ............................................................................ 401

    6.8 Referncias ............................................................................................................... 410

    Capitulo 7 Colorao e Grafos Perfeitos .............................................................................................. 415

    7.1 Grafos Perfeitos ........................................................................................................ 416

    7.2 Colorao ................................................................................................................. 418

    7.3 Teorema das Quatro Cores ........................................................................................ 440

    7.4 Tira de Mbius ......................................................................................................... 441

    7.5 Algoritmo Exato para Colorao Prpria Zykov ....................................................... 442

    7.6 Algoritmo DSATUR para Colorao Prpria ............................................................... 443

    7.7 Algoritmos Exatos para a Colorao de Vrtices ........................................................ 446

    7.8 Outros Problemas Associados Colorao ................................................................ 447

    7.9 Exemplos de Aplicaes ............................................................................................ 449

    7.10 Grafos Especiais nos Temas do Captulo .................................................................... 459

    7.11 Exerccios Resolvidos do Captulo 7 ........................................................................... 468

  • Sumrio xv

    7.12 Exerccios Propostos do Captulo 7 ............................................................................ 472

    7.13 Referncias ............................................................................................................... 478

    Capitulo 8 rvore de Steiner ................................................................................................................ 483

    8.1 A rvore de Steiner em Grafos ................................................................................. 484

    8.2 Algoritmos Heursticos para rvore de Steiner ........................................................... 504

    8.3 Exemplos de Aplicaes ............................................................................................ 514

    8.4 Aplicaes Reais Selecionadas ................................................................................... 518

    8.5 Exerccios Resolvidos do Captulo 8 ........................................................................... 518

    8.6 Exerccios Propostos do Captulo 8 ............................................................................ 519

    8.7 Referncias ............................................................................................................... 528

    Capitulo 9 Caixeiro-viajante ................................................................................................................. 535

    9.1 O Problema do Caixeiro-viajante ............................................................................... 536

    9.2 Algoritmos Heursticos para o PCV ............................................................................ 538

    9.3 Exemplos de Aplicaes ............................................................................................ 573

    9.4 Variantes do Caixeiro-viajante ................................................................................... 577

    9.5 Exerccios Resolvidos do Captulo 9 ........................................................................... 605

    9.6 Exerccios Propostos do Captulo 9 ............................................................................ 606

    9.7 Referncias ............................................................................................................... 608

    ndice Remissivo ........................................................................................................................................... 617