Remove ads
From Wikipedia, the free encyclopedia
Mandelbrotova množina je množina bodů komplexní roviny, které jsou odvozeny od rekurzivních procesů s komplexními čísly patřícími této množině a jejímu okolí. Mandelbrotova množina je jeden z nejznámějších fraktálů, přesněji řečeno fraktálem je její okraj. K jejímu určení se používá zobrazení, které každému komplexnímu číslu přiřazuje určitou posloupnost komplexních čísel . Tato posloupnost je určena následujícím rekurzivním předpisem:
Mandelbrotova množina je pak definována jako množina komplexních čísel , pro která je posloupnost omezená, tj. splňuje následující podmínku:
Lze dokázat, že překročí-li absolutní hodnota některého členu posloupnosti hodnotu 2, pak tato posloupnost není omezená (jde do nekonečna). Odtud je zřejmé, že lze ve výše uvedené definici položit , aniž by tím došlo ke změně jejího významu.
Nejprve se pro každý určený bod komplexní roviny postupně vyčíslují členy posloupnosti a zjišťuje se, jestli splňují podmínku (výhodněji její druhou mocninu). V případě, že tato podmínka není splněna, bod nepatří do Mandelbrotovy množiny. Při zobrazování se často podle hodnoty , při níž došlo k nesplnění podmínky, zvolí barva, kterou bude bod zobrazen. Pro dosažení dobrého vzhledu se pro blízká „vyřazovací“ volí podobné barvy. Pokud po vhodně zvoleném počtu iterací zůstává uvedená podmínka splněna, je bod považován za součást Mandelbrotovy množiny (zobrazuje se obvykle černou barvou). Nastavení této hranice ovlivňuje výsledný obrázek: pro příliš malou hodnotu budou některé body chybně označeny jako patřící do množiny, ale velký počet iterací vyžaduje delší čas výpočtu.
Výpočet je možno zrychlit tím, že se rychle detekují body, které do množiny evidentně patří, protože se nacházejí uvnitř hlavních částí množiny – kružnice a kardioidy.
Množinu jako první definoval v roce 1905 francouzský matematik Pierre Fatou, který studoval rekurzivní procesy jako např.
Pokud se taková operace opakovaně provádí z nějaké počáteční hodnoty , vznikne tím posloupnost bodů, která se označuje jako orbit bodu vůči dané transformaci. Fatou si uvědomil, že o chování podobných systémů dobře vypovídá studium orbitu bodu . Takových systémů existuje nekonečně mnoho (jeden pro každou hodnotu ). Jelikož Fatou neměl k dispozici počítač, pokusil se vytvořit orbity několika takových funkcí ručně, přičemž nalezl již zmiňovanou hranici 2, po překročení které bude orbita zaručeně utíkat do nekonečna.
Ruční výpočty byly pochopitelně velice náročné, takže Fatou nikdy to, co se dnes označuje jako Mandelbrotova množina, na vlastní oči nespatřil. Prvním, kdo tuto množinu nechal vykreslit počítačem, byl Benoît Mandelbrot, podle kterého je také pojmenována.
Mandelbrot tuto množinu a vůbec pojem fraktál popularizoval ve své knize z roku 1975, Les Objets Fractals: Forme, Hasard et Dimension.
Při změně počáteční podmínky u definujícího předpisu je výsledkem nesouvislá množina. Takovému znetvoření se anglicky říká tilt (naražení, zvrhnutí).
Mandelbrotova množina má těsný vztah k Juliovým množinám; dokonce obsahuje místa, která vzhledem připomínají Juliovy množiny. Pokud bychom následovali povrch Mandelbrotovy množiny, zobrazovaly by se nám odpovídající Juliovy množiny. Každému bodu komplexní roviny odpovídá Juliova množina (s parametrem daným souřadnicemi daného bodu), přičemž bodům uvnitř Mandelbrotovy množiny odpovídají souvislé Juliovy množiny, bodům mimo pak nesouvislé. Z toho vyplývá, že Juliovy množiny jsou atraktory. Vizuálně nejzajímavější Juliovy množiny odpovídají bodům poblíž hranice Mandelbrotovy množiny, neboť bodům hluboko uvnitř odpovídají jednoduché geometrické tvary, bodům daleko vně pak jen několik roztroušených bodů (okolí bodu připomíná střed Juliovy množiny s parametrem ).
Přes složitost Juliovy a Mandelbrotovy množiny to lze snadno popsat následujícím pseudokódem, kde je vidět i rozdíl mezi algoritmy pro Juliovu a Mandelbrotovu množinu:[2]
##bailout = předem definovaná vzdálenost od výchozího stavu, počet iterací potřebných k dosažení mezní hodnoty ##pro optimalizaci pro běžná zařízení zastavíme počet iterací na 1000 ##funkce plot() vykreslí body na diagramu funkce Juliova(C) funkce Mandelbrotova() for y = 0 to výška_obrazovky for x = 0 to šířka_obrazovky z = complex(x,y) C = complex(x,y); z = (0,0) počet = 0 repeat z = (z^2) + C počet = počet + 1 until abs(z) > bailout or počet > 1000 plot (x, y, colour(počet)) next x; next y return
Od Juliových množin se k Mandelbrotově množině poprvé dostali Robert Brooks a Peter Matelski v roce 1978 ze State university of New York pomocí školního počítače.[3] Do grafu vynesli středové body všech Juliových množin v komplexní rovině. Monitory tehdejších počítačů zvládaly jen jednoduché grafické zpracování a výsledek jim byl proto zobrazen jen pomocí hvězdiček.
Pro alespoň základní orientaci na tzv. Mandelbrotově mapě, tedy vyobrazení i hranic a blízkého okolí Mandelbrotovy množiny sahající i mimo plochu, kde jsou Juliovy množiny souvislé (místa běžně označována černě), používáme značení primárně pro laloky a axony/synapse.
Využíváme značení laloků pomocí vnitřního úhlu,[4] využívající také Fareyovy zlomky, se kterými se můžeme setkat i u značení Fordových kružnic.[5] Existuje více typů analytických pojmenovávacích systémů,[6] tento je však nejpřehlednější. Začněme však jiným, zjednodušeným značením, kde se hlavní lalok (kardioidu) značí číslem 1. Protože je Mandelbrotova množina zrcadlově symetrická podle reálné osy, zápornou polovina je pojmenována (touto zjednodušenou verzí) identicky. Laloky, které z něj dále vycházejí, jsou dále pojmenovány ve směru hodinových ručiček podle sestupné velikosti, tedy největší připojený lalok k laloku 1 je lalok 2, následně nalevo je lalok,3,4,5,6 atd. Lalok 2 by měl být správně značen 1:2 (":" značí "je připojen k"), ale protože tuto návaznost mají úplně všechny laloky, je toto pomíjeno. Kdybychom následovali reálnou osu od 0 do záporných čísel, laloky ležící na této ose by byly pojmenovány postupně 2, 2:2, 2:2:2, 2:2:2:2 a tak dále.
S využitím Fareyových zlomků[7] lze Mandelbrotovu množinu značit ještě přesněji pomocí metody vnitřního úhlu, z názvu laloku lze totiž odvodit, kde se přibližně nachází. Na stejném principu vyvinul matematik Robert Munafo[8] analytický pojmenovávací systém s názvem R2.[9] Stejně jako u Fordových kružnic, vrchní polovina hlavního kardioidu rozdělené reálnou osou (zjednodušeně značeno jako lalok 1, nyní se však jedná jen o horní polovinu rozdělenou reálnou osou) by byla značena a dolní . Druhý největší lalok, zjednodušeně značený jako lalok 2, má značení , zjednodušeně značený lalok 3 je a jeho zrcadlový protějšek pod reálnou osou . V čitateli je velikost koku a ve jmenovateli periodicita. Je to tedy Fareyův součet předchozích dvou Fareyových zlomků laloků.
Seamless Wikipedia browsing. On steroids.
Every time you click a link to Wikipedia, Wiktionary or Wikiquote in your browser's search results, it will show the modern Wikiwand interface.
Wikiwand extension is a five stars, simple, with minimum permission required to keep your browsing private, safe and transparent.