Minggu 13 MA2151 Simulasi dan Komputasi Matematika
10.2 Difusi
Difusi Panas Energi panas ditransfer oleh konduksi panas di dalam atau antar objek di mana terdapat perbedaan suhu. Partikel atau kelompok partikel dengan suhu yang lebih tinggi (lebih banyak energi kinetik) mentransfer sebagian dari energi mereka ke partikel dengan suhu yang lebih rendah (lebih sedikit energi kinetik) pada saat terjadi tabrakan. Ini disebut difusi energi. Akan dibangun model untuk difusi panas melalui lempengan logam yang tipis (Cunningham 2007).
Asumsi Beberapa simplifikasi: • Suhu logam ditentukan oleh suhu pada lapisan atas logam, sehingga lempengan dapat dimodelkan secara 2 dimensi. • Lempengan berada pada ruangan di mana lingkungan di sekitar lempengan memiliki suhu yang sama dengan lempengan tersebut. • Suhu berdifusi di dalam lempengan, tetapi keadaan di luar lempengan tidak mempengaruhi suhu.
Inisialisasi Kita dapat menginisialisasi setiap sel dengan suhu lingkungan (ambient), misalkan AMBIENT = 25 °C, kecuali untuk sel-sel panas dan dingin, misalkan HOT = 50 °C and COLD = 0 °C.
Inisialisasi (2)
Inisialisasi (3)
Ketetanggaan Ketetanggaan von Neumann
Ketetanggaan Moore
Model Model didasarkan pada Hukum Newton untuk pemanasan dan pendinginan yang menyatakan bahwa laju perubahan suhu suatu objek terhadap waktu sebanding dengan perbedaan antara suhu objek dengan suhu lingkungan. Dengan demikian, perubahan suhu suatu sel, Δsite, dari waktu t ke waktu t + Δt adalah parameter difusi (r) dikalikan jumlah beda suhu tetangga (neighbori) dan suhu sel (site): Suhu pada saat t + Δt adalah:
Parameter Difusi Koefisien difusi dapat berbeda untuk setiap tetangga. Namun demikian, jumlah koefisien untuk ke-9 sel dalam ketetanggaan haruslah 1.0 atau 100%. Contoh. Misalkan parameter difusi adalah 0.1 dan suhu dalam sel seperti dalam gambar berikut. Hitung suhu dalam sel tengah untuk iterasi waktu berikut.
Algoritma Fungsi Difusi
Kondisi Batas Untuk dapat mengaplikasikan algoritma difusi kita perlu memperluas batas dengan menambahkan 1 sel di setiap arah. Sel hasil perluasan tersebut disebut ghost cell. Beberapa cara perluasan: 1. Memberikan suhu yang sama untuk semua ghost cell. absorbing boundary condition 2. Menggunakan suhu tetangga terdekat untuk suhu di ghost cell. reflecting boundary condition 3. Menghubungkan north-south dan east-west sehingga diperoleh bentuk seperti donat. periodic boundary condition
Kondisi Batas (2)
Kondisi Batas (3)
Algoritma Reflecting Boundary Condition
Koordinat
Algoritma Difusi
Display Biasanya digunakan warna merah untuk panas dan biru untuk dingin. Digunakan model warna red-green-blue (RGB) color model, di mana ditentukan persentasi (bilangan antara 0.0 dan 1.0) dari red dan blue pada setiap sel.
Contoh Simulasi
10.3 Penyebaran Api
Penyebaran Api Akan dibangun 2D simulasi untuk penyebaran api. Teknik ini dapat dikembangkan untuk permasalahan lain yang melibatkan penyebaran seperti penyebaran penyakit menular dan distribusi polusi.
Model Suatu daerah dimodelkan secara dinamis dengan menggunakan n x n matriks. Setiap sel memuat nilai yang merepresentasikan keadaan dalam daerah yang bersesuaian. Suatu sel dapat memuat nilai 0 (EMPTY), 1 (TREE), atau 2 (BURNING) yang merepresentasikan sel kosong, sel dengan pohon yang tidak terbakar, dan sel dengan pohon yang terbakar. Digunakan ketetanggaan von Neumann dan periodic boundary condition.
Inisialisasi Sistem Untuk menginisialisasi sistem, didefinisikan 2 peluang berikut. • probTree — peluang suatu pohon terletak dalam sel. probTree adalah kepadatan pohon di awal simulasi. • probBurning — peluang suatu pohon dalam terbakar jika sel tersebut memuat pohon. probBurning adalah presentasi pohon yang terbakar di awal simulasi.
Aturan Penyebaran • Jika suatu sel kosong (nilai sel EMPTY) pada saat t, sel tersebut akan tetap kosong pada saat t+1. • Jika terdapat suatu pohon dalam sel (nilai sel TREE) pada saat t, pada saat t+1 pohon tersebut dapat terbakar atau tidak (nilai sel BURNING atau TREE), bergantung pada adanya api di sel tetangga atau adanya petir yang menyambar. • Sel yang memuat pohon yang terbakar (nilai sel BURNING) pada saat t akan selalu terbakar habis, meninggalkan sel kosong pada saat t+1 (nilai sel EMPTY)
Peluang Lainnya • probImmune — peluang imunitas suatu pohon terbakar. Jika pada saat t suatu sel memuat pohon (nilai sel TREE) dan terdapat api yang mengancam pohon tersebut, probImmune adalah peluang pohon tersebut tidak akan terbakar pada saat t+1. • probLightning — peluang petir menyambar suatu sel
Pohon Terbakar 1. Karena sel tetangga
2. Karena petir menyambar Petir dapat mengakibatkan suatu pohon terbakar jika dengan peluang yang merupakan hasil kali dari probLightning * (1 − probImmune).
Algoritma Penyebaran Api 1. Inisialisasi sistem 2. Perluasan batas berdasarkan Periodic Boundary Condition 3. Penyebaran api berdasarkan aturan penyebaran
Contoh Simulasi
Simulasi dengan parameter n = 50, probTree = 0.8, probBurning = 0.0005, probLightning = 0.00001, probImmune = 0.25, dan t = 50.
Contoh Simulasi 2
Contoh Simulasi 3
Contoh Simulasi 4
10.4 Pergerakan Semut
Masalah Semut mengkomunikasikan gerakan mereka ketika membawa makanan dengan meninggalkan jejak yang berupa bahan kimia pheromone. Semut yang lain dapat menemukan lokasi sumber makanan dengan mengikuti bau pheromone tersebut. Jumlah pheromone akan berkurang seiring waktu. Akan disimulasikan gerakan semut dengan adanya jejak pheromone dengan menggunakan cellular automata.
Langkah Pembuatan Model 1. Pengumpulan data 2. Pembuatan asumsi yang menyederhanakan 3. Penentuan variabel
Pengumpulan Data Observasi empirik: • Di setiap langkah, semut cenderung berbalik dan bergerak menuju arah di mana terdapat pheromone dalam jumlah yang banyak. • Apabila tidak ada semut di suatu lokasi, pheromone akan berkurang sampai kemudian habis. Untuk model yang profesional: Perlu dikumpulkan data eksak: • Jumlah rata-rata pheromone yang dikeluarkan seekor semut. • Laju peluluhan pheromone.
Asumsi yang Menyederhanakan • Semut hidup dalam suatu daerah berbentuk persegi. • Di setiap langkah, semut cenderung bergerak menuju sel tetangga yang kosong dan memuat pheromone dalam jumlah terbanyak. • Jika tidak memungkinkan untuk melakukan pergerakan, semut akan diam di tempat. • Untuk menghindari tabrakan, dilakukan strategi avoidance-or-wait. • Pada saat melakukan pergerakan, semut mengeluarkan pheromone. • Pheromone akan menghilang seiiring waktu. • Kita akan menginisialisasi dengan jejak lurus pheromone dalam jumlah yang bertambah banyak. • Kita tidak mempertimbangkan sumber makanan atau sarang semut.
Penentuan Variabel Setiap sel dipetakan pada suatu pasangan terurut yang memberikan informasi mengenai: • Banyaknya pheromone dalam sel • Ada atau tidaknya semut • Arah semut
Koordinat kedua berisi: Konstanta yang mengindikasikan tetangga von Neumann yang akan dituju semut (sebelum pergerakan) dan arah dari mana semut datang (setelah pergerakan). STAY menyatakan semut tetap berada dalam selnya pada suatu iterasi.
Contoh: (3,EMPTY), (0,SOUTH) Peluang seekor semut akan menempati suatu sel adalah probAnt
Kondisi Batas Biasanya digunakan absorbing boundary condition dengan batas memiliki nilai pheromone bilangan negatif, misal -0.01. Dengan demikian, semut tidak akan bergerak keluar dari daerah matriks persegi.
Penentuan Relasi dan Submodel • Pergerakan semut dalam satu langkah meliputi dua hal: sensing dan walking • Langkah pertama, semut memeriksa sel tetangga dan berbalik ke arah sel dengan pheromone terbanyak • Langkah kedua, jika dimungkinkan untuk bergerak tanpa bertabrakan dengan semut lain, semut akan pindah ke lokasi tersebut • Setelah reaksi semut (sensing dan walking), terjadi difusi pheromone • Ini merupakan simulasi tipe reaksi-difusi
Fungsi Sensing Sel tetangga adalah dalam arah von Neumann neighborhood: Utara, Timur, Selatan, dan Barat Aturan untuk fungsi sense: • Sel kosong tidak dapat melakukan sense dan tidak menunjuk pada arah manapun • Seekor semut tidak akan menghadap ke sel darimana ia baru datang • Seekor semut tidak akan menghadap ke sel batas • Seekor semut tidak akan menghadap ke sel yang memuat semut lain • Seekor semut berbalik ke arah sel tetangga (bukan sel seblum, sel yang berisi semut lain, atau sel batas) dengan pheromone terbanyak. Jika ada lebih dari satu sel, semut akan memilih secara random. • Jika tidak ada sel yang tersedia, maka semut tidak akan pindah
Algoritma Sense
Fungsi Walking Pada langkah berikutnya, jumlah pheromone akan berubah sebagai berikut: • Untuk sel yang tetap EMPTY, jumlah pheromone akan berkurang sebanyak EVAPORATE, tetapi tidak pernah negatif. • Seekor semut yang menghadap suatu sel, akan pindah ke sel tersebut, jika tidak ada semut lain dalam sel. Jika ada semut lain, semut akan tidak melakukan perpindahan. • Jika seekor semut meninggalkan sel yang memiliki pheromone di atas ambang batas THRESHOLD, jumlah pheromone bertambah sebanyak DEPOSIT. • Jika seekor semut tetap di suatu sel, jumlah pheromone tetap. • Jika seekor semut pindah ke sel lain, jumlah pheromone dalam sel baru tersebut tetap • Ketika semut pindah ke sel baru, semut tersebut akan menghadap ke arah sel asal.
Algoritma Walk
Algoritma
Hasil Simulasi Dengan parameter MAXPHER = 50.0, EVAPORATE = 1, DEPOSIT = 2, THRESHOLD = 0, n = 17, probAnt = 0.1, diffusionRate = 0.01, and t = 11.