An - PowerPoint PPT Presentation

About This Presentation
Title:

An

Description:

An lise Projeto de Algoritmos Loana Tito Nogueira 25-Abril-2006 Indu o Matem tica Na Demonstra o por Indu o, queremos demonstrar a validade de P(n), uma ... – PowerPoint PPT presentation

Number of Views:65
Avg rating:3.0/5.0
Slides: 46
Provided by: Loa57
Category:
Tags: algoritmos

less

Transcript and Presenter's Notes

Title: An


1
Análise Projeto de Algoritmos
  • Loana Tito Nogueira
  • 25-Abril-2006

2
Indução Matemática
  • Na Demonstração por Indução, queremos demonstrar
    a validade de P(n), uma propriedade P com um
    parâmetro natural n associado, para todo valor de
    n

3
Indução Matemática
  • Na Demonstração por Indução, queremos demonstrar
    a validade de P(n), uma propriedade P com um
    parâmetro natural n associado, para todo valor de
    n
  • Há um número infinito de casos a serem
    considerados, um para cada valor de n.
    Demonstramos os infinitos casos de uma só vez

4
Indução Matemática
  • Na Demonstração por Indução, queremos demonstrar
    a validade de P(n), uma propriedade P com um
    parâmetro natural n associado, para todo valor de
    n
  • Há um número infinito de casos a serem
    considerados, um para cada valor de n.
    Demonstramos os infinitos casos de uma só vez
  • Base da Indução Demonstramos P(1)

5
Indução Matemática
  • Na Demonstração por Indução, queremos demonstrar
    a validade de P(n), uma propriedade P com um
    parâmetro natural n associado, para todo valor de
    n
  • Há um número infinito de casos a serem
    considerados, um para cada valor de n.
    Demonstramos os infinitos casos de uma só vez
  • Base da Indução Demonstramos P(1)
  • Hipótese de Indução Supomos que P(n) é verdadeiro

6
Indução Matemática
  • Na Demonstração por Indução, queremos demonstrar
    a validade de P(n), uma propriedade P com um
    parâmetro natural n associado, para todo valor de
    n
  • Há um número infinito de casos a serem
    considerados, um para cada valor de n.
    Demonstramos os infinitos casos de uma só vez
  • Base da Indução Demonstramos P(1)
  • Hipótese de Indução Supomos que P(n) é
    verdadeiro
  • Passo de Indução Provamos que P(n1) é
    verdadeiro, a partir da hipótese de indução

7
Exemplo Prove, por indução, ?i1 (2i-1) k2
k
8
Indução Forte X Indução Fraca
k
  • A indução forte difere da indução fraca (ou
    simples) apenas na suposição da hipótese
  • No caso da indução forte, devemos supor que a
    propriedade vale para todos os casos anteriores,
    não somente para o anterior, ou seja
  • Base da indução demonstramos P(1)
  • Hipótese de Indução Forte Supomos que P(k) é
    verdadeiro, para todo k ? n
  • Passo da Indução Provamos que P(n) é verdadeiro
    a partir da Hipótese de Indução

9
Exercícios
  • 1- Demonstre que para todo natural x e n, xn 1
    é divisível por x- 1
  • Mostre que ?i1 35i 2,5n2 5.5n
  • Mostre que ?i1 i n(n1)/2
  • Prove que todo número pode ser escrito como a
    soma de diferentes potências de 2.

n
n
10
Torre de Hanói
11
Torre de Hanói
B
C
A
12
Torre de Hanói
B
C
A
13
Torre de Hanói
B
C
A
auxiliar
14
Torre de Hanói - Algoritmo
  • Algoritmo HANOI(n, de A para B usando C)
  • Torre de Hanoi, n Discos
  • Início
  • 1 Se n1 então A ? B
  • Caso contrário
  • Início
  • 2 HANOI(n-1, de A para C usando
    B)
  • 3 A ? B
  • 4 HANOI(N-1, DE C PARA B
    USANDO A)
  • Fim
  • Fim.

15
Torre de Hanói - Algoritmo
  • Algoritmo HANOI(n, de A para B usando C)
  • Torre de Hanoi, n Discos
  • Início
  • 1 Se n1 então A ? B
  • Caso contrário
  • Início
  • 2 HANOI(n-1, de A para C usando
    B)
  • 3 A ? B
  • 4 HANOI(N-1, DE C PARA B
    USANDO A)
  • Fim
  • Fim.

16
Torre de Hanói - Algoritmo
  • Algoritmo HANOI(n, de A para B usando C)
  • Torre de Hanoi, n Discos
  • Início
  • 1 Se n1 então A ? B
  • Caso contrário
  • Início
  • 2 HANOI(n-1, de A para C usando
    B)
  • 3 A ? B
  • 4 HANOI(N-1, DE C PARA B
    USANDO A)
  • Fim
  • Fim.

