RnW4kuzDbDbdX
Ilustracja przedstawia spirale fraktali.

Rekurencja - cóż to takiego?

Źródło: dostępny w internecie: www.pixabay, domena publiczna.

Cały świat jawi nam się jako zbiór fraktalifraktalfraktali. Nie znajdujemy w nim idealnych geometrycznych kształtów, takich jak koła, prostokąty, sześciany, stożki, które moglibyśmy obliczyć przy pomocy prostych wzorów matematycznych.

Czy istnieje metoda, by zmierzyć coś tak nieregularnego jak fraktale? Czy umiemy odzwierciedlić matematycznie te skomplikowane kształty?

Istnieje rozwiązanie, które jest odpowiedzią na te pytania i brzmi: równania rekurencyjnerekurencyjnyrekurencyjne.

Rekurencja

RekurencjarekurencjaRekurencja w informatyce oznacza program, który odwołuje się sam do siebie. Aby zastosować rekurencję w programowaniu, musimy wiedzieć, jak ją zdefiniować. Robimy to w dwóch krokach:

  1. Pierwszy krok polega na określeniu przypadku bazowego, czyli najprostszego przypadku, dla którego rozwiązanie jest znane i nie wymaga kolejnych wywołań funkcji.

  2. Drugi krok polega na określeniu kroku rekurencyjnego, czyli reguły, według której funkcja odwołuje się do samej siebie, rozwiązując problem dla mniejszych danych lub prostszego przypadku. Dane muszą być tak przekształcane, aby kolejne wywołania prowadziły do przypadku bazowego.

RjQDMkjYgbplD
Wyobraź sobie, że projektujesz schody składające się z określonej liczby stopni. Na początku określasz, jak wygląda pojedynczy stopień – jest to przypadek bazowy. Następnie stosujesz regułę, która pozwala dobudować kolejny stopień do już istniejących. W każdym kroku zmniejszasz liczbę stopni, które pozostały do zaprojektowania. Gdy nie ma już kolejnych stopni do dodania, kończysz działanie.
Podobnie działa rekurencja – rozwiązanie problemu polega na wielokrotnym stosowaniu tej samej reguły do coraz prostszych przypadków. Ważne jest określenie przypadku bazowego oraz takiej reguły, która doprowadzi do niego po skończonej liczbie kroków.
Źródło: dostępny w internecie: pixabay.com, domena publiczna.
Ważne!

Wszystkie algorytmy rekurencyjne muszą być zbudowane z kolejnych kroków:

  1. mają określony warunek początkowy (który mówi nam, kiedy zadanie jest ukończone i należy ukończyć pracę);

  2. przeprowadzają działania w celu wypełnienia warunku początkowego;

  3. stosują rekurencję, czyli odwołują się do samych siebie.

Fraktale

ROuFNFk82Ktq71
Kalafior rzymski jest przykładem występowania struktur fraktalnych w przyrodzie.
Źródło: Ivar Leidus, dostępny w internecie: wikipedia.org, licencja: CC BY-SA 4.0.

Dzięki stosowaniu rekurencji możemy konstruować fraktalefraktalfraktale, ponieważ jesteśmy w stanie rozwiązać problem w oparciu o rozwiązania tego samego problemu dla danych o mniejszym rozmiarze.

FraktalefraktalFraktale są bardzo złożonymi figurami geometrycznymi, których nie możemy zaliczyć ani do brył, ani do krzywych, ani do powierzchni. Nad fraktalami pracowano już na początku XX wieku, ale dopiero powstanie komputerów pozwoliło na ich badanie. Wielu badaczy twierdzi, że fraktale ukazują geometrię przyrody.

Fraktale mogą być definiowane jako obiekty o strukturze powstającej w wyniku wielokrotnego powtarzania określonej operacji matematycznej. W wielu przypadkach proces ten można kontynuować w nieskończoność. Rysunki fraktali tworzone za pomocą komputera przedstawiają jednak tylko skończoną liczbę etapów konstrukcji, czyli przybliżenia tych obiektów. Do ich tworzenia można wykorzystać algorytmy rekurencyjne.

Fraktale posiadają odmienne cechy niż znane nam dotąd figury geometryczne:

RSe1azgJCPTih1
Zbiór Julii
Źródło: Solkoll, domena publiczna.
  • mogą być opisywane za pomocą wzorów matematycznych lub iterowanych reguł, a do ich konstruowania można wykorzystywać algorytmy rekurencyjne;

  • wiele fraktali ma wymiar niecałkowity, ale nie jest to cecha wszystkich fraktali;

  • ich strukturę można badać na coraz mniejszych skalach, a kolejne etapy konstrukcji pozwalają uzyskiwać coraz dokładniejsze przybliżenia .

