BENZET
BENZET İ İ M M
Prof.Dr.
Prof.Dr. Berna Berna Dengiz Dengiz
3. Ders
Monte Carlo Benzetimi Benzetim Dilleri
Benzetim Yazılımları
MONTE CARLO Benzetimi MONTE CARLO Benzetimi
• (0-1) aralığında düzgün, (U(0.1)), rassal sayılar kullanılarak, (0-1) aralığında düzgün, (U(0.1)), rassal sayılar kullanılarak, zaman faktörünün önemli olmadığı, olasılıklı (stokastik) zaman faktörünün önemli olmadığı, olasılıklı (stokastik) veya belirli (deterministik) problemlerin çözümünde veya belirli (deterministik) problemlerin çözümünde kullanılan bir tekniktir. Monte Carlo Benzetimi, genellikle kullanılan bir tekniktir. Monte Carlo Benzetimi, genellikle
statik benzetim modellerinde kullanılır.
statik benzetim modellerinde kullanılır.
• Bazı yazarlar Monte Carlo Benzetimini, rassal sayı kullanan Bazı yazarlar Monte Carlo Benzetimini, rassal sayı kullanan bir benzetim olarak tanımlamaktadırlar. Burada kullanılan bir benzetim olarak tanımlamaktadırlar. Burada kullanılan tanım ise daha kısıtlıdır. Monte Carlo metodu ilk defa II.
tanım ise daha kısıtlıdır. Monte Carlo metodu ilk defa II.
Dünya Savaşı sırasında atom bombasının geliştirilmesi ile Dünya Savaşı sırasında atom bombasının geliştirilmesi ile
ilgili problemlere uygulanmıştır.
ilgili problemlere uygulanmıştır.
BENZETİM
BENZETİM
MONTE CARLO Benzetimi ORTALAMA METODU MONTE CARLO Benzetimi ORTALAMA METODU
Örnek:
Örnek:
integralini çözmek istiyoruz.integralini çözmek istiyoruz. G(x) fonksiyonu, analitik çözümü olmayan bir fonksiyon olsun.G(x) fonksiyonu, analitik çözümü olmayan bir fonksiyon olsun.
Bu deterministik problem, Monte Carlo Benzetimi ile nasılBu deterministik problem, Monte Carlo Benzetimi ile nasıl çözülür inceleyelim
çözülür inceleyelim
Yeni bir rassal değişken olarak Y tanımlansın.Yeni bir rassal değişken olarak Y tanımlansın.
Y= (b-a)g(x) a
Y= (b-a)g(x) ax x bb
X, [a,b] aralığında düzgün dağılma sahip sürekli bir rassal değişkendir.X, [a,b] aralığında düzgün dağılma sahip sürekli bir rassal değişkendir.
BENZETİM BENZETİM
b
ı
a g x dxBENZETİM
BENZETİM
BENZETİM BENZETİM
Aranılan integralin değeri, y’nin beklenen değerine eşit çıktı. Aranılan integralin değeri, y’nin beklenen değerine eşit çıktı.
Buradan yaralanarak ‘in değeri Monte Carlo Buradan yaralanarak ‘in değeri Monte Carlo
Benzetimi ile bulunabilir.
Benzetimi ile bulunabilir.
b
ı
a g x dx
Burada x Burada x
11, x , x
22, x , x
33,..., x ,..., x
nn~ ~ U (a,b) rassal U (a,b) rassal değişkenlerdir.
değişkenlerdir.
BENZETİM
BENZETİM
BENZETİM BENZETİM
BEKLENEN DEĞER METODU BEKLENEN DEĞER METODU
Örnek:
Örnek:
BENZETİM BENZETİM
ÖDEV ÖDEV
Yukarıda açıklanan problemi;Yukarıda açıklanan problemi;
nn =10 , 20 , 40 , 80 , 160, 500, 1000, 2000, 4000, 8000 için =10 , 20 , 40 , 80 , 160, 500, 1000, 2000, 4000, 8000 için deneyin.
deneyin.
x ekseninde n değeri ve y ekseninde integral için elde edilen x ekseninde n değeri ve y ekseninde integral için elde edilen değeri dikkate alarak grafik çiziniz
değeri dikkate alarak grafik çiziniz
Bu problemin çözümü için n sayısının ne olması gerektiğini Bu problemin çözümü için n sayısının ne olması gerektiğini yorumlayınız
yorumlayınız
BENZETİM BENZETİM
ISKALAMA (MISS-HIT ) ISKALAMA (MISS-HIT ) METODU
METODU
Örnek:
Örnek: sayısının bulunması sayısının bulunması
• ¼ daire düşünün (birim ¼ daire düşünün (birim dairenin ¼’ü)
dairenin ¼’ü)
A A = alan = = alan = rr22/4= /4= /4 (birim daire)/4 (birim daire)
• ¼ dairenin yarıçaplarını kareye ¼ dairenin yarıçaplarını kareye tamamlayalım
tamamlayalım
• U(0,1) aralığında düzgün rassal U(0,1) aralığında düzgün rassal sayı üretme imkanımız var.
sayı üretme imkanımız var.
Bu durumda algoritma;
Bu durumda algoritma;
• (0,1) aralığında düzgün sayı üret(0,1) aralığında düzgün sayı üret X = üretilen sayı X = üretilen sayı
• (0,1) aralığında yeni bir düzgün sayı üret(0,1) aralığında yeni bir düzgün sayı üret Y Y = üretilen sayı= üretilen sayı
• (x,y) sayı çiftine sahibiz(x,y) sayı çiftine sahibiz
• xx22+y+y2 2 1 ise (x,y) noktası çeyrek daire içinde bir noktadır.1 ise (x,y) noktası çeyrek daire içinde bir noktadır.
BENZETİM
BENZETİM
BENZETİM BENZETİM
• nn11= n= n11+1+1 nn11 : : daire içine düşen nokta sayısı daire içine düşen nokta sayısı
• n= n+1 n= n+1 n :n : kare içine düşen nokta sayısı kare içine düşen nokta sayısı
• 1-4 arasındaki işlemleri sırasıyla n kez tekrarla.1-4 arasındaki işlemleri sırasıyla n kez tekrarla.
• nn11/n oranını bul./n oranını bul.
(Taralı alan) (Taralı alan) / / (karenin alanı) ~ n (karenin alanı) ~ n
ii/ n / n
Kenarları birim uzunlukta olan bir kare düşününüz. Bu kare Kenarları birim uzunlukta olan bir kare düşününüz. Bu kare içinde rassal seçilen A ve B noktaları olsun. A ve B arası içinde rassal seçilen A ve B noktaları olsun. A ve B arası
d uzunluğundadır. d’nin 0.8’den küçük olma olasılığı nedir?
d uzunluğundadır. d’nin 0.8’den küçük olma olasılığı nedir?
Açıklama:
Açıklama: Monte Carlo tekniğiyle rassal olarak 1000 adet Monte Carlo tekniğiyle rassal olarak 1000 adet A ve B noktaları üreterek d’nin 0.8’den küçük olma A ve B noktaları üreterek d’nin 0.8’den küçük olma olasılığını bulunuz. Kullanacağınız yaklaşımı açıklayarak, olasılığını bulunuz. Kullanacağınız yaklaşımı açıklayarak,
akış şemasını çiziniz.
akış şemasını çiziniz.
BENZETİM BENZETİM
ÖRNEK PROBLEM ÖRNEK PROBLEM
BENZETİM
BENZETİM
u1 ~ u (0,1) üret ve x1=u1 u2 ~ u (0,1) üret ve y1=u2 u3 ~ u (0,1) üret ve x2=u3
u4 ~ u (0,1) üret ve y2=u4
D<0.8 N=1000
N=N+1 D=√(x2 – x1)2+(y1 – y2)2
N1/ N hesapla
Hayır Evet
BAŞLA
N1= N1+1
DUR
Evet Hayır
BENZETİM
BENZETİM
Özel Amaçlı Benzetim Dilleri İle Genel Özel Amaçlı Benzetim Dilleri İle Genel Amaçlı Dillerin Karşılaştırılması:
Amaçlı Dillerin Karşılaştırılması:
• Bir benzetim çalışmasında verilmesi gereken kararlardan Bir benzetim çalışmasında verilmesi gereken kararlardan birisi, uygun programlama dilinin seçimidir. Aşağıda birisi, uygun programlama dilinin seçimidir. Aşağıda belirtilen avantajlardan dolayı benzetim dili kullanımı belirtilen avantajlardan dolayı benzetim dili kullanımı yararlı olacaktır.
yararlı olacaktır.
1)1) Benzetim dilleri kullanılarak programlama zamanı Benzetim dilleri kullanılarak programlama zamanı azaltılır. Modelin programlanmasında gerekli özelliklerin azaltılır. Modelin programlanmasında gerekli özelliklerin birçoğu benzetim dilinde mevcuttur.
birçoğu benzetim dilinde mevcuttur.
2)2) Benzetim modelleri benzetim dili ile kodlandığında Benzetim modelleri benzetim dili ile kodlandığında değiştirilmesi kolaydır.
değiştirilmesi kolaydır.
BENZETİM
BENZETİM
3)3) Benzetim dili kullanıldığında, programlama hatasını Benzetim dili kullanıldığında, programlama hatasını bulmak daha kolaydır. Bu programlarda hata türleri bulmak daha kolaydır. Bu programlarda hata türleri belirlenmiş ve kodlanmıştır.
belirlenmiş ve kodlanmıştır.
4)4) Çoğu benzetim dili, programın çalışması sırasında dinamik Çoğu benzetim dili, programın çalışması sırasında dinamik depolama özelliğine sahiptir. Bu durum, özellikle büyük depolama özelliğine sahiptir. Bu durum, özellikle büyük boyutlu problemlerin çalıştırılmasında, önemlidir.
boyutlu problemlerin çalıştırılmasında, önemlidir.
BENZETİM
BENZETİM
•
Diğer taraftan, birçok benzetim modeli Diğer taraftan, birçok benzetim modeli genel amaçlıgenel amaçlı dillerle dillerle yazılır. Bunları kullanmanın avantajları ise;yazılır. Bunları kullanmanın avantajları ise;
1.1. Birçok analist, genel amaçlı dilleri bilmektedir. Aynı Birçok analist, genel amaçlı dilleri bilmektedir. Aynı durum, benzetim dilleri için geçerli değildir.
durum, benzetim dilleri için geçerli değildir.
2.2. FORTRAN, BASIC, PASKAL veyaFORTRAN, BASIC, PASKAL veya C C hemen hemen hemen hemen her bilgisayarda bulunabilir. Ancak, benzetim diline her bilgisayarda bulunabilir. Ancak, benzetim diline erişim bu kadar kolay değildir. Benzetim dilinin erişim bu kadar kolay değildir. Benzetim dilinin kullanılacağı bilgisayara göre (mainfrome, micro kullanılacağı bilgisayara göre (mainfrome, micro
computer) kodlamada düzeltmeler yapmak gerekebilir.
computer) kodlamada düzeltmeler yapmak gerekebilir.
BENZETİM
BENZETİM
3. Genel amaçlı dillerle çok iyi yazılmış birprogramın 3. Genel amaçlı dillerle çok iyi yazılmış birprogramın çalışma zamanı, benzetim dili kullanılarak yazılmış çalışma zamanı, benzetim dili kullanılarak yazılmış
programın çalışma zamanından daha az olabilir. Ancak, programın çalışma zamanından daha az olabilir. Ancak, günümüzde bilgisayar teknolojisindeki hızlı gelişimden günümüzde bilgisayar teknolojisindeki hızlı gelişimden dolayı bu faktörün önemi azalmıştır.
dolayı bu faktörün önemi azalmıştır.
4.4. Genel amaçlı diller, benzetim dillerine nazaran Genel amaçlı diller, benzetim dillerine nazaran programlamada büyük esneklik sağlar. Örneğin, karmaşık programlamada büyük esneklik sağlar. Örneğin, karmaşık hesaplamalar için benzetim dilleri uygun değildir.
hesaplamalar için benzetim dilleri uygun değildir.
BENZETİM
BENZETİM
BENZETİM YAZILIMLARININ BENZETİM YAZILIMLARININ SINIFLANDIRILMASI
SINIFLANDIRILMASI
Benzetim yazılımları; diller ve simülatör’ler olmak üzere iki Benzetim yazılımları; diller ve simülatör’ler olmak üzere iki
sınıfa ayrılır.
sınıfa ayrılır.
1) Benzetim Dili:
1) Benzetim Dili: Çeşitli uygulamalar için gerekli (kodlama) Çeşitli uygulamalar için gerekli (kodlama) özelliklerine sahip olabilen, genel bir bilgisayar paketidir.
özelliklerine sahip olabilen, genel bir bilgisayar paketidir.
• Örneğin Örneğin ; SIMAN ve SLAM II, konveyarler ve otomatik ; SIMAN ve SLAM II, konveyarler ve otomatik yönlendirme araçları için üretim modüllerine sahiptir.
yönlendirme araçları için üretim modüllerine sahiptir.
• Bir benzetim modelinin programlanmasında, kullanılan dilin Bir benzetim modelinin programlanmasında, kullanılan dilin modelleme yapısı kullanılır.
modelleme yapısı kullanılır.
• Benzetim dilleri değişik özellikteki sistemleri modelleme yeteneğine Benzetim dilleri değişik özellikteki sistemleri modelleme yeteneğine sahip olmalıdır.
sahip olmalıdır.
BENZETİM
BENZETİM
• En büyük dezavantajı (simulator’a göre); programlamayı En büyük dezavantajı (simulator’a göre); programlamayı yapabilecek bilgiye sahip olunmasını gerektirmesi ve
yapabilecek bilgiye sahip olunmasını gerektirmesi ve
• Karmaşık sistemlerin modellenmesinde kodlamanın ve Karmaşık sistemlerin modellenmesinde kodlamanın ve programın doğruluğunun belirlenmesinin uzun zaman programın doğruluğunun belirlenmesinin uzun zaman almasıdır.
almasıdır.
BENZETİM
BENZETİM
2) Simülatör:
2) Simülatör: Belirli sistemlerin benzetimini yapabilen bir Belirli sistemlerin benzetimini yapabilen bir bilgisayar paketidir. Simulatör kullanıldığında, modelin bilgisayar paketidir. Simulatör kullanıldığında, modelin kodlamasına gerek kalmayabilir veya çok az ihtiyaç duyulur.
kodlamasına gerek kalmayabilir veya çok az ihtiyaç duyulur.
• Üretim, bilgisayar ve haberleşme sistemlerinin belirli tipleri Üretim, bilgisayar ve haberleşme sistemlerinin belirli tipleri için piyasada çeşitli simülatör’ler vardır.
için piyasada çeşitli simülatör’ler vardır.
• Simulatör’lerde; bir sistemin benzetimi menüler ve grafikler Simulatör’lerde; bir sistemin benzetimi menüler ve grafikler yardımı ile gerçekleştirilir.
yardımı ile gerçekleştirilir.
BENZETİM
BENZETİM
BENZETİM BENZETİM
Sistemlerin benzetimini Sistemlerin benzetimini yaparken simülatör
yaparken simülatör
kullanmanın avantajları kullanmanın avantajları
ve dezavantajları ve dezavantajları
şunlardır.
şunlardır.
Avantajları:
Avantajları:
• Benzetim modelinin simulatör ile kodlama zamanı, Benzetim modelinin simulatör ile kodlama zamanı, benzetim diline göre çok azdır.
benzetim diline göre çok azdır.
• Bir çok simulatör sistemlerle ilgili özel modelleme yapısına Bir çok simulatör sistemlerle ilgili özel modelleme yapısına sahiptir. Bu özellik, programlama bilgisine sahip olmayan sahiptir. Bu özellik, programlama bilgisine sahip olmayan kişilerin simulatör’ü tercih etmesini sağlamaktadır.
kişilerin simulatör’ü tercih etmesini sağlamaktadır.
Dezavantajları : Dezavantajları :
• Belirli sistemler için geliştirildikleri için kullanım alanları Belirli sistemler için geliştirildikleri için kullanım alanları kısıtlıdır.
kısıtlıdır.