III Rekursja 2

87
III Rekursja 2 uczelnia: PJWSTK przedmiot: Matematyka Dyskretna 2 wykładowca: dr Magdalena Kacprzak data: październik 2010 Materiały pomocnicze do wykładu

description

III Rekursja 2. Materiały pomocnicze do wykładu. uczelnia: PJWSTK przedmiot: Matematyka Dyskretna 2 wykładowca: dr Magdalena Kacprzak data: październik 2010. Rozwiązywanie równań rekurencyjnych. Jednorodne liniowe równania rekurencyjne. Twierdzenie. - PowerPoint PPT Presentation

Transcript of III Rekursja 2

Page 1: III Rekursja 2

III Rekursja 2

uczelnia: PJWSTKprzedmiot: Matematyka Dyskretna 2wykładowca: dr Magdalena Kacprzakdata: październik 2010

Materiały pomocnicze do wykładu

Page 2: III Rekursja 2

Rozwiązywanie równań rekurencyjnych

Page 3: III Rekursja 2

Jednorodne liniowe równania rekurencyjne

Page 4: III Rekursja 2

Twierdzenie

Niech k będzie ustaloną liczbą naturalną dodatnią i niech (*) oznacza zależność rekurencyjną między wyrazami ciągu {a(n)}: (*)  

gdzie D0, ..., Dk-1 są ustalonymi liczbami zespolonymi oraz niech a(0), a(1), ...,a(k-1) będą warunkami początkowymi.

a(n)D1)a(nD

...2)-ka(nD1)-ka(nDk)a(n

01

2k1-k

Page 5: III Rekursja 2

Twierdzenie

Każdy ciąg {a(n)} spełniający dla n 0 zależność (*) jest postaci 

gdzie m oznacza liczbę różnych pierwiastków wielomianu charakterystycznego

m

1iiWa(n)

012k

2k1k

1kk DxD...xDxDxP(x)

Page 6: III Rekursja 2

Twierdzenie

Oznaczmy te pierwiastki przez z1, ... zm zaś ich

krotności przez k1, ... km odpowiednio. Wtedy Wi

ma postać:

 gdzie p=ki-1, zaś C0, ..., Cp-1, Cp są ustalonymi

liczbami zespolonymi.

)nCnC...nC(C)(zW pp

1p1p10

nii

Page 7: III Rekursja 2

Przykład

Rozważmy następujące jednorodne liniowe równanie rekurencyjne

a(n)2

11)a(n

4

72)a(n3)a(n

2,a(2)1,a(1)0,a(0)

Page 8: III Rekursja 2

Przykład

Wtedy wielomian charakterystyczny tego równania ma postać

2

1x

4

7xxP(x) 23

Page 9: III Rekursja 2

Przykład

Ponieważ

to pierwiastkami są x1=-1/2, x2=-1/2, x3=2

2)(x2

1xP(x)

2

Page 10: III Rekursja 2

Przykład

Zatem

n3

n

21 2C2

1)Cn(Ca(n)

Page 11: III Rekursja 2

Przykład

Brakujące współczynniki wyznaczamy z układu trzech równań liniowych

dla a(0)=0, a(1)=1, a(2)=2

a(2)4C)C(2C2

1

a(1)2C)C(C2

1a(0)CC

321

2

321

32

Page 12: III Rekursja 2

Przykład

OstatecznieC1=4/5, C2=-9/25, C3=9/25

a z tego rozwiązaniem rozważanego równania jest

nn

225

9

2

1)

25

9n

5