B
C
A
17
Torre de Hanói - Algoritmo
  • Algoritmo HANOI(n, de A para B usando C)
  • Torre de Hanoi, n Discos
  • Início
  • 1 Se n1 então A ? B
  • Caso contrário
  • Início
  • 2 HANOI(n-1, de A para C usando
    B)
  • 3 A ? B
  • 4 HANOI(N-1, DE C PARA B
    USANDO A)
  • Fim
  • Fim.

B
C
A
18
Torre de Hanói - Algoritmo
  • Algoritmo HANOI(n, de A para B usando C)
  • Torre de Hanoi, n Discos
  • Início
  • 1 Se n1 então A ? B
  • Caso contrário
  • Início
  • 2 HANOI(n-1, de A para C usando
    B)
  • 3 A ? B
  • 4 HANOI(N-1, DE C PARA B
    USANDO A)
  • Fim
  • Fim.

19
Torre de Hanói - Algoritmo
  • Algoritmo HANOI(n, de A para B usando C)
  • Torre de Hanoi, n Discos
  • Início
  • 1 Se n1 então A ? B
  • Caso contrário
  • Início
  • 2 HANOI(n-1, de A para C usando
    B)
  • 3 A ? B
  • 4 HANOI(N-1, DE C PARA B
    USANDO A)
  • Fim
  • Fim.

B
C
A
20
Torre de Hanói - Algoritmo
  • Algoritmo HANOI(n, de A para B usando C)
  • Torre de Hanoi, n Discos
  • Início
  • 1 Se n1 então A ? B
  • Caso contrário
  • Início
  • 2 HANOI(n-1, de A para C usando
    B)
  • 3 A ? B
  • 4 HANOI(N-1, DE C PARA B
    USANDO A)
  • Fim
  • Fim.

n-1 discos
B
C
A
21
Torre de Hanói - Algoritmo
  • Algoritmo HANOI(n, de A para B usando C)
  • Torre de Hanoi, n Discos
  • Início
  • 1 Se n1 então A ? B
  • Caso contrário
  • Início
  • 2 HANOI(n-1, de A para C usando
    B)
  • 3 A ? B
  • 4 HANOI(N-1, DE C PARA B
    USANDO A)
  • Fim
  • Fim.

HANOI(n-1, de A para C usando B)
B
C
A
22
Torre de Hanói - Algoritmo
  • Algoritmo HANOI(n, de A para B usando C)
  • Torre de Hanoi, n Discos
  • Início
  • 1 Se n1 então A ? B
  • Caso contrário
  • Início
  • 2 HANOI(n-1, de A para C usando
    B)
  • 3 A ? B
  • 4 HANOI(N-1, DE C PARA B
    USANDO A)
  • Fim
  • Fim.

A?B
B
C
A
23
Torre de Hanói - Algoritmo
  • Algoritmo HANOI(n, de A para B usando C)
  • Torre de Hanoi, n Discos
  • Início
  • 1 Se n1 então A ? B
  • Caso contrário
  • Início
  • 2 HANOI(n-1, de A para C usando
    B)
  • 3 A ? B
  • 4 HANOI(N-1, DE C PARA B
    USANDO A)
  • Fim
  • Fim.

n-1 discos
B
C
A
24
Torre de Hanói - Algoritmo
  • Algoritmo HANOI(n, de A para B usando C)
  • Torre de Hanoi, n Discos
  • Início
  • 1 Se n1 então A ? B
  • Caso contrário
  • Início
  • 2 HANOI(n-1, de A para C usando
    B)
  • 3 A ? B
  • 4 HANOI(N-1, DE C PARA B
    USANDO A)
  • Fim
  • Fim.

HANOI(n-1, de C para B usando A)
B
C
A
25
Torre de Hanói - Algoritmo
  • Algoritmo HANOI(n, de A para B usando C)
  • Torre de Hanoi, n Discos
  • Início
  • 1 Se n1 então A ? B
  • Caso contrário
  • Início
  • 2 HANOI(n-1, de A para C usando
    B)
  • 3 A ? B
  • 4 HANOI(N-1, DE C PARA B
    USANDO A)
  • Fim
  • Fim.

26
O Algoritmo recursivo HANOI resolve o problema
das Torres de Hanoi com n discos
27
O Algoritmo recursivo HANOI resolve o problema
das Torres de Hanoi com n discos
  • Prova (por indução)
  • Base da indução
  • Hipótese Indutiva
  • Passo da Indução

28
O Algoritmo recursivo HANOI resolve o problema
das Torres de Hanoi com n discos
  • Prova (por indução)
  • Base da indução n1 (um único disco)
  • Hipótese Indutiva
  • Passo da Indução

29
O Algoritmo recursivo HANOI resolve o problema
das Torres de Hanoi com n discos
  • Prova (por indução)
  • Base da indução n1 (um único disco)

