Rekurence, rekurze a sumy. Základy diskrétní matematiky, BI-ZDM



Podobné dokumenty
Řešení rekurentních rovnic 2. Základy diskrétní matematiky, BI-ZDM ZS 2011/12, Lekce 11

Aplikovaná numerická matematika - ANM

Matematická indukce. Základy diskrétní matematiky, BI-ZDM ZS 2011/12, Lekce 3

Řešení rekurentních rovnic 3. Základy diskrétní matematiky, BI-ZDM ZS 2011/12, Lekce 12

VLASTNOSTI GRAFŮ. Doc. RNDr. Josef Kolář, CSc. Katedra teoretické informatiky, FIT České vysoké učení technické v Praze. BI-GRA, LS 2010/2011, Lekce 5

Zpracoval: 7. Matematická indukce a rekurse. Řešení rekurentních (diferenčních) rovnic s konstantními koeficienty.

Zimní semestr akademického roku 2014/ prosince 2014

Ekvivalence. Základy diskrétní matematiky, BI-ZDM ZS 2011/12, Lekce 5

Algoritmizace složitost rekurzivních algoritmů. Jiří Vyskočil, Marko Genyg-Berezovskyj 2010

NP-ÚPLNÉ PROBLÉMY. Doc. RNDr. Josef Kolář, CSc. Katedra teoretické informatiky, FIT České vysoké učení technické v Praze

Maticí typu (m, n), kde m, n jsou přirozená čísla, se rozumí soubor mn veličin a jk zapsaných do m řádků a n sloupců tvaru:

Historie matematiky a informatiky Cvičení 1

Matematická olympiáda ročník (1998/1999) Komentáře k úlohám druhého kola pro kategorie Z5 až Z7. Zadání úloh Z5 II 1

2 Důkazové techniky, Indukce

1 Mnohočleny a algebraické rovnice

Matematická indukce a správnost programů. Základy diskrétní matematiky, BI-ZDM ZS 2011/12, Lekce 13

Historie matematiky a informatiky Cvičení 2

Zimní semestr akademického roku 2014/ prosince 2014

kuncova/, 2x + 3 (x 2)(x + 5) = A x 2 + B Přenásobením této rovnice (x 2)(x + 5) dostaneme rovnost

(4x) 5 + 7y = 14, (2y) 5 (3x) 7 = 74,

1 Mnohočleny a algebraické rovnice

z nich byla poprvé dokázána v 19. století velikány analytické teorie čísel (Pafnutij Lvovič Čebyšev, Charles-Jean de la Vallée Poussin a další).

Soustavy rovnic pro učební obor Kadeřník

Lingebraické kapitolky - Analytická geometrie

Binární vyhledávací stromy pokročilé partie

sin(x) x lim. pomocí mocninné řady pro funkci sin(x) se středem x 0 = 0. Víme, že ( ) k=0 e x2 dx.

Derivace funkce. prof. RNDr. Čestmír Burdík DrCs. prof. Ing. Edita Pelantová CSc. Katedra matematiky BI-ZMA ZS 2009/2010

South Bohemia Mathematical Letters Volume 23, (2015), No. 1, DĚLENÍ KRUHU NA OBLASTI ÚVOD

V tomto článku popíšeme zajímavou úlohu (inspirovanou reálnou situací),

Aritmetická posloupnost druhého řádu

Cvičení 5 - Inverzní matice

Úvod do programování 10. hodina

Fibonacciho čísla na střední škole

Dělitelnost čísel, nejmenší společný násobek, největší společný dělitel

[1] x (y z) = (x y) z... (asociativní zákon), x y = y x... (komutativní zákon).

Věta 12.3 : Věta 12.4 (princip superpozice) : [MA1-18:P12.7] rovnice typu y (n) + p n 1 (x)y (n 1) p 1 (x)y + p 0 (x)y = q(x) (6)

Diskrétní matematika 1. týden

Aplikovaná numerická matematika

Složitost algoritmů. Karel Richta a kol. Katedra počítačů Fakulta elektrotechnická České vysoké učení technické v Praze Karel Richta a kol.

