Pokročilé programovanie II - uniba.skdavinci.fmph.uniba.sk/~markos3/prednasky/PP-4-fraktaly.pdfMay...

18
Pokročilé programovanie II Nelineárne iteračné schémy, chaos, fraktály Peter Markoš Katedra experimentálnej fyziky F2-253 Letný semester 2017/2018

Transcript of Pokročilé programovanie II - uniba.skdavinci.fmph.uniba.sk/~markos3/prednasky/PP-4-fraktaly.pdfMay...

Page 1: Pokročilé programovanie II - uniba.skdavinci.fmph.uniba.sk/~markos3/prednasky/PP-4-fraktaly.pdfMay Feigenbaum: I sériakritickýchhodnôt n vktorýchdochádzakzdvojnásobeniu periódy(perioddoubling)

Pokročilé programovanie IINelineárne iteračné schémy, chaos, fraktály

Peter Markoš

Katedra experimentálnej fyziky F2-253

Letný semester 2017/2018

Page 2: Pokročilé programovanie II - uniba.skdavinci.fmph.uniba.sk/~markos3/prednasky/PP-4-fraktaly.pdfMay Feigenbaum: I sériakritickýchhodnôt n vktorýchdochádzakzdvojnásobeniu periódy(perioddoubling)

Obsah

I Logistická mapa - May

I Period doubling, podivný atraktor, fraktál

I Iné typy diferenčných schém

I Intermitencia, phase locking

Page 3: Pokročilé programovanie II - uniba.skdavinci.fmph.uniba.sk/~markos3/prednasky/PP-4-fraktaly.pdfMay Feigenbaum: I sériakritickýchhodnôt n vktorýchdochádzakzdvojnásobeniu periódy(perioddoubling)

MayNajjednoduchšia diferenčná schéma:

xn+1 = f (xn) = λxn(1− xn)

0 0.2 0.4 0.6 0.8 1

xn

0

0.2

0.4

0.6

0.8

1

xn+1

λ = 1.5

0 0.2 0.4 0.6 0.8 1

xn

0

0.2

0.4

0.6

0.8

1

xn+1

λ = 2.5

Pre λ > 1 existuje stabilný pevný bod x = 1− λ−1 ktorý je riešenímrovnice

x = f (x)

Ale . . .

Page 4: Pokročilé programovanie II - uniba.skdavinci.fmph.uniba.sk/~markos3/prednasky/PP-4-fraktaly.pdfMay Feigenbaum: I sériakritickýchhodnôt n vktorýchdochádzakzdvojnásobeniu periódy(perioddoubling)

May

Podmienka stability:∣∣∣∣∂f∂x∣∣∣∣x=x

< 1

Pevný bod sa stane nestabilným, ak λ > 3 lebo

∂f

∂x

∣∣∣∣∣x=x

= 2− λ

Vzniknú miesto neho dva nové sta-bilné body

xn+2 = f (f (xn)) = f (2)(xn)

nastal period doubling(vidličková bifurkácia)

0 0,2 0,4 0,6 0,8 1

xn

0

0,2

0,4

0,6

0,8

1

xn+1

λ = 3.2

Page 5: Pokročilé programovanie II - uniba.skdavinci.fmph.uniba.sk/~markos3/prednasky/PP-4-fraktaly.pdfMay Feigenbaum: I sériakritickýchhodnôt n vktorýchdochádzakzdvojnásobeniu periódy(perioddoubling)

May

0 0,2 0,4 0,6 0,8 1

xn

0

0,2

0,4

0,6

0,8

1

xn+1

λ = 3.2

0 0,2 0,4 0,6 0,8 1

xn

0

0,2

0,4

0,6

0,8

1

xn+2

λ = 3.2

Dva stabilné pevné body, medzi nimi jeden nestabilný.Kritérium stability:∣∣∣∣∂F (x = x)

∂x

∣∣∣∣ < 1

Page 6: Pokročilé programovanie II - uniba.skdavinci.fmph.uniba.sk/~markos3/prednasky/PP-4-fraktaly.pdfMay Feigenbaum: I sériakritickýchhodnôt n vktorýchdochádzakzdvojnásobeniu periódy(perioddoubling)

MayĎalší nárast parametra λ spôsobí nárast periódy:

0 0,2 0,4 0,6 0,8 1

xn

0

0,2

0,4

0,6

0,8

1

xn+4

λ = 3.53

0,75 0,8 0,85 0,9

xn

0,8

0,85

0,9

xn+4

λ = 3.53

0 0,2 0,4 0,6 0,8 1

xn

0

0,2

0,4

