Monte Carlo simülasyonu. Monte Carlo yöntemi

giriiş

Monte Carlo yöntemi, rastgele değişkenleri modelleyerek matematik problemlerini çözmeye yönelik sayısal bir yöntemdir.

Monte Carlo yönteminin doğum tarihi, “Monte Carlo Yöntemi” başlıklı makalenin yayınlandığı 1949 yılı olarak kabul edilir (N. Metropolis, S. Ulam). Bu yöntemin yaratıcılarının Amerikalı matematikçiler J. Neumann ve S. Ulam olduğu düşünülmektedir. Ülkemizde ilk makaleler 1955-56 yıllarında yayımlanmıştır. (V.V. Chavchanidze, Yu.A. Schrader, V.S. Vladimirov)

Ancak yöntemin teorik temeli uzun zamandır bilinmektedir. Ek olarak, bazı istatistiksel problemler bazen rastgele örnekler kullanılarak hesaplanıyordu; aslında Monte Carlo yöntemini kullanarak. Ancak bilgisayarların ortaya çıkmasından önce, rastgele değişkenlerin manuel olarak modellenmesi çok emek yoğun bir iş olduğundan bu yöntem yaygın bir kullanım alanı bulamadı. Böylece Monte Carlo yönteminin çok evrensel bir sayısal yöntem olarak ortaya çıkması ancak bilgisayarların gelişiyle mümkün oldu.

"Monte Carlo" adı, kumarhanesiyle ünlü Monako Prensliği'ndeki Monte Carlo şehrinden gelmektedir ve rastgele değişkenleri elde etmek için en basit mekanik cihazlardan biri rulettir.

Başlangıçta, Monte Carlo yöntemi esas olarak nötron fiziğindeki problemleri çözmek için kullanıldı; burada geleneksel sayısal yöntemler çok az işe yaradı. Dahası, onun etkisi istatistiksel fizikteki içerik bakımından çok farklı olan çok çeşitli problemlere yayıldı. Monte Carlo yönteminin giderek daha fazla kullanıldığı bilim dalları arasında kuyruk teorisindeki problemler, oyun teorisi ve matematiksel ekonomideki problemler, müdahale varlığında mesaj iletimi teorisindeki problemler ve daha birçok problem yer almaktadır.

Monte Carlo yöntemi, hesaplamalı matematik yöntemlerinin geliştirilmesinde önemli bir etkiye sahip olmuştur ve olmaya devam etmektedir ve birçok problemi çözerken diğer hesaplama yöntemleriyle başarılı bir şekilde birleştirilir ve onları tamamlar. Kullanımı öncelikle olasılıksal teorik açıklamaya izin veren problemlerde haklıdır. Bu, hem olasılıksal içerikli problemlerde belirli bir olasılıkla cevap almanın doğallığı hem de çözüm prosedürünün önemli ölçüde basitleştirilmesiyle açıklanmaktadır.

Monte Carlo yöntemleriyle çözülen problemlerin büyük çoğunluğunda belirli rastgele değişkenlerin matematiksel beklentileri hesaplanır. Çoğu zaman matematiksel beklentiler, birden fazla olanlar da dahil olmak üzere sıradan integraller olduğundan, integralleri hesaplama yöntemleri, Monte Carlo yöntemleri teorisinde merkezi bir konuma sahiptir.


1. Teorik kısım

1.1 Monte Carlo yönteminin özü ve rastgele değişkenlerin modellenmesi

Diyelim ki düz bir şeklin alanını hesaplamamız gerekiyor

. Bu, grafiksel veya analitik olarak belirtilen (bağlı veya birkaç parçadan oluşan) keyfi bir şekil olabilir. Şekil 2'de verilen şekil bu olsun. 1.1.

Bu şeklin bir birim karenin içinde yer aldığını varsayalım.

Meydanın içini seçelim

rastgele noktalar. Şeklin içine düşen noktaların sayısını belirtelim. Geometrik olarak şeklin alanının yaklaşık olarak orana eşit olduğu açıktır. Üstelik sayı ne kadar büyük olursa, bu tahminin doğruluğu da o kadar yüksek olur.

Noktaları rastgele seçmek için rastgele değişken kavramına geçmek gerekir. Rastgele değişken

Belirli bir aralıktan herhangi bir değer alabiliyorsa süreklidir.

Sürekli rastgele değişken

rastgele değişkenin olasılık yoğunluğu (dağılım yoğunluğu) olarak adlandırılan bu miktarın ve fonksiyonun olası değerlerini içeren aralığın belirtilmesiyle belirlenir. Fiziksel anlamı şu şekildedir: öyle bir aralık olsun ki, aralığın içinde olma olasılığı integrale (1.1) eşit olsun.

Çoklu anlamlar

herhangi bir aralık olabilir (durum mümkündür). Ancak yoğunluğun iki koşulu karşılaması gerekir:

1) yoğunluk

pozitif: ; (1.2)

2) yoğunluk integrali

tüm aralık boyunca 1'e eşittir: (1,3)

Sürekli bir rastgele değişkenin matematiksel beklentisi sayıdır

(1.4)

Sürekli bir rastgele değişkenin varyansı şu sayıdır:


Normal bir rastgele değişken bir rastgele değişkendir

, tüm eksende tanımlanmış ve yoğunluğa (1.5) sahip - sayısal parametreler

Formun herhangi bir olasılığı

genellikle olasılık integrali adı verilen, fonksiyonun değerlerini gösteren bir tablo kullanılarak kolayca hesaplanır.

(1.1)'e göre

İntegralde değişken değişikliği yapıyoruz