ORIENTOVANÉ GRAFY, REPREZENTACE GRAFŮ

1.5.2 Číselné soustavy II

IB112 Základy matematiky

z = a bi. z + v = (a + bi) + (c + di) = (a + c) + (b + d)i. z v = (a + bi) (c + di) = (a c) + (b d)i. z v = (a + bi) (c + di) = (ac bd) + (bc + ad)i.

SOUSTAVY LINEÁRNÍCH ALGEBRAICKÝCH ROVNIC

Rekurzivní algoritmy

Matematika III přednáška Aplikace vytvořujících funkcí - další úlohy

PŘEDNÁŠKA 2 POSLOUPNOSTI

Příklad. Řešte v : takže rovnice v zadání má v tomto případě jedno řešení. Pro má rovnice tvar

CVIČNÝ TEST 36. OBSAH I. Cvičný test 2. Mgr. Tomáš Kotler. II. Autorské řešení 6 III. Klíč 15 IV. Záznamový list 17

CVIČNÝ TEST 15. OBSAH I. Cvičný test 2. Mgr. Tomáš Kotler. II. Autorské řešení 6 III. Klíč 15 IV. Záznamový list 17

úloh pro ODR jednokrokové metody

Úlohy klauzurní části školního kola kategorie A

1. Několik základních pojmů ze středoškolské matematiky. Na začátku si připomeneme následující pojmy:

opravdu považovat za lepší aproximaci. Snížení odchylky o necelá dvě procenta

CVIČNÝ TEST 5. OBSAH I. Cvičný test 2. Mgr. Václav Zemek. II. Autorské řešení 6 III. Klíč 17 IV. Záznamový list 19

Matematika (CŽV Kadaň) aneb Úvod do lineární algebry Matice a soustavy rovnic

Afinita je stručný název pro afinní transformaci prostoru, tj.vzájemně jednoznačné afinní zobrazení bodového prostoru A n na sebe.

DMA Přednáška Rekurentní rovnice. takovou, že po dosazení odpovídajících členů do dané rovnice dostáváme pro všechna n n 0 + m pravdivý výrok.

XV. ročník BRKOS 2008/2009. Vzorové řešení 3. série. Teorie čísel

6 Skalární součin. u v = (u 1 v 1 ) 2 +(u 2 v 2 ) 2 +(u 3 v 3 ) 2

Přednáška 6, 7. listopadu 2014

19 Eukleidovský bodový prostor

ANALYTICKÁ GEOMETRIE LINEÁRNÍCH ÚTVARŮ V ROVINĚ

p, q dvě permutace na množině X, pak složené zobrazení, tj. permutaci, q p : X X nazýváme složení permutací p a q (v tomto pořadí).

Vytěžování znalostí z dat

Parametrické programování

3. Reálná čísla. většinou racionálních čísel. V analytických úvahách, které praktickým výpočtům

Úlohy II. kola kategorie A

a počtem sloupců druhé matice. Spočítejme součin A.B. Označme matici A.B = M, pro její prvky platí:

Diferenciální rovnice 3

Tento seminář pro Vás připravuje vzdělávací agentura. Kurzy-Fido.cz. ...s námi TSP zvládnete!

PŘEDNÁŠKA 7 Kongruence svazů

Matematika IV 9. týden Vytvořující funkce

Úlohy krajského kola kategorie C

NEJKRATŠÍ CESTY I. Doc. RNDr. Josef Kolář, CSc. Katedra teoretické informatiky, FIT České vysoké učení technické v Praze

příkladů do cvičení. V textu se objeví i pár detailů, které jsem nestihl (na které jsem zapomněl) a(b u) = (ab) u, u + ( u) = 0 = ( u) + u.

3. podzimní série. ... {z }

Pomocný text. Polynomy

POSLOUPNOSTI A ŘADY INVESTICE DO ROZVOJE VZDĚLÁVÁNÍ. Tento projekt je spolufinancován Evropským sociálním fondem a státním rozpočtem České republiky

Lineární algebra : Skalární součin a ortogonalita

19. Druhý rozklad lineární transformace