Notatnik

R1dTC6w8nHW3Z
Miejsce na Twoje notatki: (Uzupełnij).
Źródło: GroMar Sp. z o.o., licencja: CC BY 3.0.

Film edukacyjny

R1QQ3mGLCGUSC1
Film nawiązujący do treści materiału

Prezentacja multimedialna

Polecenie 1

Zapoznaj się z prezentacją i odpowiedz na pytanie, dlaczego uważa się, że świat naturalny ma budowę fraktalną. Wymień przykłady trzech rzeczy w naturze, które charakteryzują się taką budową i uzasadnij swoją odpowiedź.

R1QTiG311TfZd
(Uzupełnij).
Polecenie 2

Przedstaw w szkicowniku sposób tworzenia zbioru Cantora.

RyEw001KTapNx
Plansza interaktywna. Można na niej rysować, tworzyć kształty w różnych kolorach.
Źródło: GroMar Sp. z o.o., licencja: CC BY 3.0.
RsJxEXv2ZObx5
Ćwiczenie 1
Zaznacz poprawną odpowiedź. Co to jest zbiór Cantona?
Źródło: GroMar Sp. z o.o., licencja: CC BY 3.0.
Polecenie 3

Przedstaw własnymi słowami, na czym polega samopodobieństwo fraktali.

R1NNnFWX5uVri
(Uzupełnij).
Źródło: GroMar Sp. z o.o., licencja: CC BY 3.0.

Zestaw ćwiczeń interaktywnych

RFfEkSojpiXO5
Ćwiczenie 1
Zaznacz poprawną odpowiedź.
Co oznacza rekurencja w programowaniu? Możliwe odpowiedzi: 1. Rekurencja w programowaniu oznacza taki program, który odwołuje się sam do siebie., 2. Rekurencja w programowaniu oznacza taki program, który działa w nieskończoność., 3. Rekurencja w programowaniu oznacza taki program, który jest zbudowany z wielu różnych algorytmów.
Źródło: Anna Sarosiek, licencja: CC BY 3.0.
RWYVq9QObNliY
Ćwiczenie 2
Uzupełnij tekst tak, by wyjaśniał, czym jest fraktal. Fraktal oznacza zwykle obiekt 1. powiększać, 2. matematyka, 3. interpretować, 4. architektury, 5. porządkowania figur, 6. wielobarwny, 7. natura, 8. wszechświata, 9. algorytmu rekurencyjnego, 10. strukturę, 11. ludzkich płuc, 12. samopodobny, 13. całości obiektu i nieskończenie złożony. Każdy z elementów, z których składa się fraktal, jest podobny w budowie do 1. powiększać, 2. matematyka, 3. interpretować, 4. architektury, 5. porządkowania figur, 6. wielobarwny, 7. natura, 8. wszechświata, 9. algorytmu rekurencyjnego, 10. strukturę, 11. ludzkich płuc, 12. samopodobny, 13. całości obiektu. Fraktale możemy dowolnie 1. powiększać, 2. matematyka, 3. interpretować, 4. architektury, 5. porządkowania figur, 6. wielobarwny, 7. natura, 8. wszechświata, 9. algorytmu rekurencyjnego, 10. strukturę, 11. ludzkich płuc, 12. samopodobny, 13. całości obiektu i wciąż odkrywać tę samą powtarzającą się 1. powiększać, 2. matematyka, 3. interpretować, 4. architektury, 5. porządkowania figur, 6. wielobarwny, 7. natura, 8. wszechświata, 9. algorytmu rekurencyjnego, 10. strukturę, 11. ludzkich płuc, 12. samopodobny, 13. całości obiektu. Mimo że wyglądają na złożone z chaotycznych elementów, mogą być konstruowane przy pomocy 1. powiększać, 2. matematyka, 3. interpretować, 4. architektury, 5. porządkowania figur, 6. wielobarwny, 7. natura, 8. wszechświata, 9. algorytmu rekurencyjnego, 10. strukturę, 11. ludzkich płuc, 12. samopodobny, 13. całości obiektu. Niektórzy twierdzą, że wszędzie spotkamy się z fraktalami, ponieważ 1. powiększać, 2. matematyka, 3. interpretować, 4. architektury, 5. porządkowania figur, 6. wielobarwny, 7. natura, 8. wszechświata, 9. algorytmu rekurencyjnego, 10. strukturę, 11. ludzkich płuc, 12. samopodobny, 13. całości obiektu jest zbudowana z fraktali. Dostrzegamy je w strukturach 1. powiększać, 2. matematyka, 3. interpretować, 4. architektury, 5. porządkowania figur, 6. wielobarwny, 7. natura, 8. wszechświata, 9. algorytmu rekurencyjnego, 10. strukturę, 11. ludzkich płuc, 12. samopodobny, 13. całości obiektu, kryształów, piór, galaktyk.
Źródło: Anna Sarosiek, licencja: CC BY 3.0.
R6XTvTNV7SZBE
Ćwiczenie 3
Wskaż ilustracje, które przedstawiają fraktalną budowę figury.
Źródło: Anna Sarosiek, licencja: CC BY 3.0.
RFPGJA089g7YU
Ćwiczenie 3
Zaznacz odpowiedź.
Która z postaci w 1883 roku przedstawiła swój pomysł opisu najprostszego fraktala?
Źródło: GroMar Sp. z o.o., licencja: CC BY 3.0.
RYtI8zkcuYZmf
Ćwiczenie 4
Określ, czym różni się zbiór Cantora od kostki Mengera. zbiór Cantora Możliwe odpowiedzi: 1. tworzenie tego zbioru polega na dzieleniu odcinków, 2. tworzenie tego zbioru polega na dzieleniu sześcianów kostka Mengera Możliwe odpowiedzi: 1. tworzenie tego zbioru polega na dzieleniu odcinków, 2. tworzenie tego zbioru polega na dzieleniu sześcianów
Źródło: Anna Sarosiek, licencja: CC BY 3.0.
R11BZNMKwRC7p
Ćwiczenie 5
Zaznacz poprawne odpowiedzi.
Które z poniższych cech charakteryzują fraktale? Możliwe odpowiedzi: 1. skończoność figur, 2. możliwość tworzenia przy pomocy algorytmów rekurencyjnych, 3. wymiar, który nie jest liczbą całkowitą, 4. niemożliwość przeprowadzenia transformacji części figury
Źródło: Anna Sarosiek, licencja: CC BY 3.0.
RmAyGN1D34rpP
Ćwiczenie 6
Zaznacz kolorem zielonym działania, które są związane z podstawowymi elementami algorytmu rekurencyjnego a kolorem czerwonym te, które nie są. Określenie warunku początkowego. Sumowanie ilości działań. Przeprowadzenie działań w celu wypełnienia warunku początkowego. Tworzenie fraktali przy pomocy wzorów matematycznych. Zmierzanie do nieskończoności. Stosowanie odwołań do samych siebie.
Źródło: Anna Sarosiek, licencja: CC BY 3.0.
RhNCXB6MuxNGS
Ćwiczenie 6
Źródło: GroMar Sp. z o.o., licencja: CC BY 3.0.
1
Ćwiczenie 7