, o zaman şunu elde ederiz: Ayrıca şu da var

Normal rastgele değişkenlere çok çeşitli nitelikteki soruların incelenmesinde sıklıkla rastlanır.

İstatistiksel modelleme, bir modelin belirli bir olasılık yoğunluğuna sahip bir dizi rastgele sinyalle test edilmesini içeren temel bir modelleme yöntemidir. Amaç çıktı sonuçlarını istatistiksel olarak belirlemektir. İstatistiksel modelleme dayanmaktadır yöntem Monte Carlo. Diğer yöntemlerin kullanılamadığı durumlarda taklidin kullanıldığını hatırlayalım.

Monte Carlo yöntemi

Değeri analitik olarak bulunamayan bir integralin hesaplanması örneğini kullanarak Monte Carlo yöntemini ele alalım.

Görev 1. İntegralin değerini bulun:

Şek. 1.1 fonksiyonun grafiğini gösterir F (X). Bu fonksiyonun integralinin değerini hesaplamak, bu grafiğin altındaki alanı bulmak anlamına gelir.

Pirinç. 1.1

Eğriyi yukarıdan, sağdan ve soldan sınırlıyoruz. Arama dikdörtgenindeki noktaları rastgele dağıtıyoruz. ile belirtelim N 1 test için kabul edilen noktaların sayısı (yani bir dikdörtgenin içine düşen bu noktalar Şekil 1.1'de kırmızı ve mavi olarak gösterilmiştir) ve N 2 - eğrinin altındaki, yani fonksiyonun altındaki gölgeli alana düşen noktaların sayısı (bu noktalar Şekil 1.1'de kırmızıyla gösterilmiştir). O zaman, toplam nokta sayısına göre eğrinin altına düşen noktaların sayısının, test dikdörtgeninin alanına göre eğrinin altındaki alanla (integralin değeri) orantılı olduğunu varsaymak doğaldır. Matematiksel olarak bu şu şekilde ifade edilebilir:

Bu akıl yürütmeler elbette istatistikseldir ve ne kadar doğru olursa aldığımız test puanı sayısı da o kadar artar.

Monte Carlo yöntemi algoritmasının blok diyagram formundaki bir parçası, Şekil 2'de gösterildiği gibi görünmektedir. 1.2

Pirinç. 1.2

Değerler R 1 ve RŞekil 2'de 2. 1.2 aralıklarla eşit olarak dağıtılan rastgele sayılardır ( X 1 ; X 2) ve ( C 1 ; C 2) buna göre.

Monte Carlo yöntemi son derece verimli ve basittir ancak "iyi" bir rastgele sayı üreteci gerektirir. Yöntemin uygulanmasındaki ikinci sorun, örneklem büyüklüğünün, yani belirli bir doğrulukta çözüm sağlamak için gereken nokta sayısının belirlenmesidir. Deneyler, doğruluğu 10 kat artırmak için örneklem boyutunun 100 kat artırılması gerektiğini gösteriyor; yani doğruluk, numune boyutunun kareköküyle yaklaşık olarak orantılıdır:

Rastgele parametrelere sahip sistemlerin incelenmesinde Monte Carlo yöntemini kullanma şeması

Rastgele parametrelere sahip bir sistemin modelini oluşturduktan sonra, Şekil 2'de gösterildiği gibi bir rastgele sayı üretecinden (RNG) gelen giriş sinyalleri girişine sağlanır. 1.3 RNG, eşit olarak dağıtılmış rastgele sayılar R pp aralığından. Bazı olaylar daha muhtemel olabileceğinden, diğerleri daha az muhtemel olduğundan, jeneratörden gelen düzgün şekilde dağıtılmış rasgele sayılar, bunları bir rasgele sayı kanunu dönüştürücüsüne (RLC) besler; verildi Olasılık dağılım yasasının kullanıcısı, örneğin normal veya üstel yasa. Bu dönüştürülmüş rastgele sayılar X model girişine beslenir. Model giriş sinyalini işler X bazı kanunlara göre sen = ts (X) ve çıkış sinyalini alır sen bu da rastgeledir.

istatistiksel modelleme rastgele değişken


Pirinç. 1.3

Filtreler ve sayaçlar istatistik biriktirme bloğuna (BNStat) kuruludur. Bir filtre (bazı mantıksal koşullar) değere göre belirler sen Belirli bir deneyde belirli bir olayın gerçekleşip gerçekleşmediği (koşulun yerine getirilip getirilmediği, F= 1) veya değil (koşul karşılanmadı, F= 0). Olay meydana gelirse olay sayacı bir artırılır. Eğer olay gerçekleşmez ise sayaç değeri değişmez. Birkaç farklı olay türünü izlemeniz gerekiyorsa istatistiksel modelleme için çeşitli filtrelere ve sayaca ihtiyacınız olacaktır. N Ben. Deney sayısını gösteren bir sayaç her zaman tutulur - N.

Daha fazla ilişki N Benİle N Monte Carlo yöntemini kullanarak istatistiksel özelliklerin (BVSH) hesaplanmasına yönelik blokta hesaplanan, olasılık hakkında bir tahmin verir P Ben bir olayın meydana gelmesi Ben yani bir dizi dizide ortaya çıkma sıklığını gösterir. N deneyler. Bu, modellenen nesnenin istatistiksel özellikleri hakkında sonuçlar çıkarmamızı sağlar.

