1 / 37
Diskr´ etn´ı matematika
Petr Kov´aˇr petr.kovar@vsb.cz
Vysok´a ˇskola b´aˇnsk´a – Technick´a univerzita Ostrava
zimn´ı semestr 2021/2022
DiM 470-2301/01, 470-2301/03*, 470-2301/05
2 / 37
O tomto souboru
Tento soubor je zam´yˇslen pˇredevˇs´ım jako pom˚ucka pro pˇredn´aˇsej´ıc´ıho.
Radu d˚ˇ uleˇzit´ych informac´ı v souboru nenajdete, protoˇze pˇredn´aˇsej´ıc´ı je ˇr´ık´a, ukazuje, pˇr´ıpadnˇe maluje na tabuli. Pˇredn´aˇsky jsou na webu k dispozici, aby studenti mohli snadno dohledat prob´ıran´a t´emata z pˇredn´aˇsek, kter´e zameˇskali.
Pro samostatn´e studium doporuˇcuji skripta:
M. Kubesa: Z´aklady diskr´etn´ı matematiky, v´yukov´y text P. Kov´aˇr: ´Uvod do teorie graf˚u, v´yukov´y text
Pro pˇr´ıpravu ke zkouˇsce a p´ısemk´am doporuˇcuji cviˇcebnici:
P. Kov´aˇr: Cviˇcen´ı z diskr´etn´ı matematiky, sb´ırka pˇr´ıklad˚u Vˇse na http://homel.vsb.cz/~kov16/predmety dm.php
3 / 37
Pˇrehled pˇredn´aˇsky
Kapitola 5. Rekurentnˇe zadan´e posloupnosti motivace
rekurentnˇe zadan´e posloupnosti hlavn´ı ´uloha
metody ˇreˇsen´ı pˇr´ıklady
4 / 37
5. Rekurentnˇ e zadan´ e posloupnosti
V minul´e kapitole jsme pˇripomnˇeli, ˇze ne vˇzdy m˚uˇzeme poˇcty jist´ych v´ybˇer˚u vyj´adˇrit pomoc´ı jednoduch´ych vztah˚u probran´ych v Kapitole 2.
Dnes uk´aˇzeme nˇekolik typick´ych situac´ı, kter´e se objev´ı pˇri ˇreˇsen´ı ´uloh pomoc´ı rekurentn´ıch algoritm˚u.
Uk´aˇzeme, jak m˚uˇzeme sloˇzitost nˇekter´ych vybran´ych algoritm˚u vyˇc´ıslit.
Typick´e pˇr´ıklady rekurentn´ıch algoritm˚u ˇci postup˚u merge sort
´
ulohy dynamick´eho programov´an´ı
poˇcty uz´avorkov´an´ın+ 1 ˇcinitel˚u pomoc´ın z´avorek poˇcty
”pˇestovan´ych koˇrenov´ych strom˚u“ v kapitole UTG 4
5 / 37
5.1. Motivaˇcn´ı pˇr´ıklady
Velmi zn´am´y je klasick´y pˇr´ıpad tzv. Fibonacciho posloupnosti.
Fibonacciho posloupnost
Na ostrovˇe byl vysazen p´ar mal´ych kr´al´ık˚u. Kr´al´ıci se rozmnoˇzuj´ı aˇz od vˇeku 2 mˇes´ıc˚u, potom vˇsak m˚uˇzeme ˇr´ıci, ˇze kaˇzd´y mˇes´ıc vychovaj´ı dalˇs´ı p´ar kr´al´ık˚u. Jak´y je poˇcet fn p´ar˚u kr´al´ık˚u po n mˇes´ıc´ıch?
Je evidentn´ı, ˇze f1=f2= 1.
Pro n≥3 je poˇcet p´ar˚u urˇcen
poˇctem v pˇredchoz´ım mˇes´ıcifn−1,
je potˇreba pˇripoˇc´ıtat poˇcet p´ar˚u star´ych dva mˇes´ıce fn−2, kteˇr´ı nyn´ı dos´ahli dospˇelosti a maj´ı mlad´e.
Celkem m´ame fn=fn−1+fn−2 p´ar˚u, jestliˇze neuvaˇzujeme um´ır´an´ı populace.
Reˇsen´ı, tj. vztah proˇ fn odvod´ıme na konci pˇredn´aˇsky.
6 / 37
Hanojsk´e vˇeˇze
Hanojsk´e vˇeˇze, autorem je ´Edouard Lucas (1842 – 1891) Pˇr´ıklad
M´ame tˇri kol´ıky a sadu disk˚u r˚uzn´ych velikost´ı. Vˇsechny disky jsou
seˇrazeny podle velikosti na prvn´ım k˚ulu. ´Ukolem je pˇrem´ıstit vˇsechny disky na jin´y k˚ul, pˇriˇcemˇz
vˇzdy se pˇresunuje pouze jeden disk, nikdy nesm´ı leˇzet vˇetˇs´ı disk na menˇs´ım.
Jak´y je (nejmenˇs´ı) nutn´y poˇcet krok˚u Hn pro pˇrem´ıstˇen´ı cel´e vˇeˇze s n disky?
7 / 37
Hanojsk´e vˇeˇze
Abychom pˇrem´ıstili nejvˇetˇs´ı disk, mus´ı b´yt n−1 disk˚u pˇrem´ıstˇeno na jin´y k˚ul Hn−1 tahy.
Celkov´y poˇcet tah˚u Hn rozdˇel´ıme na tˇri ˇc´asti.
NejprveHn−1 tahy pˇrem´ıst´ımen−1 menˇs´ıch disk˚u na tˇret´ı k˚ul, pak jedn´ım tahem pˇrem´ıst´ıme nejvˇetˇs´ı disk na krajn´ı k˚ul,
nakonec Hn−1 tahy pˇrem´ıst´ıme n−1 menˇs´ıch disk˚u na nejvˇetˇs´ı disk.
Celkov´y poˇcet tah˚u je d´an rekurentn´ım vztahem Hn= 2Hn−1+ 1, pˇriˇcemˇz je jasn´e, ˇze H1 = 1.
Reˇsen´ı, tj. vztah proˇ Hn odvod´ıme na konci pˇredn´aˇsky.
8 / 37
Bitov´e ˇretˇezce bez sousedn´ıch nul
Pˇr´ıklad
Kolik existuje bitov´ych ˇretˇezc˚u d´elkyn, kter´e neobsahuj´ı sousedn´ı nuly?
(vyuˇzit´ı u ˇc´arov´ych k´od˚u)
Oznaˇcmean poˇcet hledan´ych bitov´ych ˇretˇezc˚u s n bity.
Rozliˇs´ıme, zda ˇretˇezec n bit˚u konˇc´ı 0 nebo 1 (pˇredpokl´adejme, ˇzen ≥3).
pokud ˇretˇezec konˇc´ı 1, tak takov´ych ˇretˇezc˚u je pr´avˇe an−1, kdy jsme na konec pˇridali bit 1,
pokud ˇretˇezec konˇc´ı 0, tak pˇredposledn´ı bit mus´ı b´yt 1 a takov´ych ˇretˇezc˚u je pr´avˇean−2, kdy jsme na konec pˇridali dva bity 10.
Jin´a moˇznost nen´ı, proto celkov´y poˇcet ˇretˇezc˚u d´elkyn, kter´e neobsahuj´ı sousedn´ı nuly, je
an=an−1+an−2. Zb´yv´a si uvˇedomit, ˇzea1 = 2,a2 = 4−1 = 3.
Na konci pˇredn´aˇsky odvod´ıme vztah proan.
Pozor:an podobn´e, ale jin´e neˇz Fibonacciho posloupnost.
9 / 37
Kl´ıˇcov´a slova se sud´ym poˇctem nul
Pˇr´ıklad
Poˇc´ıtaˇcov´y syst´em pracuje s k´odov´ymi slovy sestaven´ymi z cifer 0, 1, . . . , 9. Platn´e k´odov´e slovo obsahuje sud´y poˇcet cifer 0. Kolik takov´ych k´odov´ych slov d´elkyn existuje?
Oznaˇcmexn poˇcet hledan´ych k´odov´ych slov s n ciframi.
Rozliˇs´ıme, zda k´odov´e slovo sn ciframi konˇc´ı 0 nebo ne (pˇredpokl´ad´ame, ˇ
ze n≥2).
k´odov´ych slov, kter´a nekonˇc´ı 0, je pr´avˇe 9xn−1, kdy jsme na konec nˇekter´eho z xn−1 k´odov´ych slov pˇridali cifru 1,2,. . . , 9,
k´odov´e slov, kter´a konˇc´ı 0, je pr´avˇe tolik, kolik je chybn´ych k´odov´ych slovxn−1.
Jin´a moˇznost nen´ı, proto celkov´y poˇcet k´odov´ych slov d´elky n, kter´e obsahuj´ı sud´y poˇcet nul, je
xn = 9xn−1+ (10n−1−xn−1) = 8xn−1+ 10n−1. Zb´yv´a si uvˇedomit, ˇzex1 = 9. Hled´ame vztah xn pron-t´y ˇclen.
10 / 37
Poˇcty uz´avorkov´an´ın+ 1ˇcinitel˚u pomoc´ın z´avorek
Pˇr´ıklad
M´ame v´yraz sloˇzen´y zn+ 1 ˇcinitel˚u, uz´avorkujeme pomoc´ın p´ar˚u z´avorek. Kolik existuje r˚uzn´ych zp˚usob˚u uz´avorkov´an´ıCn?
C0= 1, nebot’ x1 je jedin´y zp˚usob.
C1= 1, nebot’ (x1⊕x2) je jedin´y zp˚usob.
C2= 2, nebot’ ((x1⊕x2)⊕x3), (x1⊕(x2⊕x3)) jsou dva zp˚usoby.
C3= 5, nebot’ 5 zp˚usob˚u (((x1⊕x2)⊕x3)⊕x4), ((x1⊕(x2⊕x3))⊕x4), ((x1⊕x2)⊕(x3⊕x4)), (x1⊕((x2⊕x3)⊕x4)), (x1⊕(x2⊕(x3⊕x4))).
Obecnˇe ve vnˇejˇs´ı z´avorce je vˇzdy pr´avˇe jeden oper´ator
”⊕“. Vˇsimneme si, ˇ
ze v´yraz se skl´ad´a z operace dvou menˇs´ıch v´yraz˚u, kter´ych m˚uˇzeme naj´ıtn r˚uzn´ych podle poˇctu ˇclen˚u nalevo od oper´atoru ve vnˇejˇs´ı z´avorce.
Cn=
n−1
X
k=0
CkCn−k−1
Rekurentn´ı posloupnostCn=Pn−1
k=0CkCn−k−1 se objevuje v ˇradˇe praktick´ych probl´emu, tzv. Catalanova ˇc´ısla.
11 / 37
5.2. Rekurentnˇe zadan´e posloupnosti Opakov´an´ı:
Posloupnost m˚uˇzeme zadat
v´yˇctem nˇekolika prvn´ıch prvk˚u: 1,3,7,15,31, . . . rekurentnˇe:an= 2an−1+ 1, a0 = 1
vztahem pro n-t´y ˇclen: an= 2n−1
Nyn´ı se zab´yv´ame rekurentnˇe zadan´ymi posloupnostmi, kdy dalˇs´ı ˇclen se urˇc´ı v´ypoˇctem na z´akladˇe pˇredch´azej´ıc´ıch ˇclen˚u.
Hlavn´ı ´uloha
Naj´ıt vztah pro n-t´y ˇclen.
pokud existuje, pokud to lze a pokud to um´ıme.
12 / 37
Line´arn´ı homogenn´ı rekurentn´ı rovnice ˇr´adu k s konstantn´ımi koeficienty
Line´arn´ı homogenn´ı rekurentn´ı rovnice ˇr´adu k s konstantn´ımi koeficienty je rekurentnˇe zadan´a posloupnost tvaru
an=c1an−1+c2an−2+· · ·+ckan−k, kde c1,c2, . . . ,ck jsou re´aln´a ˇc´ısla,ck 6= 0.
Rozeberme definici rekurentn´ı rovnice
jeline´arn´ı, protoˇze se jedn´a o line´arn´ı kombinaci pˇredchoz´ıch ˇclen˚u, jehomogenn´ı, protoˇze nem´aˇclen, kter´y by nebyl n´asobkemai, jeˇr´aduk, protoˇze an je vyj´adˇren pomoc´ık pˇredchoz´ıch ˇclen˚u, jes konstantn´ımi koeficienty, nebot’ kaˇzd´y koeficient u ai je konstanta, nikoli funkc´ın.
Pro jednoznaˇcn´e urˇcen´ı posloupnosti dan´e rekurenc´ı ˇr´aduk mus´ımezadat k prvn´ıch ˇclen˚u.
13 / 37
Fibonacciho posloupnost
Fibonacciho posloupnost fn=fn−1+fn−2 je line´arn´ı homogenn´ı rekurentn´ı rovnice druh´eho ˇr´adu s konstantn´ımi koeficienty.
Prvn´ı ˇcleny jsouf1 = 1, f2= 1.
Bitov´e ˇretˇezce bez sousedn´ıch nul
Posloupnost poˇctu bitov´ych ˇretˇezc˚u d´elky n, kter´e neobsahuj´ı sousedn´ı nuly an=an−1+an−2, je line´arn´ı homogenn´ı rekurentn´ı rovnice druh´eho ˇr´adu s konstantn´ımi koeficienty.
Prvn´ı ˇcleny jsoua1 = 2,a2 = 3.
Hanojsk´e vˇeˇze
Posloupnost nutn´eho poˇctu krok˚u Hn pro pˇrem´ıstˇen´ı cel´e hanojsk´e vˇeˇze s n disky Hn= 2Hn−1+ 1, je line´arn´ı rekurentn´ı rovnice prvn´ıho ˇr´adu
s konstantn´ımi koeficienty, kter´anen´ı homogenn´ı. Prvn´ı ˇclen jeH1= 1.
14 / 37
K´odov´a slova se sud´ym poˇctem nul
Poˇcet k´odov´ych slov sestaven´ych z cifer 0, 1, . . . , 9, kde nav´ıc kaˇzd´e k´odov´e slovo obsahuje sud´y poˇcet cifer 0, je line´arn´ı rekurentn´ı rovnice prvn´ıho ˇr´adu s konstantn´ımi koeficientyxn= 8xn−1+ 10n−1. Prvn´ı ˇclen je x1 = 9.
Tato rovnice nen´ı homogenn´ı, nebot’ ˇclen 10n−1 nen´ın´asobkemai. Catalanova ˇc´ısla
Posloupnost Catalanov´ych ˇc´ıselCn=Pn−1
k=0CkCn−k−1 je urˇcena rekurentn´ı homogenn´ı rovnic´ı. Prvn´ı ˇcleny jsouC1= 1, C2 = 2.
Tato rekurentn´ı rovnice nen´ı line´arn´ı, protoˇze ˇcleny Ck,Cn−k n´asob´ıme a nen´ı pevn´eho ˇr´adu, nebot’ poˇcet sˇc´ıtanc˚u roste sn.
Pˇr´ıklad
Rekurentnˇe zadan´a posloupnostan=an−1·an−2 je rekurentn´ı homogenn´ı rovnice druh´eho ˇr´adu s konstantn´ımi koeficienty. Prvn´ı ˇcleny a1 = 1, a2 = 2.
Tato rekurentn´ı rovnice nen´ı line´arn´ı, protoˇze ˇcleny an−1,an−2 n´asob´ıme.
15 / 37
5.3. Metody ˇreˇsen´ı rekurentnˇe zadan´ych posloupnost´ı
Hlavn´ı ´uloha ˇreˇsen´ı rekurentn´ıch rovnic
Je-li line´arn´ı rekurentn´ı rovnice (mal´eho) ˇr´adu k s konstantn´ımi koeficienty d´ana rekurentn´ım vztahem a dostatkem prvn´ıch ˇclen˚u, m˚uˇzeme tuto rovnici
”vyˇreˇsit“. To znamen´a, ˇze budeme hledat vztah pron-t´y ˇclen, pomoc´ı kter´eho lze vyj´adˇritan bez znalosti pˇredchoz´ıch ˇclen˚u.
Uk´aˇzeme si, jak je moˇzno obecnˇe postupovat:
nejprve sestav´ıme tzv.charakteristickou rovnici, potom najdeme koˇreny charakteristick´e rovnice,
v z´avislosti na poˇctu koˇren˚u charakteristick´e rovnice zvol´ıme tvar obecn´eho ˇreˇsen´ı,
v z´avislosti na hodnotˇe prvn´ıch ˇclen˚u posloupnosti dopoˇc´ıt´ame nezn´am´e koeficienty.
Zaˇcneme jednoduch´ymi pˇr´ıpady.
16 / 37
Charakteristick´a rovnice a jej´ı koˇreny
Je moˇzno uk´azat (napˇr´ıklad postupem s pomoc´ı tzv. vytvoˇruj´ıc´ıch funkc´ı), ˇ
ze ˇreˇsen´ı line´arn´ıch homogenn´ıch rekurentn´ıch rovnic s konstantn´ımi koeficienty bude tvaruan=rn, kde r je vhodn´a konstanta.
Dosazen´ım do rekurentn´ıho pˇredpisu dostaneme
an = c1an−1+c2an−2+· · ·+ckan−k
rn = c1rn−1+c2rn−2+· · ·+ckrn−k rk = c1rk−1+c2rk−2+· · ·+ckrk−k 0 = rk−c1rk−1−c2rk−2− · · · −ck
Posledn´ı rovnice se naz´yv´a charakteristick´a rovnicerekurentn´ı rovnice.
Je zˇrejm´e, ˇze ˇreˇsen´ı t´eto rovnice v promˇenn´e r jsou hledan´a ˇc´ısla ri. R´ık´ˇ ame jimkoˇreny charakteristick´e rovnice.
17 / 37
Postupn´e zobecnˇen´ı ˇreˇsen´ı
Pro n´azornost rozdˇel´ıme ˇreˇsen´ı line´arn´ıch homogenn´ıch rekurentn´ıch rovnic s konstantn´ımi koeficienty do nˇekolika krok˚u.
Kaˇzd´y dalˇs´ı krok zahrne vˇetˇs´ı mnoˇzinu rekurentn´ıch rovnic:
nejprve uk´aˇzeme, jak vypad´a obecn´e ˇreˇsen´ı line´arn´ı homogenn´ı rekurentn´ı rovnice ˇr´adu 2 s konstantn´ımi koeficienty,
I jestliˇze m´ame dva r˚uzn´e re´aln´e koˇreny,
I a jestliˇze m´ame dva stejn´e re´aln´e koˇreny,
d´ale uk´aˇzeme, jak vypad´a obecn´e ˇreˇsen´ı line´arn´ı homogenn´ı rekurentn´ı rovnice ˇr´adu k s konstantn´ımi koeficienty.
Potom uk´aˇzeme, jak vypad´a obecn´e ˇreˇsen´ı line´arn´ı homogenn´ı rekurentn´ı rovnice ˇr´aduk s konstantn´ımi koeficienty,
a nakonec uk´aˇzeme, jak vypad´a obecn´e ˇreˇsen´ı line´arn´ı nehomogenn´ı rekurentn´ı rovnice ˇr´aduk s konstantn´ımi koeficienty.
Dalˇs´ı zobecnˇen´ı jen zm´ın´ıme.
18 / 37
Tvar ˇreˇsen´ı
Nejprve uk´aˇzeme, jak vypad´a tvar obecn´eho ˇreˇsen´ı homogenn´ı rovnice.
Vˇeta
Mˇejme dvˇe re´aln´a ˇc´ısla c1,c2. Pokud m´a charakteristick´a rovnice r2−c1r−c2= 0 dva r˚uzn´e (re´aln´e) koˇrenyr1,r2, tak ˇreˇsen´ı rekurentn´ı rovnice an=c1an−1+c2an−2 m´a tvaran=α1r1n+α2r2n,
pro n= 0,1,2, . . .. D˚ukaz neuv´ad´ıme.
Plat´ı dokonce silnˇejˇs´ı tvrzen´ı, koˇreny nemus´ı b´yt re´aln´e.
19 / 37
Pˇr´ıklad
Najdˇete ˇreˇsen´ı rekurentn´ı rovnicean=an−1+ 2an−2, kde a0 = 2, a1 = 7.
Postupujeme podle n´avodu uveden´eho dˇr´ıve:
Pˇredpokl´ad´ame ˇreˇsen´ı tvaru an=rn. Dosazen´ım do rekurentn´ı rovnice dostaneme charakteristickou rovnici
r2−r−2 = 0 (r+ 1)(r−2) = 0.
Charakteristick´e koˇreny jsou r1 = 2,r2 =−1. Obecn´e ˇreˇsen´ı je tvaru an=α12n+α2(−1)n.
Dosazen´ım a0,a1 dostaneme dvˇe rovnice o nezn´am´ych α1,α2. a0 = 2 = α1·1 +α2·1
a1 = 7 = α1·2 +α2·(−1)
Reˇsen´ım soustavy dostanemeˇ α1= 3, α2 =−1, proto obecn´e ˇreˇsen´ı je an= 3·2n−1·(−1)n.
20 / 37
Vskutku,
vztahan= 3·2n−1(−1)n pron = 0,1,2, . . .
rekurentn´ı rovnicean=an−1+ 2an−2, kdea0= 2, a1= 7 popisuj´ı stejnou posloupnost:
2,7,11,25,47,97,191,385,767,1 537,3 071, . . . Nyn´ı se pod´ıv´ame na pˇr´ıpad s n´asobn´ymi koˇreny.
Vˇeta
Mˇejme dvˇe re´aln´a ˇc´ısla c1,c2, kdec2 6= 0. Pokud m´a charakteristick´a rovnice r2−c1r−c2= 0 jeden dvojn´asobn´y (re´aln´y) koˇren r0, tak ˇreˇsen´ı rekurentn´ı rovnicean=c1an−1+c2an−2 m´a tvaran=α1r0n+α2nr0n, pro n= 0,1,2, . . ..
Vˇsimnˇete si, ˇze druh´y ˇclen obecn´eho ˇreˇsen´ı je vyn´asoben n.
21 / 37
Pˇr´ıklad
Najdˇete ˇreˇsen´ı rekurentn´ı rovnicean= 10an−1−25an−2, kdea0 = 3, a1 = 5.
Opˇet postupujeme stejnˇe:
Pˇredpokl´ad´ame ˇreˇsen´ı tvaru an=rn. Dosazen´ım do rekurentn´ı rovnice dostaneme charakteristickou rovnici
r2−10r+ 25 = 0 (r−5)(r−5) = 0.
Charakteristick´e koˇreny jsou r1 =r2= 5, oznaˇcmer0 = 5. Obecn´e ˇreˇsen´ı je tvaru
an =α15n+α2n5n.
Dosazen´ım a0,a1 dostaneme dvˇe rovnice o nezn´am´ych α1,α2. a0= 3 = α1·1 + 0
a1= 5 = α1·5 +α2·5
Reˇsen´ım soustavy dostanemeˇ α1= 3, α2 =−2, proto ˇreˇsen´ı je an= 3·5n−2n5n.
22 / 37
Naˇsli jme vztah pro n-t´y ˇclen
an= 3·5n−2n5n, popisuje stejnou posloupnost jako
rekurentn´ı rovnicean= 10an−1−25an−2, kdea0 = 3,a1 = 5.
Posloupnost je
3,5,−25,−375,−3 125,−21 875,−140 625, . . .
Reˇsen´ı line´ˇ arn´ıch rekurentn´ıch rovnic je moˇzn´e d´ale zobecnit pro vyˇsˇs´ı ˇr´ady.
Vˇeta
Mˇejme re´aln´a ˇc´ısla c1,c2, . . . ,ck. Pokud m´a charakteristick´a rovnice rk−c1rk−1−c2rk−2− · · · −ck = 0 r˚uzn´ych k koˇren˚u r1,r2, . . . ,rk, tak ˇreˇsen´ı rekurentn´ı rovnice an =c1an−1+c2an−2+· · ·+ckan−k m´a tvar an=α1r1n+α2r2n+· · ·+αkrkn, pron= 0,1,2, . . ..
23 / 37
Pˇr´ıklad
Najdˇete ˇreˇsen´ı rekurentn´ı rovnicean= 4an−1−an−2−6an−3, kdea0 = 6 a1 = 5,a2 = 13.
Dostaneme charakteristickou rovnici
r3−4r2+r+ 6 = 0.
Charakteristick´e koˇreny jsou r1 =−1,r2= 2, r3 = 3. Obecn´e ˇreˇsen´ı je tvaru
an=α1(−1)n+α22n+α33n.
Dosazen´ım a0,a1,a2 dostaneme tˇri rovnice o nezn´am´ychα1,α2,α3. a0 = 6 = α1+α2+α3
a1 = 5 = −α1+ 2α2+ 3α3
a2 = 13 = α1+ 4α2+ 9α3
Reˇsen´ım soustavy dostanemeˇ α1= 2, α2 = 5,α3=−1, proto obecn´e ˇreˇsen´ı je
an= 2·(−1)n+ 5·2n−3n.
24 / 37
Obecn´e ˇreˇsen´ı lin. homogenn´ı rekurentn´ı rovnice s konst. koeficienty
Vˇeta
Mˇejme re´aln´a ˇc´ısla c1,c2, . . . ,ck. Pokud m´a charakteristick´a rovnice rk−c1rk−1−c2rk−2− · · · −ck = 0 r˚uzn´ych t koˇren˚u r1,r2, . . . ,rt
s n´asobnostmim1,m2, . . . ,mt, tak ˇreˇsen´ı rekurentn´ı rovnice an=c1an−1+c2an−2+· · ·+ckan−k m´a pron = 0,1,2, . . . tvar
an = (α1,1+α1,2n+· · ·+α1,m1nm1−1)r1n+ +(α2,1+α2,2n+· · ·+α2,m2nm2−1)r2n+ +· · ·+ (αt,1+αt,2n+· · ·+αt,mtnmt−1)rtn Abychom naˇsli ˇreˇsen´ı, tak
1 sestav´ıme charakteristickou rovnici,
2 urˇc´ıme charakteristick´e koˇreny (pokud to lze),
3 sestav´ıme ˇreˇsen´ı v pˇredpokl´adan´em tvaru s koeficientyαi,j,
4 dosad´ıme k prvn´ıch (zn´am´ych) ˇclen˚u,
5 vyˇreˇs´ıme soustavu rovnic s k nezn´am´ymi,
6 sestav´ıme obecn´e ˇreˇsen´ı.
25 / 37
Obecn´e ˇreˇsen´ı line´arn´ı nehomogenn´ı rekurentn´ı rovnice s konstantn´ımi koeficienty
Zat´ım um´ıme ˇreˇsit pouze homogenn´ı rekurentn´ı rovnice . . . Reˇsen´ı nehomogenn´ıch rekurentn´ıch rovnic m´ˇ a dvˇe ˇc´asti
obecn´e ˇreˇsen´ıpˇridruˇzen´e homogenn´ırekurentn´ı rovnice,
jednopartikul´arn´ı ˇreˇsen´ıline´arn´ı nehomogenn´ı rekurentn´ı rovnice.
Vˇeta
Mˇejme re´aln´a ˇc´ısla c1,c2, . . . ,ck, mˇejme funkciF(n) r˚uznou od konstantn´ı nulov´e funkce.
Jestliˇze a(p)n jepartikul´arn´ıˇreˇsen´ı line´arn´ı nehomogenn´ı rekurentn´ı rovnice s konstantn´ımi koeficienty
an=c1an−1+c2an−2+· · ·+ckan−k +F(n),
tak kaˇzd´e ˇreˇsen´ı je tvarua(p)n +a(h)n , kdea(h)n je ˇreˇsen´ıpˇridruˇzen´e line´arn´ı homogenn´ı rekurentn´ı rovnice s konstantn´ımi koeficienty
an=c1an−1+c2an−2+· · ·+ckan−k.
26 / 37
Pˇr´ıklad
Ukaˇzte, ˇze a(p)n =−n−2 je (partikul´arn´ım) ˇreˇsen´ım rekurentn´ı rovnice an= 2an−1+n.
Abychom ˇreˇsen´ı ovˇeˇrili, staˇc´ı dosadit a porovnat:
an = 2an−1+n
−n−2 = 2 (−(n−1)−2) +n
−n−2 = −n−2.
Vˇsimnˇete si: partikul´arn´ı ˇreˇsen´ı m´a tvara(p)n =cn+d. Pˇr´ıklad
Ukaˇzte, ˇze a(p)n =c·7n je vhodn´y tvar (partikul´arn´ıho) ˇreˇsen´ı rekurentn´ı rovnice an= 5an−1−6an−2+ 7n.
Opˇet dosad´ıme a porovn´ame:
an = 5an−1−6an−2+ 7n c ·7n = 5c ·7n−1−6c·7n−2+ 7n
c = 49 20.
27 / 37
Vˇeta
Mˇejmek re´aln´ych ˇc´ıselc1,c2, . . . ,ck, mˇejme funkci F(n), kter´a nen´ı konstantn´ı a rovna nule.
Pˇredpokl´adejme, ˇze a(p)n je ˇreˇsen´ı nehomogenn´ı line´arn´ı rekurentn´ı rovnice s konstantn´ımi koeficienty
an=c1an−1+c2an−2+· · ·+ckan−k +F(n), kde F(n) = (btnt+bt−1nt−1+· · ·+b1n+b0)sn.
1 Jestliˇze s nen´ı koˇrenem charakteristick´e rovnice pˇridruˇzen´e line´arn´ı homogenn´ı rekurentn´ı rovnice, taka(p)n m´a tvar
(ptnt+pt−1nt−1+· · ·+p1n+p0)sn.
2 Jestliˇze s je koˇrenem s n´asobnost´ım charakteristick´e rovnice pˇridruˇzen´e line´arn´ı homogenn´ı rekurentn´ı rovnice, taka(p)n m´a tvar
nm(ptnt+pt−1nt−1+· · ·+p1n+p0)sn.
28 / 37
Pˇr´ıklad
Reˇste rekurentn´ı rovniciˇ an= 2an−1+n2n.
Nejprve urˇc´ıme ˇreˇsen´ı pˇridruˇzen´e line´arn´ı homogenn´ı rekurentn´ı rovnice an= 2an−1.
Jej´ı charakteristick´a rovnicern= 2rn−1 m´a nenulov´y koˇrenr = 2.
Proto tvar obecn´eho ˇreˇsen´ı je a(h)n =α2n.
D´ale urˇc´ıme partikul´arn´ı ˇreˇsen´ı p˚uvodn´ı line´arn´ı nehomogenn´ı rekurentn´ı rovnice. Podle pˇredchoz´ı vˇety pˇredpokl´ad´ame tvar ˇreˇsen´ı
an(p)=n(cn+d)2n, nebot’z´aklad 2 je koˇrenem charakteristick´e rovnice.
Pro urˇcen´ı nezn´am´ych konstant dosad´ıme partikul´arn´ı ˇreˇsen´ı a(p)n =n(cn+d)2n do rekurentn´ı rovnicean= 2an−1+n2n.
29 / 37
Pˇr´ıklad pokraˇcov´an´ı Dostaneme
n(cn+d)2n = 2·(n−1)(c(n−1) +d)2n−1+n2n (cn2+dn)2n = 2·(c(n−1)2+d(n−1))2n−1+n2n (cn2+dn)2n = (cn2−2cn+c +dn−d +n)2n
dn = (−2c+d+ 1)n+ (c −d).
Porovn´an´ım koeficient˚u polynom˚u u n1 an0 dostaneme soustavu rovnic n1: d = −2c+d + 1
n0 : 0 = c−d.
Soustavu vyˇreˇs´ıme a dostaneme c = 12,d = 12 a partikul´arn´ı ˇreˇsen´ı je a(p)n =n(12n+12)2n= (n2+n)2n−1.
Reˇsen´ı dan´ˇ e rekurentn´ı rovnice je
an=a(h)n +a(p)n =α·2n+ (n2+n)2n−1= (n2+n+ 2α)2n−1. Hodnota konstanta α z´avis´ı na poˇc´ateˇcn´ı hodnotˇe a1.
30 / 37
5.4. ˇReˇsen´ı motivaˇcn´ıch pˇr´ıklad˚u z ´uvodu kapitoly
Fibonacciho posloupnost
Najdˇete ˇreˇsen´ı rekurentn´ı rovnicefn=fn−1+fn−2, kdef0= 0, f1 = 1.
Dostaneme charakteristickou rovnicir2−r−1 = 0.
Charakteristick´e koˇreny jsou r1 = (1 +√
5)/2,r2 = (1−√
5)/2. Obecn´e ˇreˇsen´ı je tvaru
fn=α1
1 +√ 5 2
!n
+α2
1−√ 5 2
!n
.
Dosazen´ım f0= 0, f1= 1 dostaneme dvˇe rovnice o nezn´am´ychα1,α2. 0 = α1·1 +α2·1
1 = α1· 1 +√ 5 2
!
+α2· 1−√ 5 2
!
Reˇsen´ım soustavy dostanemeˇ α1=
√ 5
5 ,α2=−
√ 5
5 , proto obecn´e ˇreˇsen´ı je fn=
√ 5
5 · 1 +√ 5 2
!n
−
√ 5
5 · 1−√ 5 2
!n
.
31 / 37
Hanojsk´e vˇeˇze
Najdˇete ˇreˇsen´ı rekurentn´ı rovniceHn= 2Hn−1+ 1, kde H1 = 1.
Jedn´a se o line´arn´ınehomogenn´ırekurentn´ı rovnici.
Na druhou stranu se jedn´a o rekurentn´ı rovnici prvn´ıho ˇr´adu, ˇreˇsen´ı odvod´ıme jinak.
Vˇsimneme si
Hn = 2Hn−1+ 1
= 2(2Hn−2+ 1) + 1 = 22Hn−2+ 2 + 1
= 22(2Hn−3+ 1) + 2 + 1 = 23Hn−2+ 22+ 2 + 1 ...
= 2n−1H1+ 2n−2+ 2n−3+· · ·+ 2 + 1
= 2n−1+ 2n−2+ 2n−3+· · ·+ 2 + 1
= 2n−1.
Hledan´e ˇreˇsen´ı line´arn´ı nehomogenn´ı rovnice hanojsk´ych vˇeˇz´ı je Hn= 2n−1.
32 / 37
Bitov´e ˇretˇezce bez sousedn´ıch nul
Najdˇete ˇreˇsen´ı rekurentn´ı rovnicean=an−1+an−2, kdea1 = 2,a2 = 3.
Dostaneme charakteristickou rovnicir2−r−1 = 0.
Charakteristick´e koˇreny jsou r1 = (1 +√
5)/2,r2 = (1−√
5)/2. Obecn´e ˇreˇsen´ı je tvaru
an =α1 1 +√ 5 2
!n
+α2 1−√ 5 2
!n
.
Dosazen´ım a1= 2, a2= 3 dostaneme dvˇe rovnice o nezn´am´ych α1,α2. 2 = α1· 1 +√
5 2
!
+α2· 1−√ 5 2
!
3 = α1· 1 +√ 5 2
!2
+α2· 1−√ 5 2
!2
Reˇsen´ım soustavy dostanemeˇ α1= 5+
√5
10 ,α2= 5−
√5
10 , obecn´e ˇreˇsen´ı je an= 5 +√
5
10 · 1 +√ 5 2
!n
+5−√ 5
10 · 1−√ 5 2
!n
.
Pˇr´ıklad
33 / 37
Kl´ıˇcov´a slova se sud´ym poˇctem nul
Najdˇete ˇreˇsen´ı rekurentn´ı rovnicexn= 8xn−1+ 10n−1, kdex1 = 9.
Nejedn´a se line´arn´ı o homogenn´ırekurentn´ı rovnici s konstantn´ımi koeficienty.
Nejprve najdeme obecn´e ˇreˇsen´ı pˇridruˇzen´e homogenn´ı rekurentn´ı rovnice xn= 8xn−1.
Jej´ı charakteristick´a rovnicern= 8rn−1 m´a nenulov´y koˇrenr = 8.
Proto tvar obecn´eho ˇreˇsen´ı je xn(h)=α8n.
Konstantu α m˚uˇzeme urˇcit aˇz budeme zn´at partikul´arn´ı ˇreˇsen´ı.
D´ale urˇc´ıme partikul´arn´ı ˇreˇsen´ı p˚uvodn´ı line´arn´ı nehomogenn´ı rekurentn´ı rovnice. Podle vˇety pˇredpokl´ad´ame tvar partikul´arn´ıho ˇreˇsen´ı
xn(p) =c·10n,
nebot’ z´aklad 10 nen´ıkoˇrenem charakteristick´e rovnice.
Pro urˇcen´ı konstanty c dosad´ıme partikul´arn´ı ˇreˇsen´ıxn(p)=c·10n do rekurentn´ı rovnicexn= 8xn−1+ 10n−1.
34 / 37
Dostaneme
c10n = 8·c10n−1+ 10n−1 10c = 8c + 1
2c = 1
c = 1
2.
Nyn´ı obecn´e ˇreˇsen´ı rekurentn´ı rovnicexn= 8xn−1+ 10n−1 je xn=xn(h)+xn(p)=α·8n+1
2·10n.
Hodnotu konstanty α urˇc´ıme dosazen´ım x1 = 9 an= 1 do obecn´eho ˇreˇsen´ıxn=α·8n+12 ·10n. Dostaneme
9 = α·8 +1 2·10 9−5 = 8α
α = 1
2.
Reˇsen´ı dan´ˇ e rekurentn´ı rovnice vˇcetnˇe poˇc´ateˇcn´ı podm´ınky je xn= 1
2·8n+1 2 ·10n.
35 / 37
Merge sort
Merge sort je dobˇre zn´am´y algoritmus, kter´y slouˇz´ı k seˇrazen´ı posloupnosti n prvk˚u. Jedn´a se o rekurzivn´ı algoritmus.
Zn´ame-li algoritmus, tak snadno nahl´edneme, ˇze poˇcet porovn´an´ı a poˇcet operac´ıMn pro seˇrazen´ı posloupnostin prvk˚u m˚uˇzeme shora odhadnout rekurentn´ı rovnic´ıMn= 2Mdn/2e+n, kde M1 = 1.
Tuto line´arn´ınehomogenn´ırekurentn´ı rovnici neum´ıme ˇreˇsit, protoˇzenem´a pevn´y ˇr´ad.
Je moˇzno uk´azat, ˇze ˇreˇsen´ı, tj. poˇcet krok˚u Merge sort algoritmu, je funkce sloˇzitosti
Mn=O(nlogn).
36 / 37
Hanojsk´e vˇeˇze – jin´e ˇreˇsen´ı
Najdˇete ˇreˇsen´ı rekurentn´ı rovniceHn= 2Hn−1+ 1, kde H1 = 1.
Jedn´a se o line´arn´ınehomogenn´ırekurentn´ı rovnici.
Nejprve najdeme obecn´e ˇreˇsen´ı pˇridruˇzen´e homogenn´ı rovniceHn= 2Hn−1. Charakteristick´a rovnice m´a tvarr = 2. M´a jedin´y koˇren, proto tvar obecn´eho ˇreˇsen´ı je Hn=α·2n. Hodnotu konstantyα urˇc´ıme nakonec.
Protoˇze funkceF(n) = 1, tak partikul´arn´ı ˇreˇsen´ıHn(p) ˇcek´ame tvaru c·1.
Abychom urˇcili hodnotu c, tak partikul´arn´ı ˇreˇsen´ı dosad´ıme do rekurentn´ı
rovnice. Hn = 2Hn−1+ 1
c = 2c+ 1
−1 = c
Partikul´arn´ı ˇreˇsen´ı jeHn(p)=−1 a obecn´e ˇreˇsen´ı nehomogenn´ı rovnice je tvaru Hn=α·2n−1.
Nyn´ı vyˇc´ısl´ıme hodnotuα dosazen´ım poˇc´ateˇcn´ı podm´ınkyH1= 1.
Dostaneme 1 =α·21−1, tedy α= 1.
Hledan´e ˇreˇsen´ı line´arn´ı nehomogenn´ı rovnice poˇctu tah˚u ˇreˇsen´ı hanojsk´ych vˇeˇz´ı je Hn= 2n−1.
37 / 37
Pˇr´ıˇstˇe
Kapitola 6. Kongruence a modul´arn´ı aritmetika motivace
dˇelen´ı a dˇelitelnost
line´arn´ı kongruence o jedn´e nezn´am´e metody ˇreˇsen´ı
pˇr´ıklady vyuˇzit´ı