Top Banner
23/2/2010 1 Análise e Complexidade d Al it de Algoritmos Análise de complexidade pessimista Exemplos de análise de algoritmo iterativos e recursivos. http://www.bolinhabolinha.com Prof. Rodrigo Rocha [email protected] Onde Estamos Ementa • Revisão: Estrutura de dados;Crescimento de funções; Indução matemática e métodos matemáticos Indução matemática e métodos matemáticos. Medidas de complexidade, análise assintótica de limites de complexidades. Exemplos de análise de algoritmo iterativos e recursivos. Análise de desempenho de alguns algoritmos clássicos de busca e ordenação. Introdução aos principais paradigmas do projeto de algoritmos. Complexidade do Problema: Limites de Complexidade, Intratabilidade, Classes P, NP, problemas Np completos e NP-difíceis.
36

Análise e Complexidade dAl itde Algoritmos - BolinhaBolinha · Análise de complexidade pessimista Exemplos de análise de algoritmo ... Introdução aos principais paradigmas do

Nov 09, 2018

Download

Documents

ngodang
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: Análise e Complexidade dAl itde Algoritmos - BolinhaBolinha · Análise de complexidade pessimista Exemplos de análise de algoritmo ... Introdução aos principais paradigmas do

23/2/2010

1

Análise e Complexidade d Al itde AlgoritmosAnálise de complexidade pessimistaExemplos de análise de algoritmo iterativos e recursivos.

http://www.bolinhabolinha.comProf. Rodrigo [email protected]

Onde Estamos

Ementa• Revisão:

Estrutura de dados;Crescimento de funções;

Indução matemática e métodos matemáticos Indução matemática e métodos matemáticos.

Medidas de complexidade, análise assintótica de limites de complexidades.

Exemplos de análise de algoritmo iterativos e recursivos.

Análise de desempenho de alguns algoritmos clássicos de busca e ordenação.

Introdução aos principais paradigmas do projeto de algoritmos.

Complexidade do Problema: Limites de Complexidade, Intratabilidade, Classes P, NP, problemas Np completos e NP-difíceis.

Page 2: Análise e Complexidade dAl itde Algoritmos - BolinhaBolinha · Análise de complexidade pessimista Exemplos de análise de algoritmo ... Introdução aos principais paradigmas do

23/2/2010

2

Relembrando

notação definição

Objeto de Estudo

Serão estudadas as operações básicas de algoritmos

Utilizaremos notações de complexidade Utilizaremos notações de complexidade pessimista

Page 3: Análise e Complexidade dAl itde Algoritmos - BolinhaBolinha · Análise de complexidade pessimista Exemplos de análise de algoritmo ... Introdução aos principais paradigmas do

23/2/2010

3

Preliminares

Conceitos Preliminares

O desempenho de um algoritmo pode ser obtido a partir dos desempenhos das suas várias partes

A complexidade da mesma maneira

Componentes de um algoritmo• conjuntivas: sempre executada em qualquer execução do

algoritmo i := i + 1;

• disjuntiva: são executadas em algumas execuções do l i d d d d l d dalgoritmo, dependendo do valor da entrada se i<>j então

i := i+1;senão

I := i-1;

Page 4: Análise e Complexidade dAl itde Algoritmos - BolinhaBolinha · Análise de complexidade pessimista Exemplos de análise de algoritmo ... Introdução aos principais paradigmas do

23/2/2010

4

Exemplos (pg. 29)

Exemplos (pg. 29)

Page 5: Análise e Complexidade dAl itde Algoritmos - BolinhaBolinha · Análise de complexidade pessimista Exemplos de análise de algoritmo ... Introdução aos principais paradigmas do

23/2/2010

5

Exemplos

Exemplos

Page 6: Análise e Complexidade dAl itde Algoritmos - BolinhaBolinha · Análise de complexidade pessimista Exemplos de análise de algoritmo ... Introdução aos principais paradigmas do

23/2/2010

6

Exemplos

Exemplos

