Planaridade e Fluxo em Grafos. Fabrício Kolberg

Tamanho: px
Começar a partir da página:

Download "Planaridade e Fluxo em Grafos. Fabrício Kolberg"

Transcrição

1 Planaridade e Fluxo em Grafos Fabrício Kolberg Junho de 2015

2 Sumário 1 Planaridade O Conceito de Planaridade e Caracterizações Propriedades de Grafos Planares O Algoritmo de Auslander-Parter Fluxo Máximo e Corte Mínimo Introdução ao problema Algumas propriedades e definições sobre função de fluxo Trabalhando com múltiplas origens e destinos O Método de Ford-Fulkerson Algoritmo básico do Método de Ford-Fulkerson Relação com Emparelhamento Bipartido

3 Capítulo 1 Planaridade 1.1 O Conceito de Planaridade e Caracterizações Suponha que lhe são dadas três residências, e serviços de água, luz e telefone. É necessário conectar cada uma das casas com cada um dos serviços sem cruzar conexões. Muitos já devem ter sido confrontados com esse problema, alguns sem saber que ele é impossível. Suponha que as três residências são vértices enumerados r 1, r 2, r 3, e os três serviços enumerados s 1, s 2, s 3. Suponha, então, que todas as arestas de r 1 e r 2 são desenhadas sem que nenhum cruzamento de arestas ocorra. Nesse caso, as arestas já desenhadas separam o desenho em três regiões: A região R 1, limitada pelas arestas r 1 s 1, r 2 s 1, r 1 s 2, r 2 s 2. A região R 2, limitada pelas arestas r 1 s 2, r 2 s 2, r 1 s 3, r 2 s 3. A região R 3, limitada pelas arestas r 1 s 1, r 2 s 1, r 1 s 3, r 2 s 3. Agora, se o vértice r 3 estiver na região R 1, a aresta r 3 s 3 necessariamente irá cruzar a fronteira da região. O mesmo se aplica se o vértice estiver em R 2 com a aresta r 3 s 1, e se o vértice estiver em R 3, com a aresta r 3 s 2. Portanto, é impossível conectar todas as residências a seus serviços sem cruzar conexões. O grafo a ser desenhado nesse quebra-cabeça é o grafo K 3,3, o grafo bipartido completo com dois conjuntos independentes de tamanho três, que é um exemplo icônico dos grafos que não possuem a propriedade de planaridade. Um grafo é dito planar se é possível desenhá-lo sobre o plano cartesiano sem que arestas se cruzem. 2

4 Além do K 3,3, outro grafo não-planar icônico é o K 5, o grafo completo sobre cinco vértices. Podemos começar desenhando quatro dos cinco vértices do K 5, e todas as arestas entre pares desses quatro, sem cruzar nenhuma aresta. Se assim fizermos, vamos ter que a área externa ao desenho será limitada por três arestas (que aqui chamaremos de e 1 = v 1 v 2, e 2 = v2v 3, e 3 = v 1 v 3 ), e a parte interna será separada em três regiões, com três arestas a mais incidindo em um mesmo vértice interno que chamaremos de w. Agora, se incluirmos o quinto vértice na área externa, a aresta entre ele e w terá que cruzar alguma outra aresta, e se incluirmos ele, ao invés disso, em alguma das regiões internas como, por exemplo, a região interna que tem e 1 como um de seus limites, a aresta entre o quinto vértice e v 3 necessariamente cruzará uma das arestas do triângulo composto por {v 1, v 2, w}. De fato, K 3,3 e K 5 são grafos não planares especiais, pois em qualquer grafo não planar, pode ser encontrada uma subdivisão de algum desses dois grafos. Esse fato é o enunciado do teorema de Kuratowski, no qual vários algoritmos de teste de planaridade se baseiam. Dizemos que um grafo G é subdivisão de um grafo H quando G pode ser obtido a partir de H após zero ou mais operações de subdivisão de arestas. A subdivisão de uma aresta vw é feita ao se adicionar um novo vértice x, eliminar a aresta vw, e criar arestas vx e wx Propriedades de Grafos Planares De fato, K 3,3 e K 5 são grafos não planares especiais, pois em qualquer grafo não planar, pode ser encontrada uma subdivisão de algum desses dois grafos. Esse fato é o enunciado do teorema de Kuratowski, no qual vários algoritmos de teste de planaridade se baseiam. Teorema 1. Um grafo G é planar se e somente se ele não possui um subgrafo que é subdivisão de K 5 ou K 3,3. Uma prova do teorema 1 pode ser encontrada em Thomassen (1981), e é um tanto densa para ser apresentada na disciplina. Grafos planares possuem uma lista de propriedades vantajosas que os tornam objetos de estudo interessantes. Por exemplo: 1. O número cromático de qualquer grafo planar é menor ou igual a 4 (Appel and Haken, 1977) (Appel, Haken, and Koch, 1977). 2. Grafos acíclicos (ou seja, árvores e florestas) são planares. 3

5 O conceito de grafo dual é de grande interesse para o estudo de planaridade, pois nos permite demonstrar uma série de propriedades mais profundas dos grafos planares. Uma desigualdade interessante a respeito de grafos planares é a seguinte. Teorema 2. Diestel (2000) Seja G = (V, E) um grafo conexo com V 3. Se G é planar, então E 3 V 6. Demonstração. ======= O conceito de grafo dual é de grande interesse para o estudo de planaridade, pois nos permite demonstrar uma série de propriedades mais profundas dos grafos planares. De modo intuitivo, dizemos que, em um desenho planar de um grafo (ou seja, um desenho do grafo sobre o plano sem cruzar arestas), as faces do grafo são as regiões separadas pelas arestas dos grafos, ou seja, os buracos, e a região externa do desenho. O grafo dual G de G é definido ao se atribuir, para cada face f do desenho de G, um vértice f, e para cada aresta e de G, uma aresta e de G conectando as duas faces de cada lado da aresta. Note que isso permite que hajam multigrafos, pois podem haver pares de regiões que estão conectados por mais de uma aresta. Isso também permite auto-arestas, ou seja, arestas que conectam um vértice consigo mesmo, pois caso uma aresta não esteja em um ciclo, ela vai estar toda contida numa mesma região. Se um grafo tiver dois desenhos cujos conjuntos de faces se conectam de modos diferentes, é possível que existam dois grafos duais diferentes para um mesmo grafo. Além disso, é fácil verificar que, se um grafo é planar, então o dual de um desenho planar dele também é. Para cada face f de um desenho de um grafo planar G, definimos d(f) = a(f) + 2b(f), onde a(f) é o número de arestas que estão na fronteira da face f com outra face, e b(f) é o número de arestas que estão completamente contidas na face f. Definimos, também, F (G) como o conjunto de faces do desenho. Com isso, as seguinte igualdades interessantes se observam. V (G ) = F (G) E(G ) = E(G) d(f ) = d(f) f F (G) O que nos leva a outra igualdade. 4

6 Teorema 3. Para todo grafo planar G com conjunto de faces F (G), temos d(f) = 2 E(G). f F (G) Demonstração. d(f) = d(f ) = f F (G) f F (G) = 2 E(G ) = 2 E(G). Uma igualdade interessante sobre grafos planares se baseia em uma igualdade da geometria conhecida com Característica de Euler, que diz que, para qualquer poliedro convexo com V vértices, E arestas e F faces, V E+F = 2. De fato, exatamente a mesma característica é observada sobre grafos planares conexos. A prova da característica para grafos é feita por indução sobre o número de faces. Teorema 4. Seja G = (V, E) um grafo planar conexo, e F (G) o conjunto de faces de um desenho planar de G. Então, V (G) E(G) + F (G) = 2 Demonstração. Bondy and Murty (2008) Base. Comecemos por G de uma face só. Nesse caso, temos que G é uma árvore. Não só isso, o desenho tem só uma face (a externa), e E(G) = V (G) 1. Assim, temos V (G) E(G) + F (G) = V V = 2. Hipótese. Assumimos, fixando n > 1, que para qualquer r < n, um grafo G de r faces obedece a propriedade. Passo. Seja G um grafo planar conexo com n faces. Seja G o grafo resultante de remover uma aresta que fecha um dos ciclos de G. Nos desenhos planares de G e G que tenham os vértices e arestas nas mesmas posições, temos que o número de faces de G será um a menos que o número de faces de G, pois as duas faces separadas pela aresta removida passam a ser a mesma em G. Como G tem menos que n faces, temos que V (G ) E(G ) + F (G ) = 2. Agora, G tem exatamente uma face a mais e uma aresta a mais que G, logo, V (G) E(G) + F (G) = V (G ) ( E(G ) +1)+( F (G ) +1) = V (G ) E(G ) 1 + F (G ) + 1 = V (G ) E(G ) + F (G ) = 2. Como corolário da Característica de Euler, temos que todo grafo planar é tal que todos os seus desenhos tem o mesmo número de faces. Além de tudo, um último corolário é um resultado interessante a respeito do número 5

