Tüm simülasyon yöntemleri bir çeşit Monte Carlo mudur?


35

Monte Carlo olmayan bir simülasyon metodu var mı? Tüm simülasyon yöntemleri, fonksiyon için bir değer aralığı bulmak üzere fonksiyona rasgele sayıları değiştirmeyi içerir. Öyleyse tüm simülasyon yöntemleri esas olarak Monte Carlo yöntemleri midir?


2
Bence "Stan" sadece Ulam'ın ilk adıydı, başkasının soyadı değil.
Nick Cox,

Stan , gerçekten de Stanislas'ın kısaltmasıdır . Hangi Andrew Gelman seçtim Stan onun yeni simülasyon dili için.
Xi'an

Küçük, belki de sınırda önemsiz, birleştirici bir sorun göz önüne alındığında, ayrıntılı bir arama hala "Monte Carlo" olur mu?
Nick,

3
Rasgele algoritma derslerimden hatırladığım şey Monte Carlo yöntemlerinin, bilinen çalışma süreleriyle, stokastik çalışma süreleri olan ancak doğru sonuçları olan Las Vegas yöntemlerinin aksine, stokastik sonuçlara sahip olmasıdır. Çekmecemde beş yaşında, el yazısı olan bir senaryo dışında buna referans yok. Düzenleme: Monte Carlo ve Las Vegas'taki wikipedia sayfaları buna katılıyor gibi görünüyor.
bayerj

Kapsamlı bir arama muhtemelen kaba kuvvet hesaplaması olacaktır. Monte Carlo yöntemleri örnek bir uzaydan çeker. Bu örnek, genellikle istatistiksel analizi izlenebilir kılan sonuçların evreninin küçük bir alt kümesidir.
Alex Reynolds,

Yanıtlar:


41

Monte Carlo olmayan simülasyonlar var. Temel olarak, tüm Monte Carlo yöntemleri (zayıf) büyük sayılar yasasını kullanır: Ortalama, beklentisine yakınlaşır.

Sonra Quasi Monte Carlo yöntemleri var. Bunlar, daha hızlı yakınsama sağlamak için rastgele sayılar ve eşit aralıklı ızgaralardan oluşan bir uzlaşma ile simüle edilir.

Monte Carlo olmayan simülasyonlar örneğin hesaplamalı akışkanlar dinamiğinde kullanılır. Akışkan dinamiklerini, sıvının tek bölümlerinin "mikro ölçekte" bir modeli üzerinde kolaydır. Bu bölümler başlangıç ​​hızına, basınca ve boyuta sahiptir ve komşu bölümlerden gelen kuvvetlerden veya katı cisimlerden etkilenir. Simülasyonlar, tüm kısımları ve etkileşimlerini hesaplayarak sıvının tüm davranışını hesaplar. Bunu verimli bir şekilde yapmak, bunu bir bilim yapar. Orada rastgele sayılar gerekmez.

Meteoroloji veya iklim araştırmasında, işler benzer şekilde yapılır. Fakat şimdi, başlangıç ​​değerleri tam olarak bilinmemektedir: Sadece ölçtükleri bazı noktalardaki meteorolojik verilere sahipsiniz. Çok fazla veri tahmin edilmelidir.

Bu karmaşık problemler genellikle girdi verilerinde sürekli olmadığından, simülasyonları farklı tahminlerle çalıştırırsınız. Nihai sonuç en sık görülen sonuçlar arasından seçilecektir. Bu aslında bazı hava tahminlerinin ilke olarak nasıl simüle edildiğini açıklıyor.


5
Hafif bir düzeltme: monte-carlo simülasyonları rastgele olmayan hesaplamaları kullanabilir. Eğer başlangıç ​​koşullarını değiştiriyorsa bir simülasyonu "monte-carlo" olarak adlandırmak geçerlidir ve ardından rasgele olmayan hesaplamaları oradan uygular. Sınır koşulları istatistiksel olarak tanımlandığı için birçok CFD durumu monte-carlo'yu gerektirir.
Cort Ammon

14

Monte Carlo yöntemi, istatistiksel problemler için bilgisayar simülasyonunu kullanan ilk yaklaşımdı. II. Dünya Savaşı sırasında Manhattan projesi üzerinde çalışmakta olan Los Alamos laboratuvarlarından John von Neumann, Stanisław Ulam ve Nicholas Metropolis ekibi tarafından geliştirilmiştir. İlk kez 1949'da Metropolis & Ulam tarafından tanımlanmıştır ve adın ilk baskısında ilk defa ortaya çıkmıştır. Bu mümkündü çünkü keşfeden bilim adamları , üzerinde çalıştıkları ilk bilgisayarlardan birini de kullanabiliyorlardı . Çalışmalarında fiziksel problemlerin simülasyonu için Monte Carlo yöntemlerini kullandılar ve fikir, bu işlemin birkaç örneğini örnekleyerek karmaşık bir sorunu simüle edebilmenizdi. Monte Carlo’nun tarihi hakkında çok ilginç makaleler var.Metropolis'in kendisi veya daha yakınları, örneğin Robert & Casella .