Örneğin A olayı 50 kez yapılan 200 deney sonucunda meydana geldi. Bu, Monte Carlo yöntemine göre bir olayın meydana gelme olasılığının şu şekilde olduğu anlamına gelir: P A = 50/200 = 0,25. Olayın gerçekleşmeme olasılığı sırasıyla 1 - 0,25 = 0,75'tir.

Lütfen öde dikkat: deneysel olarak elde edilen olasılıktan bahsettiklerinde buna frekans denir; Teorik bir kavramdan bahsettiğimizi vurgulamak istediklerinde olasılık kelimesi kullanılıyor.

Çok sayıda deneyle N Deneysel olarak elde edilen bir olayın meydana gelme sıklığı, olayın teorik olarak meydana gelme olasılığının değerine eğilimlidir.

Güvenilirlik değerlendirme bloğunda (RAB), modelden alınan istatistiksel deneysel verilerin güvenilirlik derecesi analiz edilir (sonucun doğruluğu dikkate alınarak) e, kullanıcı tarafından belirlenir) ve bunun için gerekli istatistiksel testlerin sayısını belirler. Olayların meydana gelme sıklığındaki dalgalanmalar teorik olasılığa göre belirlenen doğruluktan azsa cevap olarak deneysel frekans alınır, aksi takdirde rastgele girdi etkilerinin üretilmesi devam eder ve modelleme süreci tekrarlanır. Az sayıda testle sonuç güvenilmez olabilir. Ancak merkezi limit teoremine göre ne kadar çok test yapılırsa cevap o kadar doğru olur.

Değerlendirmenin en kötü frekans kullanılarak gerçekleştirildiğine dikkat edin. Bu, modelin ölçülen tüm özellikleri için aynı anda güvenilir sonuçlar sağlar.

Örnek 1. Basit bir problemi çözelim. Yüksek bir yerden rastgele bırakılan bir paranın tura gelme olasılığı nedir?

Yazı tura atmaya ve her atışın sonuçlarını kaydetmeye başlayalım (bkz. Tablo 1.1).

Tablo 1.1.

Yazı-tura testi sonuçları


Kafaların sıklığını, kafa vakalarının sayısının toplam gözlem sayısına oranı olarak hesaplayacağız. Tabloya bakın. 1.1 vaka N = 1, N = 2, N= 3 - ilk başta frekans değerlerine güvenilir denemez. Bir bağımlılık grafiği oluşturmaya çalışalım P o'dan N- ve yapılan deney sayısına bağlı olarak kafaların sıklığının nasıl değiştiğini görelim. Elbette farklı deneyler farklı tablolar ve dolayısıyla farklı grafikler üretecektir. Şek. 1.4 seçeneklerden birini gösterir.


Pirinç. 1.4

Bazı sonuçlar çıkaralım.

  • 1. Küçük değerlerde görüldüğü gibi N, Örneğin, N = 1, N = 2, N= 3 Bu cevaba hiçbir şekilde güvenilemez. Örneğin, P o = 0'da N= 1, yani tek atışta tura gelme olasılığı sıfırdır! Her ne kadar herkes bunun böyle olmadığını çok iyi biliyor. Yani şu ana kadar çok kaba bir cevap aldık. Ancak grafiğe bakın: devam ediyor tasarruf Bilgi, cevap yavaş ama emin adımlarla doğruya yaklaşıyor (noktalı çizgiyle vurgulanmıştır). Neyse ki, bu özel durumda doğru cevabı biliyoruz: ideal olarak tura gelme olasılığı 0,5'tir (diğer, daha karmaşık problemlerde, cevap elbette bizim tarafımızdan bilinmeyecektir). Cevabı kesin olarak bilmemiz gerektiğini varsayalım. e= 0,1. Doğru cevap olan 0,5'ten 0,1 mesafeyle ayrılmış iki paralel çizgi çizelim (bkz. Şekil 1.4). Ortaya çıkan koridorun genişliği 0,2 olacaktır. Eğri olur olmaz P O ( N) bu koridora asla çıkmayacak şekilde girecek, durup ne kadar değere sahip olduğunu görebilirsiniz. N oldu. işte bu deneysel olarak hesaplanmış kritik Anlam gerekli sayıda deney N Cevabı doğrulukla belirlemek için kr e e = 0.1; e- Bizim muhakememizde mahalle bir tür hassas tüp rolü oynuyor. Cevaplara dikkat edin P veya (91), P o (92) ve benzeri artık değerlerini pek değiştirmiyor (bkz. Şekil 1.4); en azından sorunun şartlarına göre güvenmek zorunda olduğumuz virgülden sonraki ilk rakam değişmiyor.
  • 2. Eğrinin bu davranışının nedeni eylemdir merkezi nihai teoremler. Şimdilik bunu en basit haliyle formüle edeceğiz: "Rastgele değişkenlerin toplamı rastgele olmayan bir miktardır." Ortalamayı kullandık P o, deneylerin toplamı hakkında bilgi taşır ve bu nedenle giderek bu değer giderek daha güvenilir hale gelir.
  • 3. Bu deneyi en baştan tekrar yaparsanız, o zaman elbette sonucu farklı türde bir rastgele eğri olacaktır. Ve cevap yaklaşık olarak aynı olmasına rağmen farklı olacaktır. Bu tür bir dizi deney yapalım (bkz. Şekil 1.5). Böyle bir diziye gerçekleşmeler topluluğu denir. Sonuçta hangi cevaba inanmalısınız? Sonuçta, yakın olmalarına rağmen hala farklılar. Pratikte farklı davranırlar. İlk seçenek, çeşitli uygulamalardaki yanıtların ortalamasını hesaplamaktır (bkz. Tablo 1.2).

Pirinç. 1.5