7 máximo de arestas de um grafo planar que determina que o número de arestas de um grafo planar é sempre linear sobre o número de vértices. Corolário 5. Para todo grafo planar G com V (G) 3, temos E(G) 3 V (G) 6. Demonstração. É obviamente o suficiente provar isso para grafos conexos, já que grafos planares desconexos podem ser completados adicionando arestas entre vértices externos das diferentes componentes conexas, implicando que, se essa versão completada obedece a desigualdade, então a versão desconexa com menos arestas e mesma quantidade de vértices também obedece. Consideremos, então, G um grafo planar conexo com V (G) 3. Obviamente, temos que d(f) 3 para cada face f de um desenho de G, pois ou o grafo é acíclico e tem só uma face com todos os vértices contidos nela, ou cada face é cercada por um ciclo com pelo menos três vértices. Temos, então, que d(f) 3 F (G). Pelo teorema 3, temos 2 E(G) f F (G) 3 F (G), ou seja, 2 E(G) F (G), logo, V (G) E(G) + F (G) V (G) 3 E(G) + 2 E(G), e pelo teorema 4, V (G) E(G) + 2 E(G) 2, o que implica, 3 3 finalmente, 2 V (G) E(G) + 2 E(G) 3 E(G) V (G) + 2 E(G) 2 3 E(G) V (G) 2 3 E(G) 3 V (G) 6 Com o corolário acima, podemos concluir que grafos planares de ordem alta são sempre esparsos, pois seu número de arestas é linear sobre o número de vértices. Exercícios??,??. 1.2 O Algoritmo de Auslander-Parter O algoritmo que iremos apresentar para reconhecimento de grafos planares na disciplina é o algoritmo de Auslander-Parter (Auslander and Parter, 6

8 1961), que se vale de certas afirmações que apresentaremos a seguir. O algoritmo também é conhecido como algoritmo Auslander-Parter-Goldstein, pois Goldstein corrigiu um erro fundamental na versão original do algoritmo. Teorema 6. Um grafo é planar se e somente se todas as suas componentes biconexas o são. Demonstração. 1 ( ) Trivial, afinal, se um grafo pode ser desenhado sobre o plano sem cruzar arestas, qualquer subgrafo dele também pode. ( ) Suponha que G não é planar. Então G possui um subgrafo H que é uma subdivisão de K 5 ou K 3,3. Como Ambos K 5 e K 3,3 são biconexos, temos que as subdivisões deles também o são, o que implica que H é biconexo, e portanto, H está contido em alguma componente biconexa de G, e a componente biconexa em questão não é planar. Teorema 7. Um ciclo desenhado sobre o plano o divide em duas regiões conexas: a interna e a externa. Uma região conexa, nesse contexto, é uma região na qual qualquer par de pontos pode ser conectado por um arco sem que as arestas do ciclo sejam tocadas. Outra noção necessária pra a explicação do algoritmo de Auslander-Parter é a definição de segmento. Seja G um grafo biconexo e C um ciclo contido no grafo, um segmento de G com relação a C é um subgrafo conexo de G definido como uma das seguintes estruturas. Uma corda em C, ou seja, uma aresta entre dois vértices não consecutivos de C Uma componente conexa de G C, juntamente com todos os vértices de C que sejam vizinhos de algum vértice da componente. Dizemos que um ciclo C é separador de G se G possui pelo menos dois segmentos com relação a C. Lema 8. Seja C é um ciclo não separador sobre G com um único segmento S. Se S não é um caminho, então é possível encontrar um ciclo separador composto de um subcaminho de C e um caminho contido em S. 1 As partes topológicas da prova aqui contida são bem intuitivas e sem muito rigor matemático, pois não conheço toda a linguagem de topologia envolvida em escrever certos argumentos de modo formal. 7

9 Demonstração. Sejam u e v os acoplamentos de S mais próximos um do outro com relação à ordenação cíclica de C. Seja α o menor caminho entre u e v por dentro de C, e β o outro caminho (o mais longo). Agora, seja γ um caminho entre u e v que passe exculsivamente por dentro de S (ele existe, pois S é conexo). O ciclo composto de β e γ é separador: α é um dos seus segmentos, e S γ é outro. Eles são necessariamente segmentos separados, pois se houvesse alguma interseção entre S γ e α, existiria uma aresta partindo de algum vértice de S C e um elemento de C que está entre os dois acoplamentos de S mais próximos um do outro, o que seria um absurdo, pois esse novo acoplamento estaria mais próximo de u e de v do que u e v estão um do outro. Outra definição importante é a de compatibilidade: dois segmentos são compatíveis com relação a C se e somente se eles podem ser desenhados na mesma região do plano dividido por C, e conflitantes caso contrário. Dizemos que os acoplamentos de dois segmentos S e T se entrelaçam se existem u, v entre os acoplamentos de S tal que ambos os caminhos de u para v contidos no ciclo C passam por algum acoplamento de T. Lema 9. Dois segmentos são compatíveis se e somente se seus acoplamentos não são entrelaçãdos. Demonstração. ( ) Se S e T são dois segmentos com acoplamentos nãoentrelaçados, então ou seus acoplamentos são completamente dijuntos, ou eles possuem no máximo dois elementos em comum. Se eles forem dijuntos, basta separar o desenho do ciclo em duas partes, uma contendo os acoplamentos de S, e outra de T, e desenhar os dois segmentos na mesma região, mas em partes diferentes dessa separação, torna-se trivial. Se houver uma ou duas interseções, basta fazer com que essa separação do desenho do ciclo em duas partes passe por cima dos vértices de interseção, e desenhar na mesma região, mas nas partes diferentes da separação. ( ) Suponha, sem perda de generalidade, que C = (c 1,..., c n ), e que S contém c 1, c 3, e T contém c 2, c 4. Um dsenho de S em uma região criará um ciclo entre o caminho de c 1 para c 3 de C que contém c 2 e o caminho de c 1 para c 3 que passa por S. Para desenhar T na mesma região, seria necessário desenhar uma aresta para um vértice de dentro desse ciclo, e outro de fora, o que levaria a uma interseção de arestas. O grafo de entrelaçamento de G com relação ao ciclo C é o grafo cujos vértices representam segmentos de G com relação a C, e arestas existem entre segmentos cujos acoplamentos se entrelaçam. Se esse grafo possuir 8

10 uma clique de tamanho maior ou igual a 3, o grafo necessariamente não é planar. Se G é planar, então o grafo de entrelaçamento é necessariamente bipartido, e os conjuntos independentes representam as duas regiões do plano separado por C. Finalmente, o algoritmo de Auslander e Parter se baseia na seguinte caracterização recursiva que, por si só, já fornece uma boa ideia de como o algoritmo funciona. Teorema 10. Um grafo biconexo G com um ciclo C é planar se e somente se: O seu grafo de entrelaçamento é bipartido. Para todo segmento S, a união de C com S é planar. Demonstração. ( ) Se um grafo é planar, é fácil verificar que um desenho planar dele possui as propriedades descritas. ( ) Suponha que ambas as afirmações sejam verdadeiras: teremos, então, que cada segmento é planar e que podem ser desenhados junto do ciclo sem cruzar arestas. Como o grafo de entrelaçamento é bipartido, é possível, então, desenhar cada um dos segmentos em uma das duas regiões junto apenas de outros segmentos compatíveis, o que pode ser feito sem que hajam cruzamentos de arestas entre os segmentos. O algoritmo de Auslander e Parter, então, distingue entre três casos básicos: Caso trivial Caso G seja apenas um ciclo, em cujo caso, o algoritmo termina com resposta positiva. Caso base Caso C possua um único segmento, que é um caminho. O algoritmo termina com resposta positiva. Caso passo Caso seja possível encontrar um ciclo separador em G. Nesse caso, constrói-se o grafo de entrelaçamento, verifica-se se ele é bipartido, e fazem-se chamadas recursivas para a união de cada segmento unido do ciclo. O número de chamadas recursivas é linear (O(n)), e o grafo de entrelaçamento tem tamanho no máximo O(n 2 ), portanto, a complexidade do 9

11 Algorithm 1: Teste Planaridade(G) C ciclo qualquer em G Se C = G Devolva sim S conjunto de acoplamentos de G com relação a C Se S = 1 Se S S é um caminho Devolva sim Senão C ciclo construído de acordo com o resultado do lema 8 S conjunto de acoplamentos de G com relação ao novo C H grafo de entrelaçamento de G com relação a C Se H não é bipartido Devolva não Para S S Se Teste Planaridade(S C)=não Devolva não Devolva sim algoritmo é O(n 3 ). Uma descrição procedural (mas de alto nível) do algoritmo será mostrada a seguir. Os detalhes das partes não-explícitas do algoritmo são trivialmente preenchidos com algoritmos simples de detecção de ciclos, componentes conexas, teste de bipartição, entre outros. Deve-se lembrar que este algoritmo recebe grafos biconexos como entrada e que, portanto, um algoritmo para o caso geral teria que quebrar o grafo original em suas componentes conexas, usando algoritmos simples de separação, e aplicar o algoritmo descrito para cada uma delas. 10

12 Capítulo 2 Fluxo Máximo e Corte Mínimo 2.1 Introdução ao problema Um grafo de fluxo é um grafo direcionado G munido de uma função c : V V R +, onde para um arco (u, v) E(G), o valor c(u, v) representa a sua capacidade. Se (u, v), (v, u) E(G), é necessário que c(u, v) = 0. Além disso, marcamos em um grafo de fluxo dois vértices especiais s, t V (G), que chamaremos de origem e destino, respectivamente. Por motivos de simplicidade, supomos que todos vértices de V (G) estão dentro de algum caminho entre s e t, ou seja, existe sempre um caminho (s,..., v,..., t) para todo v V (G), v s, t. Definimos uma função de fluxo como uma aplicação f : V V R com as seguintes três propriedades. 1. Para todo (u, v) E(G), temos f(u, v) c(u, v). Se pensarmos em cada arco como um cano, e na sua capacidade como a vazão máxima do cano, essa propriedade diz que o fluxo que passa pelo cano deve ser limitado superiormente pela sua vazão máxima. Esta propriedade é chamada de restrição de capacidade. v V (G) u 2. Para todo (u, v), temos f(u, v) = f(v, u). Novamente, com a analogia dos canos, se um cano que conecta duas caixas d água está enviando água da primeira para a segunda, a segunda perde água na mesma taxa que a primeira recebe através do cano em questão. Chamamos esta de restrição de simetria. 3. Para todo u V (G) s, t temos que f(u, v) = 0. Usando novamente a analogia com canos e caixas d água, essa propriedade diz que 11

13 a quantidade de água que entra na caixa (representada pelos valores negativos de f(u, v)) precisa ser igula á quantidade que sai (representada pelos valores positivos de f(u, v)). Esta última propriedade chama-se conservação de fluxo. De modo intuitivo, se pensarmos em um grafo de fluxo como um encanamento de uma fonte s para um ralo t, em seus vértices (exceto a origem e o destino) como caixas d água, e em seus arcos como canos, uma função de fluxo modela um fluxo de água da origem para o destino, onde f(u, v) representa quanta água passa diretamente de u para v através do cano que conecte os dois (se houver algum). O valor de uma função de fluxo f é definido por f = f(s, v), v V (G) s ou seja, o total de fluxo que sai da origem. O problema do fluxo máximo é o problema de encontrar, dado um grafo de fluxo, uma função f de valor máximo Algumas propriedades e definições sobre função de fluxo x X y Y Para auxiliar na prova de algumas afirmações mais adiante, definimos, para dois conjuntos X, Y V (G), o fluxo entre os dois conjuntos como f(x, Y ) = f(x, y). Algumas propriedades desta definição são enunciadas no seguinte lema. Lema 11. Seja G um grafo de fluxo, f uma função de fluxo sobre G e X, Y, Z V (G), temos: 1. f(x, Y ) = f(y, X). 2. f(x, X) = Se X Y =, então f(x Y, Z) = f(x, Z) + f(y, Z) e f(z, X Y ) = f(z, X) + f(z, Y ) Demonstração. 1. f(x, Y ) = x X y Y f(x, y). Pela restrição de simetria, temos f(x, Y ) = f(y, x) = x X y Y = f(y, x) = f(y, x) = f(y, X) x X y Y y Y x X 12