prof. RNDr. Čestmír Burdík DrCs. prof. Ing. Edita Pelantová CSc. BI-ZMA ZS 2009/2010

Úlohy domácí části I. kola kategorie C

Příklad 1. Řešení 1a Máme vyšetřit lichost či sudost funkce ŘEŠENÉ PŘÍKLADY Z M1A ČÁST 3

Lineární algebra : Násobení matic a inverzní matice

4. Trojúhelníkový rozklad p. 1/20

Greenova funkce pro dvoubodové okrajové úlohy pro obyčejné diferenciální rovnice

POSLOUPNOSTI A ŘADY INVESTICE DO ROZVOJE VZDĚLÁVÁNÍ

2. Určete jádro KerL zobrazení L, tj. nalezněte alespoň jednu jeho bázi a určete jeho dimenzi.

Algoritmická matematika 3 Mgr. Petr Osička, Ph.D. ZS Rozděl a panuj

0.1 Úvod do lineární algebry

Pojem relace patří mezi pojmy, které prostupují všemi částmi matematiky.

Soustavy rovnic pro učební obory

Operace s maticemi. 19. února 2018

Lineární algebra : Úvod a opakování

7. Funkce jedné reálné proměnné, základní pojmy

Matematika 2 Úvod ZS09. KMA, PřF UP Olomouc. Jiří Fišer (KMA, PřF UP Olomouc) KMA MA2AA ZS09 1 / 25

Struktura a architektura počítačů (BI-SAP) 5

Dynamické programování

Značení 1.1 (posloupnost výsledků pokusu). Mějme posloupnost opakovaných (i závislých) pokusů,

Transkript:

Rekurence, rekurze a sumy doc. RNDr. Josef Kolář, CSc. Katedra teoretické informatiky FIT České vysoké učení technické v Praze c Josef Kolar, 2011 Základy diskrétní matematiky, BI-ZDM ZS 2011/12, Lekce 9 Evropský sociální fond. Praha& EU: Investujeme do vaší budoucnosti doc. Josef Kolář (FIT ČVUT) Rekurence, rekurze a sumy ZDM, ZS 2011/12, Lekce 9 1/ 15

Rekurence Rekurentní problém Problém, jehož řešení je závislé na řešení menších instancí stejného problému. Jak řešíme rekurentní problémy? Řešení lze obvykle vyjádřit rekurzivním algoritmem a jeho vlastnosti odpovídajícími rekurentními vztahy(rekurencemi). Často nás také zajímá jak formulovat odpovídající iterativní(nerekurzivní) algoritmus jak vyjádřit vlastnosti řešení v uzavřeném tvaru(řešení rekurencí) doc. Josef Kolář (FIT ČVUT) Rekurence, rekurze a sumy ZDM, ZS 2011/12, Lekce 9 2/ 15

Hanojskávěž-ToH Příklad 1 Mámetřityče A,B,C,natyči Ajenavlečeno nkruhovýchdisků postupně se zmenšující velikosti. Tyto disky máme přesunout na tyč B tak, že pohybujeme vždy jen jedním diskem a nikdy nepoložíme větší disk na menší. Řešenísivyzkoušímepro n=1nebo n=2auhádnemeobecnýpostup: 1 Pro n=1vezmemediskztyče Aapřemístímejejnatyč B. 2 Pro n >1nejprvepřemístímevrchních n 1diskůzAna C,potom přesuneme n-týdiskzana Bakonečněpřemístíme n 1diskůzC na B. Kolik kroků je celkem zapotřebí k přemístění všech disků? doc. Josef Kolář (FIT ČVUT) Rekurence, rekurze a sumy ZDM, ZS 2011/12, Lekce 9 3/ 15

