Transcript
Page 1: INE5403 FUNDAMENTOS DE MATEMÁTICA DISCRETAmauro.roisenberg/ine5403/slides_novos/... · 2007. 5. 14. · O número de ações do tipo “inserir-imprimir-remover” é o número de

INE5403

FUNDAMENTOS DE

MATEMÁTICA DISCRETA

PARA A COMPUTAÇÃO

PROF. DANIEL S. FREITAS

UFSC - CTC - INE

Prof. Daniel S. Freitas - UFSC/CTC/INE/2007 – p.1/27

Page 2: INE5403 FUNDAMENTOS DE MATEMÁTICA DISCRETAmauro.roisenberg/ine5403/slides_novos/... · 2007. 5. 14. · O número de ações do tipo “inserir-imprimir-remover” é o número de

4 - INTROD. À ANÁLISE COMBINATÓRIA

4.1) Arranjos (permutações)

4.2) Combinações

4.3) O Princípio do Pombal

4.4) Relações de Recorrência

Prof. Daniel S. Freitas - UFSC/CTC/INE/2007 – p.2/27

Page 3: INE5403 FUNDAMENTOS DE MATEMÁTICA DISCRETAmauro.roisenberg/ine5403/slides_novos/... · 2007. 5. 14. · O número de ações do tipo “inserir-imprimir-remover” é o número de

RELAÇÕES DE RECORRÊNCIA

Quando o problema é encontrar uma fórmula para uma seqüênciadefinida recursivamente, esta fórmula recursiva é chamada derelação de recorrência.

As definições recursivas de seqüências, que já vimos, são exemplosde relações de recorrência.

Lembre que, para definir uma seqüência recursivamente, umafórmula recursiva deve ser acompanhada por informação sobre oinício da seqüência.

Esta informação é chamada de condição inicial para aseqüência.

Prof. Daniel S. Freitas - UFSC/CTC/INE/2007 – p.3/27

Page 4: INE5403 FUNDAMENTOS DE MATEMÁTICA DISCRETAmauro.roisenberg/ine5403/slides_novos/... · 2007. 5. 14. · O número de ações do tipo “inserir-imprimir-remover” é o número de

RELAÇÕES DE RECORRÊNCIA

Exemplo 1:

(a) A relação de recorrência an = an−1 + 3 com a1 = 4

recursivamente define a seqüência:

4, 7, 10, 13, . . ..

(b) A relação de recorrência fn = fn−1 + fn−2 , f1 = f2 = 1 definerecursivamente a seqüência de Fibonacci:

1, 1, 2, 3, 5, 8, 13, 21, . . .

Relações de recorrência aparecem naturalmente em muitosproblemas de contagem e na análise de problemas de programação.

Prof. Daniel S. Freitas - UFSC/CTC/INE/2007 – p.4/27

Page 5: INE5403 FUNDAMENTOS DE MATEMÁTICA DISCRETAmauro.roisenberg/ine5403/slides_novos/... · 2007. 5. 14. · O número de ações do tipo “inserir-imprimir-remover” é o número de

RELAÇÕES DE RECORRÊNCIA

Exemplo 2 (1/2): Seja A = {0, 1}. Forneça uma relação derecorrência para cn: número de strings de comprimento n em A∗

que não contêm 0’s adjacentes.

Solução:

0 e 1 são as únicas strings de comprimento 1 ⇒ c1 = 2

c2 = 3: as únicas strings deste tipo são 01, 10, 11

Em geral, toda string w de comprimento n − 1 que não contém00, se concatenada com 1, forma uma string 1 · w

de comprimento n e não contêm 00

Prof. Daniel S. Freitas - UFSC/CTC/INE/2007 – p.5/27

Page 6: INE5403 FUNDAMENTOS DE MATEMÁTICA DISCRETAmauro.roisenberg/ine5403/slides_novos/... · 2007. 5. 14. · O número de ações do tipo “inserir-imprimir-remover” é o número de

RELAÇÕES DE RECORRÊNCIA

Exemplo 2 (2/2): Seja A = {0, 1}. Forneça uma relação derecorrência para cn: número de strings de comprimento n em A∗