Page 7: Análise e Complexidade dAl itde Algoritmos - BolinhaBolinha · Análise de complexidade pessimista Exemplos de análise de algoritmo ... Introdução aos principais paradigmas do

23/2/2010

7

Exemplos

Exemplos

Page 8: Análise e Complexidade dAl itde Algoritmos - BolinhaBolinha · Análise de complexidade pessimista Exemplos de análise de algoritmo ... Introdução aos principais paradigmas do

23/2/2010

8

Exemplos

Conceitos auxiliares

reduzir a complexidade do algoritmo às ordens de suas partes• conjuntivasconjuntivasabsorção

– A complexidade de uma parte pode ser absorvida pela complexidade de outra parte: a idéia é que a segunda domina a primeira, dando a contribuição principal para a soma.

– Uma complexidade é absorvida por outra, por exemplo, se ambas são polinômios na mesma variável. Nesse caso, a complexidade de menor grau é absorvidacomplexidade de menor grau é absorvida.

• disjuntivasmáximo assintótico

Page 9: Análise e Complexidade dAl itde Algoritmos - BolinhaBolinha · Análise de complexidade pessimista Exemplos de análise de algoritmo ... Introdução aos principais paradigmas do

23/2/2010

9

Absorção

Máximo assintótico (em ordem)

Page 10: Análise e Complexidade dAl itde Algoritmos - BolinhaBolinha · Análise de complexidade pessimista Exemplos de análise de algoritmo ... Introdução aos principais paradigmas do

23/2/2010

10

Máximo assintótico (em ordem)

Equações de complexidade pessimista

metodologia• complexidade com base na sua estrutura complexidade de suas componentesp p

– devemos saber como combinar estas complexidades

analisaremos a complexidade das principais estruturas algoritmas

Page 11: Análise e Complexidade dAl itde Algoritmos - BolinhaBolinha · Análise de complexidade pessimista Exemplos de análise de algoritmo ... Introdução aos principais paradigmas do

23/2/2010

11

Atribuição

A atribuição v := e pode ser:• atribuição simples, valor para v;

• atribuição complexa, atualização de uma matrizatribuição complexa, atualização de uma matriz

• inserção de um nodo no grafo

• inserção de um elemento em um conjunto

“e” pode ser uma expressão ou função, e deve ser avaliado

Atribuição

Page 12: Análise e Complexidade dAl itde Algoritmos - BolinhaBolinha · Análise de complexidade pessimista Exemplos de análise de algoritmo ... Introdução aos principais paradigmas do

23/2/2010

12

Atribuição

Exemplos

Page 13: Análise e Complexidade dAl itde Algoritmos - BolinhaBolinha · Análise de complexidade pessimista Exemplos de análise de algoritmo ... Introdução aos principais paradigmas do

23/2/2010

13

Condicionais

Condicionais

Page 14: Análise e Complexidade dAl itde Algoritmos - BolinhaBolinha · Análise de complexidade pessimista Exemplos de análise de algoritmo ... Introdução aos principais paradigmas do

23/2/2010

14

Condicionais

Condicionais

Page 15: Análise e Complexidade dAl itde Algoritmos - BolinhaBolinha · Análise de complexidade pessimista Exemplos de análise de algoritmo ... Introdução aos principais paradigmas do

23/2/2010

15

Page 16: Análise e Complexidade dAl itde Algoritmos - BolinhaBolinha · Análise de complexidade pessimista Exemplos de análise de algoritmo ... Introdução aos principais paradigmas do

23/2/2010

16

Seqüência (ou composição)

Page 17: Análise e Complexidade dAl itde Algoritmos - BolinhaBolinha · Análise de complexidade pessimista Exemplos de análise de algoritmo ... Introdução aos principais paradigmas do

23/2/2010

17

Page 18: Análise e Complexidade dAl itde Algoritmos - BolinhaBolinha · Análise de complexidade pessimista Exemplos de análise de algoritmo ... Introdução aos principais paradigmas do

23/2/2010

18

Page 19: Análise e Complexidade dAl itde Algoritmos - BolinhaBolinha · Análise de complexidade pessimista Exemplos de análise de algoritmo ... Introdução aos principais paradigmas do