Birkaç deney hazırladık ve her seferinde kaç deney yapılması gerektiğini belirledik. N cr e. Sonuçları tabloda özetlenen 10 deney gerçekleştirildi. 1.2 10 deneyin sonuçlarına dayanarak ortalama değer hesaplandı N cr e.

Tablo 1.2.

Doğruluğa ulaşmak için gereken yazı-tura atış sayısına ilişkin deneysel veriler e

Böylece farklı uzunluklarda 10 uygulama yaptıktan sonra yeterli olduğuna karar verdik. V ortalama 94 yazı-tura atışı uzunluğunda 1 gerçekleşme mümkün oldu.

Bir başka önemli gerçek. Şekil 21.5'teki grafiğe dikkatlice bakın. 100 gerçekleşmeyi - 100 kırmızı çizgiyi gösteriyor. Üzerindeki apsisi işaretleyin N= 94 dikey çubuk. Geçmeye zamanı olmayan belirli bir kırmızı çizgi yüzdesi var e-mahalle, yani ( P tecrübe - e ? P teori? P deneyim + e) ve koridora tam olarak şu ana kadar girin N= 94. Lütfen bu tür 5 satır olduğuna dikkat edin. Bu, 100 satırdan 95'inin, yani %95'inin belirlenen aralığa güvenilir bir şekilde girdiği anlamına gelir.

Böylece, 100 uygulama gerçekleştirdikten sonra deneysel olarak elde edilen tura olasılığına yaklaşık %95 güven sağladık ve bunu 0,1 doğrulukla belirledik.

Elde edilen sonucu karşılaştırmak için teorik değeri hesaplayalım. N teorik olarak kr t. Ancak bunun için güven olasılığı kavramını tanıtmamız gerekecek Q F Bu da cevaba inanmaya ne kadar istekli olduğumuzu gösteriyor.

Örneğin, ne zaman Q F= 0,95, 100 vakanın %95'inde cevaba inanmaya hazırız. Görünüşe göre: N cr t = k (Q F) · P· (1 - P) /e 2 nerede k (Q F) - Laplace katsayısı, P- tura gelme olasılığı, e- doğruluk (güven aralığı). Tabloda 1.3, farklı deneyler için gerekli deney sayısının teorik değerinin değerlerini gösterir. Q F(doğruluk için e= 0,1 ve olasılık P = 0.5).

Tablo 1.3.

Doğruluğa ulaşmak için gerekli yazı-tura atış sayısının teorik olarak hesaplanması e= 0,1 tura gelme olasılığını hesaplarken


Gördüğünüz gibi, 94 deneye eşit olan uygulama süresi için elde ettiğimiz tahmin, teorik olan 96'ya çok yakın. Bazı tutarsızlıklar, görünüşe göre 10 uygulamanın yeterli olmamasıyla açıklanıyor. doğru bir hesaplama N cr e. Daha fazla güvenmeniz gereken bir sonuç istediğinize karar verirseniz güven değerini değiştirin. Örneğin teori bize, 167 deney olması durumunda topluluktan yalnızca 1-2 satırın önerilen doğruluk tüpüne dahil edilmeyeceğini söylüyor. Ancak şunu unutmayın; doğruluk ve güvenilirlik arttıkça deney sayısı da çok hızlı bir şekilde artar.

Pratikte kullanılan ikinci seçenek, bir uygulama ve arttırmak kabul edilmiş İçin o N cr ah V 2 kez. Bu, cevabın doğruluğunun iyi bir garantisi olarak kabul edilir (bkz. Şekil 1.6).


Pirinç. 1.6. Ncre'nin "ikiyle çarpma" kuralı kullanılarak deneysel olarak belirlenmesinin gösterimi

Eğer yakından bakarsanız topluluk rastgele uygulamalar, o zaman frekansın teorik olasılık değerine yakınlaşmasının, deney sayısına ters ikinci dereceden bağımlılığa karşılık gelen bir eğri boyunca gerçekleştiğini bulabiliriz (bkz. Şekil 1.7).


Pirinç. 1.7

Bu aslında teoride bu şekilde işliyor. Belirtilen doğruluğu değiştirirseniz e Her birini sağlamak için gereken deney sayısını inceleyin ve tabloyu alın. 1.4

Tablo 1.4.

Belirli bir doğruluğu sağlamak için gereken deney sayısının teorik bağımlılığı Q F = 0.95


Tabloya göre inşa edelim. 1.4 bağımlılık grafiği N crt ( e) (bkz. Şekil 1.8).

Pirinç. 1.8 Sabit bir Q F = 0,95'te belirli bir doğruluk e'ye ulaşmak için gereken deney sayısına bağımlılık

Dolayısıyla, dikkate alınan grafikler yukarıdaki değerlendirmeyi doğrulamaktadır:

Birkaç doğruluk tahmininin olabileceğini unutmayın.

Örnek 2. Monte Carlo yöntemini kullanarak bir şeklin alanını bulma. Monte Carlo yöntemini kullanarak açı koordinatları (0, 0), (0,10), (5, 20), (10,10), (7, 0) olan bir beşgenin alanını belirleyin.

Verilen beşgeni, alanı tahmin edebileceğiniz gibi (10 - 0) · (20 - 0) = 200 olan bir dikdörtgenin içine yazarak iki boyutlu koordinatlarda çizelim (bkz. Şekil 1.9).

Pirinç. 1.9

