Monte Carlo benzetimi, çok sayıda tekrarlanan rastgele örneklemelerle, bir takım nümerik sonuçlar elde etmeye yarayan ve bilimin birçok alanında yaygın olarak kullanılan bir sayısal hesaplama algoritmaları sınıfıdır. Stokastik olayların yer aldığı fiziksel süreçlerin sonuçlarının tahmin edilmesinde çok kullanışlıdır. Ayrıca, rastgele seçimlerin işe yaradığı ve prensipte deterministik olan bir takım problemlerin çözümünde de kullanılmaktadır. Monte-Carlo yöntemi, Nicholas Constantine Metropolis (1915-1999) tarafından bulunmuştur ve Atom bombasının geliştirildiği Los Alamos Ulusal Labratuvarında, bombanın patlamasından sonra dağılan nötronlara karşı kalkan modellemek için Stanislaw Ulam tarafından günümüze taşınmıştır.
Deney girdileri belirli olmayan, kesin olmayan bir şekilde gelmesi bekleniyorsa ve dağılım bir fonksiyonla hesaplanabilecekse kullanılır. Monte Carlo, rastgele sayıları baz alarak tahmini sistemleri modeller. Hücre Similasyonu, Borsa Modelleri, Dağılım Fonksiyonları, Sayısal Analiz, Doğal olayların simülasyonu, Atom ve Molekül Fiziği, Nükleer Fizik ve Yüksek Enerji Fiziği modellerini test eden simülasyonlar, Deneylerde kullanılan aletlerin simülasyonu (Örneğin bir madde içerisinde x ışınlarının dağılımı).
Yukarıdaki modellerde tahminler yapabilmek için; Rastgele sayı üretilir, bunun için programlama bilgisi gerekmektedir.
- Programlama: Temel düzeyde Monte Carlo programları öğrenildikten sonra, Monte Carlo üreteçlerini oluşturabilmek gerekmektedir. Teorik eğitimin yanında örneğin C, C++ gibi bilimsel çalışmalarda sıklıkla kullanılan programları iyi derecede bilmek gerekmektedir.
- Teorik: Programlama aşamasına geçmeden önce problemi ya da deney sistemimizin teorisini çok iyi oluşturmamız gerekmektedir.
Aşağıda Pi sayısının Monte Carlo Yöntemi ile hesaplanması örneği C++ kodları ile verilmiştir.
#include <iostream> #include <random> double calculate_pi(int sample) { std::mt19937 gen{std::random_device{}()}; std::uniform_real_distribution<double> dis(0.0, 1.0); double count = 0.0; for(int i = 0; i < sample; i++) { const double x = dis(gen); const double y = dis(gen); if((x * x) + (y * y) <= 1) count++; } const double result = count / sample * 4; return result; } int main() { const int n_sample = 10000000; std::cout << n_sample << " deneme icin pi sayisi:\n" << calculate_pi(n_sample) << '\n'; } // 10000000 deneme icin pi sayisi: // 3.14166
Monte Carlo Benzetimi, fiziksel ve matematiksel bazı sistemlerin benzetiminde kullanılır. Genelde raslantısal (random) değişkenlerin sisteme etkisinin incelenmesi için kullanılır. Genelde raslantısal değişkenler için rastgele sayılar üreten bir algoritma ile çalışır.
Monte Carlo Benzetimi yapılacak değişkenler belli bir istatistiksel dağılıma uyacak şekilde üretilebilir. Bunun için olasılık dağılım fonksiyonunun (CDF) tersi kullanılır. Bilgisayar tarafından belirli bir aralıkta [0 - 1] düzenli (uniform) olarak üretilen rastgele sayılar olasılık dağılım fonksiyonlarının tersi kullanılarak kolaylıkla herhangi bir dağılıma dönüştürülebilir.
Örneğin iki rassal değişkene (, ) bağlı olan Y değişkeninin bu değişkenlerle olan ilişkisi f fonksiyonuyla tanımlanmış olsun.
Eğer ve değişkenlerinin dağılımı belliyse (örneğin: Normal Dağılım) ve aynı zamanda dağılım özellikleri de biliniyorsa (μx : Ortalama ve σx : Standart sapma) X değerleri için defalarca rastgele sayılar üretilerek f fonksiyonuyla Y değerleri hesaplanabilir. Buradan da Y ile ilgili istatistiksel bilgilere ulaşılabilir. Ne kadar çok örnekleme yapılırsa o kadar iyi sonuçlar elde edilir.
Kaynakça
- Bozkaya K: A study on the reliability analysis during preliminary design - A rocket motor example. MS Tez. ODTÜ. Eylül 2006
Matematik ile ilgili bu madde seviyesindedir. Madde içeriğini genişleterek Vikipedi'ye katkı sağlayabilirsiniz. |
wikipedia, wiki, viki, vikipedia, oku, kitap, kütüphane, kütübhane, ara, ara bul, bul, herşey, ne arasanız burada,hikayeler, makale, kitaplar, öğren, wiki, bilgi, tarih, yukle, izle, telefon için, turk, türk, türkçe, turkce, nasıl yapılır, ne demek, nasıl, yapmak, yapılır, indir, ücretsiz, ücretsiz indir, bedava, bedava indir, mp3, video, mp4, 3gp, jpg, jpeg, gif, png, resim, müzik, şarkı, film, film, oyun, oyunlar, mobil, cep telefonu, telefon, android, ios, apple, samsung, iphone, xiomi, xiaomi, redmi, honor, oppo, nokia, sonya, mi, pc, web, computer, bilgisayar
Monte Carlo benzetimi cok sayida tekrarlanan rastgele orneklemelerle bir takim numerik sonuclar elde etmeye yarayan ve bilimin bircok alaninda yaygin olarak kullanilan bir sayisal hesaplama algoritmalari sinifidir Stokastik olaylarin yer aldigi fiziksel sureclerin sonuclarinin tahmin edilmesinde cok kullanislidir Ayrica rastgele secimlerin ise yaradigi ve prensipte deterministik olan bir takim problemlerin cozumunde de kullanilmaktadir Monte Carlo yontemi Nicholas Constantine Metropolis 1915 1999 tarafindan bulunmustur ve Atom bombasinin gelistirildigi Los Alamos Ulusal Labratuvarinda bombanin patlamasindan sonra dagilan notronlara karsi kalkan modellemek icin Stanislaw Ulam tarafindan gunumuze tasinmistir Deney girdileri belirli olmayan kesin olmayan bir sekilde gelmesi bekleniyorsa ve dagilim bir fonksiyonla hesaplanabilecekse kullanilir Monte Carlo rastgele sayilari baz alarak tahmini sistemleri modeller Hucre Similasyonu Borsa Modelleri Dagilim Fonksiyonlari Sayisal Analiz Dogal olaylarin simulasyonu Atom ve Molekul Fizigi Nukleer Fizik ve Yuksek Enerji Fizigi modellerini test eden simulasyonlar Deneylerde kullanilan aletlerin simulasyonu Ornegin bir madde icerisinde x isinlarinin dagilimi Yukaridaki modellerde tahminler yapabilmek icin Rastgele sayi uretilir bunun icin programlama bilgisi gerekmektedir Programlama Temel duzeyde Monte Carlo programlari ogrenildikten sonra Monte Carlo ureteclerini olusturabilmek gerekmektedir Teorik egitimin yaninda ornegin C C gibi bilimsel calismalarda siklikla kullanilan programlari iyi derecede bilmek gerekmektedir Teorik Programlama asamasina gecmeden once problemi ya da deney sistemimizin teorisini cok iyi olusturmamiz gerekmektedir Asagida Pi sayisinin Monte Carlo Yontemi ile hesaplanmasi ornegi C kodlari ile verilmistir include lt iostream gt include lt random gt double calculate pi int sample std mt19937 gen std random device std uniform real distribution lt double gt dis 0 0 1 0 double count 0 0 for int i 0 i lt sample i const double x dis gen const double y dis gen if x x y y lt 1 count const double result count sample 4 return result int main const int n sample 10000000 std cout lt lt n sample lt lt deneme icin pi sayisi n lt lt calculate pi n sample lt lt n 10000000 deneme icin pi sayisi 3 14166 Monte Carlo Benzetimi fiziksel ve matematiksel bazi sistemlerin benzetiminde kullanilir Genelde raslantisal random degiskenlerin sisteme etkisinin incelenmesi icin kullanilir Genelde raslantisal degiskenler icin rastgele sayilar ureten bir algoritma ile calisir Monte Carlo Benzetimi yapilacak degiskenler belli bir istatistiksel dagilima uyacak sekilde uretilebilir Bunun icin olasilik dagilim fonksiyonunun CDF tersi kullanilir Bilgisayar tarafindan belirli bir aralikta 0 1 duzenli uniform olarak uretilen rastgele sayilar olasilik dagilim fonksiyonlarinin tersi kullanilarak kolaylikla herhangi bir dagilima donusturulebilir Ornegin iki rassal degiskene X1 displaystyle X 1 X2 displaystyle X 2 bagli olan Y degiskeninin bu degiskenlerle olan iliskisi f fonksiyonuyla tanimlanmis olsun Y f X1 X2 displaystyle Y f X 1 X 2 Eger X1 displaystyle X 1 ve X2 displaystyle X 2 degiskenlerinin dagilimi belliyse ornegin Normal Dagilim ve ayni zamanda dagilim ozellikleri de biliniyorsa mx Ortalama ve sx Standart sapma X degerleri icin defalarca rastgele sayilar uretilerek f fonksiyonuyla Y degerleri hesaplanabilir Buradan da Y ile ilgili istatistiksel bilgilere ulasilabilir Ne kadar cok ornekleme yapilirsa o kadar iyi sonuclar elde edilir KaynakcaBozkaya K A study on the reliability analysis during preliminary design A rocket motor example MS Tez ODTU Eylul 2006Matematik ile ilgili bu madde taslak seviyesindedir Madde icerigini genisleterek Vikipedi ye katki saglayabilirsiniz