0,6

0,8

1

xn+1

λ = 3.5699

0 0,2 0,4 0,6 0,8 1

xn

0

0,2

0,4

0,6

0,8

1

xn+1

λ = 3.97

Page 7: Pokročilé programovanie II - uniba.skdavinci.fmph.uniba.sk/~markos3/prednasky/PP-4-fraktaly.pdfMay Feigenbaum: I sériakritickýchhodnôt n vktorýchdochádzakzdvojnásobeniu periódy(perioddoubling)

MayFeigenbaum:

I séria kritických hodnôt λn v ktorých dochádza k zdvojnásobeniuperiódy (period doubling)

I univerzálne škálovanie:

αn =λn−1 − λn−2

λn − λn−1

n perioda λn αn

1 2 3 ¯2 4 3.4494897 ¯3 8 3.5440903 4.75144 16 3.5644073 4.65625 32 3.5687594 4.66836 64 3.5696916 4.66867 128 3.5698913 4.66928 256 3.5699340 4.6694

https://en.wikipedia.org/wiki/Feigenbaum constants

Page 8: Pokročilé programovanie II - uniba.skdavinci.fmph.uniba.sk/~markos3/prednasky/PP-4-fraktaly.pdfMay Feigenbaum: I sériakritickýchhodnôt n vktorýchdochádzakzdvojnásobeniu periódy(perioddoubling)

May

Zostrojme pravdepodobnostné rozdelenie hodnôt xn (n < N) Ak1 < λ < 3 tak