Sayı çiftleri oluşturmak için rastgele sayılar tablosu kullanma R, G 0 ila 1 aralığında eşit olarak dağıtılır. Sayı R X (0 ? X? 10), bu nedenle, X= 10 · R. Sayı G koordinatı simüle edecek e (0 ? e? 20), bu nedenle, e= 20 · G. 10 sayı üretelim R Ve G ve 10 noktayı görüntüleyin ( X; e) Şek. 1.9 ve tabloda. 1.5

Tablo 1.5.

Monte Carlo yöntemini kullanarak problemi çözme


İstatistiksel hipotez, şeklin dış çizgisine dahil edilen nokta sayısının şeklin alanıyla orantılı olduğu yönündedir: 6: 10 = S: 200. Yani Monte Carlo yönteminin formülüne göre alanı buluyoruz S Beşgen eşittir: 200 · 6/10 = 120.

Değerin nasıl değiştiğini görelim S deneyimden deneyime (bkz. Tablo 1.6).

Tablo 1.6.

Yanıt doğruluğu değerlendirmesi

Cevaptaki ikinci rakamın değeri hala değiştiği için olası yanlışlık hala %10'un üzerindedir. Hesaplamanın doğruluğu artan test sayısıyla artırılabilir (bkz. Şekil 1.10).

Pirinç. 1.10 Deneysel olarak belirlenmiş bir cevabın teorik bir sonuca yakınsama sürecinin gösterimi

Ders 2. Rastgele sayı üreteçleri

Monte Carlo yöntemi (bkz. Ders 1. İstatistiksel modelleme), (0;1) aralığında düzgün bir şekilde dağıtılması gereken rastgele sayıların üretilmesine dayanmaktadır.

Jeneratör aralığın bir kısmına kaydırılan sayılar üretirse (bazı sayılar diğerlerinden daha sık görünür), o zaman istatistiksel yöntemle çözülen bir problemin çözülmesinin sonucu yanlış olabilir. Bu nedenle, gerçekten rastgele ve gerçekten tekdüze dağılmış sayıların iyi bir üretecini kullanma sorunu çok ciddidir.

Beklenti M R ve varyans D R oluşan böyle bir dizi N rastgele sayılar R Ben, aşağıdaki gibi olmalıdır (eğer bunlar gerçekten 0 ila 1 aralığında düzgün şekilde dağıtılmış rastgele sayılarsa):

Kullanıcının rastgele bir sayıya ihtiyacı varsa X aralıktaydı ( A; B), (0;

  • 1), formülü kullanmanız gerekir X = A + (B - A) · R, Nerede R- (0;) aralığından rastgele sayı
  • 1). Bu dönüşümün yasallığı Şekil 2'de gösterilmektedir. 2.1

Pirinç. 2.1

1) (a; b) aralığında

Şimdi X- aralığında eşit olarak dağıtılan rastgele bir sayı A ile B.

İçin rastgele sayı üreteci standardı(RNG) üreten bir jeneratör benimsenmiştir alt dizi rastgele sayılar üniforma aralıktaki dağıtım yasası (0;

  • 1). Bir çağrı için bu oluşturucu rastgele bir sayı döndürür. Böyle bir RNG'yi yeterince uzun bir süre gözlemlerseniz, örneğin on aralığın her birinde (0; 0,1), (0,1; 0,2), (0,2; 0,3), ..., (0,9) olduğu ortaya çıkar. ;
  • 1) neredeyse aynı sayıda rastgele sayı olacaktır - yani bunlar tüm aralığa eşit olarak dağıtılacaktır (0;
  • 1). Grafikte gösteriliyorsa k= 10 aralık ve frekans N Ben onlara çarptığınızda, rastgele sayıların deneysel bir dağılım yoğunluk eğrisini elde edersiniz (bkz. Şekil 2.2).

Pirinç. 2.2

İdeal olarak rastgele sayı dağılım yoğunluk eğrisinin Şekil 2'de gösterildiği gibi görüneceğini unutmayın. 2.3. Yani ideal olarak her aralık aynı sayıda noktayı içerir: N Ben = N/k, Nerede N- toplam puan sayısı, k- aralık sayısı, Ben = 1, …, k.


Pirinç. 2.3

Rastgele bir rastgele sayı üretmenin iki aşamadan oluştuğu unutulmamalıdır:

  • · normalleştirilmiş bir rastgele sayının üretilmesi (yani 0'dan 1'e kadar eşit şekilde dağıtılmış);
  • · normalleştirilmiş rastgele sayıların dönüşümü R Ben rastgele sayılara X Ben Kullanıcının gerektirdiği (keyfi) dağıtım yasasına göre veya gereken aralıkta dağıtılanlar.

Sayı elde etme yöntemine göre rastgele sayı üreteçleri ikiye ayrılır:

  • · fiziksel;
  • · tablo halinde;
  • · algoritmik.

Monte Carlo yöntemi veya istatistiksel test yöntemi, rastgele değişkenlerin modellenmesine ve istenen değerler için istatistiksel tahminler oluşturulmasına dayanan sayısal bir yöntemdir.

Yöntemin özü aşağıdaki gibidir. Belirli bir şeklin alanını hesaplamak için bir deney yapalım: Bu rakamı bir kareye yerleştirin ve bu kareye rastgele noktalar atın. Şeklin alanı ne kadar büyük olursa, o kadar çok noktanın içine düşeceğini varsaymak doğaldır. Böylece şu varsayımda bulunabiliriz: Bir karenin içinde rastgele seçilen çok sayıda noktayla, belirli bir şekilde yer alan noktaların oranı, bu şeklin alanı ile karenin alanının oranına yaklaşık olarak eşittir. kare.

Şekillerin alanlarını yaklaşık olarak bulma yöntemine Monte Carlo yöntemi denir.