que não contêm 0’s adjacentes.

Solução:

Única outra possibilidade de início para uma string “boa” decomprimento n: 01

ou seja, pode até começar com 0, desde que seguido por 1

estas strings são da forma 01 · v

onde v é uma string “boa” de comprimento n − 2

Portanto: cn = cn−1 + cn−2

com as condições iniciais: c1 = 2 e c2 = 3 2

Prof. Daniel S. Freitas - UFSC/CTC/INE/2007 – p.6/27

Page 7: INE5403 FUNDAMENTOS DE MATEMÁTICA DISCRETAmauro.roisenberg/ine5403/slides_novos/... · 2007. 5. 14. · O número de ações do tipo “inserir-imprimir-remover” é o número de

RELAÇÕES DE RECORRÊNCIA

Exemplo 3 (1/2): Suponha que queremos listar todas as seqüênciasde n elementos sem repetições que podem ser construídas a partirdo conjunto {1, 2, 3, . . . , n}.

Uma abordagem para resolver este problema é procederrecursivamente:

Passo 1: produza uma lista de todas as seqüências semrepetições que podem feitas a partir de {1, 2, 3, . . . , n − 1}

Passo 2: Para cada seqüência do passo 1, insira n em cada umdos n locais possíveis:

no início, no final e entre cada par de números na seqüência

imprima o resultado e remova n

Prof. Daniel S. Freitas - UFSC/CTC/INE/2007 – p.7/27

Page 8: INE5403 FUNDAMENTOS DE MATEMÁTICA DISCRETAmauro.roisenberg/ine5403/slides_novos/... · 2007. 5. 14. · O número de ações do tipo “inserir-imprimir-remover” é o número de

RELAÇÕES DE RECORRÊNCIA

Exemplo 3 (2/2): Listar seqüências de n elementos sem repetiçõesconstruídas do conjunto {1, 2, 3, . . . , n}.

O número de ações do tipo “inserir-imprimir-remover” é o númerode seqüências de n elementos.

ou: n vezes o número de seqüências produzidas no passo 2

logo:

nro de seqs de n elems = n×(nro de seqs de (n − 1) elems)

isto fornece uma fórmula recursiva para o número de seqüênciasde n elementos

condição inicial?

Prof. Daniel S. Freitas - UFSC/CTC/INE/2007 – p.8/27

Page 9: INE5403 FUNDAMENTOS DE MATEMÁTICA DISCRETAmauro.roisenberg/ine5403/slides_novos/... · 2007. 5. 14. · O número de ações do tipo “inserir-imprimir-remover” é o número de

RELAÇÕES DE RECORRÊNCIA

Uma técnica para encontrar uma fórmula explícita para a seqüênciadefinida por uma relação de recorrência é o backtracking.

Ilustrado no exemplo a seguir...

Prof. Daniel S. Freitas - UFSC/CTC/INE/2007 – p.9/27

Page 10: INE5403 FUNDAMENTOS DE MATEMÁTICA DISCRETAmauro.roisenberg/ine5403/slides_novos/... · 2007. 5. 14. · O número de ações do tipo “inserir-imprimir-remover” é o número de

BACKTRACKING

Exemplo 4 (1/2): A relação de recorrência an = an−1 + 3 coma1 = 2 define a seqüência: 2, 5, 8, . . ..

Fazemos o “backtracking” de an substituindo a definição dean−1, an−2 e assim por diante

até que um padrão fique claro:

an = an−1 + 3 ou an = an−1 + 3

= (an−2 + 3) + 3 = an−2 + 2 · 3

= ((an−3 + 3) + 3) + 3 = an−3 + 3 · 3

Prof. Daniel S. Freitas - UFSC/CTC/INE/2007 – p.10/27

Page 11: INE5403 FUNDAMENTOS DE MATEMÁTICA DISCRETAmauro.roisenberg/ine5403/slides_novos/... · 2007. 5. 14. · O número de ações do tipo “inserir-imprimir-remover” é o número de

BACKTRACKING

