o teorema mestre da complexidade2010/04/23 · o teorema mestre da complexidade enunciado...
TRANSCRIPT
![Page 1: O Teorema Mestre da Complexidade2010/04/23 · O Teorema Mestre da Complexidade Enunciado Tecnicalidades Rigorosamente falando, o enunciado do teorema anterior está informal, pois](https://reader033.vdocuments.com.br/reader033/viewer/2022060815/609466690f9ee85aac231731/html5/thumbnails/1.jpg)
O Teorema Mestre da Complexidade
O Teorema Mestre da Complexidade
Luís Fernando Schultz Xavier da Silveira
Departamento de Informática e Estatística - INE - CTC - UFSC
23 de abril de 2010
![Page 2: O Teorema Mestre da Complexidade2010/04/23 · O Teorema Mestre da Complexidade Enunciado Tecnicalidades Rigorosamente falando, o enunciado do teorema anterior está informal, pois](https://reader033.vdocuments.com.br/reader033/viewer/2022060815/609466690f9ee85aac231731/html5/thumbnails/2.jpg)
O Teorema Mestre da Complexidade
Conteúdo
1 Enunciado
2 DemonstraçãoPreliminaresPeso das FolhasO Primeiro Caso do Teorema MestreO Segundo Caso do Teorema MestreTrabalho no Nó RaizO Terceiro Caso do Teorema Mestre
![Page 3: O Teorema Mestre da Complexidade2010/04/23 · O Teorema Mestre da Complexidade Enunciado Tecnicalidades Rigorosamente falando, o enunciado do teorema anterior está informal, pois](https://reader033.vdocuments.com.br/reader033/viewer/2022060815/609466690f9ee85aac231731/html5/thumbnails/3.jpg)
O Teorema Mestre da Complexidade
Enunciado
Enunciado
TeoremaSeja T : N→ R+
∗ uma função satisfazendo
“T(n) = aT(n
b
)+ f (n)”
para valores a, b ∈N, a > 1 e b > 2, e uma função f : N→ R+∗ .
Então
T ∈
Θ(nlogb a) , ∃ε > 0 : f ∈ O
(nlogb a−ε
)Θ(nlogb a log n
), f ∈ Θ
(nlogb a)
Θ(f ),∃w ∈ (0; 1), x0 ∈N : ∀n > x0,
“af(n
b
)6 f (n)”
![Page 4: O Teorema Mestre da Complexidade2010/04/23 · O Teorema Mestre da Complexidade Enunciado Tecnicalidades Rigorosamente falando, o enunciado do teorema anterior está informal, pois](https://reader033.vdocuments.com.br/reader033/viewer/2022060815/609466690f9ee85aac231731/html5/thumbnails/4.jpg)
O Teorema Mestre da Complexidade
Enunciado
Tecnicalidades
Rigorosamente falando, o enunciado do teorema anterior está
informal, pois ele não trata do “caso base” de T e a divisãonb
pode não ser um número inteiro.
Por outro lado, o enunciado completo não caberia em um slide:-). Vamos então preencher essas lacunas aos poucos.
![Page 5: O Teorema Mestre da Complexidade2010/04/23 · O Teorema Mestre da Complexidade Enunciado Tecnicalidades Rigorosamente falando, o enunciado do teorema anterior está informal, pois](https://reader033.vdocuments.com.br/reader033/viewer/2022060815/609466690f9ee85aac231731/html5/thumbnails/5.jpg)
O Teorema Mestre da Complexidade
Enunciado
Tecnicalidades
Rigorosamente falando, o enunciado do teorema anterior está
informal, pois ele não trata do “caso base” de T e a divisãonb
pode não ser um número inteiro.Por outro lado, o enunciado completo não caberia em um slide:-). Vamos então preencher essas lacunas aos poucos.
![Page 6: O Teorema Mestre da Complexidade2010/04/23 · O Teorema Mestre da Complexidade Enunciado Tecnicalidades Rigorosamente falando, o enunciado do teorema anterior está informal, pois](https://reader033.vdocuments.com.br/reader033/viewer/2022060815/609466690f9ee85aac231731/html5/thumbnails/6.jpg)
O Teorema Mestre da Complexidade
Enunciado
Tecnicalidades
PorT(n) = aT
(nb
)+ f (n),
entendemos que existe um número n0 ∈ N e que, para todon > n0, existem números kn[0], kn[1], . . . , kn[a− 1] ∈N, tais que
∀i, 0 6 i < a, 0 6 kn[i] 6⌈n
b
⌉−⌊n
b
⌋e
T(n) =a−1
∑i=0
T(⌊n
b
⌋+ kn[i]
)+ f (n).
Como isso não altera a definição, assumiremos n0 > 1.
![Page 7: O Teorema Mestre da Complexidade2010/04/23 · O Teorema Mestre da Complexidade Enunciado Tecnicalidades Rigorosamente falando, o enunciado do teorema anterior está informal, pois](https://reader033.vdocuments.com.br/reader033/viewer/2022060815/609466690f9ee85aac231731/html5/thumbnails/7.jpg)
O Teorema Mestre da Complexidade
Enunciado
Tecnicalidades
PorT(n) = aT
(nb
)+ f (n),
entendemos que existe um número n0 ∈ N e que, para todon > n0, existem números kn[0], kn[1], . . . , kn[a− 1] ∈N, tais que
∀i, 0 6 i < a, 0 6 kn[i] 6⌈n
b
⌉−⌊n
b
⌋e
T(n) =a−1
∑i=0
T(⌊n
b
⌋+ kn[i]
)+ f (n).
Como isso não altera a definição, assumiremos n0 > 1.
![Page 8: O Teorema Mestre da Complexidade2010/04/23 · O Teorema Mestre da Complexidade Enunciado Tecnicalidades Rigorosamente falando, o enunciado do teorema anterior está informal, pois](https://reader033.vdocuments.com.br/reader033/viewer/2022060815/609466690f9ee85aac231731/html5/thumbnails/8.jpg)
O Teorema Mestre da Complexidade
Enunciado
Tecnicalidades
Por∃x0 ∈N, w ∈ (0; 1) : ∀n > x0, af
(nb
)6 wf (n),
entendemos que existem x0 ∈ N, w ∈ (0; 1) tais que, para todon > maxn0, x0,
a−1
∑i=0
f(⌊n
b
⌋+ kn[i]
)6 wf (n).
![Page 9: O Teorema Mestre da Complexidade2010/04/23 · O Teorema Mestre da Complexidade Enunciado Tecnicalidades Rigorosamente falando, o enunciado do teorema anterior está informal, pois](https://reader033.vdocuments.com.br/reader033/viewer/2022060815/609466690f9ee85aac231731/html5/thumbnails/9.jpg)
O Teorema Mestre da Complexidade
Demonstração
Preliminares
Arredondamento para Potências
DefiniçãoSeja n ∈N \ 0 e b ∈N, b > 2. Definimos
πb(n) = maxk∈N
bk : bk 6 n
como a maior potência de b menor ou igual a n.
![Page 10: O Teorema Mestre da Complexidade2010/04/23 · O Teorema Mestre da Complexidade Enunciado Tecnicalidades Rigorosamente falando, o enunciado do teorema anterior está informal, pois](https://reader033.vdocuments.com.br/reader033/viewer/2022060815/609466690f9ee85aac231731/html5/thumbnails/10.jpg)
O Teorema Mestre da Complexidade
Demonstração
Preliminares
Arredondamento para Potências
LemaSeja n ∈N \ 0 e b ∈N, b > 2. Então πb(bn) = bπb(n).
Demonstração.Claramente bπb(n) é uma potência de b satisfazendobπb(n) 6 bn, pois πb(n) 6 n.Porém, como bπb(n) > n, por definição, temos b2πb(n) > bn, ecomo b2πb(n) é a menor potência de b maior que bπb(n), oresultado segue.
![Page 11: O Teorema Mestre da Complexidade2010/04/23 · O Teorema Mestre da Complexidade Enunciado Tecnicalidades Rigorosamente falando, o enunciado do teorema anterior está informal, pois](https://reader033.vdocuments.com.br/reader033/viewer/2022060815/609466690f9ee85aac231731/html5/thumbnails/11.jpg)
O Teorema Mestre da Complexidade
Demonstração
Preliminares
Arredondamento para Potências
LemaSeja n ∈N \ 0 e b ∈N, b > 2. Então πb(bn) = bπb(n).
Demonstração.Claramente bπb(n) é uma potência de b satisfazendobπb(n) 6 bn, pois πb(n) 6 n.Porém, como bπb(n) > n, por definição, temos b2πb(n) > bn, ecomo b2πb(n) é a menor potência de b maior que bπb(n), oresultado segue.
![Page 12: O Teorema Mestre da Complexidade2010/04/23 · O Teorema Mestre da Complexidade Enunciado Tecnicalidades Rigorosamente falando, o enunciado do teorema anterior está informal, pois](https://reader033.vdocuments.com.br/reader033/viewer/2022060815/609466690f9ee85aac231731/html5/thumbnails/12.jpg)
O Teorema Mestre da Complexidade
Demonstração
Preliminares
Arredondamento para Potências
LemaSeja n > b > 2. Então
πb
(⌊nb
⌋)=
πb(n)b
.
Demonstração.Note que
πb
(⌊nb
⌋)=
πb(n)b
⇐⇒ bπb
(⌊nb
⌋)= πb(n)
⇐⇒ πb
(b⌊n
b
⌋)= πb(n).
![Page 13: O Teorema Mestre da Complexidade2010/04/23 · O Teorema Mestre da Complexidade Enunciado Tecnicalidades Rigorosamente falando, o enunciado do teorema anterior está informal, pois](https://reader033.vdocuments.com.br/reader033/viewer/2022060815/609466690f9ee85aac231731/html5/thumbnails/13.jpg)
O Teorema Mestre da Complexidade
Demonstração
Preliminares
Arredondamento para Potências
LemaSeja n > b > 2. Então
πb
(⌊nb
⌋)=
πb(n)b
.
Demonstração.Note que
πb
(⌊nb
⌋)=
πb(n)b
⇐⇒ bπb
(⌊nb
⌋)= πb(n)
⇐⇒ πb
(b⌊n
b
⌋)= πb(n).
![Page 14: O Teorema Mestre da Complexidade2010/04/23 · O Teorema Mestre da Complexidade Enunciado Tecnicalidades Rigorosamente falando, o enunciado do teorema anterior está informal, pois](https://reader033.vdocuments.com.br/reader033/viewer/2022060815/609466690f9ee85aac231731/html5/thumbnails/14.jpg)
O Teorema Mestre da Complexidade
Demonstração
Preliminares
Arredondamento para Potências
Demonstração.
Basta então mostrar que, ∀k ∈N, bk 6 b⌊n
b
⌋⇐⇒ bk 6 n.
De fato,
bk 6 b⌊n
b
⌋=⇒ bk−1 6
⌊nb
⌋6
nb
=⇒ bk 6 n.
Similarmente, como bk ou é 1 ou é um múltiplo de b e n > b,temos
bk 6 n =⇒ bk 6 n− (n mod b) = b⌊n
b
⌋.
Com isso a demonstração está concluída.
![Page 15: O Teorema Mestre da Complexidade2010/04/23 · O Teorema Mestre da Complexidade Enunciado Tecnicalidades Rigorosamente falando, o enunciado do teorema anterior está informal, pois](https://reader033.vdocuments.com.br/reader033/viewer/2022060815/609466690f9ee85aac231731/html5/thumbnails/15.jpg)
O Teorema Mestre da Complexidade
Demonstração
Preliminares
Arredondamento para Potências
DefiniçãoSeja n ∈N \ 0 e b ∈N, b > 2. Definimos
π′b(n) = mink∈N
bk : bk > n
como a menor potência de b maior ou igual a n.
![Page 16: O Teorema Mestre da Complexidade2010/04/23 · O Teorema Mestre da Complexidade Enunciado Tecnicalidades Rigorosamente falando, o enunciado do teorema anterior está informal, pois](https://reader033.vdocuments.com.br/reader033/viewer/2022060815/609466690f9ee85aac231731/html5/thumbnails/16.jpg)
O Teorema Mestre da Complexidade
Demonstração
Preliminares
Arredondamento para Potências
LemaSeja n ∈N \ 0 e b ∈N, b > 2. Então π′b(bn) = bπ′b(n).
Seja n > b > 2. Então
π′b
(⌈nb
⌉)=
π′b(n)b
.
Demonstração.Totalmente análoga à dos resultados para π.
![Page 17: O Teorema Mestre da Complexidade2010/04/23 · O Teorema Mestre da Complexidade Enunciado Tecnicalidades Rigorosamente falando, o enunciado do teorema anterior está informal, pois](https://reader033.vdocuments.com.br/reader033/viewer/2022060815/609466690f9ee85aac231731/html5/thumbnails/17.jpg)
O Teorema Mestre da Complexidade
Demonstração
Preliminares
Arredondamento para Potências
LemaSeja n ∈N \ 0 e b ∈N, b > 2. Então π′b(bn) = bπ′b(n).
Seja n > b > 2. Então
π′b
(⌈nb
⌉)=
π′b(n)b
.
Demonstração.Totalmente análoga à dos resultados para π.
![Page 18: O Teorema Mestre da Complexidade2010/04/23 · O Teorema Mestre da Complexidade Enunciado Tecnicalidades Rigorosamente falando, o enunciado do teorema anterior está informal, pois](https://reader033.vdocuments.com.br/reader033/viewer/2022060815/609466690f9ee85aac231731/html5/thumbnails/18.jpg)
O Teorema Mestre da Complexidade
Demonstração
Peso das Folhas
Peso das Folhas
Lema (Peso das Folhas)
T ∈ Ω(nlogb a).
Demonstração.Seja n′0 = bn0 e seja
c = minn06n<n′0
T(n)
πb(n)logb a
.
Vamos então provar por indução que, para todo n > n0,
T(n) > cπb(n)logb a.
![Page 19: O Teorema Mestre da Complexidade2010/04/23 · O Teorema Mestre da Complexidade Enunciado Tecnicalidades Rigorosamente falando, o enunciado do teorema anterior está informal, pois](https://reader033.vdocuments.com.br/reader033/viewer/2022060815/609466690f9ee85aac231731/html5/thumbnails/19.jpg)
O Teorema Mestre da Complexidade
Demonstração
Peso das Folhas
Peso das Folhas
Lema (Peso das Folhas)
T ∈ Ω(nlogb a).
Demonstração.Seja n′0 = bn0 e seja
c = minn06n<n′0
T(n)
πb(n)logb a
.
Vamos então provar por indução que, para todo n > n0,
T(n) > cπb(n)logb a.
![Page 20: O Teorema Mestre da Complexidade2010/04/23 · O Teorema Mestre da Complexidade Enunciado Tecnicalidades Rigorosamente falando, o enunciado do teorema anterior está informal, pois](https://reader033.vdocuments.com.br/reader033/viewer/2022060815/609466690f9ee85aac231731/html5/thumbnails/20.jpg)
O Teorema Mestre da Complexidade
Demonstração
Peso das Folhas
Peso das Folhas
Demonstração.Para a base da indução, considere n0 6 n < n′0. Então
T(n) = T(n) ·(
πb(n)logb a
πb(n)logb a
)=(
T(n)πb(n)logb a
)πb(n)logb a
> cπb(n)logb a.
![Page 21: O Teorema Mestre da Complexidade2010/04/23 · O Teorema Mestre da Complexidade Enunciado Tecnicalidades Rigorosamente falando, o enunciado do teorema anterior está informal, pois](https://reader033.vdocuments.com.br/reader033/viewer/2022060815/609466690f9ee85aac231731/html5/thumbnails/21.jpg)
O Teorema Mestre da Complexidade
Demonstração
Peso das Folhas
Peso das Folhas
Demonstração.Para o passo indutivo, considere n′0 6 n. Então
T(n) =a−1
∑i=0
T(⌊n
b
⌋+ kn[i]
)+ f (n)
>a−1
∑i=0
T(⌊n
b
⌋+ kn[i]
)>
a−1
∑i=0
cπb
(⌊nb
⌋+ kn[i]
)logb a
>a−1
∑i=0
cπb
(⌊nb
⌋)logb a
![Page 22: O Teorema Mestre da Complexidade2010/04/23 · O Teorema Mestre da Complexidade Enunciado Tecnicalidades Rigorosamente falando, o enunciado do teorema anterior está informal, pois](https://reader033.vdocuments.com.br/reader033/viewer/2022060815/609466690f9ee85aac231731/html5/thumbnails/22.jpg)
O Teorema Mestre da Complexidade
Demonstração
Peso das Folhas
Peso das Folhas
Demonstração.
T(n) >a−1
∑i=0
cπb
(⌊nb
⌋)logb a
= acπb
(⌊nb
⌋)logb a
= ac(
πb(n)b
)logb a
=acπb(n)logb a
blogb a =acπb(n)logb a
a= cπb(n)logb a.
![Page 23: O Teorema Mestre da Complexidade2010/04/23 · O Teorema Mestre da Complexidade Enunciado Tecnicalidades Rigorosamente falando, o enunciado do teorema anterior está informal, pois](https://reader033.vdocuments.com.br/reader033/viewer/2022060815/609466690f9ee85aac231731/html5/thumbnails/23.jpg)
O Teorema Mestre da Complexidade
Demonstração
Peso das Folhas
Peso das Folhas
Demonstração.Segue que
T ∈ Ω(
πb(n)logb a)
.
Mas como πb(n) 6 n < bπb(n),
Θ(
πb(n)logb a)
= Θ(
nlogb a)
e segue queT ∈ Ω
(nlogb a
).
![Page 24: O Teorema Mestre da Complexidade2010/04/23 · O Teorema Mestre da Complexidade Enunciado Tecnicalidades Rigorosamente falando, o enunciado do teorema anterior está informal, pois](https://reader033.vdocuments.com.br/reader033/viewer/2022060815/609466690f9ee85aac231731/html5/thumbnails/24.jpg)
O Teorema Mestre da Complexidade
Demonstração
O Primeiro Caso do Teorema Mestre
O Primeiro Caso do Teorema Mestre
Com o que já temos até agora é possível demonstrar o primeirocaso do Teorema Mestre.
Lema (Primeiro Caso do Teorema Mestre)Se existe ε > 0 tal que
f ∈ O(
nlogb a−ε)
,
entãoT ∈ Θ
(nlogb a
).
![Page 25: O Teorema Mestre da Complexidade2010/04/23 · O Teorema Mestre da Complexidade Enunciado Tecnicalidades Rigorosamente falando, o enunciado do teorema anterior está informal, pois](https://reader033.vdocuments.com.br/reader033/viewer/2022060815/609466690f9ee85aac231731/html5/thumbnails/25.jpg)
O Teorema Mestre da Complexidade
Demonstração
O Primeiro Caso do Teorema Mestre
O Primeiro Caso do Teorema Mestre
Demonstração.
Como f ∈ O(nlogb a−ε), existem x0, q ∈ N tais que, para todon > x0,
f (n) 6 qπb(n)logb a−ε.
Defina m0 = maxx0, n0, m′0 = bm0 e
c = maxm06n<m′0
T(n) + q
( 1bε−1
)πb(n)logb a−ε
π′b(n)logb a
.
Vamos provar por indução que, para n > m0,
T(n) 6 cπ′b(n)logb a − q(
1bε − 1
)πb(n)logb a−ε ∈ O(nlogb a).
![Page 26: O Teorema Mestre da Complexidade2010/04/23 · O Teorema Mestre da Complexidade Enunciado Tecnicalidades Rigorosamente falando, o enunciado do teorema anterior está informal, pois](https://reader033.vdocuments.com.br/reader033/viewer/2022060815/609466690f9ee85aac231731/html5/thumbnails/26.jpg)
O Teorema Mestre da Complexidade
Demonstração
O Primeiro Caso do Teorema Mestre
O Primeiro Caso do Teorema Mestre
Demonstração.Para a base da indução, assuma m0 6 n < m′0. Então
T(n) = T(n) + q( 1
bε−1
)πb(n)logb a−ε − q
( 1bε−1
)πb(n)logb a−ε
=(
T(n)+q( 1bε−1 )πb(n)logb a−ε
π′b(n)logb a
)π′b(n)logb a − q
( 1bε−1
)πb(n)logb a−ε
6 cπ′b(n)logb a − q(
1bε − 1
)πb(n)logb a−ε.
![Page 27: O Teorema Mestre da Complexidade2010/04/23 · O Teorema Mestre da Complexidade Enunciado Tecnicalidades Rigorosamente falando, o enunciado do teorema anterior está informal, pois](https://reader033.vdocuments.com.br/reader033/viewer/2022060815/609466690f9ee85aac231731/html5/thumbnails/27.jpg)
O Teorema Mestre da Complexidade
Demonstração
O Primeiro Caso do Teorema Mestre
O Primeiro Caso do Teorema Mestre
Demonstração.Para o passo indutivo, assuma n > m′0. Logo
T(n)=∑a−1i=0 T(b n
b c+kn[i])+f (n)
6∑a−1i=0
(cπ′b(b n
b c+kn[i])logb a−q( 1bε−1 )πb(b n
b c+kn[i])logb a−ε)+qπb(n)logb a−ε
6∑a−1i=0
(cπ′b(d n
b e)logb a−q( 1
bε−1 )πb(b nb c)
logb a−ε)+qπb(n)logb a−ε
6acπ′b(d nb e)
logb a−aq( 1bε−1 )πb(b n
b c)logb a−ε
+qπb(n)logb a−ε
6ac(
π′b(n)b
)logb a−aq( 1
bε−1 )(
πb(n)b
)logb a−ε+qπb(n)logb a−ε
6acπ′b(n)logb a
blogb a −aq( 1bε−1 )
πb(n)logb a−ε
blogb a−ε +qπb(n)logb a−ε
6acπ′b(n)logb a
blogb a −aq( 1bε−1 )
πb(n)logb a−ε
blogb ab−ε+qπb(n)logb a−ε
![Page 28: O Teorema Mestre da Complexidade2010/04/23 · O Teorema Mestre da Complexidade Enunciado Tecnicalidades Rigorosamente falando, o enunciado do teorema anterior está informal, pois](https://reader033.vdocuments.com.br/reader033/viewer/2022060815/609466690f9ee85aac231731/html5/thumbnails/28.jpg)
O Teorema Mestre da Complexidade
Demonstração
O Primeiro Caso do Teorema Mestre
O Primeiro Caso do Teorema Mestre
Demonstração.
T(n)6acπ′b(n)logb a
blogb a −aq( 1bε−1 )
πb(n)logb a−ε
blogb ab−ε+qπb(n)logb a−ε
6acπ′b(n)logb a
a −aq( 1bε−1 )
bεπb(n)logb a−ε
a +qπb(n)logb a−ε
6cπ′b(n)logb a−q( 1bε−1 )bεπb(n)logb a−ε+qπb(n)logb a−ε
6cπ′b(n)logb a−q(( 1bε−1 )bε−1)πb(n)logb a−ε
6cπ′b(n)logb a−q( bε
bε−1−bε−1bε−1 )πb(n)logb a−ε
6cπ′b(n)logb a−q( 1bε−1 )πb(n)logb a−ε.
![Page 29: O Teorema Mestre da Complexidade2010/04/23 · O Teorema Mestre da Complexidade Enunciado Tecnicalidades Rigorosamente falando, o enunciado do teorema anterior está informal, pois](https://reader033.vdocuments.com.br/reader033/viewer/2022060815/609466690f9ee85aac231731/html5/thumbnails/29.jpg)
O Teorema Mestre da Complexidade
Demonstração
O Primeiro Caso do Teorema Mestre
O Primeiro Caso do Teorema Mestre
Demonstração.Com isso, segue que
T ∈ O(nlogb a).
Pelo lema do peso das folhas,
T ∈ Ω(nlogb a).
PortantoT ∈ Θ(nlogb a).
![Page 30: O Teorema Mestre da Complexidade2010/04/23 · O Teorema Mestre da Complexidade Enunciado Tecnicalidades Rigorosamente falando, o enunciado do teorema anterior está informal, pois](https://reader033.vdocuments.com.br/reader033/viewer/2022060815/609466690f9ee85aac231731/html5/thumbnails/30.jpg)
O Teorema Mestre da Complexidade
Demonstração
O Segundo Caso do Teorema Mestre
O Segundo Caso do Teorema Mestre
LemaSe
f ∈ Θ(nlogb a),
entãoT ∈ Θ(nlogb a log n).
Demonstração.Iremos mostrar que
T ∈ O(nlogb a log n)
e queT ∈ Ω(nlogb a log n).
![Page 31: O Teorema Mestre da Complexidade2010/04/23 · O Teorema Mestre da Complexidade Enunciado Tecnicalidades Rigorosamente falando, o enunciado do teorema anterior está informal, pois](https://reader033.vdocuments.com.br/reader033/viewer/2022060815/609466690f9ee85aac231731/html5/thumbnails/31.jpg)
O Teorema Mestre da Complexidade
Demonstração
O Segundo Caso do Teorema Mestre
O Segundo Caso do Teorema Mestre
LemaSe
f ∈ Θ(nlogb a),
entãoT ∈ Θ(nlogb a log n).
Demonstração.Iremos mostrar que
T ∈ O(nlogb a log n)
e queT ∈ Ω(nlogb a log n).
![Page 32: O Teorema Mestre da Complexidade2010/04/23 · O Teorema Mestre da Complexidade Enunciado Tecnicalidades Rigorosamente falando, o enunciado do teorema anterior está informal, pois](https://reader033.vdocuments.com.br/reader033/viewer/2022060815/609466690f9ee85aac231731/html5/thumbnails/32.jpg)
O Teorema Mestre da Complexidade
Demonstração
O Segundo Caso do Teorema Mestre
O Segundo Caso do Teorema Mestre
Demonstração.
A fim de mostrar que T ∈ O(nlogb a log n), observe que, comof ∈ O(nlogb a), existem constantes x0, q ∈ N tais que, para todon > x0, f (n) 6 qnlogb a.Assim sendo, defina m0 = maxn0, x0, m′0 = bm0 e
c = maxm06n<m′0
T(n)
π′b(n)logb a logb π′b(n), q
.
Vamos provar, por indução, que, para todo n > m0,
T(n) 6 cπ′b(n)logb a logb π′b(n).
![Page 33: O Teorema Mestre da Complexidade2010/04/23 · O Teorema Mestre da Complexidade Enunciado Tecnicalidades Rigorosamente falando, o enunciado do teorema anterior está informal, pois](https://reader033.vdocuments.com.br/reader033/viewer/2022060815/609466690f9ee85aac231731/html5/thumbnails/33.jpg)
O Teorema Mestre da Complexidade
Demonstração
O Segundo Caso do Teorema Mestre
O Segundo Caso do Teorema Mestre
Demonstração.Para a base da indução, assuma que m0 6 n < m′0. Então
T(n) = T(n) ·(
π′b(n)logb a logb π′b(n)π′b(n)logb a logb π′b(n)
)
=
(T(n)
π′b(n)logb a logb π′b(n)
)π′b(n)logb a logb π′b(n)
6 cπ′b(n)logb a logb π′b(n).
![Page 34: O Teorema Mestre da Complexidade2010/04/23 · O Teorema Mestre da Complexidade Enunciado Tecnicalidades Rigorosamente falando, o enunciado do teorema anterior está informal, pois](https://reader033.vdocuments.com.br/reader033/viewer/2022060815/609466690f9ee85aac231731/html5/thumbnails/34.jpg)
O Teorema Mestre da Complexidade
Demonstração
O Segundo Caso do Teorema Mestre
O Segundo Caso do Teorema Mestre
Demonstração.Para o passo indutivo, suponha n > m′0. Então
T(n) = ∑a−1i=0 T
(⌊nb
⌋+ kn[i]
)+ f (n)
6 ∑a−1i=0 cπ′b
(⌊nb
⌋+ kn[i]
)logb a logb π′b(⌊n
b
⌋+ kn[i]
)+ f (n)
6 ∑a−1i=0 cπ′b
(⌈nb
⌉)logb a logb π′b(⌈n
b
⌉)+ f (n)
6 ac(
π′b(n)b
)logb alogb
(π′b(n)
b
)+ qnlogb a
= acπ′b(n)logb a
blogb a (logb π′b(n)− 1) + qnlogb a
= acπ′b(n)logb a
a (logb π′b(n)− 1) + qnlogb a
= cπ′b(n)logb a(logb π′b(n)− 1) + qnlogb a
![Page 35: O Teorema Mestre da Complexidade2010/04/23 · O Teorema Mestre da Complexidade Enunciado Tecnicalidades Rigorosamente falando, o enunciado do teorema anterior está informal, pois](https://reader033.vdocuments.com.br/reader033/viewer/2022060815/609466690f9ee85aac231731/html5/thumbnails/35.jpg)
O Teorema Mestre da Complexidade
Demonstração
O Segundo Caso do Teorema Mestre
O Segundo Caso do Teorema Mestre
Demonstração.
T(n) = cπ′b(n)logb a(logb π′b(n)− 1) + qnlogb a
= cπ′b(n)logb a logb π′b(n)− cπ′b(n)logb a + qnlogb a
6 cπ′b(n)logb a logb π′b(n)− cπ′b(n)logb a + qπ′b(n)logb a
= cπ′b(n)logb a logb π′b(n) + (q− c)π′b(n)logb a
6 cπ′b(n)logb a logb π′b(n).
Portanto T ∈ O(nlogb a log n).
![Page 36: O Teorema Mestre da Complexidade2010/04/23 · O Teorema Mestre da Complexidade Enunciado Tecnicalidades Rigorosamente falando, o enunciado do teorema anterior está informal, pois](https://reader033.vdocuments.com.br/reader033/viewer/2022060815/609466690f9ee85aac231731/html5/thumbnails/36.jpg)
O Teorema Mestre da Complexidade
Demonstração
O Segundo Caso do Teorema Mestre
O Segundo Caso do Teorema Mestre
Demonstração.
A fim de mostrar que T ∈ Ω(nlogb a log n), observe que, comof ∈ Ω(nlogb a), existem constantes x0, q ∈ N tais que, para todon > x0, f (n) > qπb(n)logb a.Assim sendo, defina m0 = maxn0, x0, m′0 = bm0 e
c = minm06n<m′0
T(n)
πb(n)logb a logb πb(n), q
.
Vamos provar por indução que, para todo n > m0,
T(n) > cπb(n)logb a logb πb(n).
![Page 37: O Teorema Mestre da Complexidade2010/04/23 · O Teorema Mestre da Complexidade Enunciado Tecnicalidades Rigorosamente falando, o enunciado do teorema anterior está informal, pois](https://reader033.vdocuments.com.br/reader033/viewer/2022060815/609466690f9ee85aac231731/html5/thumbnails/37.jpg)
O Teorema Mestre da Complexidade
Demonstração
O Segundo Caso do Teorema Mestre
O Segundo Caso do Teorema Mestre
Demonstração.Para a base da indução, suponha m0 6 n < m′0. Então
T(n) = T(n) ·(
πb(n)logb a logb πb(n)πb(n)logb a logb πb(n)
)
=
(T(n)
πb(n)logb a logb πb(n)
)πb(n)logb a logb πb(n)
> cπb(n)logb a logb πb(n).
![Page 38: O Teorema Mestre da Complexidade2010/04/23 · O Teorema Mestre da Complexidade Enunciado Tecnicalidades Rigorosamente falando, o enunciado do teorema anterior está informal, pois](https://reader033.vdocuments.com.br/reader033/viewer/2022060815/609466690f9ee85aac231731/html5/thumbnails/38.jpg)
O Teorema Mestre da Complexidade
Demonstração
O Segundo Caso do Teorema Mestre
O Segundo Caso do Teorema Mestre
Demonstração.Para a prova do passo indutivo, assuma n > m′0. Então
T(n) =a−1
∑i=0
T(⌊n
b
⌋+ kn[i]
)+ f (n)
>a−1
∑i=0
cπb
(⌊nb
⌋+ kn[i]
)logb alogb πb
(⌊nb
⌋+ kn[i]
)+ f (n)
>a−1
∑i=0
cπb
(⌊nb
⌋)logb alogb πb
(⌊nb
⌋)+ qπb(n)logb a
= acπb
(⌊nb
⌋)logb alogb πb
(⌊nb
⌋)+ qπb(n)logb a
![Page 39: O Teorema Mestre da Complexidade2010/04/23 · O Teorema Mestre da Complexidade Enunciado Tecnicalidades Rigorosamente falando, o enunciado do teorema anterior está informal, pois](https://reader033.vdocuments.com.br/reader033/viewer/2022060815/609466690f9ee85aac231731/html5/thumbnails/39.jpg)
O Teorema Mestre da Complexidade
Demonstração
O Segundo Caso do Teorema Mestre
O Segundo Caso do Teorema Mestre
Demonstração.
T(n) = acπb
(⌊nb
⌋)logb alogb πb
(⌊nb
⌋)+ qπb(n)logb a
= ac(
πb(n)b
)logb alogb
(πb(n)
b
)+ qπb(n)logb a
=acπb(n)logb a
blogb a
(logb πb(n)− 1
)+ qπb(n)logb a
= cπb(n)logb a (logb πb(n)− 1)+ qπb(n)logb a
= πb(n)logb a (c logb πb(n) + (q− c))
> cπb(n)logb a logb πb(n).
Portanto T ∈ Ω(nlogb a log n).
![Page 40: O Teorema Mestre da Complexidade2010/04/23 · O Teorema Mestre da Complexidade Enunciado Tecnicalidades Rigorosamente falando, o enunciado do teorema anterior está informal, pois](https://reader033.vdocuments.com.br/reader033/viewer/2022060815/609466690f9ee85aac231731/html5/thumbnails/40.jpg)
O Teorema Mestre da Complexidade
Demonstração
O Segundo Caso do Teorema Mestre
O Segundo Caso do Teorema Mestre
Demonstração.Temos que
T ∈ O(nlogb a log n)
e queT ∈ Ω(nlogb a log n),
e portantoT ∈ Θ(nlogb a log n).
![Page 41: O Teorema Mestre da Complexidade2010/04/23 · O Teorema Mestre da Complexidade Enunciado Tecnicalidades Rigorosamente falando, o enunciado do teorema anterior está informal, pois](https://reader033.vdocuments.com.br/reader033/viewer/2022060815/609466690f9ee85aac231731/html5/thumbnails/41.jpg)
O Teorema Mestre da Complexidade
Demonstração
Trabalho no Nó Raiz
Trabalho no Nó Raiz
Lema (Trabalho no Nó Raiz)T ∈ Ω(f ).
Demonstração.Para n > n0,
T(n) =a−1
∑i=0
T(⌊n
b
⌋+ kn[i]
)+ f (n) > f (n).
![Page 42: O Teorema Mestre da Complexidade2010/04/23 · O Teorema Mestre da Complexidade Enunciado Tecnicalidades Rigorosamente falando, o enunciado do teorema anterior está informal, pois](https://reader033.vdocuments.com.br/reader033/viewer/2022060815/609466690f9ee85aac231731/html5/thumbnails/42.jpg)
O Teorema Mestre da Complexidade
Demonstração
Trabalho no Nó Raiz
Trabalho no Nó Raiz
Lema (Trabalho no Nó Raiz)T ∈ Ω(f ).
Demonstração.Para n > n0,
T(n) =a−1
∑i=0
T(⌊n
b
⌋+ kn[i]
)+ f (n) > f (n).
![Page 43: O Teorema Mestre da Complexidade2010/04/23 · O Teorema Mestre da Complexidade Enunciado Tecnicalidades Rigorosamente falando, o enunciado do teorema anterior está informal, pois](https://reader033.vdocuments.com.br/reader033/viewer/2022060815/609466690f9ee85aac231731/html5/thumbnails/43.jpg)
O Teorema Mestre da Complexidade
Demonstração
O Terceiro Caso do Teorema Mestre
O Terceiro Caso do Teorema Mestre
Lema (O Terceiro Caso do Teorema Mestre)Se existem w ∈ (0; 1), x0 ∈N tais que, para todo n > maxx0, n0,
a−1
∑i=0
f(⌊n
b
⌋+ kn[i]
)6 wf (n),
entãoT ∈ Θ(f ).
![Page 44: O Teorema Mestre da Complexidade2010/04/23 · O Teorema Mestre da Complexidade Enunciado Tecnicalidades Rigorosamente falando, o enunciado do teorema anterior está informal, pois](https://reader033.vdocuments.com.br/reader033/viewer/2022060815/609466690f9ee85aac231731/html5/thumbnails/44.jpg)
O Teorema Mestre da Complexidade
Demonstração
O Terceiro Caso do Teorema Mestre
O Terceiro Caso do Teorema Mestre
Demonstração.Seja m0 = maxn0, x0, m′0 = bm0 e
c = maxm06n<m′0
T(n)f (n)
,1
1−w
.
Vamos provar por indução que
T(n) 6 cf (n)
para todo n > m0.
![Page 45: O Teorema Mestre da Complexidade2010/04/23 · O Teorema Mestre da Complexidade Enunciado Tecnicalidades Rigorosamente falando, o enunciado do teorema anterior está informal, pois](https://reader033.vdocuments.com.br/reader033/viewer/2022060815/609466690f9ee85aac231731/html5/thumbnails/45.jpg)
O Teorema Mestre da Complexidade
Demonstração
O Terceiro Caso do Teorema Mestre
O Terceiro Caso do Teorema Mestre
Demonstração.Para o caso base, considere m0 6 n < m′0. Então
T(n) = T(n) ·(
f (n)f (n)
)=(
T(n)f (n)
)f (n)
6 cf (n).
![Page 46: O Teorema Mestre da Complexidade2010/04/23 · O Teorema Mestre da Complexidade Enunciado Tecnicalidades Rigorosamente falando, o enunciado do teorema anterior está informal, pois](https://reader033.vdocuments.com.br/reader033/viewer/2022060815/609466690f9ee85aac231731/html5/thumbnails/46.jpg)
O Teorema Mestre da Complexidade
Demonstração
O Terceiro Caso do Teorema Mestre
O Terceiro Caso do Teorema Mestre
Demonstração.Para o passo indutivo, considere n > m′0. Segue que
T(n) =a−1
∑i=0
T(⌊n
b
⌋+ kn[i]
)+ f (n)
6a−1
∑i=0
cf(⌊n
b
⌋+ kn[i]
)+ f (n)
6 cwf (n) + f (n)= (cw + 1)f (n)6 cf (n).
![Page 47: O Teorema Mestre da Complexidade2010/04/23 · O Teorema Mestre da Complexidade Enunciado Tecnicalidades Rigorosamente falando, o enunciado do teorema anterior está informal, pois](https://reader033.vdocuments.com.br/reader033/viewer/2022060815/609466690f9ee85aac231731/html5/thumbnails/47.jpg)
O Teorema Mestre da Complexidade
Demonstração
O Terceiro Caso do Teorema Mestre
O Terceiro Caso do Teorema Mestre
Demonstração.Então temos que
T ∈ O(f ).
Pelo lema do trabalho no nó raiz, temos que
T ∈ Ω(f ).
LogoT ∈ Θ(f ).