14 2. Pela propriedade Parte 1: f(x Y, Z) = f(x, z) = x X Y z Z f(x, z) + f(y, z) f(x, z) = x X z Z y Y z Z x X Y z Z f(x, z) + f(y, z) 0 = f(x, Z) + f(y, Z) x X z Z y Y z Z Parte 2: f(z, X Y ) = f(z, x) = z Z x X Y ( f(z, x) + f(z, y) f(z, x)) = z Z x X y Y x X Y ( f(z, x) + f(z, y) 0) = z Z x X y Y f(z, x) + f(z, y) = f(z, X) + f(z, Y ) z Z x X z Z y Y Trabalhando com múltiplas origens e destinos Uma variação sobre os grafos de fluxo simples apresentados anteriormente são grafos de fluxo com múltiplas origens e múltiplos destinos, como um sistema de tubulações com múltiplas fontes e múltiplos ralos. Suponha que, ao invés de um único vértice s, temos um conjunto de vértices S = {s 1,..., s k } V e um conjunto de vértices T = {t 1,..., t l } V. Redefinimos função de fluxo substituindo a terceira propriedade pelo seguinte: para todo u V (G) S T, temos f(u, v) = 0. O valor de uma função de fluxo f é redefinido como f = f(s, v). s S v V (G) s v V (G) Por sorte, o problema do fluxo máximo para grafos de fluxo com múltiplas origens e destinos é facilmente redutível ao problema para grafos de fluxo simples, bastando adicionar a V (G) dois novos vértices s e t, criar arcos (s, s) de capacidade infinita para todo s S e arcos (t, t ) de capacidade infinita para todo t T. Agora, considerando s a origem e t o destino, o problema passa a ser um problema de fluxo máximo para grafos simples. Se f é uma função de fluxo para a versão original de várias origens e destinos, então é possível criar uma função g para a versão simples (a com s e t ) tal que g(u, v) = f(u, v) para todo u, v V (G), u, v {s, t }, g(s, s) = f(s, v) v V (G) para todo s S e g(t, t ) = f(v, t) para todo t T. Os valores da v V (G) função para os pares (s, s) como definidos anteriormente significam que todo 13

15 o fluxo que sai de um elemento de S é recebido de s, e os valores para os pares (t, t ) como definidos significam que todo o fluxo que chega em um elemento de t vai para t. É fácil verificar que g = f, e mais que isso, que é possível fazer a transformação reversa (de uma função da versão simples para a versão original) de modo análogo também preservando o valor, o que significa que o fluxo máximo no novo grafo é o mesmo que na versão simples. 2.2 O Método de Ford-Fulkerson Para a solução do problema do fluxo máximo, estudaremos o método de Ford-Fulkerson e uma implementação simples do mesmo. Primeiro, será introduzido o conceito de grafo residual. Seja G um grafo de fluxo, c a sua função de capacidade e f uma função de fluxo qualquer. O resíduo de um par (u, v) é definido como c f = c(u, v) f(u, v). De modo intuitivo, é o quanto da capacidade sobra ao passarmos f(u, v) de fluxo por ele. Agora, suponhamos que c(u, v) = 16 e f(u, v) = 4, como interpretar isso? Se f(u, v) = 4, isso significa que existe um arco (v, u) através do qual está se passando 4 de fluxo. c f (u, v) = 20, o que significa que podemos enviar 20 de fluxo de u para v sem estourar a capacidade de (u, v), bastando devolver os 4 de fluxo reverso, e depois enviar 16 pelo arco. Usando a função de resíduo, podemos construir o grafo residual G f de G. Se G = (V, E), G f = (V, E f ) onde E f = {(u, v) V V c f (u, v) > 0}. Ou seja, o grafo residual será constituído dos arcos nos quais está sobrando capacidade, ou de pares ordenados de vértices (que não necessariamente constituem um arco) para os quais o valor de f é negativo. A função de capacidade sobre o grafo residual é a própria c f. Se existir um caminho de s para t nesse grafo residual, o chamamos de caminho aumentante, pois podemos aumentar o fluxo total ao se passar mais fluxo pelo caminho em questão. Isso nos leva, finalmente, à descrição do método de Ford-Fulkerson. Algorithm 2: Ford-Fulkerson(G,c) Inicialize f com fluxo 0 Enquanto ainda existir caminho aumentante p em G Aumente o fluxo f através de p Para entender o por que do método de Ford-Fulkerson sempre retornar um fluxo máximo válido, primeiro precisamos conhecer alguns lemas nos quais a 14

16 corretude do mesmo se baseia. Primeiro de tudo, um fato interessante é que, se G é um grafo de fluxo com função de capacidade c, e f é uma função de fluxo em G, então, se pensarmos no grafo residual G f como um grafo de fluxo cuja função de capacidade é c f, então uma função de fluxo f sobre G f é tal que a soma das funções f + f é uma função de fluxo sobre G. A demonstração disso é simples. Demonstração. Basta provar que a função f +f satisfaz as três propriedades necessárias de fluxo. 1) Seja (u, v) um par ordenado de vértices em V (G f ) (e portanto, em V (G)). Como f é uma função de fluxo sobre G f com relação à função de capacidade c f, temos que f (u, v) c f (u, v) = c(u, v) f(u, v). Logo, teremos que (f + f )(u, v) = f(u, v) + f (u, v) f(u, v) + c(u, v) f(u, v) = c(u, v). Logo, a restrição de capacidade é satisfeita. 2) Sejam (u, v) e (v, u) dois pares de vértices. Como f é função de fluxo, temos que f(u, v) = f(v, u), e como f também o é, temos f (u, v) = f (v, u). Logo, (f + f )(u, v) = f(u, v) + f (u, v) = f(v, u) f (v, u) = (f(v, u) + f (v, u)) = (f + f )(v, u). Logo, a restrição de simetria é satisfeita. 3) Seja u V (G). Como f é função e fluxo, temos que f(u, v) = 0, v V (G) e como f também o é, temos f (u, v) = 0. Logo, temos que v V (G) v V (G) v V (G) v V (G) (f + f )(u, v) = (2.1) (f(u, v) + f (u, v)) = (2.2) f(u, v) + v V (G) Portanto, a conservação de fluxo é satisfeita. f (u, v) = (2.3) = 0. (2.4) Além disso, temos que f + f = f + f, ou seja, o valor da soma das funções é igual à soma dos valores, o que significa que, se existe alguma função de fluxo de valor maior que 0 sobre grafo residual, então é possível encontrar uma função de valor maior para o grafo original. A prova dessa última afirmação é mais simples ainda. 15

17 Demonstração. Temos que f = f(s, v), e também f = f (s, v). Desse modo, temos v V (G) s v V (G) s f + f = (f + f )(s, v) = (2.5) v V (G) s v V (G) s (f(s, v) + f (s, v)) = (2.6) f(s, v) + v V (G) s v V (G) s f (s, v) = (2.7) f + f. (2.8) Uma última definição que veremos antes da prova de corretude do método de Ford-Fulkerson é a de uma função de fluxo especial sobre o grafo residual, função essa que se utiliza do conceito de caminho aumentante. Novamente, seja G um grafo de fluxo com função de capacidade c, f uma função de fluxo sobre G e G f, com função de capacidade c f, o grafo residual de G. Seja p um caminho aumentante em G f, definimos c f (p) = min{c f (u, v) (u, v) p}, ou seja, a menor capacidade de um arco no caminho p. Definimos, assim, a função f p de fluxo sobre o grafo residual a seguir. 0 (u, v), (v, u) p f p (u, v) = c f (p) (u, v) p c f (p) (v, u) p É fácil verificar que a função acima é um fluxo válido sobre G f e que seu valor é maior que 0, o que implica que adicionar f p a f aumenta o valor do fluxo. Já vimos que, se um grafo de fluxo G com função de capacidade c e função de fluxo f é tal que G f tem um caminho aumentante, é possível encontrar uma função de fluxo de valor maior que f. Basta, agora, demonstrar que, se G f não tem caminho aumentante, então f é máximo. Para isso, demonstraremos o teorema min-flow max-cut que, além de demonstrar este último fato, também cria uma analogia entre o problema do fluxo máximo e do corte mínimo sobre grafos de fluxo. Um corte (S, T ) sobre um grafo de fluxo G é uma partição de V (G) em S e T = V S tal que s S e t T. Definimos o fluxo líquido de S para T como f(s, T ) = f(v, w). A capacidade de um corte (S, T ) é definida v S w T 16

18 similarmente: c(s, T ) = c(v, w). Um corte mínimo no grafo é o corte v S w T cuja capacidade é mínima entre todos os cortes. Note que, caso exista um arco (x, y), x T, y S tal que f(x, y) > 0, teremos que f(y, x) < 0 pela restrição de simetria, o que significa que, na conta do fluxo líquido sobre o corte, o termo f(y, x) será negativo. Por outro lado, capacidade é definida de modo a contar apenas as arestas de S para T, o que significa que a capacidade em si é sempre não-negativa. O lema a seguir demonstra que o fluxo líquido passando por qualquer corte é o mesmo, e é igual ao valor da função de fluxo. Lema 12. Seja G = (V, E) um grafo de fluxo de funçao de capacidade c, f uma função de fluxo sobre G e (S, T ) um corte sobre G. Temos que f(s, T ) = f. Demonstração. Note, primeiro, que, por conservação de fluxo, temos f(s {s}, V ) = 0, pois S {s} V {s, t}, e para todo v V {s, t}, temos f(v, w) = 0. w V Agora, com as propriedades que já conhecemos, temos f(s, T ) = f(s, V ) f(s, S) (Lema 11, parte 3) = f(s, V ) (Lema 11, parte 2) = f({s}, V ) f(s {s}, V ) (Lema 11, parte 3) = f({s}, V ) (Fato explicitado no começo da prova) Uma consequência imediata que temos do lema acima é que f(v {t}, {t}) = f, ou seja, que o valor de uma função de fluxo é igual ao fluxo que entra em t. Outra consequência menos imediata, e que é de fundamental importância, é que o valor de qualquer função de fluxo é limitado superiormente pela capacidade de qualquer corte. Corolário 13. Seja G um grafo de fluxo com função de capacidade c. Se f é um fluxo e (S, T ) um corte sobre G, então f c(s, T ). 17