Exemplo 4 (2/2): A relação de recorrência an = an−1 + 3 coma1 = 2 define a seqüência: 2, 5, 8, . . ..

eventualmente, chegaremos a:

an = an−(n−1) + (n − 1) · 3

= a1 + (n − 1) · 3

= 2 + (n − 1) · 3

logo, uma fórmula explícita para a seqüência é:

an = 2 + (n − 1)3 2

Prof. Daniel S. Freitas - UFSC/CTC/INE/2007 – p.11/27

Page 12: INE5403 FUNDAMENTOS DE MATEMÁTICA DISCRETAmauro.roisenberg/ine5403/slides_novos/... · 2007. 5. 14. · O número de ações do tipo “inserir-imprimir-remover” é o número de

BACKTRACKING

Exemplo 5 (1/2): Use o backtracking para encontrar uma fórmulaexplícita para a seqüência definida pela relação de recorrênciabn = 2.bn−1 + 1 com condição inicial b1 = 7.

Solução:

Começamos substituindo a definição do termo anterior nafórmula:

bn = 2bn−1 + 1

= 2(2bn−2 + 1) + 1

= 2[2(2bn−3 + 1) + 1] + 1

= 23bn−3 + 4 + 2 + 1

= 23bn−3 + 22 + 21 + 1

Prof. Daniel S. Freitas - UFSC/CTC/INE/2007 – p.12/27

Page 13: INE5403 FUNDAMENTOS DE MATEMÁTICA DISCRETAmauro.roisenberg/ine5403/slides_novos/... · 2007. 5. 14. · O número de ações do tipo “inserir-imprimir-remover” é o número de

BACKTRACKING

Exemplo 5 (2/2): Use o backtracking para encontrar uma fórmulaexplícita para a seqüência definida por bn = 2.bn−1 + 1 comcondição inicial b1 = 7.

Solução:

Note que um padrão está aparecendo com as re-escritas de bn.Nota: não há regras feitas para esta “re-escrita”.

Pode ser necessário experimentar um pouco.

O backtracking terminará em:

bn = 2n−1bn−(n−1) + 2n−2 + 2n−3 + · · · + 22 + 21 + 1

= 2n−1b1 + 2n−1 − 1 (ver exerc. de indução)

= 7 · 2n−1 + 2n−1 − 1 (usando b1 = 7)

= 8 · 2n−1 − 1 = 2n+2 − 1 2

Prof. Daniel S. Freitas - UFSC/CTC/INE/2007 – p.13/27

Page 14: INE5403 FUNDAMENTOS DE MATEMÁTICA DISCRETAmauro.roisenberg/ine5403/slides_novos/... · 2007. 5. 14. · O número de ações do tipo “inserir-imprimir-remover” é o número de

BACKTRACKING

Nota 1: duas somas muito úteis, que já foram provadas:

S1) 1 + a + a2 + a3 + · · · + an−1 = an

−1a−1

S2) 1 + 2 + 3 + · · · + n = n(n+1)2

Nota 2: o backtracking pode não revelar um padrão explícito para aseqüência definida por uma relação de recorrência.

Em seguida, veremos uma técnica mais geral para resolver umarelação de recorrência...

Prof. Daniel S. Freitas - UFSC/CTC/INE/2007 – p.14/27

Page 15: INE5403 FUNDAMENTOS DE MATEMÁTICA DISCRETAmauro.roisenberg/ine5403/slides_novos/... · 2007. 5. 14. · O número de ações do tipo “inserir-imprimir-remover” é o número de

EQUAÇÕES CARACTERÍSTICAS

Antes uma definição útil...

Uma relação de recorrência é uma relação homogênea linear degrau k se for da forma:

an = r1an−1 + r2an−2 + · · · + rkan−k

aonde os ri’s são constantes

De maneira informal:

cada parcela é construída do mesmo (“homogêneo”) modo:

cada parcela é um múltiplo de um dos k (“grau k”) termos queantecedem an (“linear”)

Prof. Daniel S. Freitas - UFSC/CTC/INE/2007 – p.15/27