Opisz własnymi słowami, jaki związek ma rekurencja z fraktalami.

RxkwRpMCViBz5
(Uzupełnij).
Źródło: GroMar Sp. z o.o., licencja: CC BY 3.0.
1
Ćwiczenie 8

Wymyśl problem, który mógłby zostać opisany przy pomocy rekurencji i przedstaw kolejne kroki zmierzające do rozwiązania go.

R1dxOFq7JJXOZ
(Uzupełnij).
Źródło: GroMar Sp. z o.o., licencja: CC BY 3.0.

Słownik

fraktal
fraktal

(łac. fractus – złamany, cząstkowy, ułamkowy) obiekt samopodobny, czyli taki, którego części są podobne do całości, oznacza to, że część fraktala wygląda podobnie do całego obiektu, niezależnie od powiększenia; fraktale często mają złożone i nieregularne kształty, które powtarzają się w coraz mniejszych szczegółach; są one stosowane w matematyce, naukach przyrodniczych, grafice komputerowej i sztuce

samopodobieństwo
samopodobieństwo

właściwość figur, która polega na tym, że jej części są podobne do całości

trójkąt Sierpińskiego
trójkąt Sierpińskiego

jeden z najbardziej znanych fraktali; tworzony poprzez podział równobocznego trójkąta na cztery mniejsze równoboczne trójkąty, a następnie powtarzanie tych kroków dla każdego z tych trójkątów; tworzą się w ten sposób coraz mniejsze kopie trójkąta początkowego

rekurencja
rekurencja

(ang. recursion, z łac. recurrere, przybiec z powrotem) inaczej rekursja; w matematyce i w informatyce (np. w programowaniu) działanie polegające na odwoływaniu się do samego siebie, np. do własnej definicji, funkcji lub procedury

rekurencyjny
rekurencyjny

dający się przedstawić za pomocą już znanych wielkości; np. wzór rekurencyjny – można obliczyć wyrazy ciągu na podstawie jednego lub kilku wyrazów, które były już w tym ciągu użyte