Algoritmo HANOI(n, de A para B usando C)
Torre de Hanoi, n Discos Início 1
Se n1 então A ? B Caso contrário
Início 2 HANOI(n-1,
de A para C usando B) 3 A
? B 4 HANOI(N-1, DE C
PARA B USANDO A) Fim Fim.
30
O Algoritmo recursivo HANOI resolve o problema
das Torres de Hanoi com n discos
  • Prova (por indução)
  • Base da indução n1 (um único disco) OK!!
  • Hipótese Indutiva
  • Passo da Indução

31
O Algoritmo recursivo HANOI resolve o problema
das Torres de Hanoi com n discos
  • Prova (por indução)
  • Base da indução n1 (um único disco) OK!!
  • Hipótese Indutiva O algoritmo funciona
    corretamente para n-1 discos (os n-1 discos são
    movidos corretamente de A para Z)
  • Passo da Indução

32
O Algoritmo recursivo HANOI resolve o problema
das Torres de Hanoi com n discos
  • Prova (por indução)
  • Base da indução n1 (um único disco) OK!!
  • Hipótese Indutiva O algoritmo funciona
    corretamente para n-1 discos (os n-1 discos são
    movidos corretamente de A para Z)
  • Passo da Induçãosuponha que o suporte X tem ngt1
    discos inicialmente

33
O Algoritmo recursivo HANOI resolve o problema
das Torres de Hanoi com n discos
  • Prova (por indução)
  • Base da indução n1 (um único disco) OK!!
  • Hipótese Indutiva O algoritmo funciona
    corretamente para n-1 discos (os n-1 discos são
    movidos corretamente de A para Z)
  • Passo da Induçãosuponha que o suporte X tem ngt1
    discos inicialmente

. . .
34
Recorrência
  • É uma equação ou desigualdade que descreve uma
    função em termos de seus valores em entradas
    menores.

35
Recorrência
  • É uma equação ou desigualdade que descreve uma
    função em termos de seus valores em entradas
    menores.
  • Quando um algoritmo contém uma chamada recursiva
    a ele próprio, seu tempo de execução pode
    freqüentemente ser descrito por uma recorrência.

36
Exemplo Torre de Hanói
  • Algoritmo HANOI(n, de A para B usando C)
  • Torre de Hanoi, n Discos
  • Início
  • 1 Se n1 então A ? B
  • Caso contrário
  • Início
  • 2 HANOI(n-1, de A para C usando
    B)
  • 3 A ? B
  • 4 HANOI(N-1, DE C PARA B
    USANDO A)
  • Fim
  • Fim

37
Exemplo Torre de Hanói
  • Algoritmo HANOI(n, de A para B usando C)
  • Torre de Hanoi, n Discos
  • Início
  • 1 Se n1 então A ? B
  • Caso contrário
  • Início
  • 2 HANOI(n-1, de A para C usando
    B)
  • 3 A ? B
  • 4 HANOI(N-1, DE C PARA B
    USANDO A)
  • Fim
  • Fim

(1)
38
Exemplo Torre de Hanói
  • Algoritmo HANOI(n, de A para B usando C)
  • Torre de Hanoi, n Discos
  • Início
  • 1 Se n1 então A ? B
  • Caso contrário
  • Início
  • 2 HANOI(n-1, de A para C usando
    B)
  • 3 A ? B
  • 4 HANOI(N-1, DE C PARA B
    USANDO A)
  • Fim
  • Fim

(1)
T(n-1)
39
Exemplo Torre de Hanói
  • Algoritmo HANOI(n, de A para B usando C)
  • Torre de Hanoi, n Discos
  • Início
  • 1 Se n1 então A ? B
  • Caso contrário
  • Início
  • 2 HANOI(n-1, de A para C usando
    B)
  • 3 A ? B
  • 4 HANOI(N-1, DE C PARA B
    USANDO A)
  • Fim
  • Fim

(1)
T(n-1)
(1)
40
Exemplo Torre de Hanói
  • Algoritmo HANOI(n, de A para B usando C)
  • Torre de Hanoi, n Discos
  • Início
  • 1 Se n1 então A ? B
  • Caso contrário
  • Início
  • 2 HANOI(n-1, de A para C usando
    B)
  • 3 A ? B
  • 4 HANOI(N-1, DE C PARA B
    USANDO A)
  • Fim
  • Fim

(1)
T(n-1)
(1)
T(n-1)
41
Exemplo Torre de Hanói

1, se n 1 2T(n-1) 1,
se n gt 1
T(n)
42
Exemplo Torre de Hanói

1, se n 1 2T(n-1) 1,
se n gt 1
T(n)
n
Lembre-se que ? aj an1 1
n-1
j1
43
Resolvendo algumas recorrências
1, se n 1 2T(n/2) 1,
se n gt 1
T(n)
44
Resolvendo algumas recorrências
1, se n 1 2T(n/2) n2,
se n gt 1
T(n)
45
Resolvendo algumas recorrências
1, se n 1 2T(n/2) n,
se n gt 1
T(n)
Write a Comment
User Comments (0)
About PowerShow.com