19 Demonstração. f = f(s, T ) = f(v, w) v S w T c(v, w) v S w T = c(s, T ) Isso implica que, em qualquer grafo de fluxo G, toda função de fluxo f tem valor menor ou igual à capacidade corte mínimo. Isso nos leva, finalmente, ao teorema min-cut max-flow. Teorema 14. Seja G um grafo de fluxo com origem s e destino t. As seguintes três afirmações são equivalentes. 1. f é um fluxo máximo em G. 2. O grafo residual G f não possui caminhos aumentantes. 3. Existe um corte (S, T ) sobre G tal que f = c(s, T ). Note que a equivalência entre o primeiro e o segundo ítens prova a corretude parcial do métodoo de Ford-Fulkerson, pois se ele termina, é porque chegou a uma iteração na qual o grafo residual não possui caminho aumentante. Demonstração. (1) (2) Trivial, pois se houver um caminho aumentante, é possível aumentar o valor da função. (2) (3) Suponha que G f não tem caminho aumentante. Defina S = {v V (G) existe um caminho entre s e v em G f } e T = V (G) S. A partição (S, T ) é obviamente um corte sobre G, pois s S e, como não há caminho aumentante em G f, t T. Para qualquer par de vértices u, v tal que u S e v T, temos f(u, v) = c(u, v), caso contrário, teríamos c f (u, v) > 0, e portanto, haveria um caminho de s para v passando por u, e v estaria em S. Teremos, então, que f = f(s, T ) = c(s, T ). (3) (1) Trivial, baseado no corolário 13. Desse modo, vemos que, se temos uma função de fluxo cujo grafo residual não tem caminho aumentante, então ela é uma função de valor máximo e, mais que isso, seu valor é igual à capacidade de um corte. O corte em questão vai ser um corte mínimo (corolário 13). 18

20 2.2.1 Algoritmo básico do Método de Ford-Fulkerson O método de Ford-Fulkerson é chamado de método ao invés de algoritmo porque, descrito em sua forma mais geral, ele é na verdade um arcabouço para construir diferentes algoritmos. Ele não sugere, por exemplo, qual método devemos usar para encontrar um caminho aumentante, nem qual caminho aumentante devemos escolher dentre os existentes no grafo residual. Uma descrição um pouco menos alto nível do método será apresentada a seguir. Algorithm 3: Ford-Fulkerson (mais detalhado) Para u, v V (G) f(u, v) 0 f(v, u) 0 Enquanto existe um caminho p no grafo residual G f c f (p) min{c f (u, v) (u, v) p} Para cada aresta (u, v) p f(u, v) f(u, v) + c f (p) f(v, u) f(u, v) A escolha do caminho p pode ser feita de inúmeras maneiras diferentes. Pode ser que queiramos usar uma busca em profundidade, uma busca em largura, ou até mesmo o algoritmo de Dijkstra para encontrar o caminho aumentante que escolheremos. Seja v = V (G) e e = E(G). O primeiro laço do método tem complexidade O(v 2 ), pois passa por cada par de vértices de V (G). O tamanho de p é, no máximo, e, portanto, cada iteração do laço interno tem complexidade O(P + e), onde P é a complexidade computacional de encontrar o caminho aumentante sobre o grafo residual, mas o número de iterações que o laço interno fará também depende do caminho aumentante que escolhemos. Em particular, se G é um grafo de fluxo cuja função de capacidade c é composta inteiramente de mapeamentos para números inteiros (ou seja, para qualquer par u, v E(G), c(u, v) Z) e o valor do fluxo máximo é m, temos que o número de iterações do segundo laço é no máximo m. Isso se deve ao fato de que, caso todas as capacidades sejam inteiras, o valor da função f permanece inteiro durante toda a execução do algoritmo (pois nenhum caminho aumentante com capacidade não-inteira é adicionado a ela), e cada nova iteração do segundo laço aumenta o valor em pelo menos 1 (pois se houver um caminho aumentante de capacidade inteira no grafo residual, a capacidade necessariamente é maior ou igual a 1). 19

21 Esse limite, porém, não é desejável, pois o valor do fluxo máximo pode ser exponencial sobre o tamanho do grafo. Para melhorar esse limite, será apresentado o algoritmo Edmonds-Karp, que se utiliza do método de Ford- Fulkerson com uma busca em largura para encontrar o caminho aumentante, e roda em tempo quadrático sobre o tamanho da instância. Algoritmo de Edmonds-Karp O algoritmo de Edmonds-Karp utiliza o método de Ford-Fulkerson com uma busca em largura, de modo que o caminho aumentante escolhido é sempre o menor caminho entre s e t no grafo residual, ou seja, o caminho com o menor número de arestas. Usaremos, aqui, a notação δ f (u, v) para denotar a distância entre u e v no grafo residual G f. O lema a seguir é argumento para provar o limite assintótico apresentado anteriormente. Lema 15. Se o algoritmo de Edmonds-Karp é executado sobre um grafo de fluxo G com origem s e destino t e função de capacidade c, então, para todo vértice v V {s, t}, δ f (s, v) cresce monotonicamente a cada nova iteração. Demonstração. Aqui temos que provar que o valor de δ f (s, v) ao fim de cada iteraçãp será maior ou igual ao valor de antes da iteração. Vamos supor, por contradição, que foi encontrado um caminho aumentante que, uma vez adicionado à função f, causa um acréscimo ao valor de δ f (s, v) para algum v. Seja f a função de fluxo de antes da iteração, e f a função após a iteração. Seja v o vértice com menor d f (s, v) tal que δ f (s, v) < d f (s, v) e seja p = (s,..., u, v) um menor caminho de s para v em G f tal que (u, v) E(G f ) e δ f (s, u) = δ f (s, v) 1. Devido ao modo como escolhemos v, temos que a distância de s para u não foi diminuída, ou seja, δ f (s, u) d f (s, u). Nesse caso, temos que (u, v) E(G f ), caso contrário, teríamos δ f (s, v) δ f (s, u) + 1 δ f (s, u) + 1 = δ f (s, v). O que contradiria nossa suposição de que a distância entre s e v no grafo residual diminuiu. Logo, temos que a aresta (u, v) não ocorre em G f mas ocorre em G f, o que implica que c f (u, v) > c f (u, v), e isso só acontece se a transformação de 20

22 f em f aumentou o valor de f(v, u). Agora, como o Edmonds-Karp sempre aumenta o fluxo através dos menores caminhos, temos que (v, u) é a última aresta de um menor caminho entre s e u em G f. Logo δ f (s, v) = δ f (s, u) 1 δ f (s, u) 1 = δ f (s, v) 2. O que também contradiz a suposição de que a distância diminuiu, levando, assim, a uma contradição. O próximo teorema, finalmente, estabelece o número máximo de iterações do segundo laço no algoritmo Edmonds-Karp. Teorema 16. Se o algoritmo de Edmonds-Karp é executado sobre um grafo de fluxo G com origem s e destino t, então o número total de iterações do segundo laço é O( V (G) E(G) ). Demonstração. Dizemos que uma aresta (u, v) em um grafo residual G f é crítica em um caminho aumentante p se c f (p) = c f (u, v). Uma vez que aumentamos o fluxo através do caminho p, as suas arestas críticas somem do grafo residual seguinte. Mais que isso, pelo menos uma aresta precisa ser crítica em qualquer caminho aumentante. Vamos mostrar que cada aresta V (G) de E(G) pode se tornar crítica em algum G f no máximo 1 vezes. 2 Sejam u e v vértices em V (G) conectados por uma aresta em E(G). Já que os caminhos aumentantes escolhidos pelo algoritmo são menores caminhos, temos que, quando (u, v) torna-se crítica pela primeira vez, δ f (s, v) = δ f (s, u) + 1. Uma vez que o fluxo aumenta, a aresta some do grafo residual, e só reaparece quando o valor de f(v, u) é aumentado por alguma iteração. Seja f a função de fluxo em uma iteração do algoritmo na qual (v, u) seja uma aresta do caminho aumentante escolhido. Nesse caso, temos δ f (s, v) = δ f (s, u) 1. Pelo lema 15, temos (com f sendo a função de fluxo na iteração em que (u, v) foi crítica pela primeira vez) que δ f (s, v) δ f (s, v), logo, δ f (s, u) = δ f (s, v) + 1 δ f (s, v) + 1 = δ f (s, u)

23 Ou seja, no momento em que (u, v) voltar a se tornar uma aresta no grafo residual, a distância entre s e u já vai ter aumentado em pelo menos 2. A distância de s para u em G (e em G f no início do algoritmo) é pelo menos 0. Os vértices intermediários de um menor caminho de s para u não podem ser s, u nem t, portanto, a distância de s para u é no máximo V (G) 2 até o momento em que u torna-se inalcançável da origem, logo, o número de vezes em que a aresta (u, v) pode reaparecer no grafo residual após ter sido crítica é ( V (G) 2) = 2 V (G) 2 1. Desse modo, como existem O( E(G) ) pares de vértices que podem ter aresta entre si em um grafo residual (pois os pares em questão são tanto as arestas em si quanto suas reversas, e mais nenhum), o número de arestas críticas encontradas em uma execução do algoritmo de Edmonds-Karp é O( V (G) E(G) ). Como cada iteração do segundo laço necessariamente encontra pelo menos uma aresta crítica, temos que o número de iterações também é O( V (G) E(G) ). Como visto em aulas anteriores, a complexidade da busca em largura sobre um grafo qualquer G é O( V (G) + E(G) ), mas como o número de arestas em um grafo de fluxo é sempre maior ou igual a V (G) 1, temos que, para grafos de fluxo, V (G) = O( E(G) ), logo, a complexidade da busca em largura sobre grafos de fluxo é O( E(G) ). Finalmente, como o laço interno executará O( V (G) E(G) ) iterações, e cada iteração terá complexidade O( E(G) ), temos que o algoritmo terá complexidade O( V (G) E(G) 2 ). 2.3 Relação com Emparelhamento Bipartido O problema do emparelhamento máximo sobre grafos bipartidos consiste em encontrar, para um grafo bipartido G(V, E), o maior subconjunto de E tal que, para todo v V, exista no máximo uma aresta em E contendo v. Seja G = (U V, E) um grafo bipartido qualquer, criaremos um grafo de fluxo G = (V, E ) baseado em G do seguinte modo: Orientamos todas as arestas de E do vértice do conjunto U para o vértice do conjunto V. Criamos um vértice s com arestas de saída para cada elemento de U. Criamos um vértice t com arestas de entrada vindas de cada elemento de V. 22

24 Uma vez feito isso, atribuímos capacidade 1 a todas as arestas. Temos que o valor do fluxo máximo de G é igual ao tamanho do emparelhamento máximo de G (a prova disso não é difícil, mas também não é trivial, e fica como exercício para os curiosos). 23

