Odwzorowanie logistyczne

Z Wikipedii, wolnej encyklopedii
Skocz do: nawigacji, wyszukiwania

Odwzorowanie logistycznefunkcja odwzorowująca przedział jednostkowy w siebie: f:[0,1] \to [0,1] dana przepisem:

x\mapsto kx(1-x) przy warunku na wartości parametru 0 < k < 4.

Funkcja ta jest klasycznym przykładem prostego układu dynamicznego zachowującego się chaotycznie.

Niech x0 będzie dowolnie wybraną liczbą z przedziału (0,1), zaś (xn) ciągiem iteracji funkcji f na tej liczbie:

x_n=f(x_{n-1})

Dla różnych wartości początkowych x0 otrzymuje się różne ciągi. Jednak okazuje się, że ogólny charakter ciągu nie ma związku z wartością początkową, ale zasadniczo zależy od wartości parametru k odwzorowania.

Dla parametru k<1 wartość funkcji jest mniejsza od argumentu co najmniej z czynnikiem k:

x_n = f(x_{n-1}) < kx_{n-1}

zatem (xn) jest ciągiem malejącym co najmniej tak szybko, jak ciąg geometryczny, i zbieżnym do zera. Wartość 0 "przyciąga" kolejne wyrazy ciągu (xn), jest więc (jednopunktowym) atraktorem przekształcenia.

Dla parametru k=1 nadal każdy ciąg iteracji przekształcenia logistycznego jest malejący (i zbieżny do zera), ale zmienia się charakter tej zbieżności – stosunek kolejnych wyrazów ciągu dąży do jedności:

\lim_{n\to\infty}{x_n \over x_{n-1}} = 1

a więc ze zbliżaniem się kolejnych wyrazów do zera zbieżność jest coraz wolniejsza. Punkt zero jest "na krawędzi" utraty charakteru atraktora.

Dla parametru 1<k≤2 liczba zero nadal jest punktem stałym przekształcenia logistycznego (niezależnie od wartości k jest f(0)=0), jednakże z atraktora zmienia się w repeler – zamiast "przyciągać" do siebie kolejne wartości, "odpycha" je. W sąsiedztwie zera ciąg iteracji staje się rosnący:

x_{n-1} < 1 - \tfrac 1 k \implies x_n = f(x_{n-1}) > x_{n-1}

Równocześnie w pozostałej części dziedziny iteracje nadal dają ciąg malejący:

x_{n-1} > 1 - \tfrac 1 k \implies x_n = f(x_{n-1}) < x_{n-1}

Punkt x = 1 - \tfrac 1 k jest wspólną granicą wszystkich ciągów iteracji odwzorowania logistycznego, otrzymanych dla każdego punktu startowego x0 – jest więc nowym atraktorem odwzorowania.

Dla parametru 2<k≤3 charakter ciągów (xn) komplikuje się – przestają być monotoniczne. Na przykład dla parametru k=2,5 i punktu startowego x0=0,1 otrzymuje się ciąg:

0,1; 0,225; ~0,43593; ~0,61474; ~0,59209; ~0,60380; ~0,59806; ~0,60096...

Granicą tego ciągu jest:

\lim_{n\to\infty} x_n = 1 - \tfrac 1 k = 1 - \tfrac 1 {2.5} = 0.6

Gdy parametr k przekracza wartość 3, punkt 1 - \tfrac 1 k traci dotychczasowy charakter atraktora (podobnie jak stracił go punkt 0, gdy k przekroczył 1). Pojawiają się dwa nowe punkty przyciągania – atraktor przekształcenia staje się dwupunktowy z basenem przyciągania x \in {(0,1)\setminus \left\{ \tfrac 1 k, 1 - \tfrac 1 k \right\} }. Rozdwojenie to nosi nazwę bifurkacji.

Dwupunktowy atraktor oznacza, że ciągi (xn) powstające w iteracji odwzorowania logistycznego f przestają być zbieżne do ustalonej granicy. W zamian kolejne wyrazy każdego takiego ciągu zaczynają oscylować pomiędzy oboma punktami atraktora, zbliżając się coraz bardziej na przemian do każdego z nich.

Animacja przedstawiająca powstawanie diagramu bifurkacyjnego.

Przy dalszym zwiększaniu parametru k zachodzą dalsze komplikacje charakteru ciągów (xn) i kolejne rozdwojenia punktów atraktora. Przy tym są one coraz częstsze – jeśli przez kn oznaczyć wartości parametru k, odpowiadające kolejnym bifurkacjom, to różnice pomiędzy wyrazami ciągu (kn) stają się coraz mniejsze:

\lim_{n\to\infty}(k_{n+1}-k_n) = 0.

Co więcej, przyrosty te maleją w sposób wyraźnie uporządkowany: stosunek kolejnych różnic zbieżny jest do pewnej stałej:

\lim_{n\to\infty}\frac{k_{n+1}-k_n}{k_{n+2}-k_{n+1}} = \delta \approx 4{,}66920160910299

zwanej stałą Feigenbauma.

Kolejne różnice ciągu (kn) zachowują się więc asymptotycznie jak wyrazy ciągu geometrycznego, zatem sam ciąg (kn) zachowuje się (w granicy) jak pewien szereg geometryczny. W szczególności, ponieważ iloraz 1/δ jest mniejszy od jedności, szereg ten jest zbieżny – zatem ciąg (kn) jest zbieżny. Jego granicą jest:

K = \lim_{n\to\infty}k_n \approx 3{,}569945672.

Gdy parametr k osiąga tę wartość, atraktor staje się dziwny: liczba punktów atraktora rośnie do nieskończoności, zaś sam atraktor staje się fraktalem (zbiorem samopodobnym). Równocześnie iteracje odwzorowania stają się chaotyczne, nie ma żadnego stałego wzorca w otrzymywanych ciągach (xn).

Powyżej wartości K pojawia się tzw. okno stabilności, tj. przedział wartości parametru k, którym odpowiada zwyczajny atraktor (skończony stabilny cykl wartości x). Dowolny ciąg iteracji (xn) zaczyna zbiegać się do tego cyklu. Przy dalszym zwiększaniu parametru k iteracje znów doznają bifurkacji, zwiększających liczbę punktów atraktora, co kończy się znowu przejściem w stan chaosu. Za nim znajdują się kolejne okna stabilności przedzielane krytycznymi wartościami k, którym odpowiadają dziwne atraktory i chaos.

Ostatnie okno stabilności rozpoczyna się od wartości parametru k = 1+2\sqrt{2}\approx 3{,}828427.... W tym oknie odwzorowanie logistyczne ma stabilny cykl (atraktor) trzypunktowy, który – tak jak wszystkie poprzednie – ze wzrostem parametru k podwaja się, by w końcu przejść w chaos.

Dla parametru k=4 układ jest chaotyczny, dziwny atraktor pokrywa cały przedział (0;1).

Wszystkie opisane zjawiska przedstawia zbiorczo zamieszczony wyżej wykres bifurkacji. Na wykresie tym oś pozioma odpowiada wartościom parametru k zmieniającym się od 0 do 4, zaś oś pionowa wartościom x od 0 do 1. Zaczernione piksele przedstawiają punkty atraktora (cyklu stabilnego) iteracji odwzorowania logistycznego przy ustalonej wartości k. Dla wartości k, dla których punktów w atraktorze jest wiele, ich rozmieszczenie przedstawiono skalą szarości (im więcej punktów w obrębie piksela, tym piksel ciemniejszy).

Fragment diagramu bifurkacyjnego odwzorowania logistycznego, parametr r jest tożsamy z parametrem k opisanym w treści tego artykułu.