Matematyka dyskretna 1/Wykład 2: Rekurencja: Różnice pomiędzy wersjami
Linia 195: | Linia 195: | ||
U zarania czasu Bóg umieścił 64 złote krążki na jednej z trzech diamentowych iglic tak, że krążki wyżej umieszczone miały mniejsze promienie. | U zarania czasu Bóg umieścił 64 złote krążki na jednej z trzech diamentowych iglic tak, że krążki wyżej umieszczone miały mniejsze promienie. | ||
[[rys.wieże Hanoi-3 krażki]] | |||
Następnie Bóg polecił grupie mnichów przełożenie tych krążków na trzecią iglicę <math>(C)</math>, ale tak by: | Następnie Bóg polecił grupie mnichów przełożenie tych krążków na trzecią iglicę <math>(C)</math>, ale tak by: |
Wersja z 11:55, 19 sie 2006
Definicje rekurencyjne
Definicja rekurencyjna (indukcyjna):
- nieformalnie - taka definicja, która odwołuje się do samej siebie - ale trzeba tu uważać, by odwołanie było do instancji o mniejszej komplikacji,
- zwykle chodzi o ciąg , - dla którego przepis na element wykorzystuje jaki(e)ś poprzedni(e) element(y): itp.,
- początkowy element (lub kilka początkowych) muszą być zadane konkretnie - żeby było od czego zacząć,
- zwykle definicja rekurencyjna odwołuje się do jednego lub kilku poprzednich elementów, ale może też odwoływać się do wszystkich poprzednich.
Przykład
Silnia liczby (zapisywana jako ) to iloczyn kolejnych liczb naturalnych od do , czyli
Przyjmuje się że . Oto wartości silni dla kilku początkowych liczb naturalnych
Ciąg aby mógł być precyzyjnie rozumiany np. przez komputer, powinien być zadany rekurencyjnie jako:
Ponieważ pierwszy wyraz jest zadany, to możemy kolejno obliczać:
Przykład
Jaki ciąg jest zdefiniowany poprzez małą modyfikację w definicji silni?
A co definiują następujące określenia:
oraz
W ostatnim przypadku widać, że ponieważ odwołanie jest Parser nie mógł rozpoznać (nieznana funkcja „\mathsl”): {\displaystyle \mathsl{ dwa\quad wyrazy\quad wstecz }} , to już wyliczenie pierwszego wyrazu staje się niemożliwe.
Ciąg arytmetyczny
Przykład
W ciągu zadanym poprzez równania:
łatwo rozpoznać kolejne liczby parzyste:
Ogólnie ciąg zadany poprzez ustalenie oraz
to tzw. Parser nie mógł rozpoznać (nieznana funkcja „\mathsl”): {\displaystyle \mathsl {ciąg \quad arytmetyczny}}
.
Jego -ty wyraz dany jest wzorem:
Aby to uzasadnić, pokazujemy indukcyjnie, że:
oraz
Ciąg geometryczny
Przykład
W ciągu zadanym poprzez równania:
łatwo rozpoznać kolejne potęgi liczby :
Ogólnie ciąg zadany poprzez ustalenie oraz zadanie
to tzw. Parser nie mógł rozpoznać (nieznana funkcja „\mathsl”): {\displaystyle \mathsl ciąg\quad geometryczny}
.
Jego -ty wyraz dany jest wzorem:
Aby to uzasadnić, pokazujemy indukcyjnie, że:
oraz
Wieże Hanoi
Przykład (E.Lucas, 1883)
U zarania czasu Bóg umieścił 64 złote krążki na jednej z trzech diamentowych iglic tak, że krążki wyżej umieszczone miały mniejsze promienie.
Następnie Bóg polecił grupie mnichów przełożenie tych krążków na trzecią iglicę , ale tak by:
- w jednym ruchu przenosić tylko jeden krążek,
- krążek większy nigdy nie może leżeć na krążku mniejszym,
- można posługiwać się iglicą .
Mnisi pracują od zarania dziejów dzień i noc ... .Ile czasu im to zajmie?
Wieże Hanoi - analiza
By obliczyć ilość potrzebnych do wykonania ruchów, przeanalizujmy najpierw małe przypadki:
Łatwo zauważyć, że dla 1 krążka potrzebny jest jeden ruch:
Podobnie dla dwu krążków możemy postąpić:
Przy 3 krążkach postępujemy tak:
- najpierw przenosimy dwa górne krążki na iglicę posługując się iglicą :
- przenosimy największy krążek z na :
- przenosimy krążki z na posługując się iglicą :
co pokazuje, że potrzeba tu 7 ruchów.
Czy już wiesz jak rozwiązać to zadanie w ogólności (dla krążków)?
Oznaczmy przez liczbę ruchów potrzebnych do przeniesienia krążków z jednej iglicy na drugą. Wiemy już, że:
Aby przenieść krążków z na możemy postąpić podobnie jak w przypadku 3 krążków, redukując zadanie do:
- przenosimy górnych krążków na iglicę posługując się iglicą - potrzeba na to ruchów
- przenosimy największy krążek z na - to tylko jeden ruch
- przenosimy krążków z na posługując się iglicą - znów potrzeba na to ruchów
A zatem
Ile wobec tego wynosi ?
Mamy więc równanie rekurencyjne
bardzo podobne do ciągu geometrycznego.
Możemy policzyć kilka jego wyrazów:
i rozpoznać w nim ciąg potęg dwójki zmniejszonych o 1.
Ale czy rzeczywiście ?
I znów, aby się upewnić, że nasze { odgadnięcie} było poprawne, sprawdzamy indukcyjnie, że
co oznacza, że rzeczywiście ciąg spełnia równanie rekurencyjne, którym zadany jest ciąg .
A wiec ,
co przy przenoszeniu jednego krążka na sekundę zajmie ponad lat, a przenosząc te krążki "komputerem" 3GHz potrzeba będzie... i tak ponad tysiąc lat!
Przykład
Przykład
Jaka jest największa możliwa liczba obszarów wyznaczonych przez prostych na płaszczyźnie?
Sprawdźmy najpierw kilka pierwszych wartości.
- Gdy nie ma żadnej prostej obszar jest jeden.
- Jedna prosta tworzy zawsze dwa różne obszary.
- Kładąc drugą prostą (byle nie równoległą do pierwszej) otrzymujemy obszary.
W tym momencie możemy pokusić się o zgadywanie i przypuścić, że . Jednakże
- Dla trzech prostych jest to .
Rysunek: Rys. 1.5 Szkic na kartce
Zauważmy, że nowa prosta zwiększa ilość obszarów o jeśli przecina dokładnie z poprzednich prostych i to w nowych punktach przecięć. Z drugiej strony dwie proste mogą się przeciąć w co najwyżej jednym punkcie i przecinają się o ile nie są równolegle. Widzimy zatem, że najwięcej obszarów dostaniemy kładąc kolejne proste w ten sposób aby żadne dwie nie były równoległe i żadne trzy nie przecinały się w jednym punkcie. Otrzymujemy następujące równanie rekurencyjne:
Ponownie rozwiążemy równanie rozwijając je:
gdzie ostatnia równość wynika z - już udowodnionego - wzoru na sumę kolejnych liczb naturalnych.