25 Referências Bibliográficas K. Appel and W. Haken. Every planar map is four colorable. part i: Discharging. Illinois J. Math., 21(3): , URL http: //projecteuclid.org/euclid.ijm/ K. Appel, W. Haken, and J. Koch. Every planar map is four colorable. part ii: Reducibility. Illinois J. Math., 21(3): , URL L. Auslander and S. Parter. On imbedding graphs in the sphere. J. Math. Mechanics, 10: , J.A. Bondy and U.S.R Murty. Graph Theory. Springer Publishing Company, Incorporated, ISBN Reinhard Diestel. Graph Theory. Springer-Verlag, New York, 2 edition, ISBN URL home/diestel/books/graph.theory/graphtheoryii.pdf. Carsten Thomassen. Kuratowski s theorem. Journal of Graph Theory, 5 (3): , ISSN doi: /jgt URL 24

O estudo utilizando apenas este material não é suficiente para o entendimento do conteúdo. Recomendamos a leitura das referências no final deste

O estudo utilizando apenas este material não é suficiente para o entendimento do conteúdo. Recomendamos a leitura das referências no final deste O estudo utilizando apenas este material não é suficiente para o entendimento do conteúdo. Recomendamos a leitura das referências no final deste material e a resolução (por parte do aluno) de todos os

Leia mais

Planaridade AULA. ... META Introduzir o problema da planaridade de grafos. OBJETIVOS Ao final da aula o aluno deverá ser capaz de:

Planaridade AULA. ... META Introduzir o problema da planaridade de grafos. OBJETIVOS Ao final da aula o aluno deverá ser capaz de: Planaridade AULA META Introduzir o problema da planaridade de grafos. OBJETIVOS Ao final da aula o aluno deverá ser capaz de: Distinguir grafo planar e plano; Determinar o dual de um grafo; Caracterizar

Leia mais

Teoria dos Grafos. Valeriano A. de Oliveira, Socorro Rangel, Silvio A. de Araujo. Capítulo 16: Grafos Planares. Departamento de Matemática Aplicada

Teoria dos Grafos. Valeriano A. de Oliveira, Socorro Rangel, Silvio A. de Araujo. Capítulo 16: Grafos Planares. Departamento de Matemática Aplicada Teoria dos Grafos Valeriano A. de Oliveira, Socorro Rangel, Silvio A. de Araujo Departamento de Matemática Aplicada Capítulo 16: Grafos Planares Preparado a partir do texto: Rangel, Socorro. Teoria do

Leia mais

Teoria dos Grafos. Valeriano A. de Oliveira, Socorro Rangel, Silvio A. de Araujo. Departamento de Matemática Aplicada

Teoria dos Grafos. Valeriano A. de Oliveira, Socorro Rangel, Silvio A. de Araujo. Departamento de Matemática Aplicada Teoria dos Grafos Valeriano A. de Oliveira, Socorro Rangel, Silvio A. de Araujo Departamento de Matemática Aplicada Capítulo 14: Conjuntos de Corte e Conectividade Preparado a partir do texto: Rangel,

Leia mais

Projeto e Análise de Algoritmos

Projeto e Análise de Algoritmos Projeto e Análise de Algoritmos Fluxo máximo Aula 23 Diane Castonguay diane@inf.ufg.br Instituto de Informática Universidade Federal de Goiás Fluxo em rede Um fluxo em rede G = (V, E) é um grafo orientado

Leia mais

BCC204 - Teoria dos Grafos

BCC204 - Teoria dos Grafos BCC204 - Teoria dos Grafos Marco Antonio M. Carvalho (baseado nas notas de aula do prof. Haroldo Gambini Santos) Departamento de Computação Instituto de Ciências Exatas e Biológicas Universidade Federal

Leia mais

BCC204 - Teoria dos Grafos

BCC204 - Teoria dos Grafos BCC204 - Teoria dos Grafos Marco Antonio M. Carvalho (baseado nas notas de aula do prof. Haroldo Gambini Santos) Departamento de Computação Instituto de Ciências Exatas e Biológicas Universidade Federal

Leia mais

Planaridade UFES. Teoria dos Grafos (INF 5037)

Planaridade UFES. Teoria dos Grafos (INF 5037) Planaridade Planaridade Ideia intimamente ligada à noção de mapa, ou seja, uma representação de um conjunto de elementos (usualmente geográficos) dispostos sobre o plano A planaridade é um conceito associado

Leia mais

O grau de saída d + (v) de um vértice v é o número de arcos que tem

O grau de saída d + (v) de um vértice v é o número de arcos que tem Grafos Direcionados Definição (Grau de Entrada) O grau de entrada d (v) de um vértice v é o número de arcos que tem v como cabeça. Definição (Grau de Saída) O grau de saída d + (v) de um vértice v é o

Leia mais

Teoria dos Grafos. Edson Prestes

Teoria dos Grafos. Edson Prestes Edson Prestes Árvores Algoritmo de Kruskal O algoritmo de Kruskal permite determinar a spanning tree de custo mínimo. Este custo corresponde à soma dos pesos (distância, tempo, qualidade,...) associados

Leia mais

Teoria dos Grafos. Fluxo Máximo em Redes

Teoria dos Grafos. Fluxo Máximo em Redes Teoria dos Grafos Valeriano A. de Oliveira Socorro Rangel Silvio A. de Araujo Departamento de Matemática Aplicada antunes@ibilce.unesp.br, socorro@ibilce.unesp.br, saraujo@ibilce.unesp.br Fluxo Máximo

Leia mais

Teoria dos Grafos. Edson Prestes

Teoria dos Grafos. Edson Prestes Edson Prestes Existem três companhias que devem abastecer com gás, eletricidade e água três prédios diferentes através de tubulações subterrâneas. Estas tubulações podem estar à mesma profundidade? Isto

Leia mais

Instituto de Computação Universidade Federal Fluminense. Notas de Aula de Teoria dos Grafos. Prof. Fábio Protti Niterói, agosto de 2015.

Instituto de Computação Universidade Federal Fluminense. Notas de Aula de Teoria dos Grafos. Prof. Fábio Protti Niterói, agosto de 2015. Instituto de Computação Universidade Federal Fluminense Notas de Aula de Teoria dos Grafos Niterói, agosto de 2015. Conteúdo 1 Conceitos Básicos 5 1.1 Grafos, vértices, arestas..................... 5 1.2

Leia mais

Teoria dos Grafos Aula 3 - Planaridade

Teoria dos Grafos Aula 3 - Planaridade Teoria dos Grafos Aula 3 - Planaridade Profa. Sheila Morais de Almeida Mayara Omai Universidade Tecnológica Federal do Paraná - Ponta Grossa 2018 Sheila Almeida e Mayara Omai (UTFPR-PG) Teoria dos Grafos

Leia mais

Oferta de Serviços. Grafo Planar. Notas. Teoria dos Grafos - BCC204, Planaridade. Notas

Oferta de Serviços. Grafo Planar. Notas. Teoria dos Grafos - BCC204, Planaridade. Notas Teoria dos Grafos - BCC204 Planaridade Haroldo Gambini Santos Universidade Federal de Ouro Preto - UFOP 29 de maio de 2011 1 / 23 Oferta de Serviços Gás Luz Água Podemos oferecer os demais serviços para

Leia mais

GRAFOS Aula 02 Formalização: definições Max Pereira

GRAFOS Aula 02 Formalização: definições Max Pereira Ciência da Computação GRAFOS Aula 02 : definições Max Pereira Um grafo G é um par ordenado G = (V, E) onde V é um conjunto finito e não vazio de elementos e E é um conjunto de subconjuntos de dois elementos

Leia mais

Árvores Árvores Geradoras de Custo Mínimo 0/16

Árvores Árvores Geradoras de Custo Mínimo 0/16 Conteúdo 1 Árvores 2 Árvores Geradoras de Custo Mínimo Árvores Árvores Geradoras de Custo Mínimo 0/16 Árvores Definição (Grafo Acíclico) Um grafo acíclico é um grafo que não contém ciclos. Árvores Árvores

Leia mais

Introdução à Teoria dos Grafos. Isomorfismo

Introdução à Teoria dos Grafos. Isomorfismo Isomorfismo Um isomorfismo entre dois grafos G e H é uma bijeção f : V (G) V (H) tal que dois vértices v e w são adjacentes em G, se e somente se, f (v) e f (w) são adjacentes em H. Os grafos G e H são

Leia mais

Grafo planar: Definição

Grafo planar: Definição Grafo planar Considere o problema de conectar três casas a cada uma de três infraestruturas (gás, água, energia) como mostrado na figura abaixo. É possível fazer essas ligações sem que elas se cruzem?

Leia mais

Teoria dos Grafos. Grafos Planares

Teoria dos Grafos. Grafos Planares Teoria dos Grafos Valeriano A. de Oliveira Socorro Rangel Silvio A. de Araujo Departamento de Matemática Aplicada antunes@ibilce.unesp.br, socorro@ibilce.unesp.br, saraujo@ibilce.unesp.br Grafos Planares

Leia mais

2 Definição do Problema

2 Definição do Problema Definição do Problema. Formulação Matemática O problema do Fluxo Máximo entre todos os pares de nós surge no contexto de redes, estas representadas por grafos, e deriva-se do problema singular de fluxo

Leia mais

GRAFOS Aula 10 Fluxo em Redes Max Pereira

GRAFOS Aula 10 Fluxo em Redes Max Pereira Ciência da Computação GRAFOS Aula 10 Max Pereira É a transferência de algum tipo de recurso quantificável e sujeito a restrições de equilíbrio, de um local (origem) para outro (destino) através de uma

Leia mais

Noções da Teoria dos Grafos

Noções da Teoria dos Grafos Noções da Teoria dos Grafos André Arbex Hallack Índice 1 Introdução e definições básicas. Passeios eulerianos 1 2 Ciclos hamiltonianos 7 3 Árvores 11 4 Emparelhamento em grafos 15 5 Grafos planares: Colorindo

Leia mais

Teoria dos Grafos. Valeriano A. de Oliveira, Socorro Rangel, Silvio A. de Araujo. Capítulo 5: Grafos Conexos. Departamento de Matemática Aplicada

Teoria dos Grafos. Valeriano A. de Oliveira, Socorro Rangel, Silvio A. de Araujo. Capítulo 5: Grafos Conexos. Departamento de Matemática Aplicada Teoria dos Grafos Valeriano A. de Oliveira, Socorro Rangel, Silvio A. de Araujo Departamento de Matemática Aplicada Capítulo 5: Grafos Conexos Preparado a partir do texto: Rangel, Socorro. Teoria do Grafos,

Leia mais

Grafos - Introdução. Pedro Ribeiro 2014/2015 DCC/FCUP. Pedro Ribeiro (DCC/FCUP) Grafos - Introdução 2014/ / 32

