Estudando complexidade de algoritmos

Documentos relacionados
Análise e Síntese de Algoritmos. Revisão CLRS, Cap. 1-3

ANÁLISE DE COMPLEXIDADE DE ALGORITMOS

Análise de Algoritmos. Análise de Algoritmos. Análise de Algoritmos. Análise de Algoritmos. Análise de Algoritmos. Análise de Algoritmos

Lista de Exercícios #6 Assunto: Propriedade dos Estimadores e Métodos de Estimação

Jorge Figueiredo, DSC/UFCG. Análise e Técnicas de Algoritmos Jorge Figueiredo, DSC/UFCG. Análise e Técnicas de Algoritmos 2007.

Ordenação. David Menotti Algoritmos e Estruturas de Dados II DInf UFPR

Complexidade de Algoritmos

Universidade Federal de Alfenas

Ordenação (Parte 1) Prof. Túlio Toffolo BCC202 Aula 13 Algoritmos e Estruturas de Dados I

Estudo da Função Exponencial e Função Logarítmica

Capítulo 5. CASO 5: EQUAÇÃO DE POISSON 5.1 MODELO MATEMÁTICO E SOLUÇÃO ANALÍTICA

F- MÉTODO DE NEWTON-RAPHSON

Virgílio A. F. Almeida DCC-UFMG 1/2005

Prova Escrita de MATEMÁTICA A - 12o Ano a Fase

CONCEITOS DE VIBRAÇÃO

Análise Matemática I 2 o Exame

Sumário. 2 Índice Remissivo 17

Uma recorrência é uma equação que descreve uma função em termos do seu valor em entradas menores

A letra x representa números reais, portanto

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

Introdução a Complexidade de Algoritmos

Fundamentos de Análise Matemática Profª Ana Paula. Números reais

Análise de Algoritmos

Métodos Quantitativos para Ciência da Computação Experimental Aula #4

Probabilidades e Estatística

Cálculo II Sucessões de números reais revisões

FICHA de AVALIAÇÃO de MATEMÁTICA A 11.º Ano Versão 1

Distribuições Amostrais

Obtemos, então, uma amostra aleatória de tamanho n de X, que representamos por X 1, X 2,..., X n.

1. Revisão Matemática

AMOSTRAGEM ALEATÓRIA DISTRIBUIÇÕES POR AMOSTRAGEM

Projeto e Análise de Algoritmos Aula 2: Função de Complexidade Notação Assintótica (GPV 0.3)

Considerações finais

Sucessões. , ou, apenas, u n. ,u n n. Casos Particulares: 1. Progressão aritmética de razão r e primeiro termo a: o seu termo geral é u n a n1r.

BÁRBARA DENICOL DO AMARAL RODRIGUEZ CINTHYA MARIA SCHNEIDER MENEGHETTI CRISTIANA ANDRADE POFFAL SEQUÊNCIAS NUMÉRICAS. 1 a Edição

Mineração de Dados em Biologia Molecular

Medidas de Posição. É igual ao quociente entre a soma dos valores do conjunto e o número total dos valores.

CONHECIMENTOS ESPECÍFICOS

Fundamentos de Análise Matemática Profª Ana Paula. Sequência Infinitas

Cap. 4 - Estimação por Intervalo

Introdução. Objetivo da Ciência da Computação. Regra Geral. Nenhuma implementação excelente salva um Algoritmo inadequado.

MATEMÁTICA II. Profa. Dra. Amanda Liz Pacífico Manfrim Perticarrari

Aula 5 Teorema central do limite & Aplicações

CÁLCULO I. Exibir o cálculo de algumas integrais utilizando a denição;

FICHA de AVALIAÇÃO de MATEMÁTICA A 11.º Ano Versão 2

Stela Adami Vayego DEST/UFPR

Universidade do Estado do Amazonas

1 Amintas engenharia

n ) uma amostra aleatória da variável aleatória X.

Amostras Aleatórias e Distribuições Amostrais. Probabilidade e Estatística: afinal, qual é a diferença?

DISTRIBUIÇÃO AMOSTRAL E ESTIMAÇÃO PONTUAL INTRODUÇÃO ROTEIRO POPULAÇÃO E AMOSTRA. Estatística Aplicada à Engenharia

Ordenação por Troca. Bubblesort Quicksort

5. O algoritmo dos mínimos quadrados

FUNÇÕES CONTÍNUAS Onofre Campos

REVISÃO DE PROBABILIDADE E ESTATÍSTICA. Parte 2

S E Q U Ê N C I A S E L I M I T E S. Prof. Benito Frazão Pires. Uma sequência é uma lista ordenada de números

INSTITUTO FEDERAL DE BRASILIA LISTA DE REVISÃO. Nome: DATA: 05/12/2016. d) 4 3 a) 44 b) 22 c) 20 d) 15 e) 10. Se um saco

INTERPOLAÇÃO POLINOMIAL

5 Teoria dos Valores Extremos

Probabilidade II Aula 12

MATEMÁTICA II. Profa. Dra. Amanda Liz Pacífico Manfrim Perticarrari

