Nejste přihlášen/a.
Zdravím, nejlíp nějakého matfyzáka, mam za úkol naprogramovat výpočet obsahu průniku dvou kružnic metodou monte carlo... více-méně sem toho o ní moc nenašel a z toho mála, co sem se dočetl nejsem vůbec moudrej může mi prosím někdo trochu poradit?
Monte-carlo metoda se používá v případě, že obtížně analyticky spočítáme obecné řešení nějaké úlohy, ale pro konkrétní vstupní hodnoty můžeme snadno zjistit výstup. V tomto případě nevíme, jak velká část plochy (množina bodů) náleží do průniku dvou kružnic, pro jakýkoliv konkrétní bod to ale zjistíme snadno (je vzdálenost bodu od středu kružnice menší než poloměr?).
Princip monte-carlo metody spočívá v tom, udělat co nejvíce náhodných pokusů, vždy s náhodně zvolenými vstupy, a z poměru výsledků můžeme odvodit celkový výsledek. Čím více pokusů uděláme, tím přesnější odhad dostaneme. (Dokonce můžeme přesně spočítat, jak přesně jsme odhad spočítali - pokud tě to zajímá, zkus googlit "interval spolehlivosti".)
V tomto konkrétním případě tedy bude monte-carlo metoda spočívat v tom, že mnohokrát (třeba 1000x, 100000x, ... záleží i na konkrétních rozměrech) zvolíme náhodný bod na rovině (resp. jejím "zajímavém výřezu" kolem kružnic, jejichž průnik zjištujeme). Vždy zjistíme, jestli bod náleží do průniku kružnic nebo nikoliv. Nakonec nám zbyde poměr bodů v průniku a mimo průnik - a z toho a velikosti výřezu, ve kterém jsme vybírali body, již snadno zjistíme odhad velikosti průniku.
Je to takhle alespoň trochu srozumitelné? Záměrně jsem nešel úplně do detailu, aby Ti stále zbylo něco k přemýšlení a programování.
MonteCarlo metody jsou skvělý způsob, jak konečně pořádně využít výkon dnešních počítačů - u složitějších problémů ho MonteCarlo metody vážně potřebují. Příjemné je, že když nám dojde trpělivost, můžeme výpočet kdykoliv zastavit a budeme mít "nějaký" odhad, záleží jen na nás, zda se spokojíme s jeho přesností.
Jo, tak to si myslím mi hodně pomohlo, ještě sice nevím, jak to vysvětlím tomu počítači, ale myslím si, že už to chápu Mooc děkuju.
snad můžu přidat ještě nějaké dotazy
1. jak zjistím, jestli se kružnice protínají, pokud zadám středy kružnic a jejich poloměr?
(můj nápad je ty středy jakoby spojit přímkou a na tu nanést poloměry kružnic, ale matematicky si to nedokážu představit, nějak pythagorova věta?
2. "zajímavý výřez" myslíte, že bude stačit "orámovat" kružnice obdélníkem? opět si to nedokážu představit početně, lepší by asi bylo udělat výřez přímo průniku, ale to už je úplná utopie...
prosím alespoň o nějaké popostčení děkuji
1. Presne tak - vzdalenosti pravouhlych souradnic tvori dve odvesny pravouhleho trojuhelniku, prepona bude vzdalenost obou stredu. Zkuste si to nakreslit. Pokud je tato vzdalenost mensi nez soucet polomeru kruznic, nutne budu na nekterych mistech primky uvnitr obou kruznic.
2. Cim mensi vyrez, tim presnejsi vysledky metoda da. Asi by slo vymyslet nejakou vychytralost, myslim ale, ze v tehle fazi je to zbytecne a sel bych na to oramovanim celych kruznic. Nejdriv oramujte kazdou zvlast a pak pro kazdy roh vysledneho ramecku vyberte nejextremnejsi hodnotu z ramecku pro jednotlive kruznice.
Ta podmínka protínání zde uvedená je podmínka neprázdného průniku kruhů, ale to je nejspíš to, co tazatel potřebuje vědět, podmínka protínání KRUŽNIC, jak byl formulován dotaz, mu celkem k ničemu není v této úloze. Vlastně už v úvodním dotaze je tato nepřesná terminologie. Takže moje odpověď je dobře, ale na špatnou otázku.
doplněno 01.11.10 08:12:Paskyho bych ohodnotil, ale není registrován.
Uz jsem se zaregistroval.
Ano, to je dobra pripominka - po napsani prvni odpovedi mne napadlo, ze se mluvi o kruznicich a mysleny jsou asi kruhy, ale zapomnel jsem to pak opet zminit.
přeně zadání zní "Napište program pro výpočet obsahu průniku dvou kružnic, metodou Monte-carlo." nějak se se nad tím nepozastavoval ale určitě to budou kruhy
už jsem vyřešil jinou, jednodušší, úlohu. Tuhle bohužel v termínu nestihnu, ale určitě bych ji rád dokončil, protože je zajímavá. Děkuju za rady a určitě ještě nějaké dotazy přidám.
S pozdravem 8ndra.
No já to zmiňoval hlavně proto, že jsem předtím dal kriterium odlišné od T¨tvého a chtěl jsem to vysvětlit.
S tím protínáním, to není tak špatný nápad. Mají-li se kužnice se středy S1 a S2 protínat, pak tyto body spolu s průsečíkem T musí tvořit vrcholy trojúhelníka, jehož strany mají délku r1, r2 a d...vzdálenost S1 a S2. Nutnou a postačující podmínkou k existenci takového trojúhelníka je splnění trojhelníkové nerovnosti.
Neneseme odpovědnost za správnost informací a za škodu vzniklou jejich využitím. Jednotlivé odpovědi vyjadřují názory jejich autorů a nemusí se shodovat s názorem provozovatele poradny Poradte.cz.
Používáním poradny vyjadřujete souhlas s personifikovanou reklamou, která pomáhá financovat tento server, děkujeme.