Grafos - Introdução. Pedro Ribeiro 2014/2015 DCC/FCUP. Pedro Ribeiro (DCC/FCUP) Grafos - Introdução 2014/ / 32 Grafos - Introdução Pedro Ribeiro DCC/FCUP 2014/2015 Pedro Ribeiro (DCC/FCUP) Grafos - Introdução 2014/2015 1 / 32 Conceito Definição de Grafo Formalmente, um grafo é: Um conjunto de nós/vértices (V).

Leia mais

CONCEITOS BÁSICOS EM GRAFOS

CONCEITOS BÁSICOS EM GRAFOS Um grafo (simples) G é formado por um conjunto de vértices, denotado por V(G), e um conjunto de arestas, denotado por E(G). Cada aresta é um par (não ordenado) de vértices distintos. Se xy é uma aresta,

Leia mais

Fabio Augusto Camargo

Fabio Augusto Camargo Universidade Federal de São Carlos Centro de Ciências Exatas e de Tecnologia Departamento de Matemática Introdução à Topologia Autor: Fabio Augusto Camargo Orientador: Prof. Dr. Márcio de Jesus Soares

Leia mais

Triângulos. Unicamp. University of Waterloo. Seminário de Teoria da Computação IC Unicamp

Triângulos. Unicamp. University of Waterloo. Seminário de Teoria da Computação IC Unicamp 3-Coloração de Grafos Planares Livres de Triângulos C. N. da Silva 1 R. B. Richter 2 D. H. Younger 2 1 Instituto de Computação Unicamp 2 Department of Combinatorics and Optimization University of Waterloo

Leia mais

Grafos. Notas. Notas. Notas. Notas. Caminhos mais curtos de única origem. Subestrutura ótima. Propriedades de caminhos mais curtos

Grafos. Notas. Notas. Notas. Notas. Caminhos mais curtos de única origem. Subestrutura ótima. Propriedades de caminhos mais curtos Grafos Caminhos mais curtos de única origem Conteúdo Subestrutura ótima Inicialização Propriedades de caminhos mais curtos Algoritmos Algoritmo de Bellman-Ford Caminhos mais curtos de única origem em gaos

Leia mais

Pontos extremos, vértices e soluções básicas viáveis

Pontos extremos, vértices e soluções básicas viáveis Pontos extremos, vértices e soluções básicas viáveis Marina Andretta ICMC-USP 19 de outubro de 2016 Baseado no livro Introduction to Linear Optimization, de D. Bertsimas e J. N. Tsitsiklis. Marina Andretta

Leia mais

Definição 1.1 : Uma árvore é um grafo simples conexo e sem ciclos.

Definição 1.1 : Uma árvore é um grafo simples conexo e sem ciclos. 1 Árvores Definição 1.1 : Uma árvore é um grafo simples conexo e sem ciclos. Um grafo simples sem ciclos mas não conexo (em que cada componente conexa é portanto uma árvore) chama-se uma floresta. Numa

Leia mais

Introdução à Teoria dos Grafos

Introdução à Teoria dos Grafos Capítulo 1 Introdução à Teoria dos Grafos 1.1 História O primeiro problema cuja solução envolveu conceitos do que viria a ser teoria dos grafos, denominado "problema das pontes de Königsberg", foi resolvido

Leia mais

Paulo Guilherme Inça. 7 de dezembro de 2016

Paulo Guilherme Inça. 7 de dezembro de 2016 Coloração de grafos é NP-Difícil Paulo Guilherme Inça 7 de dezembro de 2016 Sumário 1 Introdução 1 2 O Problema da Coloração de Grafos 2 3 3-Coloração é NP-Completo 3 4 Generalizações e Restrições 6 5

Leia mais

Introdução à Teoria dos Grafos (MAC-5770) IME-USP Depto CC Profa. Yoshiko. Capítulo 3

Introdução à Teoria dos Grafos (MAC-5770) IME-USP Depto CC Profa. Yoshiko. Capítulo 3 Introdução à Teoria dos Grafos (MAC-5770) IME-USP Depto CC Profa. Yoshiko Capítulo 3 Árvores Problema: Suponha que numa cidade haja n postos telefônicos. Para que seja sempre possível haver comunicação

Leia mais

Grafos Planares. Grafos e Algoritmos Computacionais. Prof. Flávio Humberto Cabral Nunes

Grafos Planares. Grafos e Algoritmos Computacionais. Prof. Flávio Humberto Cabral Nunes Grafos Planares Grafos e Algoritmos Computacionais Prof. Flávio Humberto Cabral Nunes fhcnunes@yahoo.com.br 1 Introdução Os exemplos mais naturais de grafos são os que se referem à representação de mapas

Leia mais

3 O Teorema de Ramsey

3 O Teorema de Ramsey 3 O Teorema de Ramsey Nesse capítulo enunciamos versões finitas e a versão infinita do Teorema de Ramsey, além das versões propostas por Paris, Harrington e Bovykin, que serão tratadas no capítulos subseqüentes.

Leia mais

Noções da Teoria dos Grafos. André Arbex Hallack

Noções da Teoria dos Grafos. André Arbex Hallack Noções da Teoria dos Grafos André Arbex Hallack Junho/2015 Índice 1 Introdução e definições básicas. Passeios eulerianos 1 2 Ciclos hamiltonianos 5 3 Árvores 7 4 Emparelhamento em grafos 11 5 Grafos planares:

Leia mais

Teoria dos Grafos. Valeriano A. de Oliveira, Socorro Rangel, Silvio A. de Araujo. Departamento de Matemática Aplicada

Teoria dos Grafos. Valeriano A. de Oliveira, Socorro Rangel, Silvio A. de Araujo. Departamento de Matemática Aplicada Teoria dos Grafos Valeriano A. de Oliveira, Socorro Rangel, Silvio A. de Araujo Departamento de Matemática Aplicada Capítulo 20: Decomposições de Arestas Preparado a partir da ref.: J.M. Aldous, R. Wilson,

Leia mais

UNIVERSIDADE FEDERAL DO RIO DE JANEIRO DEPARTAMENTO DE CIÊNCIAS DA COMPUTAÇÃO. 5 a Lista de Exercícios

UNIVERSIDADE FEDERAL DO RIO DE JANEIRO DEPARTAMENTO DE CIÊNCIAS DA COMPUTAÇÃO. 5 a Lista de Exercícios UNIVERSIDADE FEDERAL DO RIO DE JANEIRO DEPARTAMENTO DE CIÊNCIAS DA COMPUTAÇÃO MATEMÁTICA COMBINATÓRIA 5 a Lista de Exercícios 1. O grafo de intersecção de uma coleção de conjuntos A 1,..., A n é o grafo

Leia mais

Parte B Teoria dos Grafos

Parte B Teoria dos Grafos 45 Parte B Teoria dos Grafos B. Grafos e Subgrafos Um grafo G é uma tripla ordenada (V(G), E(G), ), constituindo de um conjunto não vazio V(G) de vértices, um conjunto disjunto E(G) das arestas e uma função

Leia mais

Tópicos de Matemática Finita Data: I II-1 II-2 II-3 II-4 III-1 III-2 III-3 III-4 IV-1 IV-2 IV-3 IV-4 Nota Final

Tópicos de Matemática Finita Data: I II-1 II-2 II-3 II-4 III-1 III-2 III-3 III-4 IV-1 IV-2 IV-3 IV-4 Nota Final Tópicos de Matemática Finita Data: 20-06-2003 1 a Época Correcção Código: 1B Nome: Número: Curso: O exame que vai realizar tem a duração de três horas. As respostas às perguntas do grupo I não necessitam

Leia mais

Alguns passos da prova do Teorema de Runge

Alguns passos da prova do Teorema de Runge Alguns passos da prova do Teorema de Runge Roberto Imbuzeiro Oliveira 15 de Junho de 2011 1 Os principais passos da prova Teorema 1 Sejam U C aberto, K U compacto e f : U C holomorfa Seja A C \U tal que

Leia mais

As Pontes de Königsberg

As Pontes de Königsberg As Pontes de Königsberg Anderson Freitas Ferreira e Lívia Minami Borges 13 de junho de 2015 Resumo A teoria de grafos teve seu início em 1736, quando Euler utilizou uma estrutura para resolver o Problema

Leia mais

Axiomatizações equivalentes do conceito de topologia

Axiomatizações equivalentes do conceito de topologia Axiomatizações equivalentes do conceito de topologia Giselle Moraes Resende Pereira Universidade Federal de Uberlândia - Faculdade de Matemática Graduanda em Matemática - Programa de Educação Tutorial

Leia mais

Fábio Protti - UFF Loana T. Nogueira - UFF Sulamita Klein UFRJ

Fábio Protti - UFF Loana T. Nogueira - UFF Sulamita Klein UFRJ Fábio Protti - UFF Loana T. Nogueira - UFF Sulamita Klein UFRJ Suponha que temos um grupo de pessoas (funcionário de uma empresa) que serão submetidos a um treinamento. Queremos identificar os grupos de

Leia mais

Caminhos mínimos de única origem

Caminhos mínimos de única origem Caminhos mínimos de única origem Algoritmos em Grafos Marco A L Barbosa cba Este trabalho está licenciado com uma Licença Creative Commons - Atribuição-CompartilhaIgual 4.0 Internacional. Conteúdo Introdução

Leia mais

Capítulo 1 Conceitos e Resultados Básicos

Capítulo 1 Conceitos e Resultados Básicos Introdução à Teoria dos Grafos (MAC-5770) IME-USP Depto CC Profa. Yoshiko Capítulo 1 Conceitos e Resultados Básicos Um grafo é um par ordenado (V, A), onde V e A são conjuntos disjuntos, e cada elemento

Leia mais

Estratégias vencedoras para o jogo Slither

Estratégias vencedoras para o jogo Slither Estratégias vencedoras para o jogo Slither Marcelo da Silva Reis 1 1 Instituto de Matemática e Estatística, Universidade de São Paulo. marcelo.reis@gmail.com 11 de agosto de 009 Este artigo apresenta estratégias

Leia mais

Algoritmos em Grafos COM11087-Tópicos Especiais em Programação I

Algoritmos em Grafos COM11087-Tópicos Especiais em Programação I Algoritmos em Grafos COM11087-Tópicos Especiais em Programação I edmar.kampke@ufes.br Introdução Teoria dos Grafos é o estudo das propriedades e estruturas dos grafos. O objetivo é, após modelar um problema

Leia mais

Problemas de Fluxo em Redes

