O Teorema Mestre da Complexidade

Documentos relacionados
Luís Fernando Schultz Xavier da Silveira. 12 de maio de 2010

BCC202 - Estrutura de Dados I

Busca Binária. Aula 05. Busca em um vetor ordenado. Análise do Busca Binária. Equações com Recorrência

BCC202 - Estrutura de Dados I

Aula 02 Notação Assintótica p. 4. Usodanotação O. Notação O. Notação O, Ω, ΘeExemplos. Intuitivamente... O(f(n)) funções que não crescem mais

Aula 06: Análise matemática de algoritmos recursivos

Análise de algoritmos

Análise de Algoritmos

INE5403 FUNDAMENTOS DE MATEMÁTICA DISCRETA

Princípio da boa ordenação. Aula 03. Princípio da boa ordenação. Princípio da boa ordenação. Indução Finita e Somatórios

Projeto e Análise de Algoritmos

André Vignatti DINF- UFPR

Probabilidade IV. Ulisses U. dos Anjos. Departamento de Estatística Universidade Federal da Paraíba. Período

Complexidade Assintótica

Teoremas de uma, duas e três séries de Kolmogorov

Conjuntos Numéricos Aula 6. Conjuntos Numéricos. Armando Caputi

5. Invólucros Convexos no Plano (cont )

André Vignatti DINF- UFPR

Estruturas de Dados 2

BCC202 - Estrutura de Dados I

Algoritmos e Estrutura de Dados. Aula 04 Recorrência Prof. Tiago A. E. Ferreira

Análise de Algoritmos

Aula 2. Divisão e conquista. Exemplo 1: Número de inversões de uma permutação (problema 2-4 do CLRS; veja também sec 5.4 do KT)

é uma proposição verdadeira. tal que: 2 n N k, Φ(n) = Φ(n + 1) é uma proposição verdadeira. com n N k, tal que:

Introdução à Análise Algoritmos

Lista de Exercícios 6: Soluções Funções

ANÁLISE DE ALGORITMOS

Binomiais e Primos. p p 2 + p 3 + p k. Demonstração. No produto n! = n, apenas os múltiplos de p contribuem com um fator p.

INE5403 FUNDAMENTOS DE MATEMÁTICA DISCRETA

INE5403 FUNDAMENTOS DE MATEMÁTICA DISCRETA

Forma Fechada para os Números de Catalão

Demonstrações. Terminologia Métodos

Resposta da pergunta 2: Θ(n 3 ). Resposta da pergunta 8: 1. 7 O(n). Sim. 22. n log n O(1). Não. 3. n + 7 O(n). Sim. 4. n + 7 O(1). Não.

σ-álgebras, geradores e independência

INE5403 FUNDAMENTOS DE MATEMÁTICA DISCRETA

Mergesort. Aula 04. Algoritmo Mergesort. Divisão e Conquista. Divisão e Conquista- MergeSort

1 Conjuntos, Números e Demonstrações

Estruturas de Dados, Análise de Algoritmos e Complexidade Estrutural. Carlos Alberto Alonso Sanches

ENFOQUE USANDO CORTES DE DEDEKIND

Análise de algoritmos

Divisão e Conquista. Fernando Lobo. Algoritmos e Estrutura de Dados II. É uma técnica para resolver problemas (veremos outras técnicas mais adiante).

Projeto e Análise de Algoritmos

Referências e materiais complementares desse tópico

Convergência, séries de potência e funções analíticas

Indução Matemática. Matemática Discreta. Indução Matemática. Mayara Midori Omai e Sheila Morais de Almeida UTFPR-PG. Abril

Provas de Análise Real - Noturno - 3MAT003

Indução Matemática. Profa. Sheila Morais de Almeida. junho DAINF-UTFPR-PG

Algoritmos de ordenação Quicksort

Invariância da integral por homotopia, fórmula de Cauchy e séries de Taylor