Počet kroků při řešení ToH Označíme minimální počet kroků(přesunů jednotlivých disků) potřebných prořešenítohvelikosti njako T n. Užvíme,že T 1 =1,T 2 =3(můžemedoplnitiT 0 =0),zpopsaného postupu řešení plyne { 0 pro n=0, T n = (1) 2.T n 1 +1 pro n >0. Otázka: Je uvedený postup opravdu optimální? doc. Josef Kolář (FIT ČVUT) Rekurence, rekurze a sumy ZDM, ZS 2011/12, Lekce 9 4/ 15

Počítáme kroky Jakurčímenapř. T 8? T 2 =3, T 3 =2 T 2 +1=2 3+1=7, T 4 =2 T 3 +1=2 7+1=15, T 5 =2 T 4 +1=2 15+1=31, T 6 =2 T 5 +1=2 31+1=63, T 7 =2 T 6 +1=2 63+1=127, T 8 =2 T 7 +1=2 127+1=255. UFFF!!! Zkusímeuhádnoutvyjádření T n vuzavřenémtvaru: T n =2 n 1, pro n 0 (2) To odpovídá prvním spočteným hodnotám, je to ale opravdu správně? doc. Josef Kolář (FIT ČVUT) Rekurence, rekurze a sumy ZDM, ZS 2011/12, Lekce 9 5/ 15

Ověřeníuzavřenéformulepro T n Jak dokážeme správnost vztahu(??)? MATEMATICKOU INDUKCÍ! 1 T 0 jeopravdunula,neboť T 0 =2 0 1=0. 2 Předpokládejme,ževztah(??)platípro n 0achcemeurčit hodnotu T n+1. Podle vztahu(??) a s využitím indukčního předpokladu dostáváme T n+1 =2T n +1=2(2 n 1)+1=2 n+1 1. Je tedy potvrzeno, že řešení rekurentního vztahu(??) má tvar uvedený ve vztahu(??). Otázka Kolik desítkových číslic je přibližně třeba k vyjádření počtu kroků při přesunu64disků?(nápověda:log 10 2 0,3-doba584942417355roků.) doc. Josef Kolář (FIT ČVUT) Rekurence, rekurze a sumy ZDM, ZS 2011/12, Lekce 9 6/ 15

Jedno malé kouzlo Místo uhádnutí správného řešení jsme také mohli použít následujícího triku: k oběma stranám rekurence(??) přičteme jedničku: { 1 pro n=0, T n +1= 2.T n 1 +2 pro n >0. azavedeme U n = T n +1,prokteréplatírekurence { 1 pro n=0, U n = 2.U n 1 pro n >0. (3) Není obtížné poznat, že rekurenci(??) řeší geometrická posloupnost U n =2 n,takže T n = U n 1=2 n 1. doc. Josef Kolář (FIT ČVUT) Rekurence, rekurze a sumy ZDM, ZS 2011/12, Lekce 9 7/ 15

Jak krájet pizzu Příklad 2 Na kolik kousků je možné rozkrájet pizzu pomocí n přímých tahů řezacím kolečkem? Formálníznění:Jakýjemaximálnípočet L n oblastíurčených npřímkami vrovině? Pomocíobrázkůsnadnourčíme,že L 0 =1, L 1 =2, L 2 =4 Vypadáto,žebymohlobýt L n =2 n, aleouha!-l 3 =4+3-dalšípřímkoudokážemepřidatnejvýše3oblasti. Obecně: n-tápřímka(pro n >0)můžezvýšitpočetoblastíok, prochází-li k starými oblastmi, protne-listávajícípřímkyv(k 1)různýchbodech, takžeje k naplatí L n L n 1 +n, pro n >0 doc. Josef Kolář (FIT ČVUT) Rekurence, rekurze a sumy ZDM, ZS 2011/12, Lekce 9 8/ 15

Umíme krájet pizzu! Všechny předchozí přímky protneme, právě když nová přímka nebude rovnoběžná se žádnou z nich, takže lze docílit rovnost a máme rekurenci: { 1 pro n=0, L n = (4) L n 1 +n pro n >0. Prověříme,zdajižspočtenéhodnoty L 1,L 2 a L 3 tétorekurencivyhovují. Jakvlastněposloupnost L n vypadá:1, 2, 4, 7, 11, 16, 22,... Připomíná nám to něco? Ani ne, takže uhádnout řešení asi nepůjde. Zkusíme postupný rozklad rekurence(tzv. telescope). doc. Josef Kolář (FIT ČVUT) Rekurence, rekurze a sumy ZDM, ZS 2011/12, Lekce 9 9/ 15

Postupný rozklad rekurence Dosazujeme do pravé strany hodnoty odvozené z rekurentního pravidla: L n = L n 1 +n = L n 2 +(n 1)+n = L n 3 +(n 2)+(n 1)+n =. = L 0 +1+2+...+(n 2)+(n 1)+n = 1+S n, kde S n =1+2+...+(n 2)+(n 1)+n Umímeurčit S n jakotouměldevítiletýgauss?samozřejmě S n = n(n+1), takže L n = n(n+1) +1, pro n 0 (5) 2 2 Jsmehotovi?Nikoliv,ještěbychomtomělidokázatindukcí... doc. Josef Kolář (FIT ČVUT) Rekurence, rekurze a sumy ZDM, ZS 2011/12, Lekce 9 10/ 15

Složitější krájení pizzy Příklad 3 Trochu si zkomplikujeme řezání: namísto přímého řezu povedeme řezy ve tvaru zubu(zlomené přímky)- nakreslíme si obrázek. Jakýbudemaximálnípočet Z n oblastíurčených nzubyvrovině? Zřejměje Z 0 =1, Z 1 =2, Z 2 =7.Jakjetoobecně? Přidatnovýzubjejakopřidatdvěnovépřímky,ukterýchaletři oblasti splynou do jedné! Na každý nový zub tedy proti dvěma přímkám ztratíme dvě oblasti: Z n = L 2n 2n=2n(2n+1)/2+1 2n = 2n 2 n+1, pro n 0. Jak vidno, L n 1 2 n2, Z n 2n 2 doc. Josef Kolář (FIT ČVUT) Rekurence, rekurze a sumy ZDM, ZS 2011/12, Lekce 9 11/ 15

Josefův problém Příklad 4 Skupina židovských povstalců ve válce proti Římanům byla obklíčena vjeskyni.rozhodliseradějiumřít,nežabysevzdali.stouplisidokruhu azabíjelikaždéhotřetíhotakdlouho,ažzůstalposlední,atensezabilsám. Josefovisealezemřítnechtěloaprotožebylchytrýanavícměljednoho komplice, stoupli si na taková místa, že jako poslední zbyli právě oni dva. V naší verzi předpokládáme n lidí rozestavených do kruhu, zabíjí se každý druhý tak dlouho, až zbyde poslední, který zůstane naživu. Máme určit pořadové číslo J(n) přežívající osoby. Pron=10budoupostupněeliminoványosoby2,4,6,8,10,3,7,14a9, takže číslo 5 přežije. Platítedy J(10)=5. doc. Josef Kolář (FIT ČVUT) Rekurence, rekurze a sumy ZDM, ZS 2011/12, Lekce 9 12/ 15

Zkoušíme hádat Platí J(10)=5. Jeztohomožnéodhadnout,že J(n)=n/2pronějakámalásudá n? n 1 2 3 4 5 6 J(n) 1 1 3 1 3 5 Odhadnefungujepro n=4an=6,hodnoty J(n)jsounavícvšechny liché. Při prvním průchodu vypadnou všechna sudá čísla- je-li na počátku 2n lidí (1, 2, 3, 4,..., 2n 2, 2n 1, 2n),zbydejichpolovinaslichýmičísly (1, 3, 5, 7,..., 2n 3, 2n 1)adalšíkolozačneeliminacíčísla3. To je obdobná situace jako na začátku, jen čísla přítomných jsou dvojnásobky zmenšené o 1: J(2n)=2J(n) 1 pro n 1 doc. Josef Kolář (FIT ČVUT) Rekurence, rekurze a sumy ZDM, ZS 2011/12, Lekce 9 13/ 15

CodálsJosefem? Jakmůžemevyužíttoho,že J(10)=5aJ(2n)=2J(n) 1pro n 1? Zkusíme počítat J(n) pro násobky čísla 10 v argumentu: J(20) = 2J(10) 1=2 5 1=9 J(40) = 2J(20) 1=2 9 1=17, takžeobecně J(5 2 m ) = 2 m+1 +1. Ajaktovypadáprolichýpočetosob2n+1? Při prvním průchodu vypadnou všechna sudá čísla a po čísle 2n vypadne číslo1,zbydetedymenšípolovinasčísly(3, 5,..., 2n 1, 2n+1)a dalšíkolozačneodčísla3. Máme tedy opět situaci jako na začátku, jen čísla přítomných jsou dvojnásobky zvětšené o 1: J(2n+1)=2J(n)+1 pro n 1 doc. Josef Kolář (FIT ČVUT) Rekurence, rekurze a sumy ZDM, ZS 2011/12, Lekce 9 14/ 15

Dáme věci dohromady Jezřejmé,ženašezjištěníprosudéalichépočtyosobspolusezákladním případem J(1) = 1 vedou na následující rekurenci pokrývající všechny možné případy: J(1) = 1 J(2n) = 2J(n) 1, pro n 1 J(2n+1) = 2J(n)+1, pro n 1. Jak vypadá tabulka prvních hodnot J(n)? n 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 J(n) 1 1 3 1 3 5 7 1 3 5 7 9 11 13 15 1 Vidíme jasné členění do skupin začínajících mocninami dvou. doc. Josef Kolář (FIT ČVUT) Rekurence, rekurze a sumy ZDM, ZS 2011/12, Lekce 9 15/ 15

Rozbor skupin Jak nalézt řešení rekurence pro J(n) v uzavřeném tvaru? n 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 J(n) 1 1 3 1 3 5 7 1 3 5 7 9 11 13 15 1 k 0 0 1 0 1 2 3 0 1 2 3 4 5 6 7 0 Vyjádříme nvetvaru n=2 m +k,kde2 m jenejvyššímocninadvou nepřesahující n. Pak k(<2 m )určuje,okolik nmocninu2 m překračuje. Zdáse,žemámeřešení! J(2 m +k)=2k+1 pro m 0a0 k <2 m (6) Je ale třeba dokázat(indukcí sami!), že(??) opravdu je řešením. doc. Josef Kolář (FIT ČVUT) Rekurence, rekurze a sumy ZDM, ZS 2011/12, Lekce 9 16/ 15

Rozbor vlastností J(n) Zkusíme se podívat na vyjádření n a J(n) ve dvojkové soustavě. Nechť což znamená, že n=(b m b m 1... b 1 b 0 ) 2, n=b m 2 m +b m 1 2 m 1 +...+b 1 2 1 +b 0 2 0, kdekaždé b i jebuď0nebo1,přičemžprvnídvojkováčíslice b m je1. Jelikožje n=2 m +k,můžemepsát n = (1 b m 1... b 1 b 0 ) 2, k = (0 b m 1... b 1 b 0 ) 2, 2k = (b m 1 b m 2... b 1 b 0 0) 2, 2k+1 = (b m 1 b m 2... b 1 b 0 1) 2, J(n) = (b m 1 b m 2... b 1 b 0 b m ) 2. doc. Josef Kolář (FIT ČVUT) Rekurence, rekurze a sumy ZDM, ZS 2011/12, Lekce 9 17/ 15

Překvapivé odhalení S použitím dvojkového zápisu tak dostáváme vyjádření pro J(n) ve tvaru J ( (b m b m 1... b 1 b 0 ) 2 ) =(bm 1 b m 2... b 1 b 0 b m ) 2 (7) Hodnotu J(n) tedy dostaneme cyklickým posuvem binárního zápisu argumentu n o jedno místo vlevo. O J(n)bysetohodalozjistitještěvíc,zkusmesealezamysletnad možností řešení zobecněné rekurence platné pro J(n) ve tvaru f(1) = α f(2n) = 2f(n)+β, pro n 1 f(2n+1) = 2f(n)+γ, pro n 1. Pro J(n)platilarekurenceshodnotami α=1, β= 1 a γ=1. doc. Josef Kolář (FIT ČVUT) Rekurence, rekurze a sumy ZDM, ZS 2011/12, Lekce 9 18/ 15

Průzkum bojem Kodhaduřešenínámpomůžetabulkafunkce f(n)promaléhodnoty n. n f(n) 1 α 2 2α + β 3 2α + γ 4 4α + 3β 5 4α + 2β + γ 6 4α + β + 2γ 7 4α + 3γ 8 8α + 7β 9 8α + 6β + γ 10 8α + 5β + 2γ Koeficienty u α odpovídají nejvyšší mocnině dvou obsažené v n. Mezi dvěma mocninami dvou se hodnoty koeficientů u β snižují s krokem1ažk0akoeficientyuγzvyšujískrokem1počínajeod0. doc. Josef Kolář (FIT ČVUT) Rekurence, rekurze a sumy ZDM, ZS 2011/12, Lekce 9 19/ 15

Odhad řešení zobecněné rekurence Řešení tedy vyjádříme ve tvaru f(n)=a(n) α+b(n) β+c(n) γ. a vzhledem závislostem zachyceným v tabulce hodnot f(n) určíme A(n) = 2 m B(n) = 2 m 1 k C(n) = k, kdejakoobvykle n=2 m +k a 0 k <2 m pro n 1.Správnosttohoto řešení by ovšem bylo třeba potvrdit indukcí. Ukážeme si ale jiný přístup získání obecného řešení rekurence získané složením několika partikulárních řešení. doc. Josef Kolář (FIT ČVUT) Rekurence, rekurze a sumy ZDM, ZS 2011/12, Lekce 9 20/ 15

Skládání partikulárních řešení Začnemespeciálnímpřípadem α=1,β=0,γ=0,tedy f(n)=a(n). Rekurence má v tomto případě tvar A(1) = 1 A(2n) = 2A(n) pro n 1 A(2n+1) = 2A(n) pro n 1 Řešenímátvar A(2 m +k)=2 m,jakbychompotvrdiliindukcí. Nyní na to půjdeme obráceně: zvolíme nějakou jednoduchou funkci f(n) a zjišťujeme, zda existují konstanty {α, β, γ}, které ji budou prostřednictvím naší rekurence definovat. Zkusíme nejprve f(n) = 1: 1 = α 1 = 2 1+β 1 = 2 1+γ Odtudplyne,že {α,β,γ}={1, 1, 1}vyhovujerekurenciaplatí A(n) B(n) C(n)=f(n)=1. doc. Josef Kolář (FIT ČVUT) Rekurence, rekurze a sumy ZDM, ZS 2011/12, Lekce 9 21/ 15

Skládání partikulárních řešení pokračuje Nynízkusímefunkci f(n)=n: 1 = α 2n = 2 n+β 2n+1 = 2 n+γ Tytorovniceplatíprovšechna n,pokudje α=1, β=0 a γ=1. Shrneme naše výsledky: A(n) = 2 m, kde n=2 m +k, 0 k <2 m A(n) B(n) C(n) = 1 A(n)+C(n) = n Odtud již snadno získáme zbývající části řešení: C(n) = n A(n)=k B(n) = A(n) C(n) 1=2 m k 1. To odpovídá našemu prvnímu výsledku získanému odhadem. doc. Josef Kolář (FIT ČVUT) Rekurence, rekurze a sumy ZDM, ZS 2011/12, Lekce 9 22/ 15

Součty a rekurence Součty a rekurence Jaksouvisísoučtyarekurence?Proposloupnost a n jeodpovídající posloupnostčástečnýchsoučtů S n = n k=0 a kjedefinovánarekurencí S 0 = a 0 S n = S n 1 +a n, pro n >0. To znamená, že techniky řešení rekurencí budou užitečné i pro získání hodnotysoučtůvuzavřenémtvaru.má-linapř. a n tvar β+γ n,pak dostáváme obecný tvar R 0 = α R n = R n 1 +β+γ n, pro n >0. PostupemjakoJosefovaproblémumůžemeurčit R 1 = α+β+γ, R 2 = α+2β+3γ,atd.obecnéřešeníbudemíttvar R n = A(n) α+b(n) β+c(n) γ, kde koeficienty A(n), B(n), C(n) určíme metodou skládání partikulárních řešení. doc. Josef Kolář (FIT ČVUT) Rekurence, rekurze a sumy ZDM, ZS 2011/12, Lekce 9 23/ 15

Součty a rekurence Sčítáme aritmetickou posloupnost Zvolíme postupě R 0 = α R n = R n 1 +β+γ n, pro n >0. R n =1 α=1, β=0, γ=0 A(n)=1 R n = n α=0, β=1, γ=0 B(n)=n R n = n 2 α=0, β= 1, γ=2 2C(n) B(n)=n 2 Zposledníchdvouvztahůurčíme C(n)=(n 2 +n)/2 Součetaritmeticképosloupnosti n k=0 (a+bk)tedyodpovídánašíobecné rekurencisparametry α=β= a, γ= b,takžeřešeníje A(n) a+b(n) a+c(n) b=a(n+1)+b n(n+1). 2 doc. Josef Kolář (FIT ČVUT) Rekurence, rekurze a sumy ZDM, ZS 2011/12, Lekce 9 24/ 15

Součty a rekurence Další hezký trik VzpomínátenaHanojajejívěže?Tambylarekurence,kteráseod částečných součtů liší: Stačí ale malá úprava a dostaneme T 0 = 0 T n = 2T n 1 +1, pro n >0. T 0 /2 0 = 0 T n /2 n = T n 1 /2 n 1 +1/2 n, pro n >0. Nynímůžemepoložit S n = T n /2 n amáme S 0 = 0 S n = S n 1 +2 n, pro n >0, takžeje S n = n k=1 2 k,neboličástečnýsoučetgeometricképosloupnosti (2 1 +2 2 +...+2 n )sprvnímčlenem1/2akvocientem1/2,kterýmá hodnotu1 ( 1 2 )n.platítedy T n =2 n S n =2 n 1. doc. Josef Kolář (FIT ČVUT) Rekurence, rekurze a sumy ZDM, ZS 2011/12, Lekce 9 25/ 15

Součty a rekurence Ještě jedna rekurence Připomeneme si ještě Catalanova čísla z přednášky 6: C n = 1 ( ) 2n n+1 n Představují počet dobrých tras z levého dolního do pravého horního rohu ve čtvercové mřížce velikosti n n(trasy nesmí překročit diagonálu). Každou dobrou trasu můžeme rozdělit na dvě části prvníčástodbodu(0,0)dobodu(k,k),kdesepoprvédostane znovu na diagonálu druháčástodbodu(k,k)dobodu(n,n). Prvníčástvždyzačínákrokemvpravoz(0,0)do(1,0)akončíkrokem nahoruz(k,k 1)do(k,k)(proč?). doc. Josef Kolář (FIT ČVUT) Rekurence, rekurze a sumy ZDM, ZS 2011/12, Lekce 9 26/ 15

Součty a rekurence Dobré trasy a binární stromy Postupmezi(1,0)a(k,k 1)představujedobroutrasuvmřížce velikosti(k 1) (k 1),kterámárohyvbodech (1,0),(1,k 1),(k,k 1)a(k,0) takovýchtrasjeovšem C k 1. Podobnědruháčástmezibody(k,k)a(n,n)představujedobrou trasuvmřížcevelikosti(n k) (n k),kterámárohyvbodech (k,k),(k,n),(n,n),(n,k) takovýchtrasjezase C n k Podle sčítacího principu tedy dostaneme n C n = C k 1 C n k k=1 Uvažujme nyní různé binární stromy o n uzlech jejich počet označíme jako a n.každýtakovýstrommákořenadálemá levýpodstromskuzly(takovýchje a k )a pravýpodstromsn k 1uzly(takovýchje a n k 1 ) Dostávámetedy a n = n 1 k=0 a ka n k 1 ajednoduchouúpravouzjistíme, že a n = C n. doc. Josef Kolář (FIT ČVUT) Rekurence, rekurze a sumy ZDM, ZS 2011/12, Lekce 9 27/ 15