Problemas de Fluxo em Redes CAPÍTULO 7 1. Conceitos fundamentais de grafos Em muitos problemas que nos surgem, a forma mais simples de o descrever, é representá-lo em forma de grafo, uma vez que um grafo oferece uma representação

Leia mais

Definição 1.1 : Uma árvore é um grafo simples conexo e sem ciclos.

Definição 1.1 : Uma árvore é um grafo simples conexo e sem ciclos. 1 Árvores Definição 1.1 : Uma árvore é um grafo simples conexo e sem ciclos. Um grafo simples sem ciclos mas não conexo (em que cada componente conexa é portanto uma árvore) chama-se uma floresta. Numa

Leia mais

x y Grafo Euleriano Figura 1

x y Grafo Euleriano Figura 1 Grafo Euleriano Um caminho simples ou um circuito simples é dito euleriano se ele contém todas as arestas de um grafo. Um grafo que contém um circuito euleriano é um grafo euleriano. Um grafo que não contém

Leia mais

O estudo utilizando apenas este material não é suficiente para o entendimento do conteúdo. Recomendamos a leitura das referências no final deste

O estudo utilizando apenas este material não é suficiente para o entendimento do conteúdo. Recomendamos a leitura das referências no final deste O estudo utilizando apenas este material não é suficiente para o entendimento do conteúdo. Recomendamos a leitura das referências no final deste material e a resolução (por parte do aluno) de todos os

Leia mais

O estudo utilizando apenas este material não é suficiente para o entendimento do conteúdo. Recomendamos a leitura das referências no final deste

O estudo utilizando apenas este material não é suficiente para o entendimento do conteúdo. Recomendamos a leitura das referências no final deste O estudo utilizando apenas este material não é suficiente para o entendimento do conteúdo. Recomendamos a leitura das referências no final deste material e a resolução (por parte do aluno) de todos os

Leia mais

colorindo mapas A forma de representação mais simples que podemos fazer é um artifício matemático chamado grafo.

colorindo mapas A forma de representação mais simples que podemos fazer é um artifício matemático chamado grafo. V Bienal da SBM Sociedade Brasileira de Matemática UFPB - Universidade Federal da Paraíba 18 a 22 de outubro de 2010 colorindo mapas Gésica Peixoto Campos & Izabelly Marya Lucena da Silva 1 Introdução

Leia mais

Trabalho final de Teoria dos Grafos: O problema de coloração de vértices de grafos. Alessander Botti Benevides.

Trabalho final de Teoria dos Grafos: O problema de coloração de vértices de grafos. Alessander Botti Benevides. Trabalho final de Teoria dos Grafos: O problema de coloração de vértices de grafos Alessander Botti Benevides abbenevides@inf.ufes.br 4 de julho de 2011 Sumário 1 2 Coloração de mapas Problemas de agendamento

Leia mais

Primeiro Exercício programa: Como o Google ordena páginas. MAP-2121 para EPUSP

Primeiro Exercício programa: Como o Google ordena páginas. MAP-2121 para EPUSP Primeiro Exercício programa: Como o Google ordena páginas MAP-2121 para EPUSP 1 Instruções gerais Os exercícios computacionais pedidos na disciplina Cálculo Numérico têm por objetivo fundamental familiarizar

Leia mais

MAT Topologia Bacharelado em Matemática 2 a Prova - 27 de maio de 2004

MAT Topologia Bacharelado em Matemática 2 a Prova - 27 de maio de 2004 MAT 317 - Topologia Bacharelado em Matemática 2 a Prova - 27 de maio de 2004 1 Nome : Número USP : Assinatura : Professor : Severino Toscano do Rêgo Melo 2 3 4 5 Total Podem tentar fazer todas as questões.

Leia mais

Aula 2 Definições, Conceitos Básicos e Representação Interna de Grafos. Teoria dos Grafos Prof.

Aula 2 Definições, Conceitos Básicos e Representação Interna de Grafos. Teoria dos Grafos Prof. Teoria dos Grafos Aula 2 Definições, Conceitos Básicos e Representação Interna de Grafos Jorge Figueiredo Aula 2-1 Definições Dois tipos de elementos: Vértices ou nós. Arestas. v3 v1 v2 v4 v5 v6 Jorge

Leia mais

CI065 CI755 Algoritmos e Teoria dos Grafos

CI065 CI755 Algoritmos e Teoria dos Grafos CI065 CI755 Algoritmos e Teoria dos Grafos Exercícios 11 de outubro de 2017 1 Fundamentos 1. Seja S = {S 1,..., S n } uma família de conjuntos. O grafo intercessão de S é o grafo G S cujo conjunto de vértices

Leia mais

Teoria dos Grafos: Conectividade. Nessa unidade veremos algumas generalizações e resultados sobre conectividade em grafos.

Teoria dos Grafos: Conectividade. Nessa unidade veremos algumas generalizações e resultados sobre conectividade em grafos. Programa Olímpico de Treinamento Curso de Combinatória Nível Prof. Carlos Shine Aula 8 Teoria dos Grafos: Conectividade Nessa unidade veremos algumas generalizações e resultados sobre conectividade em

Leia mais

Teoria dos Conjuntos. (Aula 6) Ruy de Queiroz. O Teorema da. (Aula 6) Ruy J. G. B. de Queiroz. Centro de Informática, UFPE

Teoria dos Conjuntos. (Aula 6) Ruy de Queiroz. O Teorema da. (Aula 6) Ruy J. G. B. de Queiroz. Centro de Informática, UFPE Ruy J. G. B. de Centro de Informática, UFPE 2007.1 Conteúdo 1 Seqüências Definição Uma seqüência é uma função cujo domíno é um número natural ou N. Uma seqüência cujo domínio é algum número natural n N

Leia mais

Grafos. Fabio Gagliardi Cozman. PMR2300 Escola Politécnica da Universidade de São Paulo

Grafos. Fabio Gagliardi Cozman. PMR2300 Escola Politécnica da Universidade de São Paulo PMR2300 Escola Politécnica da Universidade de São Paulo Um grafo é uma estrutura que generaliza árvores, sendo formado por nós e arestas. Cada nó em um grafo pode ser conectado a vários outros nós por

Leia mais

Fluxo em Redes. > Fluxo em Redes Modelando com Fluxo Máximo 1/20

Fluxo em Redes. > Fluxo em Redes Modelando com Fluxo Máximo 1/20 Fluxo em Redes > Fluxo em Redes Modelando com Fluxo Máximo 1/20 Definição (Fluxo) Fluxo s-t: fluxo f (e) para cada aresta e satisfazendo Para cada aresta e: 0 f (e) c(e) (capacidade) Para cada nó v s,

Leia mais

Largura em Árvore de Grafos Planares Livres de Ciclos Pares Induzidos

Largura em Árvore de Grafos Planares Livres de Ciclos Pares Induzidos Largura em Árvore de Grafos Planares Livres de Ciclos Pares Induzidos Aline Alves da Silva Departamento de Computação Universidade Federal do Ceará (UFC) Campus do Pici, Bloco 910 Fortaleza, CE Brasil

Leia mais

CI065 CI755 Algoritmos e Teoria dos Grafos

CI065 CI755 Algoritmos e Teoria dos Grafos CI065 CI755 Algoritmos e Teoria dos Grafos Exercícios 10 de junho de 2018 1 Fundamentos 1. Seja S = {S 1,..., S n } uma família de conjuntos. O grafo intercessão de S é o grafo G S cujo conjunto de vértices

Leia mais

Doutorado em Ciência da Computação. Algoritmos e Grafos. Raimundo Macêdo LaSiD/DCC/UFBA

Doutorado em Ciência da Computação. Algoritmos e Grafos. Raimundo Macêdo LaSiD/DCC/UFBA Doutorado em Ciência da Computação Algoritmos e Grafos Raimundo Macêdo LaSiD/DCC/UFBA Grafo Completo Grafo simples cujos vértices são dois a dois adjacentes. Usa-se a notação K n para um grafo completo

Leia mais

Doutorado em Ciência da Computação. Algoritmos e Grafos. Raimundo Macêdo

Doutorado em Ciência da Computação. Algoritmos e Grafos. Raimundo Macêdo Doutorado em Ciência da Computação Algoritmos e Grafos Raimundo Macêdo LaSiD/DCC/UFBA Grau de um Vértice O grau d G (v) do vértice v de G é o número de arestas incidentes a v, cada laço sendo contado duas

Leia mais

O estudo utilizando apenas este material não é suficiente para o entendimento do conteúdo. Recomendamos a leitura das referências no final deste

O estudo utilizando apenas este material não é suficiente para o entendimento do conteúdo. Recomendamos a leitura das referências no final deste O estudo utilizando apenas este material não é suficiente para o entendimento do conteúdo. Recomendamos a leitura das referências no final deste material e a resolução (por parte do aluno) de todos os

Leia mais

Pesquisa Operacional

Pesquisa Operacional Faculdade de Engenharia - Campus de Guaratinguetá Pesquisa Operacional Livro: Introdução à Pesquisa Operacional Capítulo 3 - Teoria dos Grafos Fernando Marins fmarins@feg.unesp.br Departamento de Produção

Leia mais

x B A x X B B A τ x B 3 B 1 B 2

x B A x X B B A τ x B 3 B 1 B 2 1. Definição e exemplos. Bases. Dar uma topologia num conjunto X é especificar quais dos subconjuntos de X são abertos: Definição 1.1. Um espaço topológico é um par (X, τ) em que τ é uma colecção de subconjuntos

Leia mais

Estruturas de Dados Grafos

Estruturas de Dados Grafos Estruturas de Dados Grafos Prof. Eduardo Alchieri (introdução) Grafo é um conjunto de pontos e linhas que conectam vários pontos Formalmente, um grafo G(V,A) é definido pelo par de conjuntos V e A, onde:

Leia mais

Estrutura de Dados e Algoritmos e Programação e Computadores II. Aula 11: Introdução aos Grafos

Estrutura de Dados e Algoritmos e Programação e Computadores II. Aula 11: Introdução aos Grafos Estrutura de Dados e Algoritmos e Programação e Computadores II Aula 11: Introdução aos Grafos Indução Finita Indução Finita é uma técnica para provar teoremas também usada no projecto de algoritmos. Suponha

Leia mais

Grafos. Exemplo de árvore geradora mínima. Notas. Notas. Notas. Notas. Árvores espalhadas mínimas. Como construir uma árvore geradora miníma

Grafos. Exemplo de árvore geradora mínima. Notas. Notas. Notas. Notas. Árvores espalhadas mínimas. Como construir uma árvore geradora miníma Grafos Árvores espalhadas mínimas Conteúdo Introdução Como construir uma árvore geradora miníma Algoritmos Referências Introdução Dado um grafo conectado não orientado G = (V, E) e uma função peso w :

