DCC-FCUP
Matem´atica para Ciˆencia dos Computadores Outubro, 2005
Folha 3.1
Docente: n : n → ∞ DCC-FCUP
Grafos (n˜
ao dirigidos)
1. (*) Seja V = {a, b, c, d, e, f, g} um conjunto de localidades e seja
E= {ha, bi, ha, f i, hb, ei, hb, gi, hc, ei, hd, f i, hc, gi, hf, gi}
um conjunto em que cada par representa a existˆencia duma estrada que liga as duas locali-dades envolvidas.
(a) Desenhe o grafo G = (V, E), cujos v´ertices correspondem `as localidades e as arestas (i.e., ramos) representam as liga¸c˜oes indicadas.
(Note que ser˜ao usadas indiferentemente as designa¸c˜oes “aresta” e “ramo”. Neste contexto, “n´o” e “v´ertice” tamb´em s˜ao sin´onimos.)
(b) Analisando o grafo, verifique que se pode aceder de qualquer localidade a qualquer outra (ou seja, que o grafo G ´e conexo).
(c) Indique uma estrada que seja imprescind´ıvel para garantir a conectividade. Indique uma outra que n˜ao o seja.
(d) Comece a retirar (“`a 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´arias vezes, removendo de cada vez um conjunto de ramos diferente. O que conclui? O que ´e que os grafos finais tˆem em comum? (A cada um dos grafos finais, chama-se ´arvore de suportede G.)
(e) [] A manuten¸c˜ao das estradas tem custos, pelo que foi decidido passar a manter apenas algumas das estradas indicadas, deixando as restantes em degrada¸c˜ao (e, a longo prazo, poder˜ao mesmo ficar intransit´aveis). Contudo, assegurar-se-´a que, entre quaisquer duas localidades, possa haver algum caminho que envolva apenas estradas com manuten¸c˜ao. Os custos de manuten¸c˜ao em cada tro¸co indicado em E s˜ao de 5, 3, 5, 4, 8, 3, 1 e 2 respectivamente. Que estradas manteria?
2. (*) Seja P = {Portugal, Espanha, Fran¸ca, Alemanha, B´elgica, Luxemburgo, Holanda, It´alia, Gr´ecia, Austria, Reino Unido, Irlanda, Su´ecia, Dinamarca, Finlˆandia}, e seja F o conjunto de pares n˜ao ordenados hx, yi 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˜ao.
(b) Desenhe um grafo G cujos n´os correspondam aos pa´ıses e os ramos aos elementos de F . (c) Determine o conjunto de n´os acess´ıveis de cada n´o. 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´ertices mais algum dos que l´a n˜ao est˜ao. Deste modo, cada componente conexa ´e constitu´ıda por um conjunto m´aximo de v´ertices que s˜ao todos acess´ıveis uns dos outros.
3. (*) Desenhe um grafo em que cada n´o representa um inteiro n˜ao negativo inferior a 30 e cada ramo hx, yi indica que x e y d˜ao o mesmo resto quando divididos por 6, sendo x e y quaisquer dois n´os tais que x 6= y.
DCC-FCUP
(a) Verifique que esse grafo tem seis componentes conexas, cada uma delas sendo um sub-grafo completo (isto ´e, um sub-grafo em cada par de n´os est´a ligado por um ramo). (b) Indique outra caracter´ıstica que esse grafo tem e que lhe pare¸ca interessante. Como
seria o grafo se em vez de 30 se considerasse o inteiro 6k, para um k ∈ Z+
fixo?
4. Seja A = {ai | 1 ≤ i ≤ 15} o conjunto dos participantes num semin´ario, O = {f1, f2, f3, f4, f5}
o conjunto de oradores e P = {pk | 1 ≤ k ≤ 10} um conjunto de palestras. A tabela seguinte
cont´em informa¸c˜ao sobre os participantes que est˜ao interessados em cada palestra, indicando ainda o orador respectivo.
palestra participantes orador p1 a1, a2, a3, a8, a9 f3
p2 a1, a3, a4, a5 f1
p3 a2, a5, a7 f2
p4 a11, a12, a13, a15 f1
p5 a10, a11, a12, a13 f4
palestra participantes orador p6 a1, a4, a6, a7 f2
p7 a6, a7 f5
p8 a11, a12, a13, a7 f2
p9 a6, a4 f4
p10 a14, a15 f1
Se duas palestras forem proferidas pelo mesmo orador, n˜ao v˜ao poder decorrer em simultˆaneo. Por outro lado, tamb´em se vai querer garantir que n˜ao haja sobreposi¸c˜ao de hor´arios das palestras que um dado participante tenha interesse em ouvir.
Considere os conjuntos de pares R, S e T assim definidos.
R = {ha, pi | o participante a est´a interessado na palestra p, a ∈ A, p ∈ P } S = {hp, f i | f ´e o orador da palestra p, f ∈ O, p ∈ P }
T = {hp, qi | as palestras p e q n˜ao podem decorrer em paralelo, p, q ∈ P } (a) Desenhe os trˆes grafos (n˜ao dirigidos) que sirvam de modelo `a situa¸c˜ao:
• G1= (A ∪ P, R): O conjunto de v´ertices ´e A ∪ P e o conjunto de ramos ´e R.
• G2= (O ∪ P, S): O conjunto de v´ertices ´e O ∪ P e o conjunto de arestas ´e S.
• G3= (P, T ): O conjunto de v´ertices ´e P e o conjunto de ramos ´e T .
Verifique que G1e G2s˜ao grafos bipartidos (isto ´e, tais que ´e poss´ıvel separar o
conjun-to de v´ertices em dois conjunconjun-tos de modo que nenhum par de v´ertices que perten¸cam ao mesmo conjunto estejam ligados por um ramo). Como se pode construir G3por an´alise
de G2 e G1?
(b) Supondo que cada palestra tem a dura¸c˜ao de 1h pretende-se determinar um hor´ario que minimize o n´umero de horas do semin´ario, sabendo que h´a pelo menos cinco salas dispon´ıveis (ou seja, que o n´umero de salas dispon´ıveis n˜ao imp˜oe restri¸c˜oes adicionais). i. Pode-se mostrar que a dura¸c˜ao m´ınima do semin´ario (em horas) ´e o n´umero m´ınimo de cores necess´arias para colorir os v´ertices de G3 de forma que quaisquer
dois v´ertices que estejam ligados por um ramo fiquem com cor diferente. (A esse n´umero chama-se n´umero crom´atico do grafo.) Usando esse resultado, determi-ne hor´arios ´optimos 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
Grafos dirigidos isomorfos
DCC-FCUP
5. (*) Seja D30 o conjunto D30 dos divisores positivos de 30. Seja P{2,3,5} o conjunto dos
subconjuntos de {2, 3, 5} (recorde que o conjunto vazio ∅ ´e subconjunto de qualquer conjunto e que qualquer conjunto ´e subconjunto de si mesmo).
(a) Desenhe o grafo G1cujo conjunto de n´os ´e D30e cada arco (orientado) (x, y) representa
o facto de x dividir y, para x, y ∈ D30.
(b) Simplifique G1 retirando todos os arcos (x, x) e todos os (x, z) tais que exista y tal que
(x, y) e (y, z) tamb´em s˜ao arcos do grafo. Seja G01 o grafo resultante.
(c) Desenhe um grafo G2 cujo conjunto de n´os ´e 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 G2, desenhando o grafo G02 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´em s˜ao arcos do grafo.
(e) Justifique que G1 e G2 s˜ao isomorfos, ou seja, determine uma bijec¸c˜ao de D30 em
P{2,3,5} que mostre que os dois grafos tˆem exactamente a mesma estrutura. Verifique
que a mesma bijec¸c˜ao permite mostrar que os dois grafos G0
1e G02tamb´em s˜ao isomorfos.
(f) Sejam x e y dois quaisquer divisores de 30. Localize em G0
1 o mdc(x, y) e o mmc(x, y).
Quais os conjuntos que lhes correspondem em G0 2?
E generalizando . . .
6. Por defini¸c˜ao, um conjunto n˜ao tem elementos repetidos, chamando-se multiconjunto caso se pretenda que possa ter elementos repetidos. Se X e Y forem multiconjuntos, dizemos que X ´e subconjunto de Y (escrevendo X ⊆ Y ) se cada elemento de X ocorrer pelo menos tantas vezes em Y como em X. Suponha agora que Dn´e o conjunto dos divisores positivos de n e Fn um
multiconjunto de primos cujo produto ´e n. Por exemplo, se n = 20, D20= {1, 2, 4, 5, 10, 20}
e F20= {2, 2, 5}. Se n = 1176 ent˜ao F1176= {2, 2, 2, 3, 7, 7}, etc.
(a) Imagine o grafo cujo conjunto de n´os ´e Dn e cada arco (x, y) traduz o facto de x ser
divisor de y. Imagine o grafo em que cada n´o ´e um subconjunto de Fn e cada arco
(X, Y ) traduz o facto de X ⊆ Y . O que tˆem os dois grafos em comum? Justifique que s˜ao isomorfos. Que propriedade do conjunto de divisores de n traduz?
(b) [] Imagine a simplifica¸c˜ao 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 (x1, x2, . . . , xk) e (y1, y2, . . . , yk) vectores de inteiros com k elementos, diz-se que
(x1, x2, . . . , xk) ´e maior do que (y1, y2, . . . , yk) segundo a ordem lexicogr´aficasse existir j
tal que j ≤ k, xj > yj e xi= yipara todo i < j. Caso contr´ario, diz-se que ´e menor ou igual.
(a) Determine todos os ternos de inteiros n˜ao negativos que n˜ao excedem (3, 1, 2) segundo a ordem lexicogr´afica. Represente o grafo que traduz esta rela¸c˜ao de ordem (o arco (x, y) representa o facto de x ser menor ou igual a y).
(b) Verifique que 1176 = 23
31
72
. Represente o grafo cujos v´ertices s˜ao os divisores positivos de 1176 (isto ´e D1176) e cada arco (x, y) representa o facto de x ser divisor de y.
(c) O que h´a de comum entre os dois grafos? 3
DCC-FCUP
(d) Como se pode generalizar este resultado para qualquer inteiro positivo n?
Grafos dirigidos como modelos dalguns problemas. . .
8. (*) Seja L = {a1, a2, a3, a4, a5} um conjunto de l´ınguas e P = {i1, i2, i3, . . . , i10} um conjunto
de indiv´ıduos. As tabelas seguintes contˆem informa¸c˜ao sobre as l´ınguas que cada indiv´ıduo fala.
i1 a1, a2 i2 a2, a3 i3 a1, a3 i4 a4, a5
i5 a4 i6 a4, a5 i7 a5 i8 a1
i9 a2 i10 a3
(a) Desenhe um grafo em que cada n´o 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´erpretes. Por exemplo, i1 e i2 podem servir de int´erpretes entre i8 e i10, para que estes consigam comunicar.
Desenhe um grafo em que cada n´o 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´em tem? Que carac-ter´ısticas tem o segundo que o primeiro n˜ao tem?
(d) Como ´e que se constr´oi o segundo grafo a partir do primeiro?
9. Considere a constru¸c˜ao duma barragem hidroel´ectrica a qual envolve as opera¸c˜oes (tarefas) que constam da tabela seguinte.
Tarefa Descri¸c˜ao Dura¸c˜ao Tarefas
(em meses) anteriores
A constru¸c˜ao de estradas de acesso 4 –
B prepara¸c˜ao do terreno 6 A
C constru¸c˜ao de habita¸c˜oes para o pessoal e do 4 – edif´ıcio para a administra¸c˜ao
D encomenda de material el´ectrico e hidr´aulico 12 –
E constru¸c˜ao da central 10 B, C
F constru¸c˜ao da barragem, diques 24 B, C
G constru¸c˜ao das galerias e condutas 7 A
H montagem das m´aquinas 10 D, E, G
I ensaio de funcionamento 3 F, H
As tarefas indicadas na coluna da direita s˜ao algumas das que precedem a tarefa descrita, devendo-se tamb´em considerar que, por exemplo, C precede I, j´a que C precede E, E precede H e H precede I.
(a) Desenhe um grafo que traduza a informa¸c˜ao dada na tabela, identificando cada n´o com uma tarefa e ligando a tarefa x `a tarefa z por um arco se x preceder z e n˜ao existir uma tarefa y tal que x precede y e y precede z.
(b) Como ´e que, por an´alise do grafo que desenhou, consegue perceber se uma tarefa precede outra?
DCC-FCUP
(c) Suponha que x e y podem decorrer em paralelo (simultˆaneo) se x n˜ao preceder y nem y preceder x. Associe a cada n´o a dura¸c˜ao da tarefa correspondente. Considerando a data de in´ıcio do projecto como mˆes 0, determine, por an´alise 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˜ao as tarefas que n˜ao se podem atrasar?
10. Desenhe o grafo cujos v´ertices s˜ao a, b, c, d, e e f e o conjunto de arcos ´e definido pela tabela de adjacˆenciasseguinte:
a b, e b c, d d f, e
e b
f c, e
Considerando que os n´os representam tarefas dum projecto, justifique que tal grafo n˜ao pode traduzir a rela¸c˜ao de precedˆencia entre tarefas porque tem ciclos (ou seja, porque n˜ao ´e ac´ıclico).