23/2/2010

19

Iteração definida (ou incondicional)

Page 20: Análise e Complexidade dAl itde Algoritmos - BolinhaBolinha · Análise de complexidade pessimista Exemplos de análise de algoritmo ... Introdução aos principais paradigmas do

23/2/2010

20

Page 21: Análise e Complexidade dAl itde Algoritmos - BolinhaBolinha · Análise de complexidade pessimista Exemplos de análise de algoritmo ... Introdução aos principais paradigmas do

23/2/2010

21

Page 22: Análise e Complexidade dAl itde Algoritmos - BolinhaBolinha · Análise de complexidade pessimista Exemplos de análise de algoritmo ... Introdução aos principais paradigmas do

23/2/2010

22

Page 23: Análise e Complexidade dAl itde Algoritmos - BolinhaBolinha · Análise de complexidade pessimista Exemplos de análise de algoritmo ... Introdução aos principais paradigmas do

23/2/2010

23

iteração indefinida (ou condicional)

Page 24: Análise e Complexidade dAl itde Algoritmos - BolinhaBolinha · Análise de complexidade pessimista Exemplos de análise de algoritmo ... Introdução aos principais paradigmas do

23/2/2010

24

Page 25: Análise e Complexidade dAl itde Algoritmos - BolinhaBolinha · Análise de complexidade pessimista Exemplos de análise de algoritmo ... Introdução aos principais paradigmas do

23/2/2010

25

Page 26: Análise e Complexidade dAl itde Algoritmos - BolinhaBolinha · Análise de complexidade pessimista Exemplos de análise de algoritmo ... Introdução aos principais paradigmas do

23/2/2010

26

Page 27: Análise e Complexidade dAl itde Algoritmos - BolinhaBolinha · Análise de complexidade pessimista Exemplos de análise de algoritmo ... Introdução aos principais paradigmas do

23/2/2010

27

Page 28: Análise e Complexidade dAl itde Algoritmos - BolinhaBolinha · Análise de complexidade pessimista Exemplos de análise de algoritmo ... Introdução aos principais paradigmas do

23/2/2010

28

Exemplos de aplicação

Page 29: Análise e Complexidade dAl itde Algoritmos - BolinhaBolinha · Análise de complexidade pessimista Exemplos de análise de algoritmo ... Introdução aos principais paradigmas do

23/2/2010

29

Page 30: Análise e Complexidade dAl itde Algoritmos - BolinhaBolinha · Análise de complexidade pessimista Exemplos de análise de algoritmo ... Introdução aos principais paradigmas do

23/2/2010

30

Page 31: Análise e Complexidade dAl itde Algoritmos - BolinhaBolinha · Análise de complexidade pessimista Exemplos de análise de algoritmo ... Introdução aos principais paradigmas do

23/2/2010

31

Principios básicos

Page 32: Análise e Complexidade dAl itde Algoritmos - BolinhaBolinha · Análise de complexidade pessimista Exemplos de análise de algoritmo ... Introdução aos principais paradigmas do

23/2/2010

32

Componentes conjuntivas

Page 33: Análise e Complexidade dAl itde Algoritmos - BolinhaBolinha · Análise de complexidade pessimista Exemplos de análise de algoritmo ... Introdução aos principais paradigmas do

23/2/2010

33

Componentes disjuntivas

Page 34: Análise e Complexidade dAl itde Algoritmos - BolinhaBolinha · Análise de complexidade pessimista Exemplos de análise de algoritmo ... Introdução aos principais paradigmas do

23/2/2010

34

Page 35: Análise e Complexidade dAl itde Algoritmos - BolinhaBolinha · Análise de complexidade pessimista Exemplos de análise de algoritmo ... Introdução aos principais paradigmas do

23/2/2010

35

Especialização por transformação das entradas

Page 36: Análise e Complexidade dAl itde Algoritmos - BolinhaBolinha · Análise de complexidade pessimista Exemplos de análise de algoritmo ... Introdução aos principais paradigmas do

23/2/2010

36

Referências