Análise de Algoritmos

Introdução à Teoria dos Números - Notas 4 Tópicos Adicionais II

Estruturas Discretas

Aritmética dos Restos. Pequeno Teorema de Fermat. Tópicos Adicionais

ALGORITMO DE EUCLIDES

PCC104 - Projeto e Análise de Algoritmos

= 2 sen(x) (cos(x) (b) (7 pontos) Pelo item anterior, temos as k desigualdades. sen 2 (2x) sen(4x) ( 3/2) 3

Convergência, séries de potência e funções analíticas

Polinômio Mínimo e Operadores Nilpotentes

1 Congruências de Grau Superior. Dado um polinômio f(x) Z[x] e um número natural n, vamos estudar condições para que a congruência. f(x) 0 (mod n).

Mais uma aplicação do teorema de isomorfismo. Sejam G um grupo, H um subgrupo de G e N um subgrupo normal de

Universidade Federal de Goiás Campus Catalão Departamento de Matemática Disciplina: Fundamentos de Análise

MA14 - Unidade 1 Divisibilidade Semana de 08/08 a 14/08

) a sucessão definida por y n

Lista de Exercícios 6 Funções

Programação Estruturada

Teorema. Existe alguma raiz primitiva módulo n se, e só se, n = 2, n = 4, n = p k ou n = 2p k onde p é primo ímpar.

Aula 1. Teoria da Computação III

Corretude e Completude da Dedução Natural. Thiago Alves Rocha

Se mdc(a,m) = 1, como a é invertível módulo m, a equação. ax b (mod m)

Análise de Algoritmos

Aritmética. Somas de Quadrados

MA14 - Aritmética Unidade 2 Resumo. Divisão Euclidiana

Lista 1 - Bases Matemáticas

Capítulo 1. Introdução

Módulo Tópicos Adicionais. Recorrências

XXXIV OLIMPÍADA BRASILEIRA DE MATEMÁTICA PRIMEIRA FASE NÍVEL 2 (8º. e 9º. anos) GABARITO

Análise e Síntese de Algoritmos. Revisão CLRS, Cap. 4, 6

UNIVERSIDADE FEDERAL DE PERNAMBUCO DEPARTAMENTO DE ESTATÍSTICA. Medida e Probabilidade

Diferenciais em Série de Potências

Jogos e invariantes. 6 de Janeiro de 2015

Séries de Laurent e Teoremas de Cauchy

INE5403 FUNDAMENTOS DE MATEMÁTICA DISCRETA

Lista 4. Esta lista, de entrega facultativa, tem três partes e seus exercícios versam sobre séries, funções contínuas e funções diferenciáveis em R.

Projeto e Análise de Algoritmos

SMA333 8a. Lista - séries de Taylor 07/06/2013

3. ANÁLISE DE COMPLEXIDADE PESSIMISTA

MA14 - Aritmética Unidade 3. Divisão nos Inteiros (Divisibilidade)

Notas Sobre Sequências e Séries Alexandre Fernandes

Universidade Federal de Santa Catarina Centro de Ciẽncias Físicas e Matemáticas Departamento de Matemática. Liana Garcia Ribeiro

1 Números Complexos. Seja R o conjunto dos Reais. Consideremos o produto cartesiano R R = R 2 tal que:

Análise e Projeto de Algoritmos

Divisão e Conquista. Norton T. Roman. Apostila baseada nos trabalhos de Cid de Souza, Cândida da Silva e Delano M. Beder

Teoria dos Conjuntos. (Aula 6) Ruy de Queiroz. O Teorema da. (Aula 6) Ruy J. G. B. de Queiroz. Centro de Informática, UFPE

Semana 3 MCTB J Donadelli. 1 Técnicas de provas. Demonstração indireta de implicação. indireta de. Demonstração por vacuidade e trivial

INE5403 FUNDAMENTOS DE MATEMÁTICA DISCRETA

