Cesta do hlubin fraktálovy duše V
Pro každou nelinearitu ukážu Juliovu množinu pro dvě různé hodnoty parametrů (jednu v oranžových tónech, druhou v modrých) a pro každou množinu si navíc vyberu jeden detail (opět ohraničený zeleným rámečkem) a ten ukážu hned pod obrázkem ve větším rozlišení. Hlouběji než na jedno zvětšení nepůjdu, protože ve třetím díle (první série obrázků) jsme viděli, že při dalších zvětšeních už se v podstatě jen opakují tvarové konfigurace z předchozích rozlišení.
1. f(z)=z3
2. f(z)=z4
3. f(z)=z5
V jistém smyslu platí, že když si vyberete parametr v robustní části Mandelbrotovy množiny, dostanete robustní a kompaktní množiny Juliovy. Naopak, vyberete-li si parametr z nějakého rozsypaného a vysušeného ramene, bude příslušná Juliova množina též rozsypaná a vysušená a čím hlouběji do toho ramene zajedete, tím rozbitější bude - viz oranžová série. V modré sérii se vrátíme do té robustnější části.
A pro těch pár odvážlivců, kteří pokračují ve čtení, tady je slíbený rozdíl mezi Mandelbrotovou a Juliovou množinou, provedený ve zjednodušeném jednorozměrném případě. Výklad bude celkem elementární - pokud máte technické vzdělání, budete se pravděpodobně nudit.
Opakované dosazení (iterace)
Několikrát jsem předchozích textech použil frázi opakované dosazení do kvadratické formulky (někdy říkáme funkce). Podívejme se tedy nejdřív v detailu co to je a jak to funguje. Vezměme si nějakou jednoduchou kvadratickou funkci - třeba tuto:
x2-1
V první řadě si uděláme pár jednoduchých dosazení. Když do té formulky (za x) dosadíte 0, dostanete -1. Když dosadíte řekněme -2, dostanete 3. Když dosadíte 9, dostanete 80. Když dosadíte 80, dostanete 6399. Všimněte si, že v tom posledním případě jsme do formulky dosadili číslo, které nám vyšlo (z formulky) v předchozím dosazení. Opakované dosazení vlastně není nic jiného než zacyklování tohoto principu. Tedy vybereme si číslo (to první si zvolíme více méně náhodně), dosadíme ho do formulky a to co nám vyjde, použijeme v příštím dosazení a takhle pořád dokola.
Podívejme se ještě jednou a podrobněji jak to vypadá, když si vybereme jako počáteční číslo 9. V první iteraci (tedy po prvním dosazení) dostaneme 80. Ve druhé iteraci (tedy po druhém dosazení) dostaneme 6399. No a ve třetí už na nás vyhřezne téměř 41 milionů - přesněji: 40947200 a tak můžeme pokračovat dál. Výsledkem této postupné iterace (tedy opakovaného dosazení) je evidentně posloupnost čísel - v našem případě jsou celá, ale obecně mohou být i desetinná. A protože studenti mají panický strach z latinsky znějících odborných termínů, budu takovým posloupnostem čísel říkat anička. Výsledkem opakovaného dosazení do naší formulky (s počátečním výběrem 9) je tedy tato anička:
9, 80, 6399, 40947200, 1676673187839999, 2811232978821544570519224320000, ...
(ty tři tečky v závěru znamenají, že tuto hru můžeme hrát dál, máme-li dobrou kalkulačku)
Ta anička závisí na dvou věcech. Jednak na tom, co jsme si vybrali za počáteční číslo a jednak na parametrech té vybrané funkce (tedy na jejích koeficientech - v našem případě je funkce x2-1, parametr je tedy -1). Změníme-li počáteční číslo nebo parametr (a nebo obojí), změní se pochopitelně i anička. Podívejme se třeba na to, co se stane pokud si za počáteční číslo vybereme -2. Příslušná anička teď bude vypadat takto:
-2, 3, 8, 63, 3968, 15745023, ...
a teď zkusme vzít jako počáteční číslo -1 a ejhle co nám vyjde za aničku:
-1, 0, -1, 0, -1, 0, ...
Všimněte, že zatímco v prvních dvou případech se anička vydala hrdinně do nekonečna, v tom třetím zůstala při zemi a i když si tu hru budete hrát dál, stále zůstanete v poměrně malých číslech (v našem případě budete oscilovat mezi -1 a 0). Těm prvním dvěma aničkám (co se nebojí vyrazit do nekonečna) budu říkat velké aničky zatímco v tom třetím případě použiju označení malá anička. Jako cvičení si můžete vzít počáteční číslo 0 a přesvědčit se, že dostanete malou aničku. Pro 2 dostanete naopak velkou aničku - konkretně tuto:
2, 3, 8, 63, 3968, 15745023, ...
To rozdělění na velké a malé aničky se v praxi dělá tak, že si vyberete nějakou hranici (třeba 50) a pokud anička tuto hranici během výpočtu přeleze bude velká. Pokud ne, zůstane malá. A aby bylo jasno, že to počáteční číslo může být i desetinné, tady je anička pro 1.2
(jelikož používám americký software, budu psát desetinnou tečku)
1.200, 4.040, 27.442, 834.366, 698669.072
Druhá věc, na které anička závisí je tvar formulky (tedy její koeficient neboli parametr). Vezměme si třeba tuto modifikaci:
x2-3
(tedy z koeficientu -1 jsem udělal -3)
Teď máme novou funkci a všechny aničky se tím pádem změní. I ty které už jsme si spočítali nahoře (stejně jako když se podruhé oženíte tak Vaše nová manželka bude i na stejné podněty reagovat úplně jinak). Tady je třeba anička pro 9 a vidíte sami, že je úplně jiná:
9, 78, 6081, 36978558, 1367413751759361, 1869820368500611348322851128318, ...
Tato anička je zjevně velká. Chcete-li vidět nějakou malou, zkuste třeba počáteční číslo 1:
1, -2, 1, -2, 1, -2
Možná Vám trochu vrtá hlavou, proč uvažuji pouze kvadratické funkce ve tvaru x2+p, (kde p je nějaké číslo - tedy parametr) a ne obecnější tvar x2+a*x+b. Odpověď spočívá v tom, že ten obecnější tvar se dá na náš speciální tvar převést takzvaným doplněním na čtverec. Nemusíme si s ním tedy lámat hlavu
A teď když už víme, co je to opakované dosazení - tedy iterace - můžeme se pustit do díla.
Mandelbrotova množina
Při konstrukci Mandelbrotovy množiny si zafixujeme počáteční číslo (někdy říkáme počáteční podmínku) na nějaké stabilní hodnotě, řekněme 0, a budeme si hrát pouze s parametrem p (v úplně prvním fraktálovém blogu jsem tomu říkal hra o jablko). Pro každou hodnotu p z nějakého intervalu celých čísel (na obrázku níže si například beru čísla od -9 do 9) si vytvoříme aničku, která odpovídá počátečnímu číslu 0 (to je fixované) a funkci x2+p, kde p je výše zmíněný parametr. Každý bod na následujícím obrázku odpovídá jedné hodnotě p (jsou označeny pod nimi) a je obarven černě, pokud opakovaným dosazením vznikne malá anička a barevně pokud vznikne anička velká.
Takže ještě jednou: ta čísla pod puntíky odpovídají parametrům p v naší funkci (formulce) a barva odpovídá chování příslušné aničky (všechny aničky v Mandelbrotově množině startují z 0). Co se tónu těch nahnědlých barev týče, ty odpovídají tomu, jak rychle ty velké aničky uplavou z oblasti malých čísel.
Dohodněme se, že číslům mezi -100 a 100 budeme říkat malá čísla a podívejme se na dva příklady.
Tady je anička pro 0 a funkci x2+1 (zde je tedy parametr p=1)
0, 1, 2, 5, 26, 677, ...
a tady pro počáteční číslo 0 a funkci x2+2 (zde je parametr p=2)
0, 2, 6, 38, 1446, 2090918, ...
Vidíte, že v prvním případě jsme se z malých čísel vybabrali teprve v u 6. hodnoty (677), zatímco ve druhém "vrhu" se nám to povedlo už u 5. hodnoty (1446). Proto je na obrázku ten puntík nad 1 trochu světlejší než puntík nad 2. Čím rychleji anička (pro danou hodnotu p) unikne z malých čísel, tím je barva tmavší. Prakticky se to dělá tak, že máte někde v počítači uloženou tabulku barev a v tom prvním vrhu prostě obarvíte bodík pátou barvu, zatímco v tom druhém vrhu použijete barvu šestou.
Ty černé body (pro které je příslušná anička malá) reprezentují Mandelbrotovu množinu. Tato množina a její okolí je tedy v jistém smyslu mapou parametrů. Příslušná barva nám říká, jak se pro ten či onen parametr bude anička chovat (za předpokladu, že startujeme z 0).
Juliova množina
Konstrukce Juliovy množiny je o něco jednodušší. Zde si zafixujeme hodnotu parametru p (a tím tedy i funkci x2+p) a budeme sledovat co se s aničkou děje, když budeme startovat z různých počátečních čísel. V první ukázce si vezmeme hodnotu p=-2 a budeme tedy pracovat s funkcí x2-2. Opět si nejdříve vybereme nějaký rozumný interval ze kterého budeme ta počáteční čísla vybírat (a já opět sáhnu po mém oblíbeném intervalu od -9 do 9). Pro každé takové číslo si spočítáme příslušnou aničku (funkci máme zafixovanou) a podle toho, zda vyjde malá a nebo velká tak bodík obarvíme černě a nebo barevně. Ještě jednou zdůrazňuji, že ta čísílka pod bodíky teď neznamenají parametry, ale počáteční čísla.
Z obrázku vidíme, že pro -2,-1,0,1 a 2 dostaneme malou aničku, takže bodíky jsou černé (jako cvičení si spočítejte, že anička pro počáteční bod 2 je pro tuto funkci 2,2,2,2,2,... tedy jasně malá), pro ty ostatní vyjde anička velká a konkretní barva stejně jako u Mandelbrotovy množiny závisí na tom, jak rychle ta anička uplave z malých čísel.
Zatímco Mandelbrotova množina je jen jedna, těch Juliových je hafo (abych to vyjádřil nějak precizně), protože pro každý parametr p dostaneme jinou. Vezměme si třeba hodnotu p=1 (tedy funkci x2+1). Pokud si vybereme stejný interval jako minule, dostaneme tento obrázek.
Všimněte si, že na něm není žádný černý bod - tedy všechny aničky jsou velké. Pokud se divíte jak to, že anička třeba pro 2 není opět malá, jako v předcházejícím příkladě, nezapomeňte, že jsme vyměnili parametr p ve formulce. Když si tu aničku spočítáte pro novou funkci, dostanete:
2, 5, 26, 677, 458330, 210066388901, ...
To, že naše nová Juliova množina nemá černý bod není nic zvláštního - občas se to stává. Třeba třetí až sedmý obrázek z druhé Cesty také nemá žádné černé body.
Můžeme tedy tento paragraf uzavřít zjištěním, že je-li Mandelbrotova množina mapou parametrů, je Juliova množina v jistém smyslu mapou počátečních čísel (pro daný parametr).
A to je vlastně všechno. Jediný rozdíl mezi výše popsanými "hračičkami" a skutečnými množinami je v tom, že u těch skutečných neuvažujeme jen celá čísla, ale bereme v potaz i čísla desetinná a pak v tom, že máme dvě formulky místo jedné. Jak parametry, tak počáteční podmínky jsou potom dvojice čísel a proto barevné diagramy těchto množin odpovídají obrázkům v rovině (a ne na přímce) - tak jak je vidíte na začátku blogu. Filosofie je však pořád stejná - pokud je pro nějakou dvojici čísel anička malá, bod bude černý, pokud je velká, bod bude barevný.
Pár větších obrázků je ke stažení zde.
Jan Řeháček
Jaro: das ist nur die zweite Phase
Jaro má v našem parku tři fáze, které jsem výstižně pojmenoval: první, druhá a třetí. Toto je svědectví o druhé z nich. Můžeme s ním nesouhlasit, můžeme proti němu protestovat, ale to je asi tak vše, co s tím můžeme dělat, Járo.
Jan Řeháček
Jaro: das ist nur die erste Phase
Jaro má v našem parku tři fáze, které jsem výstižně pojmenoval: první, druhá a třetí. Toto je svědectví o první z nich. Můžeme s ním nesouhlasit, můžeme proti němu protestovat, ale to je asi tak vše, co s tím můžeme dělat, Járo.
Jan Řeháček
A je po Velikonocích. A nejen po nich.
Globální kotlík zavěšený nad ohněm inkluze a diversity pomalu vytlačuje národní státy, vyrůstající ze sdíleného kulturního podhoubí. Tomuto trendu se nově přizpůsobuje i řada českých svátků s jejichž novelizací vás chci seznámit.
Jan Řeháček
Impresionisté na hladině
Když se na podzim objevily barvy na stromech, všiml jsem si, že se občas zrcadlí v našem potoce či rybníčku. Tak jsem na ně zamířil objektiv a vyšly z toho roztěkané výtvarné kreace, za které by se nemusel stydět ani Claude Monet.
Jan Řeháček
AI Art: co už umí a co ještě ne
Loni jsem trochu experimentoval s malířskými schopnostmi tehdy nastupující generativní AI Art. Letos, za dlouhých zimních večerů jsem si na to vzpomněl a napadlo mne podívat se, jak moc za ten rok AI pokročila. Nu, posuďte sami.
Další články autora |
Přes Česko přešly bouřky s krupobitím. Dálnici D1 pokrylo bahno a větve
Do Česka přišly přívalové deště, na některých místech padaly i kroupy. Hasiči hlásili desítky...
S babičkou nepřežila nehodu ani vnučka. Její orgány zachránily tři jiné děti
Nehoda z Čáslavic na Třebíčsku si vyžádala druhou oběť. Auto tam minulý čtvrtek zatím z...
Experta Antoše srazilo auto. Je mimo ohrožení života, MS komentovat nebude
Hokejový expert České televize Milan Antoš už na domácím světovém šampionátu komentovat nebude. V...
Novotný je na vyhazov z ODS. Výroky o Slováčkové překročil hranici, řekl Benda
Starosta Řeporyjí Pavel Novotný překročil hranice, které by se překračovat neměly, kritizoval v...
Aktivisté žádají konec pedagožky Univerzity Karlovy a přednášky o „genocidě v Gaze“
Karlova univerzita by měla přehodnotit zaměstnávání osob jako je doktorka Irena Kalhousová, uvádí...
Ženíšek prošel i u Pavla, prezident ho jmenuje ministrem pro vědu a výzkum
Aktualizujeme Prezident Petr Pavel jedná s kandidátem TOP 09 na ministra pro vědu, výzkum a inovace Markem...
EU definitivně potvrdila migrační balíček, Česko se ve všech hlasováních zdrželo
Členské státy EU v úterním jednání v Bruselu definitivně potvrdily už dříve odsouhlasený migrační...
KOMENTÁŘ: Hon na ukrajinské Švejky. Je správné nahánět muže domů do války?
Premium TOP 09 žádá, aby Česká republika deportovala na Ukrajinu její bojeschopné muže. A ani ministryně...
Ředitelem Vojenského zpravodajství bude Petr Bartovský. Úřadu se ujme začátkem léta
Novým ředitelem Vojenského zpravodajství (VZ) bude brigádní generál Petr Bartovský. K prvnímu...
Servisní a aplikační technik (m/ž) - mzda až 55.000 Kč
ZOLLER CZECH s.r.o.
Plzeňský kraj
nabízený plat:
50 000 - 55 000 Kč
- Počet článků 403
- Celková karma 18,23
- Průměrná čtenost 918x