Page 16: INE5403 FUNDAMENTOS DE MATEMÁTICA DISCRETAmauro.roisenberg/ine5403/slides_novos/... · 2007. 5. 14. · O número de ações do tipo “inserir-imprimir-remover” é o número de

EQUAÇÕES CARACTERÍSTICAS

Exemplo 6:

(a) A relação cn = (−2)cn−1 é uma relação de recorrênciahomogênea linear de grau 1.

(b) A relação an = an−1 + 3 não é uma relação de recorrênciahomogênea linear.

(c) A relação fn = fn−1 + fn−2 é uma relação de recorrênciahomogênea linear de grau 2.

(d) A relação gn = g2n−1 + gn−2 não é uma relação homogênea

linear.

Prof. Daniel S. Freitas - UFSC/CTC/INE/2007 – p.16/27

Page 17: INE5403 FUNDAMENTOS DE MATEMÁTICA DISCRETAmauro.roisenberg/ine5403/slides_novos/... · 2007. 5. 14. · O número de ações do tipo “inserir-imprimir-remover” é o número de

EQUAÇÕES CARACTERÍSTICAS

Seja uma relação de recorrência homogênea linear de grau k:

an = r1an−1 + r2an−2 + · · · + rkan−k

A sua equação característica é dada pelo polinômio de grau k a elaassociado:

xk = r1xk−1 + r2x

k−2 + · · · + rk

as raízes desta equação têm um papel chave na fórmula explícitapara a seqüência definida pela relação de recorrência e ascondições iniciais

O caso geral pode ser resolvido, mas veremos apenas o grau 2

neste caso, é comum escrever a equação característica como:

x2 − r1x − r2 = 0

Prof. Daniel S. Freitas - UFSC/CTC/INE/2007 – p.17/27

Page 18: INE5403 FUNDAMENTOS DE MATEMÁTICA DISCRETAmauro.roisenberg/ine5403/slides_novos/... · 2007. 5. 14. · O número de ações do tipo “inserir-imprimir-remover” é o número de

EQUAÇÕES CARACTERÍSTICAS

Teorema 1:

(a) Se a equação característica x2 − r1x − r2 = 0, da relação derecorrência an = r1an−1 + r2an−2, tem duas raízes distintass1 e s2, então a fórmula explícita para a seqüência é dada por:

an = usn1 + vsn

2

(b) Se a equação característica x2 − r1x − r2 = 0 tem uma raízúnica s, a fórmula explícita é dada por:

an = usn + vnsn

onde u e v dependem das condições iniciais.

Prof. Daniel S. Freitas - UFSC/CTC/INE/2007 – p.18/27

Page 19: INE5403 FUNDAMENTOS DE MATEMÁTICA DISCRETAmauro.roisenberg/ine5403/slides_novos/... · 2007. 5. 14. · O número de ações do tipo “inserir-imprimir-remover” é o número de

EQUAÇÕES CARACTERÍSTICAS

Prova de (a): (duas raízes distintas: an = usn1 + vsn

2 )

já que s1 e s2 são raízes de x2 − r1x − r2 = 0, temos:

s21− r1s1 − r2 = 0 e s2

2− r1s2 − r2 = 0

vamos mostrar que: an = usn

1+ vsn

2, n ≥ 1

define a mesma seqüência que: an = r1an−1 + r2an−2

primeiro, note que as condições iniciais são satisfeitas, pois u e v vêm de:

a1 = us1 + vs2 e a2 = us21

+ vs22

Prof. Daniel S. Freitas - UFSC/CTC/INE/2007 – p.19/27

Page 20: INE5403 FUNDAMENTOS DE MATEMÁTICA DISCRETAmauro.roisenberg/ine5403/slides_novos/... · 2007. 5. 14. · O número de ações do tipo “inserir-imprimir-remover” é o número de

EQUAÇÕES CARACTERÍSTICAS

Prova de (a): (duas raízes distintas: an = usn1 + vsn

2 )

já que s1 e s2 são raízes de x2 − r1x − r2 = 0, temos:

s21− r1s1 − r2 = 0 e s2

2− r1s2 − r2 = 0

vamos mostrar que: an = usn

1+ vsn

