CI065 | CI755 Algoritmos e Teoria dos · PDF fileCI065 | CI755 Algoritmos e Teoria dos Grafos...

download CI065 | CI755 Algoritmos e Teoria dos · PDF fileCI065 | CI755 Algoritmos e Teoria dos Grafos Alguns Exerc cios Resolvidos 2 de agosto de 2016 21.Se G e um grafo de 14 v ertices e

If you can't read please download the document

Transcript of CI065 | CI755 Algoritmos e Teoria dos · PDF fileCI065 | CI755 Algoritmos e Teoria dos Grafos...

  • CI065 CI755Algoritmos e Teoria dos Grafos

    Alguns Exerccios Resolvidos

    2 de agosto de 2016

    2 1. Se G e um grafo de 14 vertices e 25 arestas cujos vertices temgraus 3 ou 5, quantos vertices tem grau 3 e quantos tem grau 5?

    2. Generalize o raciocnio para um grafo de n vertices e m arestascujos vertices tem graus d1 ou d2.

    Resposta:

    1.

    3t+ 5c = 2 25,t+ c = 14,

    logo

    t = 10,

    c = 4.

    2. Fazendo

    n1: # vertices de grau d1, e

    n2: # vertices de grau d2,

    temos

    n1d1 + n2d2 = 2m,

    n1 + n2 = n,

    logon1 = n n2,

    1

  • e(n n2)d1 + n2d2 = 2m,

    ou sejand1 + (d2 d1)n2 = 2m

    e portanto,

    n2 =2m nd1d2 d1

    ,

    n1 =nd2 2md2 d1

    .

    2

  • 13 Prove que, se G e um grafo direcionado, entaovV (G)

    +(v) = |A(G)| =

    vV (G)

    (v),

    Resposta:

    Seja G um grafo direcionado e seja M sua matriz de incidencia. Vamoscalcular a soma das entradas de M .

    S(G) =

    aA(G),vV (G)

    M [v, a].

    M :

    a1 a2 . . . amv1 M [v1, a1] M [v1, a2] . . . M [v1, am]v2 M [v2, a1] M [v2, a2] . . . M [v2, am]...

    ......

    . . ....

    vn M [vn, a1] M [vn, a2] . . . M [vn, am]

    Somando pelas linhas de M temos

    S(G) =

    vV (G)

    aA(G)

    M [v, a],

    e como aA(G)

    M [v, a] = +G(v) G(v),

    para cada v V (G), entao

    S(G) =

    vV (G)

    (+G(v)

    G(v)

    ). =

    vV (G)

    +G(v)

    vV (G)

    G(v).

    Somando pelas colunas de M temos

    S(G) =

    aA(G)

    vV (G)

    M [v, a],

    e como vV (G)

    M [v, a] = 0

    para cada a A(G), entao

    S(G) =

    aA(G)

    0 = 0.

    3

  • Entao, vV (G)

    +G(v)

    vV (G)

    G(v) = 0

    ou seja, vV (G)

    +G(v) =

    vV (G)

    G(v).

    Calculando do mesmo modo

    S (G) =

    aA(G),vV (G)

    |M [v, a]|,

    chegamos a vV (G)

    +G(v) +

    vV (G)

    G(v) = 2|A(G)|,

    e da vV (G)

    +G(v) = 2|A(G)| =

    vV (G)

    G(v).

    4

  • 14 Prove queMGT = (MG)

    T ,

    para todo grafo direcionado G, onde MT denota a matriz transpostada matriz M .

    Resposta:

    Basta provar que

    MGT [u, v] = (MG)T [u, v], para todo u, v V (G).

    Sejam u, v V (G). Entao

    MGT [u, v] = 1

    se e somente se(u, v) A(GT ),

    ou seja(v, u) A(G),

    e portantoMG[v, u] = 1,

    ou seja(MG)

    T [u, v] = 1.

    5

  • 30 Prove que um grafo G e bipartido se e somente se E(G) = G(X) paraalgum X V (G) e que, neste caso, {X, V (G)X} e uma biparticaode G.

    Resposta:

    () Considere uma biparticaoX, Y deG. Vamos provar que G(X) = E(G).Como e evidente que G(X) E(G), basta provar queE(G) G(X).Seja entao {x, y} E(G). Como G e bipartido, sem perda de ge-neralidade podemos supor x X e y Y e portanto, {x, y} G(X).

    () Seja X V (G) tal que E(G) = G(X). Para provar quye G ebipartido, basta verificar que X, V (G)X e biparticao de G.Como X, V (G)X e uma particao de V (G), resta somente veri-ficar que X e V (G)X sao independentes.Suponha que houvesse aresta {u, v} E(G) com u, v X. Entao{u, v} 6 G(X) e contrariando a hipotese de que E(G) = G(X).Pelo mesmo argumento conclumos que V (G)X e independente.

    6

  • 78 Seja T a arborescencia resultante de uma busca em largura sobre umgrafo conexo G e seja r sua raiz. Prove que G e bipartido se e somente sed(r, u) e d(r, v) tem paridades diferentes para toda aresta {u, v} GE(S(T )).

    Resposta:

    Seja T a arborescencia resultante de uma busca em largura sobre umgrafo conexo G e seja r sua raiz e seja {u, v} G E(S(T )).Como T e arborescencia resultante de uma busca em largura, entao(Corolario ??) rTu e rTv sao caminhos mnimos em G.

    Como rTu (u, v) e caminho de r a v em G, conclumos que

    |rTv| |rTu (u, v)| = |rTu|+ 1.

    Por argumento analogo, conclumos que

    |rTu| |rTv|+ 1,

    ou seja, os tamanhos dos caminhos rTu e rTv diferem de no maximo 1.

    () Se G e bipartido, entao o circuito fundamental de {u, v} comrelacao a T tem tamanho par e isso so e possvel se os tamanhosdos caminhos rTu e rTv diferem de exatamente 1 e, portanto,d(r, u) e d(r, v) tem paridades diferentes.

    () Se d(r, u) e d(r, v) tem paridades diferentes para toda aresta {u, v} GE(S(T )), entao os conjuntos de vertices de G a distancia pare mpar de r sao independentes e, portanto, G e bipartido.

    7

  • 84 Prove que se T e a arborescencia resultante de uma busca em largurasobre um grafo conexo G e r = r(T ), entao

    |dG(r, u) dG(r, v)| 1, para todo {u, v} E(G S(T )).

    Resposta:

    Seja T a arborescencia resultante de uma busca em largura sobre umgrafo conexo G e seja r = r(T ). Seja ainda {u, v} G E(S(T )).Como T e arborescencia resultante de uma busca em largura, entao(Corolario ??) rTu e rTv sao caminhos mnimos em G e, consequente-mente,

    dG(r, u) = |rTu|, edG(r, v) = |rTv|.

    Como rTu (u, v) e caminho de r a v em G, conclumos que

    |rTv| |rTu (u, v)| = |rTu|+ 1,

    ou seja,|rTv| |rTu| 1,

    isto e,dG(r, v) dG(r, u) 1,

    Por argumento analogo, conclumos que

    dG(r, u) dG(r, v) 1,

    ou seja,|dG(r, u) dG(r, v)| 1.

    8

  • 86 Seja T uma arborescencia geradora de um grafo G produzida por umabusca em profundidade. Prove que

    1. A raiz de T e vertice de corte de G se e somente se tem mais deum filho.

    2. Um vertice v que nao e raiz de T e vertice de corte de G se esomente se tem um filho w tal que nenhum descendente de w evizinho de um ancestral proprio de v.

    3. Uma aresta {u, v} e aresta de corte em G se e somente se (u, v) A(T ) e nenhuma aresta em G liga um descendente de v a umancestral de u.

    Resposta:

    Seja T uma arborescencia geradora de um grafo G produzida por umabusca em profundidade e seja r sua raiz.

    1. () Suponha que r e vertice de corte de G. Como r e raiz de T ,entao cada componente de G r tem que ter um filho de r.Se r e vertice de corte em G, entao G r tem mais de umcomponente e, consequentemente, r tem mais de um filho emT .

    () Suponha que r e vertice de corte de G e tem u e v comofilhos em T . Sejam U e V os descendentes de u e v em T ,respectivamente. Os conjuntos U e V tem que ser disjuntospois nao pode haver vertice em T que seja descendente deambos.Se houvesse caminho de u a v em G r, teramos uma arestaem G(U) ligando um descendente de u a um naodescendentede u, ou seja, uma aresta cruzada em GE(S(T )) com relacaoa T , o que nao e possvel pois T uma arborescencia produzidapor uma busca em profundidade.

    2. () Seja v um e vertice de corte de G que nao e raiz de T e sejap o pai de v. Nestas condicoes, o vertice v tem que ter umfilho w em T tal que p e w estao em componentes diferentesde G v.Suponha agora que w tem um descendente t que e vizinho deum ancestral proprio a de v. Neste caso wTt (t, a) aTp seriacaminho de w a p em G v e v nao seria vertice de corte.

    () Seja v um vertice de T que tem um filho w tal que nenhumdescendente de w e vizinho de um ancestral proprio de v. Se

    9

  • houvesse caminho de w ao pai de v em G v, este caminhoteria que ter ao menos uma aresta fora de S(T ). Como T earborescencia produzida por uma busca em profundidade estaaresta teria que ligar um descendente de w a um ancestralproprio de v.

    3. () Seja {u, v} uma aresta de corte em G. Sem perda de gene-ralidade, podemos supor que u e o pai de v em T e, sendoassim, u e vertice de corte em G. De acordo com o item an-terior, nenhuma aresta em G liga um descendente de v a umancestral de u.

    () Seja (u, v) A(T ) tal que nenhuma aresta em G liga umdescendente de v a um ancestral de u. Se houvesse caminhode u a v em G{u, v} este caminho teria uma aresta fora deS(T ). Como T e arborescencia produzida por uma busca emprofundidade, esta aresta teria que ligar um descendente de va um ancestral u.

    10

  • 92 Seja G um grafo direcionado e considere uma execucao do algoritmoBuscaProfundidade(G). Seja F a floresta direcionada induzida pelosvalores de v.pai | v V (G) e, para cada v V (G) sejam v.pre e v.posos ndices de preordem e posordem computados.

    Prove que

    1. Se (u, v) e arco de F ou arco de avanco com relacao a F , entaou.pre < v.pre < v.pos < u.pos.

    2. Se (u, v) e arco cruzado com relacao a F , entao v.pre < v.pos