1 / 29

BCC 101 – Matemática Discreta I

BCC 101 – Matemática Discreta I. Recursão / Indução. Recursão / Indução. Método u sada para resolver uma classe de problemas , em que cada instância tem um tamanho (n ∈ N ) Construa a solução para instâncias do problema de tamanho 0

Télécharger la présentation

BCC 101 – Matemática Discreta I

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. BCC101 - Matemática Discreta - DECOM/UFOP BCC 101 – Matemática Discreta I Recursão / Indução

  2. BCC101 - Matemática Discreta - DECOM/UFOP Recursão/Indução Métodousadapara resolver umaclasse de problemas,emquecadainstância tem um tamanho(n ∈ N) • Construa a soluçãoparainstâncias do problema de tamanho 0 • Supondoconhecida a solução do problemaparainstâncias de tamanhon, sendonarbitrário, construa a soluçãoparainstâncias de tamanho (n+1) base da recursão passorecursivo

  3. BCC101 - Matemática Discreta - DECOM/UFOP NúmerosNaturais • Conjunto dos númerosnaturais N = {1,2,3, …} podeserdefinidorecursivamentecomo 0 ∈ N n ∈ N → (n+1) ∈ N • Gramática: N -> 0 | suc N • Tipo de dado (em Haskell) data Nat = Zero | Suc Nat

  4. Fatorial • Fatorial: n! = 1x2x…x(n-1)xn 0!= 1 (base) n!= n ·(n -1)! (recursão) • EX: 5! recursão = 5 · 4! = 5 · 4 · 3! = 5 · 4 · 3 · 2! = 5 · 4 · 3 · 2 · 1! = 5 · 4 · 3 · 2 · 1 · 0! = 5 · 4 · 3 · 2 · 1 · 1 base

  5. BCC101 - Matemática Discreta - DECOM/UFOP Exercícios • Definarecursivamenteosconjuntos: • Pares = {0,2,4,…} • O conjuntopotência de A: P (A ). • O conjuntode todososbitstringsBs • O conjuntode bitstringspalindromosPal • O conjunto de todas as listas de valores de um dado tipo A

  6. BCC101 - Matemática Discreta - DECOM/UFOP Sequências • Sequência de potências de 2: an = 2n, n≥0 podeserdefinidarecursivamentecomo: a0 = 1 an = 2 an-1 n>0 • Sequência: 3 0 3 0 3 0 … podeserdefinidarecursivamentecomo: a0= 3 a1 = 0 an= an-2 n>1

  7. Fibonacci • Fibonacci fib 0 = 0 fib 1 = 1 fib n = fib (n -1) + fib (n -2) EssealgoritmoéO(2n ) porqueaopassar de nparan-1 efetuamos 2 chamadasrecursivas da função, e cadaumausa, porsuavez, duasoutraschamadasrecursivas, e assimpordiante.

  8. BCC101 - Matemática Discreta - DECOM/UFOP Exercícios • Considere a definiçãorecursiva: f(0) = 1 f(n+1) = 3 f(n) n>0 • Determine f(1), f(2), f(3), f(4) • Encontreumafórmuladiretapara f(n) • Definarecursivamente as sequências: • an = 3n+2 n≥0 • 1 -1 1 -1 1 … • an = n2

  9. CoeficientesBinomiais (n,k) • Coeficientesbinomiaisocorrememdiversasaplicações: • Combinatória/ProbabilidadeC (n,k) =número de maneiras de escolherk elementos de um conjunto com n elementos • Algebra: C (n,k) = coeficiente do k esimotermonaexpansãobinômio de graun: (x + y )n Notação usada comumente:

  10. Coeficientes Binomiais (n,k) Amaneiramaiseficiente de computartodososC (n,k) até um determinadoné via o triângulo de Pascal. O triângulo de Pascal éconstruídocolocando 1 no topo (inicialização) e todoelementoseguinteédefinidorecursivamentecomo a soma dos númerosàdireita e àesquerdadessenúmero, nalinha anterior. Se talnúmeronãoexiste, éconsiderado 0.

  11. combinação nk e Triângulo Pascal 1

  12. combinação nk e Triângulo Pascal 1 1 1

  13. combinação nk e Triângulo Pascal 1 1 1 1 2 1

  14. combinação nk e Triângulo Pascal 1 1 1 1 2 1 1 3 3 1

  15. combinação nk e Triângulo Pascal 1 1 1 1 2 1 1 3 3 1 1 4 6 4 1

  16. combinação nk e Triângulo Pascal 1 1 1 1 2 1 1 3 3 1 1 4 6 4 1 1 5 10 10 5 1

  17. combinação nk e Triângulo Pascal 1 1 1 1 2 1 1 3 3 1 1 4 6 4 1 1 5 10 10 5 1 1 6 15 20 15 6 1

  18. combinação nk e Triângulo Pascal n = linha 0 1 2 3 4 5 6 0 k =coluna diagonal 1 2 3 4 5 6 1 1 1 1 2 1 1 3 3 1 1 4 6 4 1 1 5 10 10 5 1 1 6 15 20 15 6 1 Q: FórmularecursivaparaC (n,k)? Ω

  19. Coeficientes Binomiais (n,k) Resposta: Use o triângulo de Pascal. Base: O topo do triânguloé 1. Portanto, C (0,0) = 1. Se falta um número, eleéconsiderado 0. Issodáorigem a C (n,k) = 0 se k < 0, ouk > n. Recursão:Cadavalor éa soma dos númerosàdireita e àesquerdanalinha anterior: C (n,k) = C (n -1,k-1) + C (n -1,k )

  20. Coeficientes Binomiais (n,k) Resumindo:

  21. Máximo Divisor Comum - mdc O algoritmo de Euclidesusa o fato: mdc(x,y) = mdc(y, xmod y) supomosaquique x > 0

  22. BCC101 - Matemática Discreta - DECOM/UFOP Exercícios • Definarecursivamente: • an , a ∈ R, n ∈ N

  23. BCC101 - Matemática Discreta - DECOM/UFOP Tamanho do problema • A generalizaçãoapropriadanemsempreéóbvia. • Exemplo: problemarelativo a um tabuleiro de xadrez com 64 quadrados. Como esseproblemapodesergeneralizado? • Uma classe de problemas com instâncias de tamanho n, talqueumainstânciaé n = 64 • Uma classe de problemasemqueumainstânciaé um tabuleiro de tamanhon×n. O tamanho da instânciaé n; o problema original éumainstância de tamanho n = 8 • Restringir a classe a problemasas casosemque o tamanho do tabuleiroé 2n. O problema original éumainstância de tamanho n = 3

  24. BCC101 - Matemática Discreta - DECOM/UFOP Triominós Considere um tabuleiro com tamanho 2n x 2nno qualexatamente um quadradoestácoberto. um triominó de formato Léfeito de 3 quadrados: Quantostriominósde formatoL sãonecessáriosparacobrirosquadradosrestantes,semquetriominós se sobreponham.

  25. BCC101 - Matemática Discreta - DECOM/UFOP Triominós - soluçãopara23 x 23

  26. BCC101 - Matemática Discreta - DECOM/UFOP Triominós • Caso base (n=0): • O tabuleiro tem dimensão 20x20= 1x1, istoé, exatamente 1 quadrado, quejáestácoberto. Portanto, sãonecessários 0 triominósparacobrirosquadradosrestantes: trio(0) = 0 • Passoindutivo: • Considere um tabuleiro de dimensões 2n+1x2n+1 • Suponhaqueépossívelcobrirqqtabuleiro de dimensões 2nx2n com trio(n)triominós • Devemosmostrarcomoexploraressahipóteseparaobter a soluçãopara o caso2n+1x2n+1

  27. BCC101 - Matemática Discreta - DECOM/UFOP Triominós • Um tabuleiro 2n+1x2n+1podesersubdivididoem 4 tabuleiros 2nx2n, traçando-se umalinha horizontal e uma vertical que se cruzam no meio. • Emumadesses 4 tabuleiros, há um quadradoquejáestácoberto. Pelanossahipótese, osdemaisquadradosdessetabuleiropodemsercobertos com k triominós. • Nenhum dos 3 outros tabuleiros 2nx2n tem um quadradocoberto. Como aplicar a hipóteseaos 3 outros tabuleiros? • A idéiaécolocar um triominónajunçãodesses 3

  28. BCC101 - Matemática Discreta - DECOM/UFOP Triominós trio(0) = 0 trio(n+1) = 4 trio(n) +1 Agora a hipótesepodeseraplicadaparacobrirosquadradosrestantes de cadauma dos 3 outros subtabuleiros. Entãotrio(n+1) = 4 trio(n) +1 (n>0).

  29. ExercícioTorres de Hanoi(Edouard Lucas - 1883) Um templo da cidade de Hanoi tem 3 torres de diamante, emuma das quaisforamempilhadosndiscos de ouro, de maneiraqueos discos diminuem de tamanho da base para o topo da torre. Osmonges do templotrabalhamsemcessarparatransferiros discos da torreemqueforaminicialmentecolocadosparauma das outrasduastorres --- mas nunca um disco de maiorraiopodesercolocadosobre outro de raiomenor. Encontreumadefiniçãorecursivapara o número de movimentosde discos quesãonecessáriosparatransferir n discos da torre A para a torre C, usando a torre B.

More Related