Örnek. Bir sayıyı hesaplamak π Monte Carlo yöntemini kullanarak.

Sorun bildirimi: Monte Carlo yöntemini kullanarak π sayısını hesaplamak için, merkezi (1, 1) noktasında olan yarıçapı 1 olan bir daire düşünün. Kenarı a=2 olan bir karenin içine bir daire yazılmıştır. O halde S kare karesinin alanı = a 2 = 2 2 = 4.

Çözüm.

Karenin içinde N rastgele nokta seçiyoruz. Bir noktayı seçmek, onun koordinatlarını (x ve y sayıları) belirtmek anlamına gelir.

Dairenin içine düşen noktaların sayısı olan N'yi daire olarak gösterelim.

0≤x≤2 ve 0≤y≤2 ise nokta bir kareye aittir.

(x-1) 2 + (y-1) 2 ≤ 1 ise nokta çemberin içindedir, aksi halde çemberin dışındadır. Geometrik olarak açıktır ki

Buradan

Yani birim yarıçaplı bir daire için:

Ancak birim yarıçaplı bir daire için
, dolayısıyla şunu elde ederiz:
.

Bu formül π sayısına ilişkin bir tahmin verir. N ne kadar büyük olursa, bu tahminin doğruluğu da o kadar büyük olur. Bu alanı hesaplama yönteminin yalnızca rastgele noktaların yalnızca rastgele değil, aynı zamanda kare boyunca eşit şekilde dağılmış olması durumunda geçerli olacağına dikkat edilmelidir.

Turbo Pascal programlama dili, 0'dan 1'e kadar eşit şekilde dağıtılmış rastgele sayıları modellemek için, 0'dan 1'e kadar eşit şekilde dağıtılmış bir rastgele değerler dizisi üreten bir rastgele sayı üreteci - RANDOM işlevi kullanır.

Dolayısıyla bilgisayar deneyinin özü, koordinatların N katını elde etmek için RASTGELE işlevine erişmektir. X Ve en puan. Bu durumda koordinatları olan noktanın ( X,en) birim yarıçaplı bir daireye. Vuruş durumunda dairenin N değerinin değeri 1 artar.

Program:

monte_karlo programı;

var i, n, n1: LongInt;

x, y, pi: gerçek; startRandomize;

WriteLn("Nokta sayısını girin n = ");<=1 then n1:=n1+1; end; pi:=4*n1/n; WriteLn("pi=", pi:15:11); end.

Readln(n); i:=1'den n'ye kadar x:=2*Random;

y:=2*Rastgele;
if sqr(x-1)+sqr(y-1)

Monte Carlo simülasyonu, bir sonraki eylem yolunu seçme sürecinde her seferinde karar vericinin bir dizi olası sonucu dikkate almasına ve bunların meydana gelme olasılığını değerlendirmesine olanak tanır. Bu yöntem, yelpazenin karşıt uçlarında yer alan olasılıkları (her şeyi göze almanın ve en ihtiyatlı önlemleri almanın sonuçları) yanı sıra ılımlı kararların olası sonuçlarını gösterir.

Bu yöntem ilk olarak atom bombasının geliştirilmesinde yer alan bilim adamları tarafından kullanıldı; Adını Monako'da kumarhaneleriyle ünlü bir tatil beldesi olan Monte Carlo'dan almıştır. İkinci Dünya Savaşı sırasında yaygınlaşan Monte Carlo yöntemi, her türlü fiziksel ve teorik sistemin benzetiminde kullanılmaya başlandı.

Yorumları görüntüle
Douglas Hubbard
Hubbard Karar Araştırması
Zaman: 00:35 sn

"Monte Carlo simülasyonu, belirsizlik koşulları altında kritik kararları analiz etmenin tek yoludur."

John Zhao
Suncor Enerji
Süre: 02:36 dk.

"Sermaye maliyeti tahmini için Monte Carlo simülasyonu (Suncor'da) her büyük proje için bir gereklilik haline geldi."

Monte Carlo Simülasyonu Nasıl Gerçekleştirilir?
Monte Carlo yönteminde olası sonuçlara ilişkin modeller kullanılarak risk analizi yapılır. Bu tür modeller oluştururken, belirsizlikle karakterize edilen herhangi bir faktörün yerini bir dizi değer (olasılık dağılımı) alır. Sonuçlar daha sonra her seferinde farklı bir rastgele olasılık fonksiyonu değerleri seti kullanılarak birden çok kez hesaplanır. Bazen bir simülasyonu tamamlamak için belirsizliklerin sayısına ve onlar için oluşturulan aralıklara bağlı olarak binlerce hatta onbinlerce yeniden hesaplama yapmak gerekebilir. Monte Carlo simülasyonu, olası sonuçların değerlerinin dağılımlarını elde etmeyi sağlar.

Olasılık dağılımlarını kullanırken, değişkenlerin farklı sonuçların ortaya çıkma olasılıkları farklı olabilir. Olasılık dağılımları, risk analizi sürecinde değişkenlerin belirsizliğini tanımlamanın çok daha gerçekçi bir yoludur. En yaygın olasılık dağılımları aşağıda listelenmiştir.

Normal dağılım(veya "Bauss eğrisi"). Ortalamadan sapmayı tanımlamak için kullanıcı ortalamayı veya beklenen değeri ve standart sapmayı tanımlar. Ortada, ortalamanın yanında yer alan değerler en yüksek olasılıkla karakterize edilir. Normal dağılım simetriktir ve pek çok yaygın olguyu (örneğin insanların boyu) tanımlar. Normal dağılımlarla tanımlanan değişkenlere örnek olarak enflasyon oranları ve enerji fiyatları verilebilir.

