MAKALAH Orgenes Tonga (P3500210006)
STUDI DAN IMPLEMENTASI PENGINTEGRASIAN NUMERIK MULTI DIMENSI MENGGUNAKAN METODE MONTE CARLO
A. PENDAHULUAN Banyak permasalahan dalam ilmu sains yang melibatkan integrasi. Terkadang hasil integrasi ini dapat dihitung secara langsung secara matematis, tetapi seringkali hanya dibutuhkan suatu angka pasti yang mendekati hasil integrasi yang sebenarnya. Cara penghitungan untuk mendapatkan angka yang mendekati hasil integrasi yang sebenarnya disebut dengan integrasi numerik. Ada beberapa metode integrasi yang dikenal, akan tetapi pada makalah ini hanya akan berfokus pada metode Monte Carlo. Semua metode yang berupa prosedur numerik dimana keluarannya tergantung setidaknya pada sebuah variabel bilangan acak bisa disebut sebagai metode integrasi Monte Carlo. Simulasi Monte Carlo adalah proses menurunkan secara acak nilai variabel tidak pasti secara berulang-ulang untuk mensimulasikan model. Metode Monte Carlo karena itu merupakan teknik stokastik. Kita dapat menemukan metode Monte Carlo diaplikasikan dalam berbagai bidang, mulai dari ekonomi sampai fisika nuklir untuk pengaturan lalu lintas aliran. Tentu saja cara aplikasinya berbeda dari satu bidang ke bidang lainnya, dan ada banyak sekali himpunan bagian Monte Carlo meskipun dalam satu bidang yang sama. Hal yang menyamakan semua itu adalah bahwa percobaan Monte Carlo membangkitkan bilangan acak untuk memeriksa permasalahan. Walaupun menggunakan bilangan acak, Monte Carlo mempunyai akurasi yang cukup tinggi karena mempunyai metode solusi berdasarkan pada dasar teori probabilitas dan statistik. Untuk menghitung nilai integral dengan menggunakan metode Monte Carlo dibutuhkan suatu pembangkit bilangan acak dimana terdapat masalah juga dalam bagaimana bilangan semu-acak yang dihasilkan oleh komputer dapat memenuhi kebutuhan tersebut. Berbagai penerapan dari pengintegralan dengan metode Monte Carlo, diantaranya: aproksimasi bilangan Pi, aproksimasi masalah pengintegralan numerik, aproksimasi masalah cardioids, model Ising dalam Fisika, fenomena partikel dimana Monte Carlo menghasilkan titiktitik pada ruang fase multipartikuler, dan lainnya.
Orgenes Tonga – Pengintegrasian Metode Monte Carlo
Page 1
B. PENGINTEGRASIAN METODE MONTE CARLO
1.
Sejarah Monte Carlo Ide awal dimulainya pencarian suatu metode pendekatan untuk mencari suatu solusi dalam
pemecahan masalah perlindungan radiasi dan jarak tempuh neutron, yang dicetuskan Enrico Fermi di tahun 1930-an. Pada saat itu para fisikawan di Laboratorium Sains Los Alamos sedang memeriksa perlindungan radiasi dan jarak yang akan neutron tempuh melalui beberapa macam material. Namun data yang didapatkan tidak dapat membantu untuk memecahkan masalah yang ingin mereka selesaikan karena ternyata masalah tersebut tidak bisa diselesaikan dengan penghitungan analitis. Lalu John von Neumann dan Stanislaw Ulam memberikan ide untuk memecahkan masalah dengan memodelkan eksperimen di computer, dimana metode tersebut dilakukan secara probabilitas. Karena takut hasil karyanya ditiru oleh orang lain, metode tersebut diberi kode nama dengan sebutan metode Monte Carlo. Nama Monte Carlo kemudian akhirnya menjadi populer oleh Enrico Fermi, Stanislaw Ulam, dan rekan-rekan mereka sesama peneliti fisika. Nama Monte Carlo merujuk kepada sebuah kasino terkenal di Monako. Di sanalah paman dari Stanislaw Ulam sering meminjam uang untuk berjudi. Kegunaan dari ketidakteraturan dan proses yang berulang memiliki kesamaan dengan aktivitas di kasino. Hal yang berbeda dari simulasi Monte Carlo adalah ia membalikkan bentuk simulasi yang umum. Metode ini akan mencari kemungkinan terlebih dahulu sebelum memahami permasalahan yang ada. Sementara umumnya menggunakan simulasi untuk menguji masalah yang sebelumnya telah dipahami. Walaupun pendekatan terbalik ini sudah ada sejak lama, namun pendekatan ini baru diakui setelah metode Monte Carlo populer. Dalam metode Monte Carlo menerapkan teknik yang disebut “Simulasi Monte Carlo” dan memiliki peranan yang sangat penting dalam pemecahan masalah melalui teknik computer karena simulasi Monte Carlo menggunakan angka acak untuk model semacam proses. Teknik ini bekerja sangat baik ketika proses adalah salah satu tempat probabilitas mendasar tetapi lebih sulit untuk menentukan hasilnya. Sebagian besar dari waktu CPU pada beberapa komputer tercepat di dunia dihabiskan untuk melakukan simulasi Monte Carlo karena kita bisa menuliskan beberapa hukum dasar fisika tetapi tidak dapat menyelesaikannya secara analitis sehingga diperlukan metode numeric seperti metode Monte Carlo untuk masalah kepentingan. Metode ini telah digunakan di bidang fisika, kimia fisika, dan lain-lain. Rand Corporation dan U.S. Air Force merupakan sponsor utama dalam pengembangan metode Monte Carlo pada waktu itu dan metode ini semakin berkembang di berbagai bidang. Pada tahun 1950-an, metode ini digunakan di Orgenes Tonga – Pengintegrasian Metode Monte Carlo
Page 2
Laboratorium Nasional Los Alamos untuk penelitian awal pengembangan bom hydrogen, dan kemudian sangat popular dalam bidang fisika dan riset operasi sampai saat ini. Teknik dalam metode simulasi Monte Carlo merupakan suatu teknik khusus dimana kita dapat membangkitkan beberapa hasil numerik tanpa secara aktual melakukan suatu tes eksperimen. Kita dapat menggunakan hasil dari tes sebelumnya yang pernah dilakukan untuk menentukan distribusi probabilitas dari parameter-parameter yang ditinjau dalam kasus tersebut. Kemudian kita menggunakan informasi ini untuk membangkitkan parameter-paramater data numerik. Dasar dari prosedur teknik simulasi Monte Carlo adalah membangkitkan bilangan acak semu. Menurut Kakiay (2004), metode Monte Carlo dikenal juga dengan istilah Sampling Simulasi atau Monte Carlo Sampling Technique. Metode monte carlo menggunakan data yang sudah ada (historical data). Metode monte carlo merupakan salah satu algoritma komputasi untuk mensimulasikan berbagai prilaku sistem fisika dan matematika, yang secara klasik penggunaan metode ini adalah untuk mengevaluasi integral tertentu (definit), terutama integral multidimensi dengan syarat dan batasan yang rumit. Menurut Subagyo, Asri dan Handoko (2000) Model Stochastic juga disebut model simulasi Monte Carlo dimana sifat – sifat keluaran (output) dari proses ditentukan berdasarkan, iterasi dan merupakan hasil dari konsep random (acak). Karena agoritma ini memerlukan perulangan (repetisi) dan perhitungan yang amat kompleks, metode Monte Carlo pada umumnya dilakukan menggunakan komputer, dan memakai berbagai teknik simulasi komputer. Algoritma Monte Carlo adalah metode monte carlo numeric yang digunakan untuk menemukan solusi problem matematis (yang dapat terdiri dari banyak variable) yang susah dipecahkan, misalnya dengan kalkulus intergral, atau metode numeric lainnya. Penggunaan metode Monte Carlo membutuhkan sejumlah besar angka acak sehingga metode ini, menggunakan pembangkitan bilangan acak semu (pseudorandom number generator) dengan menggunakan algoritma tertentu sesuai kebutuhan. Penggunaan metode Monte Carlo untuk mendapatkan solusi numeric dengan nilai estimasi yang paling mendekati dari yang diharapkan dengan cara bereksperimen melalui angka-angka acak yang dihasilkan RNG (Random Generator) dan teori probabilitas. Penggunaan pembangkitan bilangan acak akan lebih efektif digunakan dari pada tabel angka acak yang telah ada sebelumnya dan sering digunakan untuk pengambilan sampel statistik.
2.
Pengintegrasian Metode Monte Carlo Pada Perhitungan Integral Sebelum membahas mengenai algoritma metode Monte Carlo, akan diberikan beberapa teorema
pendukung dalam metode Monte Carlo. Orgenes Tonga – Pengintegrasian Metode Monte Carlo
Page 3
Nilai Rerata. Serangkaian nilai yang menyebar dalam suatu fungsi yang dapat dinyatakan sebagai luas daerah pada interval tertentu memiliki nilai rata-rata integral. Teorema 1 (Teorema Nilai Rerata untuk Integral): Jika kontinu pada , maka terdapat bilangan c dengan , sedemikian sehingga
Ini dapat ditulis dalam bentuk ekuivalen .
Artinya, perhitungan ini menunjukan bahwa luas daerah di bawah kurva adalah kali rerata .
Contoh 1. Misalkan . Carilah sehingga
! "
Solusi contoh 1 (solusi analitik). # $% $% & '" &
'" ! ! &! !"
%()*
**)+),* !
'" '" # &! &!
1 &! 0 -.$ 0 0 4 9 9 /2' &3'"! 56&77387""! 3"":'! ;
2 &3'"! 4 56&77387""! 9 3"":'! 9 ; >= ' = 8! = <
?:7'
Aturan Titik Tengah. Sebuah metode intuitif untuk menemukan daerah di bawah kurva @ adalah perkiraan bahwa daerah dengan serangkaian persegi panjang yang terletak di atas interval. AB B CEBD . Orgenes Tonga – Pengintegrasian Metode Monte Carlo
Page 4
Teorema 2 (Menghitung Titik Tengah): Anggap @ pada . Misalkan interval
merupakan bagian dalam n bagian interval AB B CEBD dari persamaan dengan F E . Dari
persamaan ruang node B 2G 4; F untuk k = 1, 2, …, n. Menghitung titik tengah untuk n bagian interval adalah H F IEBD B Ini dapat ditulis dalam bentuk ekuivalen H J K dimana, K IEBD B
E
Korollary: (Reminder untuk Titik Tengah): Menghitung titik E L F IBD B adalah suatu pendekatan numeric untuk integral, dan E
tengah
L F MN F
Akibatnya, jika O P 4 , maka terdapat nilai c dengan , sedemikian sehingga MN F
4 4 F '7
Algoritma Aturan Titik Tengah (untuk Menghitung Integral). Untuk aproksimasi integral E
H R B Q
BD
4
oleh sampling f(x), B 2G ; F untuk G ' S Q, dimana F
. E
Contoh 2. Misalkan 6. Gunakan aturan titik tengah untuk menenetukan aproksimasi integral 9
6 Solusi contoh 2 (solusi analitik)
Pembagian parsial daerah dibawah kurva, dipilih Q " Orgenes Tonga – Pengintegrasian Metode Monte Carlo
Page 5
Rerata dari TU UD V adalah K
E
R U R 6 ?:33 Q " BD
BD
Aproksimasi untuk integral
E
6 H J W R U X H J W R 6 X Q " 9
9
BD
BD
6 H J YKZ 9
6 H 7 " J ?:33 9
6 H 7 J ?:33 H [?73"3 Aproksimasi diperoleh dengan aturan titik tengah: Menggunakan Q " diperoleh luas H [?73"3"3'&
Menggunakan Q "" diperoleh luas H [?8"337 Menggunakan Q """ diperoleh luas H [?78[3
Menggunakan Q """" diperoleh luas H [?8& Algoritma Metode Monte Carlo (untuk aproksimasi integral). Metode Monte Carlo dapat digunakan untuk perhitungan numeric pada perkiraan nilai integral. Untuk fungsi satu variable, langkah-langkahnya sebagai berikut:
(i) (ii) (iii) (iv)
Pilih n titik secara acak 4 S E dalam interval [a,b]. Tentukan nilai rerata dari fungsi K E IEBD U
Hitung aproksimasi untuk integral H J K
Estimasi M\\]\ H ^
_K` _K` , E
dimana K 4 E IEBD 4 U . Estimasi error hingga mendekati nol
Contoh 3. Misalkan 6. Gunakan metode Monte Carlo untuk menenetukan aproksimasi
integral
9
6 Orgenes Tonga – Pengintegrasian Metode Monte Carlo
Page 6
Solusi contoh 3 (solusi analitik)
Pembagian parsial daerah dibawah kurva, dipilih Q " Rerata dari TU UD V adalah
E
R 6 ?3:3 K R U " Q BD
BD
Aproksimasi untuk integral E
6 H J W R U X H J W R 6 X Q " 9
BD
9
BD
6 H J YKZ H 7 " J ?3:3 9
6 H 7 J ?3:3 H [?["[[ Estimasi error: 0.699126, dan Actual (luas aproksimasi): 0.172166 Aproksimasi diperoleh dengan simulasi Monte Carlo: Menggunakan Q " diperoleh luas H [?["[7&&"
Menggunakan Q "" diperoleh luas H [?7&7&7'&77
Menggunakan Q """ diperoleh luas H [?7878&7
Menggunakan Q """" diperoleh luas H [?7'[':8"3
Orgenes Tonga – Pengintegrasian Metode Monte Carlo
Page 7
3.
Pengintegrasian Metode Monte Carlo Pada Aproksimasi Phi
Mari kita lakukan sebuah contoh sederhana dari sebuah simulasi Monte Carlo untuk menggambarkan teknik ini. Pertama, mari kita mempertimbangkan masalah berikut, kita ingin membuat sebuah simulasi yang akan memungkinkan kita untuk menemukan nilai pi. Kita akan melakukan ini dengan cara berikut: Anggap, sebuah persegi yang memiliki satu sudut pada asal sistem koordinat dan memiliki sisi panjang 1 satuan, itu jelas akan memiliki luas 1 satuan persegi. Sekarang perhatikan perhatikan seperempat lingkaran dalam dengan radius 1 - kita tahu bahwa daerah adalah pi/4. Kita bisa simulasi Monte Carlo untuk menemukan daerah relatif lingkaran dan persegi, dan kemudian kalikan luas lingkaran dengan 4 untuk menemukan pi. Secara khusus, cara kita akan menemukan luas lingkaran adalah perhatikan hal berikut: untuk titik (X,Y) yang berada di dalam lingkaran berjari-jari 1, jarak dari asal (X2 + Y2) akan kurang dari atau sama dengan 1. Kita dapat menghasilkan ribuan posisi acak (X,Y) dan menentukan apakah masing-masing berada di dalam lingkaran. Setiap kali berada di dalam lingkaran, kita akan menambahkan satu ke counter. Setelah menghasilkan sejumlah besar poin, rasio jumlah titik dalam lingkaran dengan jumlah total poin yang dihasilkan akan mendekati rasio luas lingkaran. Jadi nilai pi adalah sekitar 4 * (Jumlah Poin dalam lingkaran) / (Total Poin Generated)
4.
Pengintegrasian Metode Monte Carlo Pada Penentuan Iklim Global
Menentukan iklim global, ada beberapa tempat dimana simulasi Monte Carlo dapat digunakan. Secara khusus, akan membantu kita menentukan suhu rata-rata global dan jumlah sinar matahari yang jatuh ke dalam masing-masing band lintang. Untuk menentukan suhu rata-rata global, kita ingin rata-rata suhu masing-masing band lintang, tetapi jelas ada jauh lebih luas tanah di wilayah tersebut dari khatulistiwa ke lintang 10o daripada di sebuah band dari 80o ke kutub utara. Oleh karena itu untuk menentukan suhu rata-rata, kita akan mengukur suhu masing-masing band dengan fraksi dari luas daratan bumi di band itu. Kita dapat melakukan ini secara analitis menggunakan integrasi, tetapi ini juga bisa dilakukan dengan baik menggunakan metode Monte Carlo untuk Menentukan Fraksi dari Area di Band Latitude atau penentuan iklim global Program untuk menentukan nilai bilangan pi, dapat dimodifikasi untuk menentukan iklim global dengan upaya menghasilkan menghasilkan titik acak (X,Y,Z) dalam sebuah kubus sisi 1 unit. Selanjutnya kita akan menentukan apakah titik acak itu berada di permukaan bola berjari-jari 1 dengan menggunakan peintah program berikut: Rrand = Xrand^2 + Yrand^2 + Zrand^2...; CheckValue = Rrand <= 1,01 & Rrand> =. 99; ini akan menentukan apakah titik berada di permukaan bola. Selanjutnya, kita akan memeriksa apakah titik berada dalam setiap band lintang serta pada permukaan bola. Program ini akan kenaikan counter Orgenes Tonga – Pengintegrasian Metode Monte Carlo
Page 8
untuk setiap titik yang memenuhi kriteria tersebut. Pada akhirnya, kita dapat membagi bilangan dalam setiap band lintang dengan jumlah total poin yang ada pada permukaan untuk menemukan daerah di masing-masing band.
5.
Pengintegrasian Metode Monte Carlo Pada Model Ising
a.
Model Ising Satu Dimensi
Solusi exact (tepat) dari model Ising yang mungkin dalam 1 dan 2 dimensi dan dapat digunakan untuk menghitung eksponen kritis yang tepat untuk dua kelas universalitas yang sesuai. 1
2
N
Gambar1: Model Ising 1 dimensi dengan N pembagian Dalam satu dimensi, Hamiltonian Ising menjadi: e
e
UD
UD
a R bUUc dU dUc F R dU yang sesuai dengan spin (putaran) N pada baris. Kami akan menerapkan kondisi batas periodik pada spin sehingga dec d . Dengan demikian, topologi dari ruang spin adalah bahwa dari sebuah lingkaran.
Akhirnya, biarkan semua bagian setara, sehingga bUUc f b. Maka, e
e
UD
UD
a b R dU dUc F R dU Fungsi partisi ini kemudian menjadi q
s
gh F i R S R l mno Ik jkjkpq c`r Ikpqjkcjkpq t jk
js
Dalam rangka menentukan jumlah spin, mari kita mendefinisikan sebuah matriks P dengan elemen matriks: udvPvd w l mxojj c
uvPvw l mocr *
yzpz { `
*
uvPvw l mor *
uvPvw uvPvw l mo
Matriks P disebut matriks transfer. Dengan demikian, matriks P adalah matriks ' ' diberikan oleh Orgenes Tonga – Pengintegrasian Metode Monte Carlo
Page 9
P l mo l
mocr
l mo l mor
sehingga fungsi partisi menjadi gh F i R S Rud vPvd4 wud4 vPvdw S ude vPvde wude vPvd w* jk
R|d }Pe }d ~*
js
jq
TrPe Sebuah cara sederhana untuk melacak adalah diagonalize matriks, P. Dari
mocr l mo l
l mo l
+P I "
mocr
l mo 2 "; " " l mor
l mo " l mor
Yl mocr ZYl mor Z Yl mo ZYl mo Z " nilai-nilai eigen dapat dilihat l mo $%
F ^4
F l 9mo f Dimana c sesuai dengan pilihan + dalam ekspresi nilai eigen, dll. Trace dari Pe adalah
e TrYPe Z e c
Kami akan membahas dengan pendekatan termodinamika. Perhatikan bahwa c untuk setiap h,
e sehingga saat h , e c mendominasi . Dengan demikian, dalam batas ini, fungsi partisi memiliki
bentuk tunggal:
gh F i e c Dengan demikian, energi bebas per spin menjadi F i Gi ( c *
b Gi ( $%
F ^4
F l 9mo
dan magnetisasi menjadi * F Orgenes Tonga – Pengintegrasian Metode Monte Carlo
Page 10
( c*
F
F
F $%
F 4
F l 9mo
$%
F 4
F l 9mo
yang mana, F ", saat $%
F " dan
F ", itu sendiri lenyap. Jadi, tidak ada magnetisasi pada setiap suhu yang terbatas dalam satu dimensi, maka tidak ada titik kritis trivial.
b.
Model Ising Dua Dimensi
Pada model Ising, spin-spin atom sejumlah N tersusun di dalam kisi, dan dinyatakan dalam U ,
yang terdiri dari spin up dan spin down. Untuk sebuah sistem yang tergantung pada susunan berbalik
pada kisi dapat didefinisikan melalui Hamiltonian yang disimpulkan dari sifat-sifat seperti magnetisasi (magnetization) dan kerentanan (susceptibility). Ketika komponen dari sistem bergerak, akan terjadi
interaksi bU di antara elemen U dan dari sistem Hamiltonian. Konfigurasi semua elemen
AU CU diberikan oleh Hamiltonian:
a R bU U R U *********************************************** U
U
dimana
menyatakan jumlah semua tetangga terdekat dari pasangan spin. Ini berarti bahwa spin pada posisi ij hanya berinteraksi dengan spin pada posis i(j ± 1) dan (i ± 1)j. Diasumsikan kondisi batas periodik dalam model bahwa setiap pembalikan akan berinteraksi dengan empat spin lainnya terlepas dari posisi mereka pada kisi terbatas. Pemahaman tentang sistem yang dijelaskan akan mengacu pada gambar 2. Disini J dan u menyatakan kekuatan interaksi dan energi yang terlibat dalam magnetisasi dari kisi secara berturut-turut.
Dari Hamiltonian, dapat dihitung fungsi partisi yang dinyatakan oleh
Orgenes Tonga – Pengintegrasian Metode Monte Carlo
Page 11
R l mk *******************************************************************'* U
dimana seluruh partikel dalam kisi dijumlahkan. Dalam hal ini,
B
dengan k adalah konstanta
Boltzmann. Selanjutnya, probabilitas sistem ditentukan pada keadaan tertentu, dilambangkan S, dinyatakan oleh
l m ******************************************************************** Perhitungan kuantitas seperti magnetisasi dan kerentanan dilakukan dengan menggunakan persamaan yang telah dikenal dari fisika statistik, diantaranya:
untuk magnetisasi, L
(% R R U *******************************************************************7
U
untuk kerentanan, 4
L R WR U X L4 *******************************************************************[
U
untuk energi, M R a *******************************************************************:
untuk kapasitas panas, P R a 4 M 4 *******************************************************************3
Untuk partikel kisi dengan ukuran yang relatif kecil 20×20, akan menghasilkan proses komputasi untuk menghitung kuantitas sebanyak 2400 konfigurasi berbeda. Untuk keperluan ini, estimasi kuantitas dapat dilakukan dengan menggunakan metode Monte Carlo. Semua kemungkinan konfigurasi untuk setiap partikel pada spin ditentukan dengan menggunakan persamaan (3). Rasio probabiltas adalah
\
_ l mmY Z ******************************************************************8
Orgenes Tonga – Pengintegrasian Metode Monte Carlo
Page 12
dimana _ menyatakan konfigurasi setelah pembalikan spin. Spin dari partikel adalah \ atau \
tetapi lebih besar dari sebuah bilangan acak yang berdistribusi seragam antara 0 dan 1 yang memiliki kemungkian pembalikan. c.
Algoritma Metropolis
Algoritma Metropolis menghasilkan konfigurasi spin berdasarkan rantai Markov, sehingga fungsi
probabilitas U dari konfigurasi 5 mendekati distribusi seimbang U H l mk , dengan langkah sebagai berikut: (i)
Inisialisasi spin di kisi awal dengan semua spin down.
(ii)
Untuk tiap spin i di dalam kisi:
- Mencoba membuat konfigurasi baru dengan membalik spin U
- Melakukan perhitungan perubahan energi sistem a a-.) a(-- .
- Untuk a ", maka pembalikan diterima, konfigurasi baru diterima.
- Untuk a ", maka dibandingkan antara bilangan random terdistribusi seragam " dengan probabilitas transisi ¡ l m¢ , jika ¡ maka keadaan diterima. Untuk keadaan lain maka spin kembali ke keadaan awal.
Perhitungan ekspektasi besaran fisis O dengan sampling Metropolis menjadi ¥
£ R £¤ ¤D
dengan m adalah banyaknya sampling. Penghitungan a disetiap percobaan pembalikan spin, tidak dilakukan dengan menghitung semua interaksi, tetapi cukup dengan melihat tanda spin U dan menghitung jumlah tetangganya dan menghitung probabilitas transisi: ¡ ¦§ W'
bUD¨ R X U
dengan p adalah spin yang dikerjakan.
Orgenes Tonga – Pengintegrasian Metode Monte Carlo
Page 13
C. SIMULASI METODE MONTE CARLO DENGAN MATLAB
Implementasi simulasi metode Monte Carlo dengan algortima Metropolis dari sistem Ising dilakukan dengan menggunakan program Matlab (lihat Source Code). Untuk keperluan simulasi, dipilih kekuatan interaksi J = 1, konstanta Boltzmann, k = 1 dan grid 20 × 20. Hasil simulasi diberikan oleh gambar berikut:
Orgenes Tonga – Pengintegrasian Metode Monte Carlo
Page 14
D. SOURCE CODE KOMPUTER METODE MONTE CARLO
1.
Source Code Metode Monte Carlo dengan Matematica untuk Perhitungan Integral
Program Matematica (untuk perhitungan integral 1 dimensi) menggunakan monte carlo:
Program Matematica (untuk perhitungan integral 2 dimensi) menggunakan monte carlo:
Program Matematica (untuk perhitungan integral 3 dimensi) menggunakan monte carlo:
Orgenes Tonga – Pengintegrasian Metode Monte Carlo
Page 15
Program Matematica (untuk perhitungan integral 4 dimensi) menggunakan monte carlo:
Program Matematica (untuk perhitungan integral 5 dimensi) menggunakan monte carlo:
2.
Source Code Metode Monte Carlo dengan Matlab
Program untuk menentukan nilai Pi: % %
MonteCarloNilaiPi.m Program Matlab untuk mencari nilai Pi menggunakan bilangan acak % Orgenes Tonga, 31 Desember, 2011 Nrand = input('Berapa Banyak Bilangan Acak... '); NInside = 0; for nloops=1:Nrand Xrand = rand; % Menghasilkan titik acak XY Yrand = rand; Rrand = Xrand^2 + Yrand^2; % mencari jarak dari titik asal if (Rrand <= 1) NInside = NInside + 1; end end disp(['Generate Total: ' num2str(Nrand) ' di dalam titik: ' ... num2str(NInside)]); piapprox = 4*NInside/Nrand; disp([' Aproksimasi untuk pi = ' num2str(piapprox)]);
Orgenes Tonga – Pengintegrasian Metode Monte Carlo
Page 16
Program untuk menentukan nilai Pi (pengembangan): %
MonteCarloNilaiPi2.m % Optimisasi program Matlab untuk mencari nilai Pi menggunakan bilangan acak % Orgenes Tonga, 31 Desember, 2011 Nrand = 8192; % Ukuran terbesar dari array Matlab Nmax = input('Berapa banyak Loops (dari 8192 setiap bilangan acak) '); NTrand = 0; NInside = 0; for nloops=1:Nmax Xrand = rand(1,Nrand); % Menghasilkan 8192 titik scsk XY Yrand = rand(1,Nrand); Rrand = Xrand.^2 + Yrand.^2; % Mencari radius 8192 untuk semua titik acak CheckValue = Rrand<=1.; % Bernilai 1 jika benar dan 0 jika salah untuk setiap elemen NInside = NInside + sum(CheckValue); % Jumlah total dari titik di dalam NTrand = NTrand + Nrand; % Jumlah total dari titik yang dibuat end disp(['Total yang dibuat: ' num2str(NTrand) ' titik di dalam: ' ... num2str(NInside)]); piapprox = 4*NInside/NTrand; pierror = 4*sqrt(NInside)/NTrand; disp([' Aproksimasi untuk pi = ' num2str(piapprox) ... ' dengan error ' num2str(pierror)]);
Program untuk menentukan fraksi dari area di band lintang (iklim global): % MonteCarloIklimGlobal.m % Program untuk menentukan fraksi dari area di band lintang % Orgenes Tonga, 31 Desember, 2011 Theta1 = 0; Theta2 = 90; NSubDiv = 9; % Pembagian sembilang dari setiap 10 derajat dTh = (Theta2-Theta1)/NSubDiv; % Lebar setiap divisi (10 Derajat) ThLow = Theta1:dTh:Theta2-dTh; % Batas Bawah untuk setiap daerah ( 0,10,20..80) ThHigh = Theta1+dTh:dTh:Theta2; % Batas atas untuk setiap daerah (10,20,30..90) Nrand = 8192; % Jumlah titik untuk program Matlab edisi Student Nmax = input('Berapa banyak loops dari setiap nilai 8192 '); NTrand = 0; % Inisialisasi total jumlah titik yang dibuat NGoodPts = 0; % Inisialisasi total jumlah titik dalam bola NZone = zeros(1,NSubDiv); % Inisialisasi total jumlah titik dalam setiap zona T0 = clock; % Lacak waktu CPU (untuk tujuan referensi) for nloops=1:Nmax Xrand = rand(1,Nrand); % Menghasilkan titik XYZ dalam ruang Yrand = rand(1,Nrand); Zrand = rand(1,Nrand); Rrand = Xrand.^2 + Yrand.^2 + Zrand.^2; % Temukan jarak dari titik asal CheckValue = Rrand<=1.01 & Rrand>=.99; % lihat jika dalam permukaan bola NGoodPts = NGoodPts + sum(CheckValue); % Lacak dari total permukaan Lat = asin(Zrand)*180/pi; % Cari Latitude dari setiap titik for i=1:NSubDiv % deteksi melalui semua lintang Orgenes Tonga – Pengintegrasian Metode Monte Carlo
Page 17
NZoneCheck = Lat < ThHigh(i) & Lat >= ThLow(i); % Periksa jika dalam lintang NZoneCheck = NZoneCheck .* CheckValue; % dan di atas permukaan NZone(i) = NZone(i) + sum(NZoneCheck); % Jika demikian, tambahkan jumlah end NTrand = NTrand + Nrand; % jumlah total yang dibuat end T0 = clock - T0; % Waktu CPU pada akhir program disp(['Total dibuat: ' num2str(NTrand) ' Titik baik: '... num2str(NGoodPts) ' Detik: ' num2str(T0)]); fLatitude = NZone/NGoodPts; fError = fLatitude./sqrt(NZone); fActual = sin(ThHigh*pi/180.)-sin(ThLow*pi/180.); disp('Ringkasan untuk zona'); disp('Sudut bawah, sudut atas, fraksi simulasi di band, Ketidakpastian,'); disp(' Fraksi aktual (menggunakan Kalkukus)'); disp([ ThLow' ThHigh' fLatitude' fError' fActual']);
Program untuk Model Ising Dua Dimensi %% nama file: Ising2D.m %% program model ising 2 dimensi %% Koneksi dengan file: MonteCarloIsing2D.m function [M, num, E] = Ising2D(N,T) J = 1; % Kekuatan Interaksi(Joule) k = 1; % Joule pers per kelvin Ms = []; Es = []; %% Membangkitkan konfigurasi awal secara acak grid = (rand(N) > 0.5)*2 - 1; %% Membentuk sistem untuk bilangan tetap dari langkah for i=1:500, % Menghitung jumlah tetangga dari setiap sel neighbors = circshift(grid, [ 0 1]) + ... circshift(grid, [ 0 -1]) + ... circshift(grid, [ 1 0]) + ... circshift(grid, [-1 0]); % Menghitung perubahan dalam energi dari perputaran spin DeltaE = 2 * J * (grid .* neighbors); % Menghitung probabilitas transisi p_trans = exp(-DeltaE/(k * T)); % Menetukan tansisi yang akan muncul transitions = (rand(N) < p_trans ).*(rand(N) < 0.1) * -2 + 1; % Perform the transitions grid = grid .* transitions; % Menjumlah semua variabel M = sum(sum(grid)); E = -sum(sum(DeltaE))/2; % Menampilkan keadaan dari sistem figure(1) image((grid+1)*128); xlabel(sprintf('T = %0.2f, M = %0.2f, E = %0.2f', T, M/N^2, E/N^2)); set(gca,'YTickLabel',[],'XTickLabel',[]); axis square; colormap bone; drawnow; end
Orgenes Tonga – Pengintegrasian Metode Monte Carlo
Page 18
Program simulasi Metode Monte Carlo untuk Model Ising Dua Dimensi %% nama file: MonteCarloIsing2D.m %% program simulasi Monte Carlo untuk model ising 2 dimensi %% koneksi dengan file: Ising2D.m %% Konfigurasi awal n_grid = 20; % Ukuran grid Ms = []; Ts = []; Ns = []; Es = []; %% Loop Monte Carlo for k = 1 : 500 % Memilih temperatur T = rand()*5+1e-10; % Menyusun simulasi [M, N, E] = Ising2D(n_grid, T); % Merekam hasil Ms = [Ms M/(n_grid^2)]; Es = [Es E/(n_grid^2)]; Ns = [Ns N]; Ts = [Ts T]; end; %% Membangkitkan gambar % Energi versus Temperatur figure(2) plot(Es, Ts,'ro'); xlabel('Energi'); ylabel('Temperatur'); pbaspect([2 1 1]); print(gcf, '-depsc2', 'Ising2D-Energy'); % Magnetisasi versus Temperatur figure(3) plot(Ms, Ts,'bo'); xlabel('Magnetisasi'); ylabel('Temperatur'); ylim([-1.1 1.1]); pbaspect([2 1 1]); print(gcf, '-depsc2', 'Ising2D-Magnetization'); % Magnetisasi versus Energi figure(4) plot(Es, Ms, 'o', 'Color', [0 0.5 0]); xlabel('Energi'); ylabel('Magnetisasi'); pbaspect([2 1 1]); print(gcf, '-depsc2', 'Ising2D-MvsE');
Orgenes Tonga – Pengintegrasian Metode Monte Carlo
Page 19
REFERENSI
1. Kakiay, Thomas J., Sistem Simulasi, Andi Yogyakarta, Yogyakarta, 2004. 2. Subagyo., Asri., dan Handoko, Dasar – Dasar Operations Research, BPFE Yogyakarta, Yogyakarta, 2000 3. http://library.usu.ac.id/download/fkm/fkm-rozaini.pdf diakses tanggal 1 Mei 2011 4. Tobin Fricke. Monte Carlo investigation of the Ising model. http://web1.pas.rochester.edu/~tobin/notebook/2006/12/27/ising-paper.pdf 5. Matthias Reggentin, Monte Carlo Methods in Physics Ising model and Metropolis Algorithm, 2010 6. Introduction to Monte Carlo Simulation, http://physics.gac.edu/~huber/envision/instruct/MonteCar.html
Orgenes Tonga – Pengintegrasian Metode Monte Carlo
Page 20
TUGAS Model Matematika Lanjutan
STUDI DAN IMPLEMENTASI PENGINTEGRASIAN NUMERIK MULTI DIMENSI MENGGUNAKAN METODE MONTE CARLO (Pengintegrasian Metode Monte Carlo)
Oleh : Orgenes Tonga (P3500210006)
www.orgenestonga.blogspot.com
Program Studi Matematika Terapan Program Pascasarjana Universitas Hasanuddin 2011
Orgenes Tonga – Pengintegrasian Metode Monte Carlo
Page 21