Bu yüzden "Monte Carlo", istatistiksel problemleri çözmek için bilgisayar simülasyonu amacıyla açıklanan ilk yöntemin adıydı. Daha sonra, isim bütün bir simülasyon yöntemleri ailesi için genel bir isim haline geldi ve bu şekilde yaygın olarak kullanılıyor.

Monte Carlo dışında kabul edilen simülasyon yöntemleri vardır , ancak Monte Carlo bilgisayar simülasyonunun ilk kullanımıyken, "bilgisayar simülasyonu" ve "Monte Carlo" nun birbirinin yerine kullanılması yaygındır.

"Simülasyon" un ne olduğunun farklı bir tanımı vardır.

Merriam-Webster sözlüğü:

Şekil 3a: bir sistemin veya işlemin başka birinin işleyişiyle işlenmesinin taklit gösterimi b: Bir simülasyon aracını kullanarak doğrudan denemeye tabi olmayan bir sorunun incelenmesi

Cambridge sözlüğü:

gerçek veya gerçek olmayan bir şeye benzeyen bir şey yapmak veya yapmak

Vikipedi :

gerçek dünyadaki bir sürecin veya sistemin işleyişinin zaman içinde taklidi

Simülasyonun çalışması gereken, bir sistemi veya süreci taklit etme yeteneğidir. Bunun (Monte Carlo'da olduğu gibi) herhangi bir rastlantısallığa ihtiyacı yoktur, ancak tüm olasılıklar denenirse, prosedür daha ayrıntılı bir aramadır veya genel olarak ve optimizasyon sorunudur . Eğer rastgele eleman dahil edilmişse ve bazı modellerin simülasyonlarını yapmak için bir bilgisayar kullanılıyorsa, bu simülasyon ilk Monte Carlo yönteminin ruhuna benzemektedir (örneğin Metropolis ve Ulam, 1949). Simülasyonun kritik bir parçası olarak rastgele eleman, örneğin, Ross (2006, Simulation) tarafından belirtilmiştir.. Elsevier). Ancak, sorunun cevabı büyük ölçüde varsaydığınız simülasyonun tanımına bağlıdır. Eğer kullanım optimizasyonu veya ayrıntılı arama, aslında simülasyonları olduklarını o deterministik algoritmalar varsayalım Örneğin, o zaman simülasyonlar olmak algoritmalar çeşitli dikkate almak gerekir ve bu simülasyon tanımını yapar haddi zatında çok bulanık.

Kelimenin tam anlamıyla, her istatistiksel prosedürde “denenmiş” ve değerlendirilen gerçekliğin bir modeli veya yaklaşımı kullanılır. Bu, simülasyonun sözlük tanımlarıyla tutarlıdır. Ancak tüm istatistikleri simülasyon temelli olarak düşünmüyoruz. Soru ve tartışma, "simülasyon" un tam tanımının olmamasından ortaya çıkıyor gibi görünmektedir. Monte Carlo, arketipik (ve ilk) simülasyon örneği gibi gözüküyor, ancak simülasyonun genel tanımını göz önüne alırsak, pek çok Monte Carlo dışı tanım tanımına giriyor. Bu yüzden Monte Carlo olmayan simülasyonlar var, ancak açıkça simülasyona dayalı tüm yöntemler Monte Carlo'nun ruhuna benziyor, onunla bir şekilde ilişki kuruyor veya ilham alıyor. “Monte Carlo” un genellikle “simülasyon” ile eşanlamlı olarak kullanılmasının nedeni budur.


3
Bence "Stan" sadece Ulam'ın ilk adıydı, başkasının soyadı değil.
Nick Cox,

1
Stan , gerçekten de Stanislas'ın kısaltmasıdır . Hangi Andrew Gelman seçtim Stan onun yeni simülasyon dili için.
Xi'an

Küçük, belki de sınırda önemsiz, birleştirici bir sorun göz önüne alındığında, ayrıntılı bir arama hala "Monte Carlo" olur mu?
Nick,

6
Anlamıyorum: Bu soruya nasıl cevap veriyor?
'.

1
@ Xi'an, "Ł" ile yazılmış Stanisław (İngilizce olarak "woo" olarak okunur).
Tim

13

Tüm simülasyon yöntemleri, fonksiyon için bir değer aralığı bulmak üzere fonksiyona rasgele sayıları değiştirmeyi içerir.

Bu simülasyon tanımını hiç duymadım. Örneğin, Vikipedi'nin simülasyon ve bilgisayar simülasyonları hakkındaki makalelerinde rastgele ve stokastik gibi terimlerden kısaca bahsedilir .

Herhangi bir rasgelelik içermeyen ve dolayısıyla açıkça bir Monte Carlo simülasyonu olmayan basit bir simülasyon örneği şöyle olacaktır:

Basit bir sarkaç davranışını simüle etmek ve bazı basitleştirici varsayımlar yapmak istiyorum (kütlesiz kordon, dakik kütle, sürtünme yok, Coriolis kuvveti gibi dış kuvvetler yok). Sonra matematiksel bir sarkaç elde ediyorum ve hareketini tanımlayan diferansiyel denklemleri yazabiliyorum. Daha sonra verilmiş başlangıç ​​koşulları için yörüngesini simüle etmek için Runge-Kutta yöntemi gibi diferansiyel denklemler için bazı çözücüler kullanabilirim . (Ayrıca teorik olarak ilerideki koşulları dikkate almama gerek olmadığını da söyleyebilirim.)

Bu şekilde, hiç bir rasgele sayı kullanmadan, gerçek bir sarkaçın oldukça iyi bir simülasyonunu elde ediyorum. Bu nedenle, bu bir Monte-Carlo simülasyonu değildir.

Başka bir örnekte, rastgele olmayan basit bir popülasyon modeli olan lojistik haritayı göz önünde bulundurun .


7

Hayır. Bir partikülün bir kuvvet altında simülasyonu Runge-Kutta veya Monte Carlo olmayan bir başka deterministik algoritma kullanılarak yapılabilir.

Monte Carlo, integralleri hesaplamak için kullanılır (buna bir simülasyon diyebilirsiniz, ancak sonuçta sadece bir tahmin edicinin sayısal bir yaklaşımını hesaplar). Yine, bunu yapmak için deterministik bir yöntem kullanabilirsiniz (örneğin yamuk kuralı).

Genel anlamda, deterministik ve deterministik olmayan integralleri hesaplamak için algoritmaları ayırabilirsiniz. Monte Carlo deterministik olmayan bir yöntemdir. Quasi-Monte Carlo başka. Yamuk kuralı deterministik bir algoritmadır.


4

Basitleştirilmiş bir açıklamada bir bıçak atayım. Bir "what-if" modeli (deterministik) bir simülasyondur. Bir widget işleme tesisi gibi karmaşık bir sisteminiz olduğunu varsayalım. Bazı performans parametrelerini tahmin edebilmek istersiniz, maliyet. Tesisin matematiksel bir modelini oluşturuyor ve daha sonra modellerin farklı işlemlerde ne kadar hızlı hareket ettiğini ya da çeşitli yönlerde hangi yüzdelerin aktığını veya ne kadar pencere parçasını işleyeceğinizi belirlemek için belirli faktörler için çeşitli varsayımları seçiyorsunuz. Model, tesisin bir simülasyonudur ve her bir varsayım kümesi size bu performans parametresinin bir tahminini verir.

Şimdi belirsizlik getirin. Widget'lara olan talebin gelecek ay ne olacağını bilmiyorsunuz, ancak maliyeti tahmin etmeniz gerekiyor. Yani talebin 1000 widget olacağını söylemek yerine, talebin olasılık dağılımını tahmin edersiniz. Ardından rastgele bu dağıtımdan talep değerlerini örnekler ve varsayımınız için bunları kullanırsınız. Bulunduğunuz sırada, olasılık dağılımlarını diğer varsayımlar için de kullanabilirsiniz. Modeli, çeşitli olasılık dağılımlarından örneklenen varsayımlara takarak tekrar tekrar kullanıyorsunuz. Sonuç, maliyet tahminlerinin dağılımı olacaktır. Bu Monte Carlo yönü.

Monte Carlo, bir simülasyon modelinin üzerine yerleştirilmiş bir "özellik" veya "motordur". Tek bir tahmin için tek bir varsayım seti ile simülasyon yapmak yerine, rastgele seçilen varsayımları kullanarak bir simülasyon koleksiyonu gerçekleştirir.


2

Oyun teorisinde, özellikle simülasyonlarda rastgeleliği kullanan yaklaşımlara monte carlo teknikleri denir. Genellikle modern programlarda Monte Carlo Ağacı Aramanın (MCTS) bir parçası olarak kullanılır .

(Asıl soru , buradaki cevapların bazılarındaki anlaşmazlığı açıklayabilen " monte carlo algoritması " ve " monte carlo yöntemi " arasında bir ayrım yapmamıştır .)

Mesela go (ve MCTS kullandığının farkında olduğum tüm diğer oyunlar) oyununda simülasyonlara playout denir. Rastgele oynatma kuralları en açık kuralları kullanır. Light playout'lar rastgele playout'ların eş anlamlısıdır veya kolayca tespit edilebilecek birkaç kötü hareketi filtrelemektedir. Ağır oyunlarda çok daha fazla hamleyi filtrelemek için daha fazla sezgisel tarama kullanılır. (Bu arada oyun kağıdı her zaman oyunun sonuna kadar gider, bu yüzden her oyun yaklaşık olarak aynı miktarda zaman alır.) Ancak hepsine "monte carlo" simülasyonu denir.

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.