Matemática para Ciência dos Computadores Outubro, 2005 Docente: n : n Folha 3.1 Grafos (não dirigidos) 1. (*) Seja V = {a, b, c, d, e, f, g} um conjunto de localidades e seja E = { a, b, a, f, b, e, b, g, c, e, d, f, c, g, f, g } um conjunto em que cada par representa a existência duma estrada que liga as duas localidades envolvidas. (a) Desenhe o grafo G = (V, E), cujos vértices correspondem às localidades e as arestas (i.e., ramos) representam as ligações indicadas. (Note que serão usadas indiferentemente as designações aresta e ramo. Neste contexto, nó e vértice também são sinónimos.) (b) Analisando o grafo, verifique que se pode aceder de qualquer localidade a qualquer outra (ou seja, que o grafo G é conexo). (c) Indique uma estrada que seja imprescindível para garantir a conectividade. Indique uma outra que não o seja. (d) Comece a retirar ( à sorte ) ramos do grafo, um a um, de modo que o grafo resultante seja sempre conexo. Retire sempre enquanto for possível. Com quantos ramos fica? Partindo novamente do grafo G, repita o processo várias vezes, removendo de cada vez um conjunto de ramos diferente. O que conclui? O que é que os grafos finais têm em comum? (A cada um dos grafos finais, chama-se árvore de suporte de G.) (e) [ ] A manutenção das estradas tem custos, pelo que foi decidido passar a manter apenas algumas das estradas indicadas, deixando as restantes em degradação (e, a longo prazo, poderão mesmo ficar intransitáveis). Contudo, assegurar-se-á que, entre quaisquer duas localidades, possa haver algum caminho que envolva apenas estradas com manutenção. Os custos de manutenção em cada troço indicado em E são de 5, 3, 5, 4, 8, 3, 1 e 2 respectivamente. Que estradas manteria? 2. (*) Seja P = {Portugal, Espanha, França, Alemanha, Bélgica, Luxemburgo, Holanda, Itália, Grécia, Austria, Reino Unido, Irlanda, Suécia, Dinamarca, Finlândia}, e seja F o conjunto de pares não ordenados x, y tais que x tem fronteira terrestre com y (e vice-versa), sendo x e y quaisquer países diferentes. (a) Determine o conjunto F em extensão. (b) Desenhe um grafo G cujos nós correspondam aos países e os ramos aos elementos de F. (c) Determine o conjunto de nós acessíveis de cada nó. Identifique as componentes conexas de G. Recorde que se chama componente conexa a cada subgrafo conexo de G que deixe de ser conexo se se tentar acrescentar ao seu conjunto de vértices mais algum dos que lá não estão. Deste modo, cada componente conexa é constituída por um conjunto máximo de vértices que são todos acessíveis uns dos outros. 3. (*) Desenhe um grafo em que cada nó representa um inteiro não negativo inferior a 30 e cada ramo x, y indica que x e y dão o mesmo resto quando divididos por 6, sendo x e y quaisquer dois nós tais que x y. 1
(a) Verifique que esse grafo tem seis componentes conexas, cada uma delas sendo um subgrafo completo (isto é, um grafo em cada par de nós está ligado por um ramo). (b) Indique outra característica que esse grafo tem e que lhe pareça interessante. Como seria o grafo se em vez de 30 se considerasse o inteiro 6k, para um k Z + fixo? 4. Seja A = {a i 1 i 15} o conjunto dos participantes num seminário, O = {f 1, f 2, f 3, f 4, f 5 } o conjunto de oradores e P = {p k 1 k 10} um conjunto de palestras. A tabela seguinte contém informação sobre os participantes que estão interessados em cada palestra, indicando ainda o orador respectivo. palestra participantes orador p 1 a 1, a 2, a 3, a 8, a 9 f 3 p 2 a 1, a 3, a 4, a 5 f 1 p 3 a 2, a 5, a 7 f 2 p 4 a 11, a 12, a 13, a 15 f 1 p 5 a 10, a 11, a 12, a 13 f 4 palestra participantes orador p 6 a 1, a 4, a 6, a 7 f 2 p 7 a 6, a 7 f 5 p 8 a 11, a 12, a 13, a 7 f 2 p 9 a 6, a 4 f 4 p 10 a 14, a 15 f 1 Se duas palestras forem proferidas pelo mesmo orador, não vão poder decorrer em simultâneo. Por outro lado, também se vai querer garantir que não haja sobreposição de horários das palestras que um dado participante tenha interesse em ouvir. Considere os conjuntos de pares R, S e T assim definidos. R = { a, p o participante a está interessado na palestra p, a A, p P } S = { p, f f é o orador da palestra p, f O, p P } T = { p, q as palestras p e q não podem decorrer em paralelo, p, q P } (a) Desenhe os três grafos (não dirigidos) que sirvam de modelo à situação: G 1 = (A P, R): O conjunto de vértices é A P e o conjunto de ramos é R. G 2 = (O P, S): O conjunto de vértices é O P e o conjunto de arestas é S. G 3 = (P, T ): O conjunto de vértices é P e o conjunto de ramos é T. Verifique que G 1 e G 2 são grafos bipartidos (isto é, tais que é possível separar o conjunto de vértices em dois conjuntos de modo que nenhum par de vértices que pertençam ao mesmo conjunto estejam ligados por um ramo). Como se pode construir G 3 por análise de G 2 e G 1? (b) Supondo que cada palestra tem a duração de 1h pretende-se determinar um horário que minimize o número de horas do seminário, sabendo que há pelo menos cinco salas disponíveis (ou seja, que o número de salas disponíveis não impõe restrições adicionais). i. Pode-se mostrar que a duração mínima do seminário (em horas) é o número mínimo de cores necessárias para colorir os vértices de G 3 de forma que quaisquer dois vértices que estejam ligados por um ramo fiquem com cor diferente. (A esse número chama-se número cromático do grafo.) Usando esse resultado, determine horários óptimos para os subproblemas definidos apenas pelas cinco primeiras palestras e apenas pelas oito primeiras. ii. [ ] Tente justificar (formalmente) o resultado enunciado em (i). Grafos dirigidos isomorfos Grafos dirigidos 2
5. (*) Seja D 30 o conjunto D 30 dos divisores positivos de 30. Seja P {2,3,5} o conjunto dos subconjuntos de {2, 3, 5} (recorde que o conjunto vazio é subconjunto de qualquer conjunto e que qualquer conjunto é subconjunto de si mesmo). (a) Desenhe o grafo G 1 cujo conjunto de nós é D 30 e cada arco (orientado) (x, y) representa o facto de x dividir y, para x, y D 30. (b) Simplifique G 1 retirando todos os arcos (x, x) e todos os (x, z) tais que exista y tal que (x, y) e (y, z) também são arcos do grafo. Seja G 1 o grafo resultante. (c) Desenhe um grafo G 2 cujo conjunto de nós é P {2,3,5} e cada arco (X, Y ) representa o facto de X ser subconjunto de Y (ou seja, X Y ). (d) Em seguida, simplifique G 2, desenhando o grafo G 2 que se obtem quando se retiram todos os arcos (X, X) e todos os (X, Z) tais que exista Y tal que (X, Y ) e (Y, Z) também são arcos do grafo. (e) Justifique que G 1 e G 2 são isomorfos, ou seja, determine uma bijecção de D 30 em P {2,3,5} que mostre que os dois grafos têm exactamente a mesma estrutura. Verifique que a mesma bijecção permite mostrar que os dois grafos G 1 e G 2 também são isomorfos. (f) Sejam x e y dois quaisquer divisores de 30. Localize em G 1 o mdc(x, y) e o mmc(x, y). Quais os conjuntos que lhes correspondem em G 2? E generalizando... 6. Por definição, um conjunto não tem elementos repetidos, chamando-se multiconjunto caso se pretenda que possa ter elementos repetidos. Se X e Y forem multiconjuntos, dizemos que X é subconjunto de Y (escrevendo X Y ) se cada elemento de X ocorrer pelo menos tantas vezes em Y como em X. Suponha agora que D n é o conjunto dos divisores positivos de n e F n um multiconjunto de primos cujo produto é n. Por exemplo, se n = 20, D 20 = {1, 2, 4, 5, 10, 20} e F 20 = {2, 2, 5}. Se n = 1176 então F 1176 = {2, 2, 2, 3, 7, 7}, etc. (a) Imagine o grafo cujo conjunto de nós é D n e cada arco (x, y) traduz o facto de x ser divisor de y. Imagine o grafo em que cada nó é um subconjunto de F n e cada arco (X, Y ) traduz o facto de X Y. O que têm os dois grafos em comum? Justifique que são isomorfos. Que propriedade do conjunto de divisores de n traduz? (b) [ ] Imagine a simplificação dos dois grafos, como no exercício anterior. Sejam x e y dois quaisquer divisores de n. Localize o mdc(x, y) e o mmc(x, y) nos grafos mais simples. E ainda... 7. Sendo (x 1, x 2,..., x k ) e (y 1, y 2,..., y k ) vectores de inteiros com k elementos, diz-se que (x 1, x 2,..., x k ) é maior do que (y 1, y 2,..., y k ) segundo a ordem lexicográfica sse existir j tal que j k, x j > y j e x i = y i para todo i < j. Caso contrário, diz-se que é menor ou igual. (a) Determine todos os ternos de inteiros não negativos que não excedem (3, 1, 2) segundo a ordem lexicográfica. Represente o grafo que traduz esta relação de ordem (o arco (x, y) representa o facto de x ser menor ou igual a y). (b) Verifique que 1176 = 2 3 3 1 7 2. Represente o grafo cujos vértices são os divisores positivos de 1176 (isto é D 1176 ) e cada arco (x, y) representa o facto de x ser divisor de y. (c) O que há de comum entre os dois grafos? 3
(d) Como se pode generalizar este resultado para qualquer inteiro positivo n? Grafos dirigidos como modelos dalguns problemas... 8. (*) Seja L = {a 1, a 2, a 3, a 4, a 5 } um conjunto de línguas e P = {i 1, i 2, i 3,..., i 10 } um conjunto de indivíduos. As tabelas seguintes contêm informação sobre as línguas que cada indivíduo fala. i 1 a 1, a 2 i 2 a 2, a 3 i 3 a 1, a 3 i 4 a 4, a 5 i 5 a 4 i 6 a 4, a 5 i 7 a 5 i 8 a 1 i 9 a 2 i 10 a 3 (a) Desenhe um grafo em que cada nó representa um indivíduo e cada arco (x, y) representa o facto de x poder falar com y (numa língua comum). Assuma que qualquer indivíduo pode falar consigo mesmo. (b) Considere agora que o indivíduo x consegue comunicar com y se falar uma língua em comum ou se existir um conjunto de indivíduos que sirvam de intérpretes. Por exemplo, i 1 e i 2 podem servir de intérpretes entre i 8 e i 10, para que estes consigam comunicar. Desenhe um grafo em que cada nó representa um indivíduo e cada arco (x, y) representa o facto de x poder comunicar com y. (c) Que características tem o primeiro grafo que o segundo também tem? Que características tem o segundo que o primeiro não tem? (d) Como é que se constrói o segundo grafo a partir do primeiro? 9. Considere a construção duma barragem hidroeléctrica a qual envolve as operações (tarefas) que constam da tabela seguinte. Tarefa Descrição Duração Tarefas (em meses) anteriores A construção de estradas de acesso 4 B preparação do terreno 6 A C construção de habitações para o pessoal e do 4 edifício para a administração D encomenda de material eléctrico e hidráulico 12 E construção da central 10 B, C F construção da barragem, diques 24 B, C G construção das galerias e condutas 7 A H montagem das máquinas 10 D, E, G I ensaio de funcionamento 3 F, H As tarefas indicadas na coluna da direita são algumas das que precedem a tarefa descrita, devendo-se também considerar que, por exemplo, C precede I, já que C precede E, E precede H e H precede I. (a) Desenhe um grafo que traduza a informação dada na tabela, identificando cada nó com uma tarefa e ligando a tarefa x à tarefa z por um arco se x preceder z e não existir uma tarefa y tal que x precede y e y precede z. (b) Como é que, por análise do grafo que desenhou, consegue perceber se uma tarefa precede outra? 4
(c) Suponha que x e y podem decorrer em paralelo (simultâneo) se x não preceder y nem y preceder x. Associe a cada nó a duração da tarefa correspondente. Considerando a data de início do projecto como mês 0, determine, por análise do grafo, uma data de início para cada tarefa, supondo que cada tarefa tem início logo que todas as que a precedem tiverem terminado. Quanto tempo demora a construir a barragem, no mínimo? Quais são as tarefas que não se podem atrasar? 10. Desenhe o grafo cujos vértices são a, b, c, d, e e f e o conjunto de arcos é definido pela tabela de adjacências seguinte: a b, e b c, d d f, e e b f c, e Considerando que os nós representam tarefas dum projecto, justifique que tal grafo não pode traduzir a relação de precedência entre tarefas porque tem ciclos (ou seja, porque não é acíclico). 5