'Przypadkowe bladzenie' jako przyklad prostego problemu, ktory moze byc pierwszym zadaniem, dla studiujacych 'Mathematica', zwiazanychm z rozwiazaniem 'rzeczywistego' problemu. Rozwazmy ruch jednowymiarowy polegajacy na pokonywaniu jednostkowych odcinkow drogi w jednostkowych odstepach czasu, przy czym wybor kierunku (lewo - prawo) jest losowy i podlega rozkladowi 'jednorodnemu'. Postawione tak zadanie jest uproszczonym podejsciem do problemu 'przypadkowego bladzenia' (oraz ruchow Browna), ktorego rozwiazanie podane zostalo przez A. Einsteina i M. Smoluchowskiego na pocz. 2-go wieku. NN 1 ; liczba krokow czasowych IleRysunkow 3; ilosc prob wygenerowania ruchu o NN krokach Do Clear Polozenia, Polozenia2, Polozenia Table Sign RandomReal 1 2, i, NN, Polozenia2 Table Sum Polozenia j, j, 1, i, i, NN, rys k ListPlot Table i, Polozenia2 i, i, NN, Axes False, Frame True, Joined True, k, IleRysunkow linia do przestudiowania z http: reference.wolfram.com language TablicaRysunkow Table rys k, rys k 1, rys k 2, k, 1, IleRysunkow, 3 ; Generujemy tablice rysunkow: w sumie sztuk 'IleRysunkow' podzielonych tak, zwe bedzie po 3 w wierszu. GraphicsGrid TablicaRysunkow 2 2 4 6 5 1 15 2 5 2 15 1 5 6 4 2 2 4 2 4 2 4 2 5
2 QuasiRandomWalk.nb 2 2 4 6 8 1 5 1 15 2 8 6 4 2 2 4 6 8 1 12 2 4 6 8 1 5 2 2 4 6 2
QuasiRandomWalk.nb 2 4 5 6 8 4 2 2 4 6 8 2 2 4 6 6 4 2 5 1 15 5 1 15 2 25 3 5 UWAGA: uzycie definicji (:=) dla posrednich macierzy bardzo mocno spowalnia. Widac jakies oscylacje o okresie ok. 5. Jesli tak jest, od czego zalezy okres oscylacji. Z wygenerowanych powyzej rysunkow trudno wnioskowac, czy bladzaca kulka oddala sie z biegiem czasu od zera, czy tez oscyluje wokol niego. Sprobujmy usrednic po ilosci prob (IloscRysunkow)polozenie, ktore osiagnela kulka po i-tym kroku. W tym celu liczymy mediany z tego zbioru prob dla kazdej z osobna liczby zrobionych dotychczas krokow. Lista 'Mediana' zawiera mediane wyliczona ze zbiru liczacego 'IleRysunkow' prob. Wyraz 'i' tej listy zawiera mediane policzona ze zbioru 'IleRysunkow'dla sumy 'i' krokow zrobionych do tej pory. 'Mediana' pelni role sredniego (mediana po 'IlosciRysunkow') polozenia ciala w funkcji ilosci krokow. Dodatkowo na rysunek przedstawiajacy liste punktow nakladamy funkcje x(t)=λ*sqrt(t), gdzie Λ jest "na oko" wybranym wspolczynnikiem. Proporcjonalnosc polozenia po t- krokach do Sqrt[t] jest przewidywana zaleznoscia przez teorie Einsteina- Smoluchowskiego.
4 QuasiRandomWalk.nb NN 1 ; IleRysunkow 2; Do SumaPoKroku i, i,nn SumaPoKrokuJ ; Mediana ; Do SumaPoKrokuJ, Do SumaPoKrokuJ Append SumaPoKrokuJ, Sum Sign RandomReal 1 2, i, j, k, IleRysunkow, Mediana Append Mediana, Median SumaPoKrokuJ, j, NN rys1 Plot 2 Sqrt x, x, 1, NN, PlotRange Max Mediana, Max Mediana, Axes False, Frame True, PlotStyle Red ; rys2 ListPlot Mediana, Axes False, Frame True, Joined True, FrameLabel "Czas", "Mediana odleglosci" ; Show rys1, rys2 3 2 1 1 2 3 Ta zaleznosc zmierza do f(t)= dla duzej ilosci sampli ('IleRysunkow'). Wniosek z tego taki, ze po dowolnej liczbie krokow czastka wykonala przemieszczenie dowolne zarowno w lewa jak i prawa. Zadnych preferencji co do polozenia. Nie jest to jednak to co intuicyjnie rozumiemy przez polozenie KONKRETNEJ obserwowanej czastki. Bardziej intuicyjne wydaje sie zapytanie o sume przemieszczen dla pojedynczej czastki (i ewentualnie zapytanie o wartosc bezwzgledna takiego sumarycznego przemieszczenia). Zatem sredniujemy teraz wyrazenie (x_i) :
QuasiRandomWalk.nb NN 1 ; IleRysunkow 1; Do SumaPoKroku i, i,nn SumaPoKrokuJ ; Mediana ; Do SumaPoKrokuJ, Do SumaPoKrokuJ Append SumaPoKrokuJ, Abs Sum Sign RandomReal 1 2, i, j, k, IleRysunkow, Mediana Append Mediana, Median SumaPoKrokuJ, j, NN rys1 Plot 2 Sqrt x, x, 1, NN, PlotRange, Max Mediana, Axes False, Frame True, PlotStyle Red ; rys2 ListPlot Mediana, Axes False, Frame True, Joined True, FrameLabel "Czas", "Mediana odleglosci" ; Show rys1, rys2 3 25 2 15 1 5 Teraz tez (x_i) ale po wielu wynikach:
6 QuasiRandomWalk.nb NN 1 ; IleRysunkow 1; Do SumaPoKroku i, i,nn SumaPoKrokuJ ; Mediana ; Do SumaPoKrokuJ, Do SumaPoKrokuJ Append SumaPoKrokuJ, Abs Sum Sign RandomReal 1 2, i, j, k, IleRysunkow, Mediana Append Mediana, Median SumaPoKrokuJ, j, NN rys1 Plot.7 Sqrt x, x, 1, NN, PlotRange, Max Mediana, Axes False, Frame True, PlotStyle Red ; rys2 ListPlot Mediana, Axes False, Frame True, Joined True, FrameLabel "Czas", "Mediana odleglosci" ; Show rys2, rys1 8 Mediana odleglosci 6 4 2 2 4 6 8 Jak widac srednie przemieszczenie z funkcji ilosci krokow zmienia sie zgodnie z przewidywaniami modelu Einsteina-Smoluchowskiego (tym bardziej, im wiecej prob wezmiemy do usrednienia). Jak wytlumaczyc fakt, ze losowy wybor kierunku ruchu powoduje "wolne" (w porownaniu do ruchu jednostajnego x t lub jednostajne przyspieszonego x t 2 ) przesuwanie sie ciala w okreslonym kierunku? Zauwazmy, ze jesli czastka wybrala poczatkowo kierunek 'prawo', to kontynuowanie tego kierunku w nastepnym kroku jest realizowane z prawdopodobienstwem 1/2, natomiast powrot do analogicznego punktu po drugiej stronie polozenia zero (z ktorego wystartowala) realizuje sie z prawdopodobienstwem 1/2 x 1/2 (tylko). Pytanie otwarte: Jak wytlumaczyc lokalne oscylacje widoczne na poczatkowych rysunkach? Jesli rozwazany ruch jest czysto losowy, to dlugofalowe podazanie w jakims kierunku mozna porownac do losowania tylko (z preferencja) orla. Takich okresow stabilnosi losowania w rzucie kostka nie ma. Zauwazmy, ze wyspy te ksztaltuja sie jako struktury widziane w pewnej skali, mimo, ze lokalnie (w mikroskali) wystepuja tradycyjne przypadkowe wyniki. Zbadaj ten problem.