ZLICZANIE REKURENCYJNE Andrzej Sendlewski Wydział Matematyki i Informatyki UMK w Toruniu MA-TA II, Ciechanów 22 maja 2010
Liczby figuralne jako jeden z najprostszych sposobów wprowadzenia w myślenie rekurencyjne
PROBLEM 1. Rysujemy kolejne kwadraty o bokach długości całkowitej i dzielimy je na kwadraty jednostkowe. 1 2 3 4 Z ilu kwadratów jednostkowych składa się kwadrat o boku długości n? Ile jest wszystkich kwadratów na n-tym rysunku?
3 4 k(n) = 1, jeżeli n = 1; k(n 1) + 2n 1, jeżeli n > 0.
2 3 4 k(n) = 1, jeżeli n = 1; 4, jeżeli n = 2; k(n 2) + 4n 4, jeżeli n > 0.
PROBLEM 2. Rysujemy kolejne trójkąty o bokach długości całkowitej i dzielimy je na przystające trójkąty o boku 1. 1 2 3 4 Z ilu małych trójkątów składa się trójkąt o boku długości n? Ile jest wszystkich trójkątów równobocznych na n-tym rysunku?
3 4 k(n) = 1, jeżeli n = 1; k(n 1) + n + (n 1), jeżeli n > 0.
PROBLEM 3. Z jednakowych monet układamy kolejne trójkąty równoboczne, tak jak na rysunku. 1 2 3 4 Jaka jest wartość monet tworzących n ty trójkąt?
3 4 t(n) = 1, jeżeli n = 1; t(n 1) + n, jeżeli n > 1.
1 2 3 4 1 2 3 4 k(n) = t(n) + t(n 1)
1 2 3 4 Z równości (n + 1) 2 = k(n + 1) = 2t(n) + (n + 1) mamy n(n + 1) t(n) = 2
PROBLEM 4. Z jednakowych sześciennych klocków budujemy kolejne piramidy trójkątne, jak na rysunku. 1 2 3 4 Z ilu sześciennych klocków zbudowana jest n ta piramida trójkątna?
3 4 Żółta ściana zbudowana jest z t(n) sześciennych klocków, a więc pt(n) = pt(n 1) + 1, jeżeli n = 1; n(n + 1), jeżeli n > 1. 2
PROBLEM 5. Z jednakowych sześciennych klocków budujemy kolejne piramidy kwadratowe, jak na rysunku 1 2 3 4 Z ilu sześciennych klocków zbudowana jest n ta piramida?
3 Żółta podstawa zbudowana jest z k(n) sześciennych klocków, a więc p(n) = 1, jeżeli n = 1; p(n 1) + n 2, jeżeli n > 1. 4
Co wspólnego z ciągiem Fibonacci ego ma: bieganie po schodach, układanie kafelków, gra w koszykówkę, liczenie kodów kreskowych?
PROBLEM 6. Na taras wieży widokowej prowadzą schody o n stopniach. n n 1 n 2 3 2 0 1 Turysta wchodzi na taras wykonując losowo kroki co 1 albo co 2 stopnie. Na ile sposobów turysta może przejść schody?
n 1 n n 2 3 2 1 0 s(n) = 1, jeżeli n = 1; 2, jeżeli n = 2; s(n 2) + s(n 1), jeżeli n > 2.
PROBLEM 7. Mamy pokryć prostokątny pas podłogi o wymiarach n 2 prostokątnymi kafelkami o wymiarach 2 1. (kafelków nie wolno łamać.) Na ile sposobów możemy to zrobić?
1 2 2 3 3 3 s(n) = n 1 1 n 2 2 1, jeżeli n = 1; 2, jeżeli n = 2; s(n 2) + s(n 1), jeżeli n > 2.
PROBLEM 8. Ile jest sposobów zdobycia n punktów w meczu koszykówki przez jedną z drużyn?
+3 +2 +1 +1 0 1 2 3 +1 +2 l(1) = 1, l(2) = 2, l(3) = 4.
+3 +2 +1 n 3 n 2 n 1 n l(n) = 1, jeżeli n = 1; 2, jeżeli n = 2; 4, jeżeli n = 3; l(n 3) + l(n 2) + l(n 1), jeżeli n > 3.
n 1 2 3 4 5 6 7 8 9 10 11 12 l(n) 1 2 4 7 13 24 44 81 149 274 504 927
PROBLEM 9.(porównaj Junior 2010, pytanie 30) Pasek kodu kreskowego tworzą na przemian kreski czarne i białe. Kod ten zawsze zaczyna się i kończy czarną kreską. Każda z kresek (czy to czarna, czy biała) ma grubość 1 albo 2 (przykładowy kod na rysunku). n Ile jest pasków długości n o różnych kodach (kody zawsze czytamy od lewej do prawej strony)?
1 2 3 4 4 4 L(1) = 1, L(2) = 1, L(3) = 1, L(4) = 3.
n 2 n 3 n n n 3 n 4 n n L(n) = L(n 2) + 2 L(n 3) + L(n 4)
n 1 2 3 4 5 6 7 8 9 10 11 12 13 L(n) 1 1 1 3 4 6 11 17 27 45 72 116 189
Zbiór skończony i jego podzbiory, rozkłady zbioru w rodziny podzbiorów
PROBLEM 10. Zbiór X ma n elementów. Ile jest różnych podzbiorów zbioru X o k elementach? Jeśli k > n, to nie istnieje żaden podzbiór zbioru X o k elementach. Załóżmy więc, że 0 k n. Niech C(n, k) oznacza liczbę wszystkich k elementowych podzbiorów zbioru X.
Oczywiście C(n, 0) = 1, C(n, n) = 1. Ustalmy element x X. Niech Y będzie dowolnym k elementowym podzbiorem zbioru X. Mamy dwa przypadki: x / Y albo x Y x x Y Y X X C(n, k) = C(n 1, k 1) + C(n 1, k)
Trójkąt Pascala n k 0 1 2 3 4 5 6 7 8 9 0 1 1 1 1 2 1 2 1 3 1 3 3 1 4 1 4 6 4 1 5 1 5 10 10 5 1 6 1 6 15 20 15 6 1 7 1 7 21 35 35 21 7 1 8 1 8 28 56 70 56 28 8 1 9 1 9 36 84 126 126 84 36 9 1
PROBLEM 11. Danych jest n różnokolorowych kredek. Kredki te rozkładamy do k jednakowych (nierozróżnialnych) pudełek tak, że w każdym z tych pudełek znajdzie się przynajmniej jedna kredka. Na ile sposobów możemy to zrobić? Niech X oznacza zbiór kredek. Każde rozłożenie kredek do k pudełek powoduje rozbicie zbioru X na k niepustych podzbiorów X 1, X 2,..., X k. Oznaczmy poszukiwaną liczbę przez S(n, k).
Jeśli k > n, to żądany rozkład jest niemożliwy. Załóżmy więc, że 1 k n. Gdy k = 1, to jedyną klasą musi być cały zbiór X, więc: S(n, 1) = 1. Podobnie, gdy k = n, to jedynym rozkładem jest rodzina zbiorów jednoelementowych {{z}; z X}, więc: S(n, n) = 1.
Niech 1 < k < n. Ustalmy element x X. Jeżeli weźmiemy dowolny rozkład zbioru X na k klas, to mamy dwa przypadki: albo {x} jest klasą tego rozkładu, albo {x} nie jest klasą tego rozkładu x klasa {x} k 1 klas x k klas X X {x} S(n, k) = S(n 1, k 1) + k S(n 1, k)
Liczby Stirlinga n k 1 2 3 4 5 6 7 8 9 10 1 1 2 1 1 3 1 3 1 4 1 7 6 1 5 1 15 25 10 1 6 1 31 90 65 15 1 7 1 63 301 350 140 21 1 8 1 127 966 1701 1050 266 28 1 9 1 255 3025 7770 6951 2646 462 36 1 10 1 511 9330 34105 42525 22827 5880 750 45 1
O pewnym meczu piłkarskim, czyli o zliczaniu ścieżek w grafie skierowanym
PROBLEM 12. (porównaj Junior 2006, pytanie 30) W meczu piłki ręcznej drużyna gospodarzy objęła prowadzenie i utrzymała je do stanu n : k (oczywiście n > k). Na ile sposobów mogły padać bramki w tym meczu do tego momentu? Zilustrujmy możliwy przebieg meczu do stanu n : k, n > k, za pomocą grafu zorientowanego. Wynikowi x : y przyporządkujmy punkt kratowy o współrzędnych (x, y), a punkty (x, y) łączymy strzałkami z punktami (u, v), gdy wynik u : v jest możliwym wynikiem bezpośrednio po wyniku x : y. Graf taki dla n = 6 i k = 5 przedstawia rysunek na następnym slajdzie.
5 y B 4 3 2 1 x O 1 2 3 4 5 6
Oznaczmy przez w(n, k) liczbę wszystkich ścieżek prowadzących od punktu (0, 0) do punktu (n, k). Mamy: a) jeżeli k = 0, to dla n > 0; w(0, 0) = 0 b) jeżeli k = 1, to oraz dla n > 2; oraz w(2, 1) = 1 w(n, 0) = 1 w(n, 1) = w(n, 0) + w(n 1, 1)
c) jeżeli 1 < k < n 1, to w(n, k) = w(n, k 1) + w(n 1, k) d) jeżeli k = n 1, to czyli w(n, k) = w(n, k 1), w(n, n 1) = w(n, n 2).
Tabela wartości w(n, k) n k 0 1 2 3 4 5 6 7 8 9 0 0 1 1 2 1 1 3 1 2 2 4 1 3 5 5 5 1 4 9 14 14 6 1 5 14 28 42 42 7 1 6 20 48 90 132 132 8 1 7 27 75 165 297 429 429 9 1 8 35 110 275 572 1001 1430 1430 10 1 9 44 154 429 1001 2002 3432 4862 4862
Większe wartości w(n, k) mogące być wynikami rzeczywistego meczu: w(20, 15) = 463991880, w(20, 16) = 811985790, w(20, 17) = 1289624490, w(20, 18) = 1767263190, w(20, 19) = 1767263190.