p((xn) = Nδxn,x

Pre periodický dej s periódou P iteračná schéma prechádza bodmix1, x2, . . . xP a

p(x) =P∑i

N

Pδx,xi

Page 9: Pokročilé programovanie II - uniba.skdavinci.fmph.uniba.sk/~markos3/prednasky/PP-4-fraktaly.pdfMay Feigenbaum: I sériakritickýchhodnôt n vktorýchdochádzakzdvojnásobeniu periódy(perioddoubling)

May

Existujú hodnoty λ, pre ktoré nenájdeme periodický režim. Napr. pre

λ∗ = 3.56995

Pozorujeme deterministický chaos

0 0,2 0,4 0,6 0,8 10

1e+06

2e+06

3e+06

Pravdepodobnostné rozdelenie p(x) po N = 109 iteráciách.

Page 10: Pokročilé programovanie II - uniba.skdavinci.fmph.uniba.sk/~markos3/prednasky/PP-4-fraktaly.pdfMay Feigenbaum: I sériakritickýchhodnôt n vktorýchdochádzakzdvojnásobeniu periódy(perioddoubling)

MayPostup (Algoritmus výpočtu pravdep. rozdelenia).

I rozdeľ interval (0, 1) na M dielov (napr. M = 5 000 000)deklaruj pole h(M) = 0 a ∆ = M−1

I iteruj N iterácií xi = f (xi−1), i = 1, 2, . . .N (N ≥ 109)po každej iterácii počítajindex = INT(xi ∗M) +1h(index) = h(index)+1

I po skončení iterácii vypíš výsledok:pre i=1,Mak h(i)>0 tak print i/M, h(i)

I Normovanie:

h(index)→ 1N∆

h(index)

Normovanie potrebujeme, aby platilo∫p(x)dx =

N∑i

∆p(xi ) =N∑i

hi = 1

V našom prípade ho môžeme preskočiť.

Page 11: Pokročilé programovanie II - uniba.skdavinci.fmph.uniba.sk/~markos3/prednasky/PP-4-fraktaly.pdfMay Feigenbaum: I sériakritickýchhodnôt n vktorýchdochádzakzdvojnásobeniu periódy(perioddoubling)

May: self-similarity

0 0,2 0,4 0,6 0,8 10

1e+06

2e+06

3e+06

0,8 0,85 0,90

1e+06

2e+06

3e+06

Page 12: Pokročilé programovanie II - uniba.skdavinci.fmph.uniba.sk/~markos3/prednasky/PP-4-fraktaly.pdfMay Feigenbaum: I sériakritickýchhodnôt n vktorýchdochádzakzdvojnásobeniu periódy(perioddoubling)

May: self-similarity

0,8 0,85 0,90

1e+06

2e+06

3e+06

0,83 0,835 0,840

5e+05

1e+06

Typická vlastnosť fraktálnej množiny.

Page 13: Pokročilé programovanie II - uniba.skdavinci.fmph.uniba.sk/~markos3/prednasky/PP-4-fraktaly.pdfMay Feigenbaum: I sériakritickýchhodnôt n vktorýchdochádzakzdvojnásobeniu periódy(perioddoubling)

Cantorova množinaAlgoritmus: nekonečný počet iterácií:

Fraktál s fraktálnou dimenziou

df =ln 2ln 3

Pretože: ak meriam jeho “hmotnosť” M meradlom dĺžky ∆, dostanem

M = ∆−df ×∆

Obyčajná úsečka má samozrejme df = 1, pretože získaná hmotnosťnezávisí od delenia.

Page 14: Pokročilé programovanie II - uniba.skdavinci.fmph.uniba.sk/~markos3/prednasky/PP-4-fraktaly.pdfMay Feigenbaum: I sériakritickýchhodnôt n vktorýchdochádzakzdvojnásobeniu periódy(perioddoubling)

Fraktálna dimenziaAk vyplníme len intervaly, v ktorých h(i) 6= 0, dostaneme fraktálnumnožinu:

Nájdeme jej fraktálnu dimenziu:

I zvolím m = 2, 3, . . . a rozdelím interval (0,1) na 2m dielikov

I nájdem N(m) - počet dielikov, v ktorých leží časť nášho fraktálu

I urobím log-log plot Nm vs ln 2m a nájdem df zo smernice

Page 15: Pokročilé programovanie II - uniba.skdavinci.fmph.uniba.sk/~markos3/prednasky/PP-4-fraktaly.pdfMay Feigenbaum: I sériakritickýchhodnôt n vktorýchdochádzakzdvojnásobeniu periódy(perioddoubling)

Diskusia:

Interval som rozdelil na M = 2m dielikov.

I veľmi malé m - nedôveryhodnévýsledky

I veľké m - df → 1 pretože smefraktál zostrojili len zkonečného počtu intervalov.

I Záver: fraktál vidíme len voblasti, kde M > 2m.

0 5 10 15

ln 2m

0

5

10

ln N

(m)

0.5970.967

Page 16: Pokročilé programovanie II - uniba.skdavinci.fmph.uniba.sk/~markos3/prednasky/PP-4-fraktaly.pdfMay Feigenbaum: I sériakritickýchhodnôt n vktorýchdochádzakzdvojnásobeniu periódy(perioddoubling)

Úlohy

1. Napíšte program pre nelineárnu schému (May). Presvedčte sa, žezmenou parametra λ zmeníte periódu deja.

2. Pre λ = 3.56995 iterujte nelinárnu schému (aspoň 109 iterácií.Zostrojte pravdepodobnostné rozdelenie p(x) ukážte jehoself-podobnosť.

3. Nájdite fraktálnu dimenziu.

Page 17: Pokročilé programovanie II - uniba.skdavinci.fmph.uniba.sk/~markos3/prednasky/PP-4-fraktaly.pdfMay Feigenbaum: I sériakritickýchhodnôt n vktorýchdochádzakzdvojnásobeniu periódy(perioddoubling)

Iná nelineárna schéma - phase locking

Nelineárny iteračný proces (má základ vo fyzikálnych dejoch)

xn+1 = xn + Ω− k

2πsin(2πxn) (mod 1)

k . . . koeficient nelinearity

0 0,2 0,4 0,6 0,8 1x

n

0

0,2

0,4

0,6

0,8

1

xn+1

Omega=0.5, k=0

0 0,2 0,4 0,6 0,8 1x

n

0

0,2

0,4

0,6

0,8

1

xn+1

Omega=0.5, k=0.5

0 0,2 0,4 0,6 0,8 1x

n

0

0,2

0,4

0,6

0,8

1

xn+1

Omega=0.51, k=0.95

Phase locking - proces je periodický aj keď Ω 6= p/q.

Page 18: Pokročilé programovanie II - uniba.skdavinci.fmph.uniba.sk/~markos3/prednasky/PP-4-fraktaly.pdfMay Feigenbaum: I sériakritickýchhodnôt n vktorýchdochádzakzdvojnásobeniu periódy(perioddoubling)

Intermittencia

0 0,2 0,4 0,6 0,8 1x

n

0

0,2

0,4

0,6

0,8

1

xn+1

Omega=0.08, k=0.44

0 0,2 0,4 0,6 0,8 1x

n

0

0,2

0,4

0,6

0,8

1

xn+1

Omega=0.08, k=0.44

0 20 40n

0

0,2

0,4

0,6

0,8

1

xn

Pre niektoré hodnoty parametrov systém veľmi dlho zotrvá v blízkostinejakých hodnôt, a potom sa prudko v krátkom období zmení. Ukážka,ako nelinearita ovplyvňuje stabilitu systému.