2, n ≥ 1

define a mesma seqüência que: an = r1an−1 + r2an−2

primeiro, note que as condições iniciais são satisfeitas, pois u e v vêm de:

a1 = us1 + vs2 e a2 = us21

+ vs22

então: an = usn

1+ vsn

2

= usn−2

1s21

+ vsn−2

2s22

= usn−2

1(r1s1 + r2) + vsn−2

2(r1s2 + r2)

= r1usn−1

1+ r2usn−2

1+ r1vsn−1

2+ r2vsn−2

2)

= r1(usn−1

1+ vsn−1

2) + r2(usn−2

1+ vsn−2

2)

= r1an−1 + r2an−2 2

Prova de (b): totalmente similar.

Prof. Daniel S. Freitas - UFSC/CTC/INE/2007 – p.20/27

Page 21: INE5403 FUNDAMENTOS DE MATEMÁTICA DISCRETAmauro.roisenberg/ine5403/slides_novos/... · 2007. 5. 14. · O número de ações do tipo “inserir-imprimir-remover” é o número de

EQUAÇÕES CARACTERÍSTICAS

Exemplo 7: Encontre uma fórmula explícita para a seqüência:

cn = 3cn−1 − 2cn−2

condições iniciais: c1 = 5 e c2 = 3

Solução:

a relação dada é homogênea linear de grau 2

equação associada: x2 = 3x − 2

ou: x2 − 3x + 2 = 0, raízes: 1 e 2

o teorema 1 mostra que u e v vêm da solução de:

c1 = u.(1) + v.(2) e c2 = u.(1)2 + v.(2)2

levando a: u = 7 e v = −1

daí, pelo teorema 1, temos:

cn = 7 · 1n + (−1) · 2n = 7 − 2n2

Prof. Daniel S. Freitas - UFSC/CTC/INE/2007 – p.21/27

Page 22: INE5403 FUNDAMENTOS DE MATEMÁTICA DISCRETAmauro.roisenberg/ine5403/slides_novos/... · 2007. 5. 14. · O número de ações do tipo “inserir-imprimir-remover” é o número de

EQUAÇÕES CARACTERÍSTICAS

Exemplo 8: Resolva a relação de recorrência dn = 2dn−1 − dn−2,com condições iniciais d1 = 1.5 e d2 = 3.

Solução:

equação associada para esta rel. homog. linear: x2 − 2x + 1 = 0

com uma raíz múltipla: 1

pelo teorema 1(b): dn = u.(1)n + v.n.(1)n

usando esta fórmula e as condições iniciais, temos que:

d1 = 1.5 = u + v.(1) e d2 = 3 = u + v.(2)

cuja solução é: u = 0 e v = 1.5

logo: dn = 1.5n 2

Prof. Daniel S. Freitas - UFSC/CTC/INE/2007 – p.22/27

Page 23: INE5403 FUNDAMENTOS DE MATEMÁTICA DISCRETAmauro.roisenberg/ine5403/slides_novos/... · 2007. 5. 14. · O número de ações do tipo “inserir-imprimir-remover” é o número de

EQUAÇÕES CARACTERÍSTICAS

Nota: apesar da seqüência de Fibonacci ser bem conhecida, a suaforma explícita levou mais de 200 anos para ser encontrada...

Prof. Daniel S. Freitas - UFSC/CTC/INE/2007 – p.23/27

Page 24: INE5403 FUNDAMENTOS DE MATEMÁTICA DISCRETAmauro.roisenberg/ine5403/slides_novos/... · 2007. 5. 14. · O número de ações do tipo “inserir-imprimir-remover” é o número de

EQUAÇÕES CARACTERÍSTICAS

Exemplo 9: Encontre uma fórmula explícita para a seqüência deFibonacci: fn = fn−1 + fn−2, onde f1 = f2 = 1

Solução:

relação de recorrência homogênea linear de grau 2

equação característica: x2 − x − 1 = 0

cujas raízes são: s1 = 1+√

5

2e s2 = 1−

5

2

O u e o v do teorema 1 vêm da solução de:8

<

:

1 = u.( 1+√

5

2) + v.( 1−

5

2)

1 = u.( 1+√

5

2)2 + v.( 1−

5

2)2

Prof. Daniel S. Freitas - UFSC/CTC/INE/2007 – p.24/27

Page 25: INE5403 FUNDAMENTOS DE MATEMÁTICA DISCRETAmauro.roisenberg/ine5403/slides_novos/... · 2007. 5. 14. · O número de ações do tipo “inserir-imprimir-remover” é o número de

EQUAÇÕES CARACTERÍSTICAS

Exemplo 9: Encontre uma fórmula explícita para a seqüência deFibonacci: fn = fn−1 + fn−2, onde f1 = f2 = 1

Solução:

relação de recorrência homogênea linear de grau 2

equação característica: x2 − x − 1 = 0

cujas raízes são: s1 = 1+√

5

2e s2 = 1−

5

2

O u e o v do teorema 1 vêm da solução de:8

<

:

1 = u.( 1+√

5

2) + v.( 1−

5

2)

1 = u.( 1+√

5

2)2 + v.( 1−

5

2)2

o que leva a: u = 1√

5e v = − 1

5

e a fórmula explícita para a seqüência de Fibonacci fica:

fn = 1√

5( 1+

5

2)n − 1

5( 1−

5

2)n

2

Prof. Daniel S. Freitas - UFSC/CTC/INE/2007 – p.25/27

Page 26: INE5403 FUNDAMENTOS DE MATEMÁTICA DISCRETAmauro.roisenberg/ine5403/slides_novos/... · 2007. 5. 14. · O número de ações do tipo “inserir-imprimir-remover” é o número de

RELAÇÃO DE RECORRÊNCIA X INDUÇÃO

Algumas vezes é útil conhecer algumas propriedades de umarelação de recorrência com a qual estamos trabalhando.

Em virtude da forte conexão entre recorrência (recursão) e induçãomatemática, são comuns as provas para estas propriedadesutilizarem indução.

Prof. Daniel S. Freitas - UFSC/CTC/INE/2007 – p.26/27

Page 27: INE5403 FUNDAMENTOS DE MATEMÁTICA DISCRETAmauro.roisenberg/ine5403/slides_novos/... · 2007. 5. 14. · O número de ações do tipo “inserir-imprimir-remover” é o número de

RELAÇÃO DE RECORRÊNCIA X INDUÇÃO

Exemplo: Uma propriedade dos números de Fibonacci: fn ≤ ( 53 )n

(um limite superior para a rapidez de crescimento dos nros)

Prova (por indução forte):

Passo básico: P (1) é 1 ≤ 53 , o que, evidentemente, é V.

Passo indutivo:

usar P (j), j ≤ k, para mostrar P (k + 1) : “fk+1 ≤ ( 53 )k+1”

fk+1 = fk + fk−1 ≤ ( 53 )k + ( 5

3 )k−1

Prof. Daniel S. Freitas - UFSC/CTC/INE/2007 – p.27/27

Page 28: INE5403 FUNDAMENTOS DE MATEMÁTICA DISCRETAmauro.roisenberg/ine5403/slides_novos/... · 2007. 5. 14. · O número de ações do tipo “inserir-imprimir-remover” é o número de

RELAÇÃO DE RECORRÊNCIA X INDUÇÃO

Exemplo: Uma propriedade dos números de Fibonacci: fn ≤ ( 53 )n

(um limite superior para a rapidez de crescimento dos nros)

Prova (por indução forte):

Passo básico: P (1) é 1 ≤ 53 , o que, evidentemente, é V.

Passo indutivo:

usar P (j), j ≤ k, para mostrar P (k + 1) : “fk+1 ≤ ( 53 )k+1”

fk+1 = fk + fk−1 ≤ ( 53 )k + ( 5

3 )k−1

= ( 53 )k−1( 5

3 + 1)

= ( 53 )k−1( 8

3 )

< ( 53 )k−1( 5

3 )2

= ( 53 )k+1

2

Prof. Daniel S. Freitas - UFSC/CTC/INE/2007 – p.28/27


Recommended