Introdução à Teoria dos Números - Notas 4 Tópicos Adicionais II

Polinômios Ciclotômicos e o Teorema dos Primos de Dirichlet

Polos Olímpicos de Treinamento. Aula 1. Curso de Teoria dos Números - Nível 2. Divisibilidade I. Samuel Barbosa Feitosa

PUC-Rio Desafio em Matemática 1 de outubro de 2017

03 Análise de Algoritmos (parte 3) SCC201/501 - Introdução à Ciência de Computação II

Transcrição:

O Teorema Mestre da Complexidade Luís Fernando Schultz Xavier da Silveira Departamento de Informática e Estatística - INE - CTC - UFSC 23 de aril de 2010

Conteúdo 1 Enunciado 2 Preliminares Peso das Folhas O Primeiro Caso do Teorema Mestre O Segundo Caso do Teorema Mestre Traalho no Nó Raiz O Terceiro Caso do Teorema Mestre

Enunciado Enunciado Teorema Seja T : N R + uma função satisfazendo ( n ) T(n) = at + f (n) para valores a, N, a 1 e 2, e uma função f : N R +. Então Θ ( n log a), ε > 0 : f O ( n log a ε) Θ ( n T log a log n ), f Θ ( n log a) w (0; 1), ( x 0 N : n x 0, Θ(f ), n ) af f (n)

Enunciado Tecnicalidades Rigorosamente falando, o enunciado do teorema anterior está informal, pois ele não trata do caso ase de T e a divisão n pode não ser um número inteiro.

Enunciado Tecnicalidades Rigorosamente falando, o enunciado do teorema anterior está informal, pois ele não trata do caso ase de T e a divisão n pode não ser um número inteiro. Por outro lado, o enunciado completo não caeria em um slide :-). Vamos então preencher essas lacunas aos poucos.

Enunciado Tecnicalidades Por ( n ) T(n) = at + f (n), entendemos que existe um número n 0 N e que, para todo n n 0, existem números k n [0], k n [1],..., k n [a 1] N, tais que n n i, 0 i < a, 0 k n [i] e T(n) = a 1 ( n ) T + k n [i] + f (n). i=0

Enunciado Tecnicalidades Por ( n ) T(n) = at + f (n), entendemos que existe um número n 0 N e que, para todo n n 0, existem números k n [0], k n [1],..., k n [a 1] N, tais que n n i, 0 i < a, 0 k n [i] e T(n) = a 1 ( n ) T + k n [i] + f (n). i=0 Como isso não altera a definição, assumiremos n 0 1.

Enunciado Tecnicalidades Por ( n ) x 0 N, w (0; 1) : n x 0, af wf (n), entendemos que existem x 0 N, w (0; 1) tais que, para todo n max{n 0, x 0 }, a 1 ( n ) f + k n [i] wf (n). i=0

Preliminares Arredondamento para Potências Definição Seja n N \ {0} e N, 2. Definimos { } π (n) = max k : k n k N como a maior potência de menor ou igual a n.

Preliminares Arredondamento para Potências Lema Seja n N \ {0} e N, 2. Então π (n) = π (n).

Preliminares Arredondamento para Potências Lema Seja n N \ {0} e N, 2. Então π (n) = π (n).. Claramente π (n) é uma potência de satisfazendo π (n) n, pois π (n) n. Porém, como π (n) > n, por definição, temos 2 π (n) > n, e como 2 π (n) é a menor potência de maior que π (n), o resultado segue.

Preliminares Arredondamento para Potências Lema Seja n 2. Então π ( n ) = π (n).

