aula4

23
TEORIA DOS GRAFOS ÁRVORES Profa. Patrícia D. L. Machado, DSC/UFCG, 2012.1

Transcript of aula4

Page 1: aula4

TEORIA DOS GRAFOS ÁRVORES Profa. Patrícia D. L. Machado, DSC/UFCG, 2012.1

Page 2: aula4

PROBLEMA

¢ Que Dispositivo para Video Game devo comprar? PC, Wii, XBOX, PS3? ¢ Como Guiar esta Escolha?

¢ Vamos definir um grafo que represente este

problema e suas possíveis soluções de forma não ambígua. Ou seja, usaremos uma argumentação que direcione de forma não ambígua a escolha de cada dispositivo.

Page 3: aula4

QUE DISPOSITIVO COMPRAR?

http://www.colmeia.tv/blog/2008/03/26/arvore-de-decisao-para-gamers/

Este grafo possui

ciclos?

Este grafo é

desconectado?

Page 4: aula4

QUE DISPOSITIVO COMPRAR?

http://www.colmeia.tv/blog/2008/03/26/arvore-de-decisao-para-gamers/

Este grafo possui

ciclos?

Este grafo é

desconectado?

Ambos J

Page 5: aula4

DEFINIÇÃO

¢ Uma árvore (tree) é um grafo acíclico (sem ciclos) conectado.

¢ Todo componente de um grafo acíclico é uma árvore. Portanto grafos acíclicos são usualmente chamados de florestas (forest).

Page 6: aula4

DEFINIÇÃO

¢ Teorema 4.1. Em uma árvore, quaisquer dois vértices são conectados por exatamente um caminho.

¢ Todo grafo no qual todos os vértices contém grau mínimo 2, contém um ciclo. Portanto, um árvore contém um vértice com grau máximo 1. Este vértice é chamado de folha (leaf).

Page 7: aula4

DEFINIÇÃO

¢ Proposição 4.2. Toda árvore não-trivial possui no mínimo 2 folhas.

¢ Teorema 4.3. Se T é uma árvore, então e(T) = v(T) -1.

Page 8: aula4

APLICAÇÕES: ÁRVORE GENEALÓGICA

Page 9: aula4

APLICAÇÕES: ORGANOGRAMA

Figure from http://www.ctvidaplena.org.br/organograma_institucional.htm

Page 10: aula4

APLICAÇÕES: ÁRVORE SINTÁTICA

Figure from: http://osl.iu.edu/~pgottsch/swc2/lec/style.html

statement_sequence

assignment

var constant

print

value_sequence

function_call

arg_list

var for_loop

[ ] result

max

result

result = []

for val in seq:

result.append(analyze(vol))

print max (result)

Page 11: aula4

APLICAÇÃO: ÁRVORE DE DECISÃO

Figure from http://www.igvita.com/2007/04/16/decision-tree-learning-in-ruby/

Page 12: aula4

ÁRVORE COM RAIZ E GALHOS

¢ Uma árvore com raiz (rooted tree) T(x) é uma árvore T com um vértice x chamado de raiz de T.

¢ Uma orientação de T(x) na qual todo vértice possui grau de entrada igual a 1, exceto a raiz, é chamada de árvore enraizada (branching).

¢ Usamos os termos x-árvore com raiz

ou x-árvore enraizada.

Page 13: aula4

ÁRVORES GERADORAS

¢ Uma subárvore de um grafo é um subgrafo que também é uma árvore. Se esta árvore é um subgrafo gerador, então é chamada de árvore geradora (spanning tree).

D

C A E

B

D

C A E

B

Page 14: aula4

ÁRVORES GERADORAS

¢ Teorema. Um grafo é conectado sss possui uma árvore geradora.

Se G é um grafo conectado, mas não é uma árvore, e e é uma aresta de um ciclo de G, então G\e é um subgrafo gerador conectado, pois e não é uma aresta de corte (proposição). Sucessivamente, obtemos uma árvore geradora.

Se um grafo G possui uma árvore geradora T, então G é conectado, pois quaisquer dois vértices de G são conectados por um caminho em T e, portanto, em G.

Page 15: aula4

ÁRVORES GERADORAS

¢ Toda árvore é um grafo bipartido.

Page 16: aula4

ÁRVORES GERADORAS

¢ Toda árvore é um grafo bipartido.

Page 17: aula4

ÁRVORES GERADORAS

¢ Teorema. Um grafo é bipartido sss não contém ciclo ímpar.

¢ Um grafo é bipartido ou um grafo contém um ciclo ímpar, mas não os ambos. x1 x2 x3

y1 y2 y3

x1 x2 x3

y1 y2 y3

Page 18: aula4

CO-ÁRVORES

¢ O complemento de uma árvore geradora T é chamado de co-árvore e é denotado por T

1

2

3

4

5 6

7 8

Page 19: aula4

CO-ÁRVORES

¢ O complemento de uma árvore geradora T é chamado de co-árvore e é denotado por T

E(T)={1,2,4,5}

E(T) = {6,7,8,3}

1

2

3

4

5 6

7 8

Page 20: aula4

CO-ÁRVORES

¢ Para cada aresta e := xy de uma co-árvore de um grafo G, existe um único xy-caminho em T conectando seus terminais, chamado P:=xTy.

¢ Assim T+e contém um único ciclo. Este ciclo é chamado de fundamental com relação a T e e.

e = 3 e = ? e =? e = ?

1

2 4

5 6

7 8

3

Page 21: aula4

MATRÓIDES

¢ Um Matroide é um par ordenado (E, B), consistindo de um conjunto finito E de elementos e uma família B de subconjuntos de E, chamados de bases, que satisfazem a seguinte propriedade de troca

Se B1, B2 Î B e e Î B1\B2

então existe f Î B2\B1 tal que (B1\{e}) È { f } Î B

Exemplo: E = {a,b,c,d} e B ={{a,b},{a,c},{b,c},{a,d},{c,d}}

B1 = {a,b} e B2 = {c,d}. Se e = b e f = c, então

B1\{b} U {c} Î B

(E,B) é um matróide?

Page 22: aula4

PROPRIEDADE DA TROCA (TREE EXCHANGE PROPERTY)

¢ Seja G um grafo conectado e T1 e T2 os conjuntos de arestas de duas árvores geradoras de G. Seja eÎ T1\T2. Então: � Existe uma aresta f Î T2\T1 tal que (T1\{e}) È {f} é

uma árvore geradora de G� Existe uma aresta f Î T2\T1 tal que (T2\{f}) È {e} é

uma árvore geradora de G

T1 T2

T1 = {DA, EA, AB, CB}

T2 = {DE, DC, AB, CB}

e = EA, f = ?

e = DA, f = ?

Page 23: aula4

EXERCÍCIOS

¢ Exercícios em Teoria dos Grafos: EI 1.219 ... EI 1.235

¢ E 1.229 Seja v uma folha de uma árvore T. Mostre que T - v é uma árvore.

¢ E 1.224 Seja e uma das arestas de uma floresta F. Mostre que c(F/e) = c(F) + 1.

¢ EI 1.233 Seja G um grafo conexo tal que m(G) =

n(G) - 1. Prove que G é uma árvore.