Lognormal dağılım. Değerler pozitif olarak çarpıktır ve normal dağılımdan farklı olarak asimetriktir. Bu dağılım sıfırın altına düşmeyen ancak sınırsız pozitif değer alabilen nicelikleri yansıtmak için kullanılır. Lognormal dağılımlarla tanımlanan değişkenlerin örnekleri arasında gayrimenkul değerleri, hisse senedi fiyatları ve petrol rezervleri yer alır.

Düzgün dağıtım. Tüm nicelikler eşit olasılıkla şu veya bu değeri alabilir; kullanıcı yalnızca minimum ve maksimumu belirler. Tekdüze bir dağılıma sahip olabilecek değişkenlere örnek olarak üretim maliyetleri veya yeni bir ürünün gelecekteki satışlarından elde edilen gelirler verilebilir.

Üçgen dağılım. Kullanıcı minimum, en olası ve maksimum değerleri tanımlar. Maksimum olasılık noktasına yakın bulunan değerler en yüksek olasılığa sahiptir. Üçgen dağılımla tanımlanabilecek değişkenler, birim zaman başına geçmiş satışları ve stok seviyelerini içerir.

PERT dağıtımı. Kullanıcı minimum, en olası ve maksimum değerleri tanımlar - tıpkı üçgen dağılımda olduğu gibi. Maksimum olasılık noktasına yakın bulunan değerler en yüksek olasılığa sahiptir. Ancak en olası ve uç değerler arasındaki aralıktaki değerlerin ortaya çıkma olasılığı üçgen dağılıma göre daha yüksektir, yani uç değerlere vurgu yapılmaz. PERT dağıtımının kullanımına bir örnek, bir proje yönetimi modeli içindeki bir görevin süresini tanımlamaktır.

Ayrık dağıtım. Kullanıcı olası değerler arasından belirli değerleri ve bunların her birini elde etme olasılığını belirler. Örnek olarak bir davanın sonucu verilebilir: %20 olumlu karar ihtimali, %30 olumsuz karar ihtimali, %40 taraflar arasında anlaşma şansı ve %10 davanın iptal ihtimali.

Monte Carlo simülasyonunda değerler orijinal olasılık dağılımlarından rastgele seçilir. Her değer örneğine yineleme adı verilir; numuneden elde edilen sonuç kaydedilir. Modelleme işlemi sırasında bu prosedür yüzlerce veya binlerce kez gerçekleştirilir ve sonuç, olası sonuçların olasılık dağılımıdır. Böylece Monte Carlo simülasyonu olası olayların çok daha eksiksiz bir resmini verir. Yalnızca ne olabileceğini değil, aynı zamanda böyle bir sonucun olasılığının ne olduğunu da yargılamanıza olanak tanır.

Monte Carlo simülasyonunun deterministik veya nokta tahmin analizine göre birçok avantajı vardır:

  • Olasılıksal sonuçlar.Sonuçlar yalnızca olası olayları değil aynı zamanda bunların gerçekleşme olasılığını da gösterir.
  • Sonuçların grafiksel gösterimi. Monte Carlo yöntemi kullanılarak elde edilen verilerin doğası, çeşitli sonuçların grafiklerinin yanı sıra bunların ortaya çıkma olasılıklarının oluşturulmasına olanak tanır. Sonuçların diğer paydaşlara iletilmesinde bu önemlidir.
  • Duyarlılık analizi. Birkaç istisna dışında deterministik analiz, hangi değişkenin sonuçları en çok etkilediğini belirlemeyi zorlaştırır. Bir Monte Carlo simülasyonu çalıştırırken, hangi girdilerin nihai sonuçlar üzerinde en büyük etkiye sahip olduğunu görmek kolaydır.
  • Senaryo analizi. Deterministik modellerde, farklı girdi değerleri için farklı miktar kombinasyonlarını simüle etmek ve dolayısıyla gerçekten farklı senaryoların etkisini değerlendirmek çok zordur. Analistler, Monte Carlo yöntemini kullanarak, hangi girdilerin belirli değerlere yol açtığını tam olarak belirleyebilir ve belirli sonuçların oluşumunu izleyebilir. Bu daha ileri analizler için çok önemlidir.
  • Kaynak verilerinin korelasyonu. Monte Carlo yöntemi, girdi değişkenleri arasındaki birbirine bağlı ilişkileri modellemenize olanak tanır. Güvenilir bilgi elde etmek için, hangi durumlarda bazı faktörler arttığında diğerlerinin de buna bağlı olarak arttığını veya azaldığını hayal etmek gerekir.

Ayrıca tüm dağıtım fonksiyonları arasından daha doğru seçim yapan Latin Hypercube yöntemini kullanarak örnekleme yaparak Monte Carlo simülasyon sonuçlarınızı iyileştirebilirsiniz.

Palisade Modelleme Ürünleri
Monte Carlo yöntemini kullanarak
Kişisel bilgisayarlarda elektronik tablolarla çalışmak üzere tasarlanmış uygulamaların ortaya çıkışı, uzmanların günlük faaliyetlerde analiz yaparken Monte Carlo yöntemini kullanmaları için geniş fırsatlar yarattı. Microsoft Excel, en yaygın elektronik tablo analitik araçlarından biridir ve program, Palisade'in Monte Carlo simülasyonlarını gerçekleştirmenize olanak tanıyan ana Excel eklentisidir. @RISK ilk olarak 1987 yılında DOS işletim sisteminde Lotus 1-2-3 için piyasaya sürüldü ve doğruluğu, modelleme esnekliği ve kullanım kolaylığıyla hemen mükemmel bir üne kavuştu. Microsoft Project'in ortaya çıkışı, Monte Carlo yöntemini uygulamak için başka bir mantık uygulamasının yaratılmasına yol açtı. Başlıca görevi büyük projelerin yönetilmesiyle ilgili belirsizlikleri ve riskleri analiz etmekti.