Preliminares Arredondamento para Potências Lema Seja n 2. Então π ( n ) = π (n).. Note que π ( n ) = π (n) ( n ) π = π (n) n ) π ( = π (n).

Preliminares Arredondamento para Potências. n Basta então mostrar que, k N, k k n. De fato, n n k = k 1 n = k n. Similarmente, como k ou é 1 ou é um múltiplo de e n, temos n k n = k n (n mod ) =. Com isso a demonstração está concluída.

Preliminares Arredondamento para Potências Definição Seja n N \ {0} e N, 2. Definimos { } π (n) = min k : k n k N como a menor potência de maior ou igual a n.

Preliminares Arredondamento para Potências Lema Seja n N \ {0} e N, 2. Então π (n) = π (n). Seja n 2. Então π ( n ) = π (n).

Preliminares Arredondamento para Potências Lema Seja n N \ {0} e N, 2. Então π (n) = π (n). Seja n 2. Então π ( n ) = π (n).. Totalmente análoga à dos resultados para π.

Peso das Folhas Peso das Folhas Lema (Peso das Folhas) T Ω ( n log a).

Peso das Folhas Peso das Folhas Lema (Peso das Folhas) T Ω ( n log a).. Seja n 0 = n 0 e seja c = { } T(n) min n 0 n<n 0 π (n) log a. Vamos então provar por indução que, para todo n n 0, T(n) cπ (n) log a.

Peso das Folhas Peso das Folhas. Para a ase da indução, considere n 0 n < n 0. Então ( π (n) T(n) = T(n) log a ) π (n) log a ( ) T(n) = π (n) log a π (n) log a cπ (n) log a.

Peso das Folhas Peso das Folhas. Para o passo indutivo, considere n 0 n. Então T(n) = a 1 ( n ) T + k n [i] + f (n) i=0 a 1 T i=0 ( n ) + k n [i] a 1 ( n cπ i=0 a 1 ( n cπ i=0 ) log a + k n [i] ) log a

Peso das Folhas Peso das Folhas. T(n) a 1 ( n ) log a cπ i=0 ( n = acπ ( π (n) = ac = acπ (n) log a log a = cπ (n) log a. ) log a ) log a = acπ (n) log a a

Peso das Folhas Peso das Folhas. Segue que ( T Ω π (n) log a). Mas como π (n) n < π (n), ( Θ π (n) log a) = Θ (n log a) e segue que ( T Ω n log a).

O Primeiro Caso do Teorema Mestre O Primeiro Caso do Teorema Mestre Com o que já temos até agora é possível demonstrar o primeiro caso do Teorema Mestre. Lema (Primeiro Caso do Teorema Mestre) Se existe ε > 0 tal que ( f O n log a ε), então ( T Θ n log a).

O Primeiro Caso do Teorema Mestre O Primeiro Caso do Teorema Mestre. Como f O(n log a ε ), existem x 0, q N tais que, para todo n x 0, f (n) qπ (n) log a ε. Defina m 0 = max{x 0, n 0 }, m 0 = m 0 e c = max m 0 n<m 0 { T(n) + q ( 1 ε 1 π (n)log a ) } π (n) log a ε. Vamos provar por indução que, para n m 0, ( ) T(n) cπ (n)log 1 a q ε π (n) log a ε O(n log a ). 1

O Primeiro Caso do Teorema Mestre O Primeiro Caso do Teorema Mestre. Para a ase da indução, assuma m 0 n < m 0. Então T(n) = T(n) + q ( 1 ( = ε 1 ) T(n)+q( 1 ε 1)π (n) log a ε π (n)log a cπ (n)log a q ) π (n) log a ε q ( ) 1 ε 1 π (n) log a ε ( 1 ε 1 π (n)log a q ( 1 ε 1 ) π (n) log a ε. ) π (n) log a ε

O Primeiro Caso do Teorema Mestre O Primeiro Caso do Teorema Mestre. Para o passo indutivo, assuma n m 0. Logo T(n)= a 1 T( i=0 n +k n [i])+f (n) ( a 1 i=0 a 1 i=0 cπ ( n +k n [i]) log a q( 1 ε 1)π ( n +k n [i]) log a ε) +qπ (n) log a ε ( cπ ( n ) log a q( 1 ε 1)π ( n ) log a ε) +qπ (n) log a ε acπ ( n ) log a aq( 1 ε 1)π ( n ) log a ε +qπ (n) log a ε ( ) π log a ac (n) aq( 1 ε 1) ( ) π (n) log a ε +qπ (n) log a ε acπ (n)log a aq( log a 1 ε 1) π (n)log a ε log a ε +qπ (n) log a ε acπ (n)log a aq( log a 1 ε 1) π (n)log a ε log a +qπ ε (n) log a ε

O Primeiro Caso do Teorema Mestre O Primeiro Caso do Teorema Mestre. T(n) acπ (n)log a aq( log a 1 ε 1) π (n)log a ε log a +qπ ε (n) log a ε acπ (n)log a a aq( 1 ε 1) ε π (n) log a ε a +qπ (n) log a ε cπ (n)log a q( 1 ε 1) ε π (n) log a ε +qπ (n) log a ε cπ (n)log a q(( 1 ε 1) ε 1)π (n) log a ε cπ (n)log a q( ε ε 1 ε 1 ε 1)π (n) log a ε cπ (n)log a q( 1 ε 1)π (n) log a ε.

O Primeiro Caso do Teorema Mestre O Primeiro Caso do Teorema Mestre. Com isso, segue que T O(n log a ). Pelo lema do peso das folhas, T Ω(n log a ). Portanto T Θ(n log a ).

O Segundo Caso do Teorema Mestre O Segundo Caso do Teorema Mestre Lema Se então f Θ(n log a ), T Θ(n log a log n).

O Segundo Caso do Teorema Mestre O Segundo Caso do Teorema Mestre Lema Se então f Θ(n log a ), T Θ(n log a log n).. Iremos mostrar que T O(n log a log n) e que T Ω(n log a log n).

O Segundo Caso do Teorema Mestre O Segundo Caso do Teorema Mestre. A fim de mostrar que T O(n log a log n), oserve que, como f O(n log a ), existem constantes x 0, q N tais que, para todo n x 0, f (n) qn log a. Assim sendo, defina m 0 = max{n 0, x 0 }, m 0 = m 0 e c = max m 0 n<m 0 { } T(n) π (n)log a log π (n), q. Vamos provar, por indução, que, para todo n m 0, T(n) cπ (n)log a log π (n).

O Segundo Caso do Teorema Mestre O Segundo Caso do Teorema Mestre. Para a ase da indução, assuma que m 0 n < m 0. Então ( π T(n) = T(n) (n) log a log π (n) ) π (n)log a log π ( ) (n) T(n) = π (n)log a log π (n) π (n)log a log π (n) cπ (n)log a log π (n).

O Segundo Caso do Teorema Mestre O Segundo Caso do Teorema Mestre. Para o passo indutivo, suponha n m 0. Então T(n) = a 1 i=0 T ( n + kn [i] ) + f (n) a 1 i=0 cπ ( n + kn [i] ) log a log π ( n + kn [i] ) + f (n) a 1 ( i=0 cπ n ) log a log π ( n ) + f (n) ( π ) ac (n) log a ( π ) log (n) + qn log a = acπ (n)log a (log log a π (n) 1) + qnlog a = acπ (n)log a a (log π (n) 1) + qnlog a = cπ (n)log a (log π (n) 1) + qnlog a

O Segundo Caso do Teorema Mestre O Segundo Caso do Teorema Mestre. T(n) = cπ (n)log a (log π (n) 1) + qnlog a = cπ (n)log a log π (n) cπ (n)log a + qn log a cπ (n)log a log π (n) cπ (n)log a + qπ (n)log a = cπ (n)log a log π (n) + (q c)π (n)log a cπ (n)log a log π (n). Portanto T O(n log a log n).

O Segundo Caso do Teorema Mestre O Segundo Caso do Teorema Mestre. A fim de mostrar que T Ω(n log a log n), oserve que, como f Ω(n log a ), existem constantes x 0, q N tais que, para todo n x 0, f (n) qπ (n) log a. Assim sendo, defina m 0 = max{n 0, x 0 }, m 0 = m 0 e c = min m 0 n<m 0 { } T(n) π (n) log a log π (n), q. Vamos provar por indução que, para todo n m 0, T(n) cπ (n) log a log π (n).

O Segundo Caso do Teorema Mestre O Segundo Caso do Teorema Mestre. Para a ase da indução, suponha m 0 n < m 0. Então ( ) π (n) log a log T(n) = T(n) π (n) π (n) log a log π (n) ( ) T(n) = π (n) log a π (n) log a log log π (n) π (n) cπ (n) log a log π (n).

O Segundo Caso do Teorema Mestre O Segundo Caso do Teorema Mestre. Para a prova do passo indutivo, assuma n m 0. Então T(n) = a 1 ( n ) T + k n [i] + f (n) i=0 a 1 ( n cπ i=0 a 1 ( n cπ i=0 = acπ ( n ) log a ( n ) + k n [i] log π + k n [i] + f (n) ) log a log π ( n ) + qπ (n) log a ) log a log π ( n ) + qπ (n) log a

O Segundo Caso do Teorema Mestre O Segundo Caso do Teorema Mestre. ( n ) log a ( n ) T(n) = acπ log π + qπ (n) log a ( ) = π (n) log a ( ) π (n) ac log + qπ (n) log a = acπ (n) log a ( log π (n) 1 ) + qπ (n) log a log a = cπ (n) log a ( log π (n) 1 ) + qπ (n) log a = π (n) log a ( c log π (n) + (q c) ) cπ (n) log a log π (n). Portanto T Ω(n log a log n).

O Segundo Caso do Teorema Mestre O Segundo Caso do Teorema Mestre. Temos que e que e portanto T O(n log a log n) T Ω(n log a log n), T Θ(n log a log n).

Traalho no Nó Raiz Traalho no Nó Raiz Lema (Traalho no Nó Raiz) T Ω(f ).

Traalho no Nó Raiz Traalho no Nó Raiz Lema (Traalho no Nó Raiz) T Ω(f ).. Para n n 0, T(n) = a 1 ( n ) T + k n [i] + f (n) f (n). i=0

O Terceiro Caso do Teorema Mestre O Terceiro Caso do Teorema Mestre Lema (O Terceiro Caso do Teorema Mestre) Se existem w (0; 1), x 0 N tais que, para todo n max{x 0, n 0 }, a 1 ( n ) f + k n [i] wf (n), i=0 então T Θ(f ).

O Terceiro Caso do Teorema Mestre O Terceiro Caso do Teorema Mestre. Seja m 0 = max{n 0, x 0 }, m 0 = m 0 e c = Vamos provar por indução que para todo n m 0. { } T(n) max m 0 n<m 0 f (n), 1. 1 w T(n) cf (n)

O Terceiro Caso do Teorema Mestre O Terceiro Caso do Teorema Mestre. Para o caso ase, considere m 0 n < m 0. Então ( ) f (n) T(n) = T(n) f (n) ( ) T(n) = f (n) f (n) cf (n).

O Terceiro Caso do Teorema Mestre O Terceiro Caso do Teorema Mestre. Para o passo indutivo, considere n m 0. Segue que T(n) = a 1 ( n ) T + k n [i] + f (n) i=0 a 1 cf i=0 cwf (n) + f (n) = (cw + 1)f (n) cf (n). ( n ) + k n [i] + f (n)

O Terceiro Caso do Teorema Mestre O Terceiro Caso do Teorema Mestre. Então temos que T O(f ). Pelo lema do traalho no nó raiz, temos que T Ω(f ). Logo T Θ(f ).