4(a(n)

Page 13: III Rekursja 2

Niejednorodne liniowe równania rekurencyjne

Page 14: III Rekursja 2

Redukcja do równań jednorodnych

Rozważmy następującą zależność rekurencyjną

Zauważmy, że

Ba(n)D1)a(nD...1)-ka(nDk)a(n 011k

B1)a(nD2)a(nD...k)a(nD1)ka(n 011k

Page 15: III Rekursja 2

Redukcja do równań jednorodnych

Odejmując stronami oba równania dostajemy

a(n)D1))a(nD-D(2))a(nD-D(

...1)-k)a(nD-D(k)a(nD

k)a(n-1)ka(n

01021

1k2k1k

Page 16: III Rekursja 2

Redukcja do równań jednorodnych

Stąd

a(n)D1))a(nD-D(2))a(nD-D(

...1)-k)a(nD-D(k)1)a(n(D

1)ka(n

01021

1k2k1k

Page 17: III Rekursja 2

Redukcja do równań jednorodnych

Zatem niejednorodne liniowe równanie rekurencyjne sprowadziliśmy do jednorodnego równania rekurencyjnego, którego rozwiązanie opisuje wielomian charakterystyczny

0102

21

1-k1k2k

k1k

1k

D)xD-D()xD-D(

...)xD-D(1)x(DxP(x)

Page 18: III Rekursja 2

Przykład

Rozważmy następujące niejednorodne liniowe równanie rekurencyjne

1a(n)2

1)1a(n

4

72)a(n

4

13a(2)1,a(1)1,a(0)

Page 19: III Rekursja 2

Przykład

Wówczas

Po odjęciu stronami dostajemy

a(n)2

1-1)a(n

4

7

2

1)2a(n1

4

73)a(n

11)a(n2

1)2a(n

4

73)a(n

1a(n)2

1)1a(n

4

72)a(n

Page 20: III Rekursja 2

Przykład

Wielomian charakterystyczny tego równania ma postać

2

1

4

5x

4

11xP(x) 23 x

Page 21: III Rekursja 2

Przykład

Ponieważ

to pierwiastkami są x=-1/4, x=1, x=2

2)1)(x(x4

1xP(x)

Page 22: III Rekursja 2

Przykład

Zatem

n3

n2

n

1 2C1C4

1Ca(n)

Page 23: III Rekursja 2

Przykład

Brakujące współczynniki wyznaczamy z układu trzech równań liniowych

dla a(0)=1, a(1)=1, a(2)=13/4

a(2)4CCC4

1

a(1)2CCC4

1a(0)CCC

321

2

321

321

Page 24: III Rekursja 2

Przykład

OstatecznieC1=4/5, C2=-4/5, C3=1

a z tego rozwiązaniem rozważanego równania jest

nn

25

4

4

1

5

4a(n)

Page 25: III Rekursja 2

Funkcje tworzące

Page 26: III Rekursja 2

Definicja

Rozważmy ciąg liczbowy {a(n)}. Wówczas

nazywamy zwykłą funkcją tworzącą lub krótko funkcją tworzącą.

0n

na(n)xf(x)

Page 27: III Rekursja 2

Uwagi

Funkcje tworzące mają zatem postać szeregów potęgowych.

Dla każdego takiego szeregu istnieje liczba rzeczywista R0, zwana

promieniem zbieżności, taka że jeśli |x|<R, to jest on absolutnie zbieżny, a ponadto można go różniczkować i całkować wyraz po wyrazie dowolną liczbę razy.

Page 28: III Rekursja 2

Wzór Taylora

Zachodzi też wtedy wzór Taylora

0,1,....n,n!

(0)fa(n)

(n)

Page 29: III Rekursja 2

Uwagi

Niestety, gdy liczby a(n) są zbyt duże, wówczas R=0 i funkcje tworzące stają się bezużyteczne. Tak jest na przykład, gdy

a(n)=n!. Nietrudno zauważyć, że szereg

jest rozbieżny dla każdego x>0.

0n

nxn!

Page 30: III Rekursja 2

Wykładnicza funkcja tworząca

Aby ominąć ten problem, wprowadza się wykładniczą funkcję tworzącą

której promień zbieżności jest zwykle dodatni.

0n

n

n!

xa(n)f(x)

Page 31: III Rekursja 2

Uwagi

Na przykład, jeśli a(n) jest liczbą wszystkich

funkcji ze zbioru n-elementowego w siebie, czyli a(n)=nn, to szereg

jest rozbieżny dla każdego x>0,

1n

nnxn

Page 32: III Rekursja 2

Uwagi

ale szereg

jest zbieżny dla wszystkich x<1/e, ponieważ nn<n!en.

1n

nn

n!

xn

Page 33: III Rekursja 2

Uwagi

Wykładnicze funkcje tworzące stosuje się na ogół w przypadkach, o których wiemy lub spodziewamy się, że a(n) rośnie szybciej niż wykładniczo.

Od tej pory będziemy zakładać, że |x|<R.

Page 34: III Rekursja 2

Przykład 1

Rozważmy ciąg: 1,2,4,8,16,…

a(n)=2n, n=0,1,....

Wówczas funkcja tworząca ciągu {2n} dana jest wzorem:

0n

32n

0n

nn

2x-1

1...(2x)(2x)2x1(2x)

x2f(x)

Page 35: III Rekursja 2

Przykład 2

Rozważmy ciąg: 1,2,3,4,5,… a(n)=n+1, n=0,1,....

Wówczas funkcja tworząca ciągu {n+1} dana jest wzorem:

2

''

0n

1n

0n

1n

0n

n

x-1

1

x1

xx)'(x

1)xn(f(x)

Page 36: III Rekursja 2

Przykład 3

Rozważmy ciąg:

Funkcja tworząca tego ciągu jest skończoną sumą i ma postać

k

0n

nn x)(1xn

kf(x)

0,1,.....n,n

ka(n)

....,3

k,

2

k,

1

k,

0

k

Page 37: III Rekursja 2

Przykład 3

Innymi słowy, dwumian Newtona (1+x)k

jest zwykłą funkcją tworzącą ciągu

określającego liczbę n-wyrazowych kombinacji zbioru k-elementowego.

n

k

Page 38: III Rekursja 2

Przykład 4

Z drugiej strony

Tak więc (1+x)k jest jednocześnie wykładniczą funkcją tworzącą ciągu określającego liczbę n-wyrazowych wariacji bez powtórzeń ze zbioru k-elementowego.

n!

x

n)!(k

k!x)(1

nk

0n

k

Page 39: III Rekursja 2

Przykład 5

Funkcja

jest wykładniczą funkcją tworzącą dla liczby n-wyrazowych wariacji z powtórzeniami ze zbioru k-elementowego

nxn

0n

n en!

xkf(x)

Page 40: III Rekursja 2

Zastosowania

Page 41: III Rekursja 2

Rozwiązywanie równań rekurencyjnych

1. Postać rekurencyjna ciągu

2. Funkcja tworząca ciągu

3. Postać zwarta funkcji tworzącej

4. Rozwinięcie funkcji tworzącej w szereg Taylora

5. Postać jawna ciągu (współczynniki rozwinięcia funkcji tworzącej w szereg to kolejne wyrazy ciągu)

Page 42: III Rekursja 2

Proste na płaszczyźnie

Page 43: III Rekursja 2

Proste na płaszczyźnie

Na ile spójnych obszarów dzieli płaszczyznę n prostych, z których żadne dwie nie są równoległe i żadne trzy nie przecinają się w jednym punkcie?

Page 44: III Rekursja 2

Proste na płaszczyźnie

1. Układamy zależność rekurencyjną

Oznaczmy szukaną liczbę przez a(n). Mamy a(0)=1 i a(1)=2. Prowadząc n-tą prostą przetniemy wszystkie n-1 poprzednie, a to oznacza, że przetniemy na dwie części n obszarów spójnych, zwiększając tym samym liczbę obszarów o n.

Page 45: III Rekursja 2

Proste na płaszczyźnie

Zatem a(n)=a(n-1)+n dla n1

2. Określamy funkcję tworzącą

Niech f(x) będzie funkcją tworzącą tego ciągu. Wtedy

n

1n

0n

0n

xn)1)(a(na(0)xxa(n)f(x)

Page 46: III Rekursja 2

Proste na płaszczyźnie

3. Znajdujemy postać zwartą

)'xx(a(n)xx1

nxxa(n)x1

nx1)xa(n1

n)x1)(a(na(0)xf(x)

0n

n

0n

n

1n

1-n

0n

1n

1n

n

1n

n

1n

n0

Page 47: III Rekursja 2

Proste na płaszczyźnie

Stąd

2

0n

n

x1

1xxf(x)1

)'x1

1x(xf(x)1

)'xx(xf(x)1

Page 48: III Rekursja 2

Proste na płaszczyźnie

Zatem

czyli

2x1

1xxf(x)1f(x)

2x1

1x1x)-f(x)(1

3x1

x

x)-(1

1f(x)

Page 49: III Rekursja 2

Proste na płaszczyźnie

1n

n

0n

n x2

1nxf(x)

0n

n

0n

n x2

2nxxf(x)

0n

1n

0n

n x2

2nxf(x)

4. Rozwijamy funkcję tworzącą w szereg

Page 50: III Rekursja 2

Proste na płaszczyźnie

2

1n1a(n)

Ostatecznie

5. Wyznaczamy postać jawną ciągu

Page 51: III Rekursja 2

Skorzystaliśmy tutaj z rozwinięcia Taylora

gdzie dla dowolnej liczby rzeczywistej r

Proste na płaszczyźnie

n!

1)n1)...(rr(r

n

r

0n

nr xn

rx)(1

Page 52: III Rekursja 2

W szczególności

Proste na płaszczyźnie

2

2n1)(

n!

2)(n...431)(

n

3- nn

Page 53: III Rekursja 2

Wieża Hanoi

Page 54: III Rekursja 2

Wieża Hanoi

Niech a(n) będzie minimalną liczbą ruchów niezbędną do przeniesienia wieży składającej się z n krążków.

1. Układamy zależność rekurencyjną

a(n)=2a(n-1)+1 oraz a(1)=1

Page 55: III Rekursja 2

Wieża Hanoi

2. Określamy funkcję tworzącą

2n

nn

2n

n

2n

1

n

1n

x1x1)2a(nx1

x1)1)(2a(na(1)x

xa(n)f(x)

Page 56: III Rekursja 2

Wieża Hanoi

x1

x2xf(x)

xxa(n)2x

xx1)a(n2xxf(x)

1n

nn

1n

2n

n1-n

2n

3. Znajdujemy postać zwartą

Page 57: III Rekursja 2

Wieża Hanoi

Stąd

2x)-x)(1(1

xf(x)

x1

x2x)-f(x)(1

x1

x2xf(x)f(x)

Page 58: III Rekursja 2

Wieża Hanoi

1n

nn

1n

n

1n

n x12x2x

x)(1

x

2x)-(1

2x

2x)-x)(1(1

xf(x)

4. Rozwijamy funkcję tworzącą w szereg

Page 59: III Rekursja 2

Wieża Hanoi

5. Wyznaczamy postać jawną ciągu

a(n)=2n-1

Page 60: III Rekursja 2

Podzbiory bez sąsiadów

Page 61: III Rekursja 2

Podzbiory bez sąsiadów

Ile podzbiorów zbioru [n]={1,2,...,n},

wliczając zbiór pusty, nie zawiera sąsiednich liczb?

Page 62: III Rekursja 2

Podzbiory bez sąsiadów

1. Układamy zależność rekurencyjną

Oznaczmy szukaną liczbę przez a(n) i podzielmy wszystkie podzbiory tego typu na dwie klasy: te do których nie należy liczba 1, i te do których 1 należy. Tych pierwszych jest tyle, ile podzbiorów bez sąsiadów zbioru {2,...,n}, a więc a(n-1). Tych drugich jest tyle, ile podzbiorów bez sąsiadów zbioru {3,...,n}, a więc a(n-2).

Page 63: III Rekursja 2

Podzbiory bez sąsiadów

Zatem a(n)=a(n-1)+a(n-2)

przy warunkach początkowych

a(0)=1 i a(1)=2

Page 64: III Rekursja 2

Podzbiory bez sąsiadów

2. Określamy funkcję tworzącąDla a(0)=a(1)=1 funkcja tworząca ciągu Fibonacciego przyjmuje postać

n

2n

n

2n

1

n

0n

x2))a(n1)(a(nx1

x2))a(n1)(a(na(1)xa(0)

xa(n)f(x)

Page 65: III Rekursja 2

Podzbiory bez sąsiadów

f(x)xxf(x)1

xa(n)xxa(n)x1xa(n)xa(n)1

xa(n)xa(n)x1

x2)a(nx1)a(nx1

x2))a(n1)(a(nx1f(x)

2

n

0n

2n

0n

2n

0n

1n

0n

2n

0n

1n

1n

n

2n

n

2n

n

2n

3. Znajdujemy postać zwartą

Page 66: III Rekursja 2

Podzbiory bez sąsiadów

Stąd

gdzie

xa15

1a

xa15

1a

xx1

1f(x)

2

2

1

1

2

2

51ai

2

51a 21

Page 67: III Rekursja 2

Podzbiory bez sąsiadów

0n

n

1n1n

x2

51

5

1

2

51

5

1f(x)

4. Rozwijamy funkcję tworzącą w szereg

5. Wyznaczamy postać jawną ciągu

1n1n

2

51

5

1

2

51

5

1)n(a

Page 68: III Rekursja 2

Twierdzenie o rekursji uniwersalnej

Page 69: III Rekursja 2

Twierdzenie o rekursji uniwersalnej

Niech a1, b>1 będą stałymi, f:NR+{0} pewną

funkcją i niech T(n) będzie równaniem

rekurencyjnym postaci

T(n)=aT(n/b)+f(n),

gdzie n/b tratujemy jako n/b albo n/b wtedy

Page 70: III Rekursja 2

Twierdzenie o rekursji uniwersalnej

jeżeli f(n)=O(nlog[b]a-) dla pewnej stałej >0, to

T(n)=(nlog[b]a) jeżeli f(n)=(nlog[b]a) dla pewnej stałej >0, to

T(n)=(nlog[b]a lgn) jeżeli f(n)=(nlog[b]a+) dla pewnej stałej >0, to

T(n)=(f(n))

pod warunkiem, że af(n/b)cf(n) dla pewnej stałej c<1 i wszystkich dostatecznie dużych n.

Page 71: III Rekursja 2

Przykład

Rozważmy równanie

T(n)=3T(n/3)+n3+n.

Wówczas a=3, b=3, f(n)=n3+n.

Zauważmy, że f(n) = (n1+) dla =2.

Zatem

T(n)=(f(n))=(n3+n)

Przyjmujemy, że c=2/3:

3f(n/3)=n3/9+n 2/3(n3+n)=2/3f(n).

Page 72: III Rekursja 2

Zadania

Page 73: III Rekursja 2

Zadanie 1

Wyznaczyć liczbę a(n) ciągów binarnych długości n, w których żadne dwa zera nie występują obok siebie.

Page 74: III Rekursja 2

Zadanie 1

a(1)=2 – ciągi 1; 0a(2)=3 – ciągi 01; 10; 11a(3)=??

Page 75: III Rekursja 2

Zadanie 1

a(1)=2 – ciągi 1; 0a(2)=3 – ciągi 01; 10; 11a(3)=5 – ciągi 011; 101; 111; 010; 110

a(n)=a(n-1)+a(n-2) dla n>2

Page 76: III Rekursja 2

Zadanie 1

Wielomian charakterystyczny tego równania ma postać

Pierwiastkami tego wielomianu są

2

51xoraz

2

51x 21

1xxP(x) 2

Page 77: III Rekursja 2

Zadanie 1

Zatem

n

2

n

1 2

51C

2

51Ca(n)

Page 78: III Rekursja 2

Zadanie 1

Brakujące współczynniki wyznaczamy z układu dwóch równań liniowych

dla a(1)=2, a(2)=3

)2(a2

51C

2

51C

)1(a2

51C

2

51C

2

2

2

1

1

2

1

1

Page 79: III Rekursja 2

Zadanie 1

Ostatecznie

a z tego rozwiązaniem rozważanego równania jest

nn

2

51

52

35

2

51

52

35a(n)

52

35C oraz

52

35C 21

Page 80: III Rekursja 2

Zadanie 2

Wyznaczyć liczbę a(n) ciągów ternarnych (złożonych z cyfr 0,1,2) długości n, w których żadne dwie jedynki nie występują obok siebie.

Page 81: III Rekursja 2

Zadanie 2

a(1)=3 – ciągi 2; 1; 0a(2)=8 – ciągi 00; 01; 02; 10; 12;

20; 21; 22a(3)=??

Page 82: III Rekursja 2

Zadanie 2

a(1)=3 – ciągi 2; 1; 0a(2)=8 – ciągi 00; 01; 02; 10; 12;

20; 21; 22a(3)=22 – ciągi 000; 010; 020; 100; 120; 200; 210; 220;002; 012; 022; 102; 122; 202; 212; 222;201; 101; 001; 221; 121; 021

Page 83: III Rekursja 2

Zadanie 2

a(n)=2a(n-1)+2a(n-2) dla n>2

Page 84: III Rekursja 2

Zadanie 2

Wielomian charakterystyczny tego równania ma postać

Pierwiastkami tego wielomianu są

31xoraz31x 21

2x2xP(x) 2

Page 85: III Rekursja 2

Zadanie 2

Zatem

n2

n

1 31C31Ca(n)

Page 86: III Rekursja 2

Zadanie 2

Brakujące współczynniki wyznaczamy z układu dwóch równań liniowych

dla a(1)=3, a(2)=8

)2(a31C31C

)1(a31C31C2

2

2

1

1

2

1

1

Page 87: III Rekursja 2

Zadanie 2

Ostatecznie

a z tego rozwiązaniem rozważanego równania jest

6

323C oraz

6

323C 21

nn31

6

32331

6

323a(n)