Escolar Documentos
Profissional Documentos
Cultura Documentos
Introdução
Ferramenta poderosa e versátil na resolução de problemas
combinatórios.
Introdução à Teoria dos Grafos Neste tipo de abordagem, partimos do problema particular para
o problema genérico.
O enfoque é bem sucedido quando podemos:
i) obter a solução do problema genérico a partir da solução de
exemplares menores do problema (com n – 1 elementos, por
Instituto Multidisciplinar exemplo, sendo n o número de elementos do problema
Universidade Federal Rural do Rio de Janeiro generico);
ii) determinar trivialmente a solução de alguns exemplares do
problema (com 1 elemento, por exemplo). (Ver [1].)
Exemplos: Temos
1) F1 = 1
f n = cn −1 f n −1 + cn −2 f n −2 + L + cn − k f n −k + g (n) (1)
F2 = 1
F = F + F , para n ≥ 3. sendo
n n −1 n−2
cn−1 , cn −2 , … , cn−k constantes, e
2) b1 = 1 g (n) uma função de n .
b2 = 3
b = b + 2b , para n ≥ 3.
n n −1 n−2
Temos Temos
sendo sendo
cn−1 , cn −2 , … , cn−k constantes, e cn−1 , cn −2 , … , cn−k constantes, e
g (n) uma função de n . g (n) uma função de n .
A relação de recorência linear é dita homogênea se g ( n) = 0 , A relação de recorência linear é dita homogênea se g ( n) = 0 ,
e não-homogênea caso contrário. e não-homogênea caso contrário.
Se consideramos que a solução da equação (1) é uma função
exponencial, f n = α n (com incógnita α ), então temos
α n = cn −1α n −1 + cn − 2α n − 2 + L + cn − kα n − k , (2)
1
Relações de Recorrência Relações de Recorrência
2
Relações de Recorrência Relações de Recorrência
1
α 2 −α − 2 = 0
2
Como solução do sistema linear, temos A= e B= .
3 3 cujas raízes são α1 = 2 e α 2 = −1 .
2 n +1
+ (−1) n un = Aα1n + Bα 2n .
bn = .
3
1 disco 1 disco
A B C A B C 1 passo
1 disco
✔ 2 discos
Ok!
A B C 1 passo A B C
3
Relações de Recorrência Relações de Recorrência
2 discos 2 discos
A B C A B C
pino pino
temporário temporário
2 discos 2 discos
A B C 1 passo A B C 1 passo
pino pino
temporário temporário
2 discos 2 discos
A B C 2 passos A B C 2 passos
4
Relações de Recorrência Relações de Recorrência
pino
temporário
2 discos 2 discos
✔
Ok!
A B C 3 passos A B C 3 passos
3 discos 3 discos
A B C A B C
3 discos 3 discos
A B C A B C 3 passos
5
Relações de Recorrência Relações de Recorrência
3 discos 3 discos
A B C 3 passos A B C 4 passos
3 discos 3 discos
A B C 4 passos A B C 7 passos
3 discos
✔ n discos
Ok!
A B C 7 passos A B C
6
Relações de Recorrência Relações de Recorrência
n discos n discos
A B C A B C
n discos n discos
T(n – 1) T(n – 1)
A B C passos A B C passos
n discos n discos
T(n – 1) + 1 T(n – 1) + 1
A B C passos A B C passos
7
Relações de Recorrência Relações de Recorrência
n discos n discos ✔
Ok!
T(n – 1) + 1 2T(n – 1)
A B C + T(n – 1) passos A B C + 1 passos
Problema das Torres de Hanoi Para a resolução de relações de recorrência lineares não-
homogêneas, consideramos a equação a seguir
n discos
f n = cn −1 f n −1 + cn −2 f n −2 + L + cn − k f n −k + g (n) (6)
A B C
n -1 discos n -1 discos n -1 discos
supondo agora que g (n) não seja identicamente nula.
A B C A B C A B C
Chamamos de equação de recorrência homogênea associada a
Hanoi(int n,int A,int B,int C) { equação obtida de (6) fazendo-se g ( n) = 0 .
if(n==1) Move(A,B); // Imprimir n (discos) T(n) (passos)
else { 1 1 A soma p(n) + h(n) de uma solução particular p(n) de
Hanoi(n-1, A, C, B); 2 3
Move(A,B); 3 7
uma equação de recorrência não-hemegênea e de uma solução
Hanoi(n-1, C, B, A); geral h(n) da equação homogênea associada é uma solução da
...
...
} n 2n – 1 ?
equação não-homogênea.
} Exercício: Sendo T(n) = 2T(n – 1 ) + 1, prove por indução que T(n) = 2n – 1 .
Para que p(n) + h(n) satisfaça a relação de recorrência em O valor da constante A é obtido substituindo-se a solução na
estudo é também necessário exigir que as condições iniciais equação de recorrência de mdo que esta seja satisfeita para todo
sejam atendidas. n considerado. Se q é uma raiz de multiplicidade m da
equação característica a solução particular é A ⋅ n m ⋅ q n , onde A
Uma dificuldade para obtermos a solução no caso não- deve ser obtido como no caso anterior.
homogêneo é determinarmos a forma para a solução particular.
2. g (n) = c ⋅ n k , onde c e k são constantes. Se 1 não é raiz
Não existem regras gerais que sirvam para identificar soluções da equação característica a solução particular é o polinômio
particulares para qualquer tipo de função g (n) .
A0 + A1n + A2 n 2 + L + Ak n k .
Saberemos resolver dois casos especiais:
Se 1 é uma raiz de multiplicidade m a solução particular é
1. g (n) = c q n , onde c e q são constantes. Neste caso, o polinômio
temos duas possibilidades. Se q não é uma raiz da equação
A0 n m + A1n m+1 + A2 n m+2 + L + Ak n m+ k .
característica da equação homogênea associada, então a solução
particular é A ⋅ q n . As constantes são obtidas como no item 1.
8
Relações de Recorrência Relações de Recorrência
A = 2A +1 ,
1) Problema das Torres de Hanoi
obtendo A = −1 .
A equação
A equação homogênea associada é dada por
Tn = 2Tn−1 + 1
hn = 2hn−1
se encaixa no item 2, com c = 1 e k = 0 . e sua solução é dada por
A equação característica é dada por h(n) = B ⋅ 2 n .
α −2 =0 . Somando as duas soluções, obtemos
Visto que 1 não é raiz da equação característica, a solução p(n) + h(n) = −1 + B ⋅ 2 n .
particular a ser considerada é o polinômio de grau zero A .
V = {v1, v2 , v3 , v4 , v5 , v6 , v7 }
E=
e1 = (v1, v2) e5 = (v1, v5) e9 = (v3, v6) e13 = (v6, v7)
e2 = (v2, v3) e6 = (v1, v6) e10 = (v4, v7) e14 = (v7, v2)
e3 = (v3, v4) e7 = (v1, v7) e11 = (v4, v6)
e4 = (v4, v5) e8 = (v3, v7) e12 = (v5, v6)
Definições Definições
Um grafo G é um par Um grafo G é um par
e5 v1
ordenado G = (V, E) onde V G e1 ordenado G = (V, E) onde V G
e6 e7
é um conjunto finito, não v5 e12 é um conjunto finito, não
v6 e13 e14 v2
vazio, de elementos denomi- e4 e11 v7 vazio, de elementos denomi-
nados vértices e E é um con- v4 e10 e9 e8 e2
nados vértices e E é um con-
u
junto de pares não ordena- e3
junto de pares não ordena-
v3 e v
dos distintos de V denomi- dos distintos de V denomi-
nados arestas. (Ver [2].) nados arestas. (Ver [2].)
Se e = (u,v) é uma aresta de G, dizemos que u e v são adjacentes Se e = (u,v) é uma aresta de G, dizemos que u e v são adjacentes
ou vizinhos em G. Neste caso, tais vértices são as extremidades da ou vizinhos em G. Neste caso, tais vértices são as extremidades da
aresta e a aresta é incidente aos vértices u e v. aresta e a aresta é incidente aos vértices u e v.
9
Introdução à Teoria dos Grafos Introdução à Teoria dos Grafos
Definições Definições
A ordem do grafo G é o A ordem do grafo G é o
e5 v1 e5 v1
número de vértices de V, G e1 número de vértices de V, G e1
e6 e7 e6 e7
denotado por | V |. v5 e12 denotado por | V |. v5 e12
v6 e13 e14 v2 v6 e13 e14 v2
e4 e11 v7 e4 e11 v7
O número de arestas de E é O número de arestas de E é
v4 e10 e9 e8 e2 v4 e10 e9 e8 e2
denotado por | E |. denotado por | E |.
e3 v3 e3 v3
|V | = 7 |E | = 14
Dado um grafo G qualquer, Dado um grafo G qualquer,
temos | V | = n e | E | = m. temos | V | = n e | E | = m.
A vizinhança de um vértice é o conjunto de seus vizinhos. A vizinhança de um vértice é o conjunto de seus vizinhos.
O grau de um vértice é o número de vizinhos que ele contém, ou o O grau de um vértice é o número de vizinhos que ele contém, ou o
número de arestas incidentes a ele. número de arestas incidentes a ele.
Definições Definições
A ordem do grafo G é o A ordem do grafo G é o
e5 v1 e5 v1
número de vértices de V, G e1 número de vértices de V, G e1
e6 e7 e6 e7
denotado por | V |. v5 e12 denotado por | V |. v5 e12
v6 e13 e14 v2 v6 e13 e14 v2
e4 e11 v7 e4 e11 v7
O número de arestas de E é O número de arestas de E é
v4 e10 e9 e8 e2 v4 e10 e9 e8 e2
denotado por | E |. n=7 denotado por | E |.
e3 v3 e3 v3
m = 14
Dado um grafo G qualquer, Dado um grafo G qualquer,
temos | V | = n e | E | = m. temos | V | = n e | E | = m.
A vizinhança de um vértice é o conjunto de seus vizinhos. A vizinhança de um vértice é o conjunto de seus vizinhos.
O grau de um vértice é o número de vizinhos que ele contém, ou o O grau de um vértice é o número de vizinhos que ele contém, ou o
número de arestas incidentes a ele. número de arestas incidentes a ele.
Definições Definições
A ordem do grafo G é o Um vértice de grau zero é um
e5 v1 v1
número de vértices de V, G e1 vértice isolado. G d(v5) = 0 e1
e6 e7 e6 e7
denotado por | V |. v5 e12 v5
v6 e13 e14 v2 Quando | V | = 1 o grafo G é v6 e11 e5 v2
e4 e11 v7 e4 v7
O número de arestas de E é dito trivial.
v4 e10 e9 e8 e2 v4 e10 e9 e8 e2
denotado por | E |.
d(v4) = 4 e3 v3 Em uma representação e3 v3
Dado um grafo G qualquer, gráfica, ou diagrama, de um
temos | V | = n e | E | = m. grafo G = (V, E), associamos
a cada vértice v um ponto no plano e a cada aresta (v, w) um
A vizinhança de um vértice é o conjunto de seus vizinhos. segmento de reta unindo os dois pontos referentes a v e a w.
O grau de um vértice é o número de vizinhos que ele contém, ou o Um grafo G’ = (V’,E’) é um subgrafo de G = (V,E) quando V’ é um
número de arestas incidentes a ele. subconjunto de V e E’ é um subconjunto de E.
10
Introdução à Teoria dos Grafos Introdução à Teoria dos Grafos
Definições Definições
Um vértice de grau zero é um Um vértice de grau zero é um
e5 v1
vértice isolado. G vértice isolado. G e1
e6 e7
v5 e12
Quando | V | = 1 o grafo G é v1 Quando | V | = 1 o grafo G é e13 e14 v2
e4 e11 v6
v7
dito trivial. dito trivial.
v4 e10 e9 e8 e2
Em uma representação Em uma representação e3 v3
gráfica, ou diagrama, de um gráfica, ou diagrama, de um
grafo G = (V, E), associamos grafo G = (V, E), associamos
a cada vértice v um ponto no plano e a cada aresta (v, w) um a cada vértice v um ponto no plano e a cada aresta (v, w) um
segmento de reta unindo os dois pontos referentes a v e a w. segmento de reta unindo os dois pontos referentes a v e a w.
Um grafo G’ = (V’,E’) é um subgrafo de G = (V,E) quando V’ é um Um grafo G’ = (V’,E’) é um subgrafo de G = (V,E) quando V’ é um
subconjunto de V e E’ é um subconjunto de E. subconjunto de V e E’ é um subconjunto de E.
Definições Definições
Um vértice de grau zero é um Um subgrafo de cobertura de
e5 v1
vértice isolado. um grafo G é um grafo cujos G e1
e6 e7
vértices são os vértices de G. v5 e12
Quando | V | = 1 o grafo G é v6 e13 e14 v2 v6 e13 e14 v2
e11 v7 e4 e11 v7
dito trivial. Um subgrafo induzido de
v4 e10 e8 e2 v4 e10 e9 e8 e2
um grafo G = (V,E) é um
Em uma representação G’ e3 v3 subgrafo G’ = (V’,E’) cujas as e3 v3
gráfica, ou diagrama, de um arestas são todas as arestas
grafo G = (V, E), associamos de G cujas extremidades
a cada vértice v um ponto no plano e a cada aresta (v, w) um estão em V’.
segmento de reta unindo os dois pontos referentes a v e a w.
Neste caso, dizemos que G’ é o subgrafo de G induzido por V’. Se
Um grafo G’ = (V’,E’) é um subgrafo de G = (V,E) quando V’ é um G = (V,E) e se E’ ⊆ E, então o subgrafo induzido por E’ é G’ =
subconjunto de V e E’ é um subconjunto de E. (V’,E’), onde V’ é o conjunto das extremidades das arestas de E’.
Definições Definições
Um subgrafo de cobertura de Um subgrafo de cobertura de
v1 e5 v1
um grafo G é um grafo cujos um grafo G é um grafo cujos G e1
e6 e6 e7
vértices são os vértices de G. v5 e12 vértices são os vértices de G. v5 e12
v6 e13 e14 v2 v6 e13 e14 v2
e11 v7 e4 e11 v7
Um subgrafo induzido de Um subgrafo induzido de
v4 e9 e2 v4 e10 e9 e8 e2
um grafo G = (V,E) é um um grafo G = (V,E) é um
subgrafo G’ = (V’,E’) cujas as G’ v3 subgrafo G’ = (V’,E’) cujas as e3 v3
arestas são todas as arestas arestas são todas as arestas
de G cujas extremidades de G cujas extremidades
estão em V’. estão em V’.
Neste caso, dizemos que G’ é o subgrafo de G induzido por V’. Se Neste caso, dizemos que G’ é o subgrafo de G induzido por V’. Se
G = (V,E) e se E’ ⊆ E, então o subgrafo induzido por E’ é G’ = G = (V,E) e se E’ ⊆ E, então o subgrafo induzido por E’ é G’ =
(V’,E’), onde V’ é o conjunto das extremidades das arestas de E’. (V’,E’), onde V’ é o conjunto das extremidades das arestas de E’.
11
Introdução à Teoria dos Grafos Introdução à Teoria dos Grafos
Definições Definições
Um subgrafo de cobertura de Um subgrafo de cobertura de
um grafo G é um grafo cujos um grafo G é um grafo cujos
vértices são os vértices de G. v5 e12 vértices são os vértices de G. v5 e12
v6 e13 e14 v2 v6 e13 e14 v2
e4 e11 v7 e4 e11 v7
Um subgrafo induzido de Um subgrafo induzido de
v4 e10 e9 e8 e2 v4 e10 e9 e8 e2
um grafo G = (V,E) é um um grafo G = (V,E) é um
subgrafo G’ = (V’,E’) cujas as G’ e3 v3 subgrafo G’ = (V’,E’) cujas as G’ e3 v3
arestas são todas as arestas arestas são todas as arestas
de G cujas extremidades de G cujas extremidades
estão em V’. estão em V’.
Neste caso, dizemos que G’ é o subgrafo de G induzido por V’. Se Neste caso, dizemos que G’ é o subgrafo de G induzido por V’. Se
G = (V,E) e se E’ ⊆ E, então o subgrafo induzido por E’ é G’ = G = (V,E) e se E’ ⊆ E, então o subgrafo induzido por E’ é G’ =
(V’,E’), onde V’ é o conjunto das extremidades das arestas de E’. (V’,E’), onde V’ é o conjunto das extremidades das arestas de E’.
Referências
[1] J.P.O. Santos, M.P. Mello, I.T.C. Murari. “Introdução à Análise Combinatória”. 4a
Edição. Ciência Moderna, 2008.
[2] O. Cogis, C. Robert. Théorie des Graphes – Au-delà des Ponts de Königsberg –
Problèmes, Théorèmes, Algorithmes, Vuibert, 2003.
[3] T.H. Cormen, C.E. Leiserson, R.L. Rivest, Introduction to Algorithms, MIT Press, 1990.
12