Leia mais

Otimização em Grafos

Otimização em Grafos Otimização em Grafos Luidi G. Simonetti PESC/COPPE 2017 Luidi Simonetti (PESC) EEL857 2017 1 / 33 Definição do Problema Dado: um grafo ponderado G = (V, E), orientado ou não, onde d : E R + define as distâncias

Leia mais

Capítulo 1. Aula Conectividade Caminhos

Capítulo 1. Aula Conectividade Caminhos Capítulo 1 Aula 7 1.1 Conectividade Muitos problemas podem ser modelados com caminhos formados ao percorrer as arestas dos grafos. Por exemplo, o problema de determinar se uma mensagem pode ser enviada

Leia mais

GRAFOS Aula 08 Árvore Geradora Mínima: Algoritmos de Kruskal e Prim-Jarnik Max Pereira

GRAFOS Aula 08 Árvore Geradora Mínima: Algoritmos de Kruskal e Prim-Jarnik Max Pereira Ciência da Computação GRAFOS Aula 08 Árvore Geradora Mínima: Algoritmos de Kruskal e Prim-Jarnik Max Pereira Árvore Geradora (spanning tree) É um subconjunto de um grafo G que possui todos os vértices

Leia mais

Otimização em Grafos

Otimização em Grafos Otimização em Grafos Luidi G. Simonetti PESC/COPPE 2017 Luidi Simonetti (PESC) EEL857 2017 1 / 35 Teoria dos Grafos - Relembrando Árvore Um grafo G é uma árvore se é conexo e não possui ciclos (acíclico).

Leia mais

Cap. 2 Conceitos Básicos em Teoria dos Grafos

Cap. 2 Conceitos Básicos em Teoria dos Grafos Teoria dos Grafos e Aplicações 8 Cap. 2 Conceitos Básicos em Teoria dos Grafos 2.1 Grafo É uma noção simples, abstrata e intuitiva, usada para representar a idéia de alguma espécie de relação entre os

Leia mais

Fluxo Máximo. Pedro Ribeiro 2014/2015 DCC/FCUP. Pedro Ribeiro (DCC/FCUP) Fluxo Máximo 2014/ / 28

Fluxo Máximo. Pedro Ribeiro 2014/2015 DCC/FCUP. Pedro Ribeiro (DCC/FCUP) Fluxo Máximo 2014/ / 28 Fluxo Máximo Pedro Ribeiro DCC/FCUP 2014/2015 Pedro Ribeiro (DCC/FCUP) Fluxo Máximo 2014/2015 1 / 28 Fluxo Máximo Um grafo pesado pode ser interpretado como uma rede de canalizações onde o peso é a capacidade

Leia mais

GRAFOS. Prof. André Backes. Como representar um conjunto de objetos e as suas relações?

GRAFOS. Prof. André Backes. Como representar um conjunto de objetos e as suas relações? 8/0/06 GRAFOS Prof. André Backes Definição Como representar um conjunto de objetos e as suas relações? Diversos tipos de aplicações necessitam disso Um grafo é um modelo matemático que representa as relações

Leia mais

Teorema de Sarkovsky

Teorema de Sarkovsky Teorema de Sarkovsky Yuri Lima 8 de janeiro de 2008 Resumo Provaremos um teorema, provado pelo matemático ucraniano A. Sarkovsky em [4] que, em poucas palavras, afirma que Período 3 implica Caos, no seguinte

Leia mais

14 Coloração de vértices Considere cada um dos grafos abaixo:

14 Coloração de vértices Considere cada um dos grafos abaixo: 14 Coloração de vértices Considere cada um dos grafos abaixo: a) Quantas cores são necessárias para colorir os vértices de um grafo de maneira que dois vértices adjacentes não recebam a mesma cor? b) Qual

Leia mais

Definição 1.1 : Uma árvore é um grafo simples conexo e sem ciclos.

Definição 1.1 : Uma árvore é um grafo simples conexo e sem ciclos. 1 Árvores Definição 1.1 : Uma árvore é um grafo simples conexo e sem ciclos. Um grafo simples sem ciclos mas não conexo (em que cada componente conexa é portanto uma árvore) chama-se uma floresta. Numa

Leia mais

O estudo utilizando apenas este material não é suficiente para o entendimento do conteúdo. Recomendamos a leitura das referências no final deste

O estudo utilizando apenas este material não é suficiente para o entendimento do conteúdo. Recomendamos a leitura das referências no final deste O estudo utilizando apenas este material não é suficiente para o entendimento do conteúdo. Recomendamos a leitura das referências no final deste material e a resolução (por parte do aluno) de todos os

Leia mais

Emparelhamentos Máximos em Grafos Bipartidos

Emparelhamentos Máximos em Grafos Bipartidos Introdução à Teoria dos Grafos Emparelhamentos Máximos em Grafos Bipartidos Bacharelado em Ciência da Computação, DCT UFMS, 6/6/2005 Entrega em 04/07/2005 Resumo Quando estudamos emparalhementos e fatorações

Leia mais

01 Grafos: parte 1 SCC0503 Algoritmos e Estruturas de Dados II

01 Grafos: parte 1 SCC0503 Algoritmos e Estruturas de Dados II 01 Grafos: parte 1 SCC0503 Algoritmos e Estruturas de Dados II Prof. Moacir Ponti Jr. www.icmc.usp.br/~moacir Instituto de Ciências Matemáticas e de Computação USP 2011/1 Moacir Ponti Jr. (ICMCUSP) 01

Leia mais

INF 1010 Estruturas de Dados Avançadas

INF 1010 Estruturas de Dados Avançadas INF Estruturas de Dados Avançadas Grafos // DI, PUC-Rio Estruturas de Dados Avançadas. Aplicações de grafos grafo vértices arestas Cronograma tarefas restrições de preferência Malha viária interseções

Leia mais

Teoria dos Grafos. Árvores

Teoria dos Grafos.  Árvores Teoria dos Grafos Valeriano A. de Oliveira Socorro Rangel Silvio A. de Araujo Departamento de Matemática Aplicada antunes@ibilce.unesp.br, socorro@ibilce.unesp.br, saraujo@ibilce.unesp.br Preparado a partir

Leia mais

Matemática Discreta. Aula nº 22 Francisco Restivo

Matemática Discreta. Aula nº 22 Francisco Restivo Matemática Discreta Aula nº 22 Francisco Restivo 2006-05-26 Definição: Um grafo cujos vértices são pontos no plano e cujos lados são linhas no plano que só se encontram nos vértices do grafo são grafos

Leia mais

ESTRUTURAS DISCRETAS (INF 1631) GRAFOS. 1. O que é um grafo? Defina um grafo orientado. Defina um grafo não-orientado.

ESTRUTURAS DISCRETAS (INF 1631) GRAFOS. 1. O que é um grafo? Defina um grafo orientado. Defina um grafo não-orientado. PUC-Rio Departamento de Informática Profs. Marcus Vinicius S. Poggi de Aragão Período: 0. Horário: as-feiras e as-feiras de - horas de maio de 0 ESTRUTURAS DISCRETAS (INF 6) a Lista de Exercícios Procure

Leia mais

Instituto de Computação - Universidade Federal Fluminense Teoria dos Grafos - Lista de exercícios

Instituto de Computação - Universidade Federal Fluminense Teoria dos Grafos - Lista de exercícios Instituto de Computação - Universidade Federal Fluminense Teoria dos Grafos - Lista de exercícios 1 Conceitos 1. Prove o Teorema da Amizade: em qualquer festa com pelo menos seis pessoas, ou três se conhecem

Leia mais

Contando o Infinito: os Números Cardinais

Contando o Infinito: os Números Cardinais Contando o Infinito: os Números Cardinais Sérgio Tadao Martins 4 de junho de 2005 No one will expel us from the paradise that Cantor has created for us David Hilbert 1 Introdução Quantos elementos há no

Leia mais

Grafos Direcionados. > Grafos Direcionados Representações Computacionais 1/36

Grafos Direcionados. > Grafos Direcionados Representações Computacionais 1/36 Grafos Direcionados > Grafos Direcionados Representações Computacionais 1/36 Grafos Direcionados Em muitas aplicações, é importante ter direção nas arestas: Ruas de mão única Grafos modelando páginas da

Leia mais

2 Relação entre soma dos graus e número de arestas

2 Relação entre soma dos graus e número de arestas Rio de Janeiro, 24 de Outubro de 2011. LISTA DE ESTRUTURAS DISCRETAS PROFESSOR: EDUARDO LABER OBSERVAÇÕES: Exercícios marcados com são mais complicados. 1 Isomorfismo 1. Seja G =(V,E) um grafo simples.

Leia mais

GRAFOS BUSCAS E MENOR CAMINHO. Prof. André Backes

GRAFOS BUSCAS E MENOR CAMINHO. Prof. André Backes 8//6 GRAFOS BUSCAS E MENOR CAMINHO Prof. André Backes Busca em grafos Definição Consiste em explorar o grafo de uma maneira bem específica. Trata-se de um processo sistemático de como caminhar por seus

Leia mais

Indução Matemática. Profa. Sheila Morais de Almeida. junho DAINF-UTFPR-PG

Indução Matemática. Profa. Sheila Morais de Almeida. junho DAINF-UTFPR-PG Indução Matemática Profa. Sheila Morais de Almeida DAINF-UTFPR-PG junho - 2018 Sheila Almeida (DAINF-UTFPR-PG) Indução Matemática junho - 2018 1 / 69 Este material é preparado usando como referências os

Leia mais

4 planaridade. Exemplo 4.2 O grafo completo em 4 vértices tem uma única imersão plana (Figura 4.3).

4 planaridade. Exemplo 4.2 O grafo completo em 4 vértices tem uma única imersão plana (Figura 4.3). 4 planaridade Um grafo G =(V,E) éditoplanar se pode ser desenhado no plano de forma que suas arestas se interceptam apenas nos extremos. Um tal desenho no plano é chamado uma imersão plana ou representação

Leia mais

Unidade 5 - Subespaços vetoriais. A. Hefez e C. S. Fernandez Resumo elaborado por Paulo Sousa. 10 de agosto de 2013

Unidade 5 - Subespaços vetoriais. A. Hefez e C. S. Fernandez Resumo elaborado por Paulo Sousa. 10 de agosto de 2013 MA33 - Introdução à Álgebra Linear Unidade 5 - Subespaços vetoriais A. Hefez e C. S. Fernandez Resumo elaborado por Paulo Sousa PROFMAT - SBM 10 de agosto de 2013 Às vezes, é necessário detectar, dentro

Leia mais