ESCOLA SECUNDÁRIA COM 3º CICLO D. DINIS 11º ANO DE ESCOLARIDADE DE MATEMÁTICA A Tema III Sucessões Reais

A finalidade de uma equação de regressão seria estimar valores de uma variável, com base em valores conhecidos da outra.

Introdução. Objetivo da Ciência da Computação. Regra Geral. Problema Algoritmo Implementação. Projeto e Análise de. Algoritmo 3

Teste de Avaliação de MATEMÁTICA 12º ano

FICHA de AVALIAÇÃO de MATEMÁTICA A 11.º Ano de escolaridade Versão 3

Estimação por Intervalo (Intervalos de Confiança):

BANCO DE QUESTÕES MATEMÁTICA A 11. O ANO

FICHA de AVALIAÇÃO de MATEMÁTICA A 11.º Ano de escolaridade Versão 4

Métodos de Classificação dos Objetos Segmentados(IAR) Vizinho Próximo Lógica Fuzzy

FICHA de AVALIAÇÃO de MATEMÁTICA A 11.º Ano Versão 4

3. Seja C o conjunto dos números complexos. Defina a soma em C por

ESCOLA SECUNDÁRIA COM 3º CICLO D. DINIS 11º ANO DE ESCOLARIDADE DE MATEMÁTICA A Tema III Sucessões Reais

Exame Final Nacional de Matemática Aplicada às Ciências Sociais Época especial

Séquências e Séries Infinitas de Termos Constantes

CAPÍTULO IV DESENVOLVIMENTOS EM SÉRIE

Capítulo 3. Sucessões e Séries Geométricas

Capítulo I Séries Numéricas

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

MEDIDAS DE TENDÊNCIA CENTRAL E MEDIDAS DE DISPERSÃO Í N D I C E

UMA EXPERIÊNCIA COM MODELAGEM MATEMÁTICA NA LICENCIATURA EM MATEMÁTICA

MATEMÁTICA FINANCEIRA

Ordenação e Busca em Arquivos

O termo "linear" significa que todas as funções definidas no modelo matemático que descreve o problema devem ser lineares, isto é, se f( x1,x2

CEDERJ - CENTRO DE EDUCAÇÃO SUPERIOR A DISTÂNCIA DO ESTADO DO RIO DE JANEIRO

SINAIS E SISTEMAS DE TEMPO DISCRETO

B Este apêndice apresenta tópicos de matemática que podem ser necessários para completo entendimento do texto principal.

Alguns autores também denotam uma sequência usando parêntesis:

Quicksort. Algoritmos e Estruturas de Dados II

Provas de Matemática Elementar - EAD. Período

lim Px ( ) 35 x 5 ), teremos Px ( ) cada vez mais próximo de 35 (denotaremos isso da forma Px ( ) 35 ). UNIVERSIDADE FEDERAL DA PARAÍBA CAMPUS IV-CCAE

PROGRAMAÇÃO E ALGORITMOS (LEII) Universidade da Beira Interior, Departamento de Informática Hugo Pedro Proença, 2016/2017

Estatística Aplicada Medidas Resumo Apostila 4 Prof. Fábio Hipólito Aluno(a):

CAP. I - ESTUDO DE FUNÇÕES COM VÁRIAS VARIÁVEIS INDEPENDENTES.

Questão 1. Questão 2. Questão 4. Questão 3. alternativa C. alternativa B. alternativa D. alternativa A n 2 n! O valor de log 2. c) n. b) 2n.

ESCOLA ONLINE DE CIÊNCIAS FORMAIS CURSO DE INTRODUÇÃO À LÓGICA MATEMÁTICA (3) MÉTODO AXIOMÁTICO E TEORIAS FORMAIS AULA 10 VERDADE DE TARSKI (PARTE 1)

Complexidade de Algoritmos Aula 5

Stela Adami Vayego DEST/UFPR

Teorema do limite central e es/mação da proporção populacional p

Preliminares 1. 1 lim sup, lim inf. Medida e Integração. Departamento de Física e Matemática. USP-RP. Prof. Rafael A. Rosales. 8 de março de 2009.

Transcrição:

Estudado complexidade de algoritmos Dailo de Oliveira Domigos wwwdadomicombr Notas de aula de Estrutura de Dados e Aálise de Algoritmos (Professor Adré Bala, mestrado UFABC) Durate os estudos de complexidade de algoritmos é muito comum se deparar com expressões do tipo o grau assitótico é liear, o grau assitótico é quadrático, etc Etão porque ão dar uma revisada as pricipais curvas evolvidas essa aálise? A tabela abaixo mostra como determiadas fuções se comportam o itervalo de domíio (eixo etre e Perceba como o itervalo da imagem (eixo y) varia muito Tabela Pricipais fuções utilizadas a comparação de complexidade de algoritmos Nome Características Equação Gráfico Logarítmico de até 4 = log Liear de até = Logarítmico vezes Liear de até 4 = log Quadrático de até =

Cúbico de até = 3 Expoecial de até = 5 Ates de cotiuar vamos verificar todas jutas um só gráfico: Figura Comparação das curvas o mesmo gráfico Eixo Y limitado em 5 Comparado as curvas do gráfico podemos dizer que se o seu algoritmo tem um comportameto quadrático, o que diz respeito a tempo de processameto em fução do úmero de etradas, etão ele gasta muito mais tempo que um algoritmo liear É claro que existe um jeito melhor de dizer o comportameto do algoritmo, que será visto adiate (Ω, Θ, O)

No que diz respeito ao grau assitótico de uma fução, apeas o grau da tedêcia já é o suficiete para comparar algoritmos etão as costates evolvidas as fuções tedem a ser tratadas como costates irrelevates, por exemplo: Grau assitótico Liear: = 5 + 9 ou = são tratados como = a + b Grau assitótico Logarítmico: f ) = 5log 3 é tratado como = log ( Grau assitótico Quadrático: = 3 + + 8 é tratado como 3 Grau assitótico Cúbico: = + + 5 é tratado como Grau assitótico Expoecial: f 5 ( ) = ou f = = ( ) = é tratado como 3 = Para os exemplos da Figura (e Tabela ) podemos dizer que: Para uma etrada de elemetos, o algoritmo mais eficiete seria o que faz suas rotias seguido uma tedêcia logarítmica Para a mesma etrada de elemetos, o algoritmo meos eficiete seria o que faz suas rotias seguido uma tedêcia expoecial Mas, o que é um algoritmo bom ou ruim? Um que é mais rápido, porem gasta muito mais memória, ou vice-versa? Isso depede bastate do objetivo e dispoibilidade de recursos Limites assitóticos Um algoritmo, dado um cojuto de etrada de dados, pode processá-los de varias formas No caso de um algoritmo de ordeação, de uma forma grosseira, se os dados já estiverem ordeados etão ada precisa ser feito, caso cotrário a ordeação é ecessária Quado a aálise de complexidade é feita, os dois casos extremos são levados em cosideração: Limite assitótico superior O: será uma fução que traduz o grau assitótico do tempo máximo gasto em fução do tamaho da etrada de dados Exemplo: O () ou O ( ), querem dizer respectivamete, limite assitótico superior liear e limite assitótico superior quadrático Geralmete é associado ao pior caso de etrada de dados Limite assitótico iferior Ω: será uma fução que traduz o grau assitótico do tempo míimo gasto em fução do tamaho da etrada de dados Exemplo: Ω ( ) ou Ω ( log), querem dizer respectivamete, limite assitótico iferior quadrático e limite assitótico iferior log Geralmete é associado ao melhor caso de etrada de dados Limite assitótico restrito Θ: em algus casos, os limites assitóticos superior e iferior terão o mesmo grau, este caso, temos O( ) = Ω( ) = θ ( ) Por exemplo, supoha um algoritmo que apresete O ( ) e Ω (), isso sigifica que o tempo máximo que ele demora a realizar sua tarefa tede a uma curva quadrática; da a

mesma forma que o tempo míimo que ele demora a realizar sua tarefa tede a uma curva liear A Figura apreseta esta visualização graficamete Você pode estar se pergutado, mas logo o começiho do gráfico existe um poto ode os limites assitóticos trocam de lugares Isto está correto, etre 4 e ocorre uma iversão e para etradas de dados iferiores aquele valor o algoritmo terá O () e Ω ( ) Mas o objetivo da aálise de complexidade é verificar o tempo de processameto do algoritmo em fução de grades quatidades de dados, desta forma, o começo do gráfico ão terá muita utilidade para 8 dados de etrada, por exemplo Figura Algoritmo com limites assitóticos superior e iferior quadrático e liear, respectivamete Estes dois limites correspodem ao melhor caso e ao pior caso, mas a área em azul compreede todos os outros possíveis casos Figura 3 Gráfico para etrada de dados variado de até 8 Para = 8, tempo gasto o pior caso é aproximadamete vezes maior que o tempo gasto o melhor caso Para uma melhor visualização o gráfico é log-liear

Para provar os limites assitóticos superior, iferior ou restrito, a seguite demostração matemática deve ser feita: Limite assitótico superior O(g() Dizer que uma fução f( tem limite assitótico superior O(g() sigifica dizer: Existe uma costate positiva c e tais que f ( cg( para Ou seja, a fução f( é sempre meor do que a fução g( multiplicada por uma costate, para No exemplo da Figura, correspode àquele poto etre e 4 Limite assitótico restrito Θ(g() Dizer que uma fução f( tem limite assitótico restrito Θ(g() sigifica dizer: Existem costates positivas c, c e tais que cg( f ( cg( para Ou seja, a fução f( está sempre etre (restrita) duas fuções g( iguais a meos de uma costate para Limite assitótico iferior Ω(g() Dizer que uma fução f( tem limite assitótico iferior Ω(g() sigifica dizer: Existe uma costate positiva c e tais que cg( f ( para Ou seja, a fução f( é sempre maior que g( multiplicada por uma costate, para Na maioria dos casos, as codições ão são respeitadas para todo o domíio de x, mas basta provar que a partir de certo as codições são válidas Exemplos: (dps eu faço!)