Grafos Hamiltonianos Apoio: Michelli Maldonado Carretero ([email protected]) Socorro Rangel ([email protected]) 2007 1 Motivação • O nome Hamiltoniano deriva de um jogo inventado por Sir William Rowan Hamilton em 1859, chamado A Voyage Around the World • O jogo era formado por um dodecaedro onde cada vértice estava marcado com o nome de uma cidade e as arestas representavam as possibilidades de se viajar entre as cidades. • Objetivo do jogo: encontrar um roteiro de viagem passando por cada cidade exatamente uma vez e as cinco primeiras cidades a serem visitadas eram estipuladas a priori para tornar o problema mais interessante. • Dado um conjunto de cidades é sempre possı́vel determinar este roteiro? 1.1 Conceitos Básicos da Teoria de Grafos Grafo: Seja V 6= ∅, um conjunto de objetos, e A o conjunto de pares não ordenados de V . Denotamos um grafo pôr G(V, A) ou simplesmente G. Exemplo: O grafo representado na Figura 2 é G(V,A), onde V = {W, R, S, T, V, J, H, X, Z, Q, P, N, M, L, K, F, G, B, C, D} A = {(W R), (RS), (ST ), (T V ), (V W ), (W X), (RQ), (SN ), (T L), (V J), (JH), (JK), (KL), (LM ), (M N ), (N P ), (P Q), (QZ), (ZX), (XH), (HG), (ZB), (P C), (M D), (KF ), (F G), (GB), (BC), (CD), (DF )} O grau incidentes. de um vértice v, (d(v)), é o número de arestas nele Exemplo: d(K), da Figura 2, é 3. Um caminho em um grafo G consiste de uma sequência finita alternada de vértices e arestas no qual nenhum vértice aparece mais de uma vez. Um circuito em um grafo G é um caminho onde os vértices inicial e final são iguais. A sequência: {W, (W R), R, (RS), S, (ST ), T, (T V ), V, (V W ), W } é um exemplo de um circuito no grafo G, da Figura 2. A sequência: {W, (W R), R, (RS), S, (ST ), T, (T L), L, (LM ), M, (M N ), N, (N P ), P, (P Q), Q, (QZ), Z, (ZX), X, (XH), H, (HG), G, (GB), B, (BC), C, (CD), D, (DF ), F, (F K), K, (KJ), J, (JV ), V, (V W ), W } é um exemplo de um circuito hamiltoniano no grafo G (Figura 2). Grafo Hamiltoniano: Um grafo que possua um circuito hamiltoniano diz-se hamiltoniano. Um grafo é conexo se existe um caminho entre qualquer par de vértices pertencentes ao grafo Um circuito hamiltoniano é uma circuito que passa por todos os vértices sem repetição, com exceção do inicial e do final. Um grafo é 2-conexo se não existe vértice cuja remoção torna o grafo desconexo. Figura 2: Grafo Hamiltoniano - Dodecaedro Figura 3: Grafo 2-conexo Figura 1: Jogo de Hamilton [3] Dado um grafo G, é possı́vel determinar um circuito hamiltoniano neste grafo? 2 Resultados - Condições Suficientes e/ou Necessárias Teorema 2.1 (Teorema de Ore) Seja G um grafo simples com n vértices, onde n ≥ 3. Se d(v) + d(w) ≥ n, para qualquer par de vértices não adjacentes v e w, então G é hamiltoniano. Demonstração: Suponha que G seja não-hamiltoniano e que por hipótese d(vi) + d(vj ) ≥ n para qualquer par de vértices não-adjacentes vi e vj . Podemos supor também que G é quase hamiltoniano, dado que a adição de arestas o tornaria hamiltoniano. Então deve existir um caminho v1v2v3 . . . vn que inclua todos os vértices, tal que v1 e vn são não-adjacentes, como mostra a Figura 4 abaixo. Então: Considerando o grafo da Figura 5, temos que o Teorema de Dirac não se aplica, mas o de Ore sim, sendo assim hamiltoniano. (b) S contém r vértices, e vn não é um deles (Note que ele é o útimo do caminho e não precede ninguém). Considerando as duas afirmações (a) e (b) temos que S deve conter um vértice vi que é adjacentes a vn, pois de acordo com (a) existem no máximo (r-1) vértices não-adjacentes a vn. Então existem as arestas (v1, vi+1) e (vi, vn), como ilustrado na Figura 4. Se estas arestas existem, então existe o circuito hamiltoniano: v1v2 . . . vi−1vivnvn−1 . . . vi+1v1, contradizendo a nossa suposição de que G não é hamiltoniano. Portanto se d(v) + d(w) ≥ n para qualquer par de vértices não adjacentes, então G é Hamiltoniano. Teorema 2.3 Se um grafo G é hamiltoniano então ele é 2-conexo. Teorema 2.2 (Teorema de Dirac) Seja G um grafo simples com n vértices, onde n ≥ 3. Se d(v) ≥ 12 n, para cada vértice v, então G é hamiltoniano. Seja G um grafo simples com n vértices e K um número inteiro tal que 1 ≤ K ≤ n. Considere o processo a seguir: comece com G e adicione sucessivamente arestas unindo vértices não-adjacentes cuja soma dos graus é maior ou igual a K. O grafo resultante deste procedimento, que contém G, é chamado de K-fecho de G, e denotado pôr [G]K Figura 4: Caminho hamiltoniano [3] Como v1 e vn são não-adjacentes, por hipótese: d(v1) + d(vn) ≥ n ⇒ d(vn) ≥ n − d(v1) Se d(v1) = r, então: (a) há no máximo r vértices não-adjacentes a vn, incluindo o próprio vn . Seja S o conjunto dos vértices que precedem cada um dos vértices adjacentes a v1 no caminho v1v2v3 . . . vn. Por exemplo, se v1 e vk são adjacentes, então vk−1 é um vértice do conjunto S. 3 Figura 5: Grafo Hamiltoniano Demostração: Temos por hipótese que qualquer vértice v tem d(v) ≥ 12 n, então se somarmos o grau de quaisquer dois vértices, incluindo os não-adjacentes, teremos que d(v) + d(w) ≥ 21 n + 12 n = n e pelo Teorema de Ore G é Hamiltoniano. Ver (e.g [1]). Note que na Figura 3 temos um grafo 2-conexo mas que não é hamiltoniano. E o grafo da Figura 2 é 2-conexo e hamiltoniano. Teorema 2.4 Para G ser hamiltoniano é necessário e suficiente que [G]n seja hamiltoniano. Ver (e.g[1]). Aplicação - Problema do Caixeiro Viajante Um caixeiro viajante que visitar um número de cidades e retornar a cidade de origem de tal maneira que cada cidade seja visitada exatamente uma vez e que a distância percorrida seja a menor possı́vel. Este problema é conhecido como o problema do caixeiro viajante (PCV), e em outras palavras o PCV consiste em encontrar, no grafo associado ao problema, um circuito hamiltoniano de menor custo. Referências [1] M. Gondran E M. Minoux, Graphs and Algorithms, John Wiley e Sons Ltd, 1984, 649 páginas. [2] E.L.Lawler, J.K. Lenstra, A.K.G. Kinnooy Kan e D.B. Shmoys, The Traveling Salesman Problem, John Wiley e Sons Ltd, 1986, 465 páginas. [3] R.J. Wilson e J.J. Watkins, Graphs: An Introductory Approach, John Wiley e Sons Ltd, 1990, 340 páginas. [4] Estação Ciência da USP em São Paulo-SP.