Monte Carlo yöntemi

1. Monte Carlo yönteminin konusu

Monte Carlo yönteminin doğum tarihi, bilim adamları N. Metropolis ve S. Ulam'ın yöntemlerinin özünü özetledikleri "Monte Carlo Yöntemi" başlıklı bir makale yayınladıklarında 1949 olarak kabul edilir. Yöntemin adı, kumar evlerinde (kumarhanelerde) sözde elde etmek için en basit cihazlardan biri olan rulet oynadıkları Monte Carlo şehrinin adıyla ilişkilidir. rastgele sayılar ", bu yöntemin dayandığı yer.

Bilgisayarlar “sözde” olanı elde etmeyi kolaylaştırır. sözde rastgele sayılar "(problemleri çözerken genellikle rastgele sayılar yerine kullanılırlar). Bu, yöntemin bilim ve teknolojinin birçok alanına (istatistiksel fizik, kuyruk teorisi, oyun teorisi vb.) yaygın şekilde uygulanmasına yol açtı. Monte Carlo yöntemi, integralleri, özellikle çok boyutlu olanları hesaplamak, yüksek dereceli cebirsel denklem sistemlerini çözmek, çeşitli karmaşık sistemleri (otomatik kontrol, ekonomik, biyolojik vb.) incelemek için kullanılır.

Monte Carlo yönteminin özü aşağıdaki gibidir: değerini bulmamız lazımsayılar bazı çalışılan miktarlar. Bunu yapmak için aşağıdaki rastgele değişkeni seçin
matematiksel beklentisi şuna eşit olan :
yani Belirtilen fonksiyonel denklemi çözecektir. Bu görev genellikle çok karmaşık ve zordur.

Pratikte şunu yapıyorlar: üretiyorlar sonucunda elde ettikleri testler olası değerler
; aritmetik ortalamalarını hesaplayın

ve kabul et bir tahmin olarak (yaklaşık değer) gerekli sayı :

Monte Carlo yöntemi çok sayıda test gerektirdiğinden sıklıkla denir. istatistiksel test yöntemi. Bu yöntemin teorisi, bir rastgele değişkenin en uygun şekilde nasıl seçileceğini gösterir.
, olası değerleri nasıl bulunur? Özellikle, kullanılan rastgele değişkenlerin dağılımını azaltmak için yöntemler geliştirilmekte, bunun sonucunda sayının istenen matematiksel beklentisini değiştirirken izin verilen hata azaltılmaktadır. onun değerlendirmesi .

Rastgele bir değişkenin olası değerlerini bulma
(simülasyonlara) " denir rastgele bir değişkeni oynamak" Burada r.v. oynamanın yalnızca bazı yollarını özetleyeceğiz.
ve izin verilen hatanın nasıl değerlendirileceğini göstereceğiz.

2. Rastgele sayılar, Monte Carlo yönteminin hata tahmini.

Daha önce de belirtildiği gibi Monte Carlo yöntemi rastgele sayıların kullanımına dayanmaktadır; Bu sayıların tanımını verelim. ile belirtelim n.s.v., aralıkta eşit olarak dağıtılmış
.

Rastgele sayılar sürekli bir rastgele değişkenin olası değerlerini adlandırın aralıkta eşit olarak dağıtılmış
.

Gerçekte, eşit olmayan şekilde dağıtılmış bir r.v. kullanıyorlar. olası değerleri genel olarak sonsuz sayıda ondalık basamağa sahip olan ve yarı düzgün rastgele değişken
,
olası anlamı sınırlı sayıda karaktere sahiptir. Değiştirme sonucunda Açık
oynanan değer tam olarak değil, yaklaşık olarak belirli bir dağılıma sahiptir.

Kitabın sonunda kitaptan ödünç alınmış bir rastgele sayılar tablosu bulunmaktadır (Bolshev L.N.... “Matematiksel istatistik tabloları. Bilim, 1965).

Bir tahmin alalım sayının matematiksel beklentisi rastgele değişken
üretildi bağımsız testler (çizilmiş olası değerler) ve bunlardan örnek ortalama bulundu gerekli tahmin olarak kabul edilen
.

Deney tekrarlanırsa başka olası değerlerin de elde edileceği açıktır.
. Bu nedenle farklı bir ortalama ve farklı bir sayı tahmini
. Bundan genel durumda MO'nun kesin bir tahminini elde etmenin imkansız olduğu sonucu çıkar.

Doğal olarak izin verilen hatanın büyüklüğü ile ilgili soru ortaya çıkıyor. Burada kendimizi yalnızca üst sınırı bulmakla sınırlıyoruz belirli bir olasılıkla izin verilen hata (güvenilirlik)

İlgilendiğimiz üst hata sınırı "dan başka bir şey değil tahmin doğruluğu» Güven aralıkları kullanılarak örneklem ortalamasına ilişkin matematiksel beklenti, Bölüm 1, Konu 21'de zaten tartışılmıştır. Bu bağlamda, daha önce elde edilenleri kullanacağız.



Makaleyi beğendin mi? Arkadaşlarınızla paylaşın!