20 May 2018

Merancang Agent-Based Model (ABM): Wolf Sheep Simple Model (Bag-2)

jumlah populasi serigala dan rusa yang ada di Isle Royale
dari tahun 1959 sampai dengan 2009
Sumber: http://isleroyalewolf.org/data/data/home.html

Artikel sebelumnya disini

Setelah memiliki pertanyaan penelitian yang cukup jelas dan didukung oleh data atau informasi sebelumnya, maka proses selanjutnya adalah menentukan siapa atau apa agen-agen yang akan disimulasikan dalam model kita? Sebagai salah satu komponen utama dalam ABM, cara kita mendefinisikan agen mutlak menjadi penting. Misalnya, apakah kita mendefinisikan agen sebagai satu kesatuan utuh, missal individu manusia, atau organ-organ pembentuk manusia atau sel-sel yang ada di dalam tubuh manusia? Kita harus memilih jenis dan level agen yang paling tepat untuk menjawab pertanyaan penelitian yang telah kita rumuskan sebelumnya. Demikian juga dalam hal pemilihan skala waktu (temporal scale), penting untuk memutuskan apakah aktivitas dari agen kita, misalnya serigala dan domba, dalam skala menit, jam, atau harian. Jika kita membuat aktivitas agen dalam bentuk harian, maka agen dan lingkungan lainnya juga harus berada pada skala aktivitas yang sama dalam simulasi pemodelan kita.


Meskipun ada kalanya, kita tidak yakin apakah komponen agen yang kita miliki sudah lengkap atau belum. Menghadapi persoalan seperti ini, ABM menyediakan solusi berupa pembuatan proto-agents, yaitu agen yang masih “setengah jadi”. Sebagai contoh, dalam hubungan predator (serigala) dan mangsa (rusa), terdapat entitas lain atau predator lain disamping serigala, yaitu pemburu (manusia). Peran pemburu ini tentu penting dalam ekosistem dan rantai makanana, namun kita tidak yakin apakah perannya demikian signifikan dalam menurunkan populasi rusa dalam ekosistem tersebut. Oleh karena itu, kita bisa membuat semacam proto-agent yang akan memiliki karakteristik dan kemampuan membunuh rusa secara acak (random) sebagaimana karakter manusia pemburu rusa tanpa harus menjadikannya sebagai agen penuh (full agent) dalam simulasi kita.
Dalam wolf sheep model ini, kita hanya memiliki tiga entitas, yaitu predator (serigala), mangsa (domba) serta satu agen statis (stationary agent) yaitu rumput yang dikonsumsi oleh domba dari lingkungan dimana mereka saling berinteraksi. Kita bisa saja menambahkan pemburu, kualitas tanah, pergantian musim, dan lain sebagainya ke dalam model kita. Namun, seperti prinsip perancangan ABM yang memulai dari pola paling sederhana, maka dengan hanya memilih tiga komponen atau agen utama tersebut akan jauh lebih dalam simulasi dan interpretasi hasilnya.

Merancang Properti Agen (Agent Properties)
Apa yang membedakan satu agen dengan agen lainnya adalah properti yang mereka miliki. Dengan kepemilikan properti yang berbeda ini, maka kita bisa menentukan bagaimana agen berinteraksi satu sama lain. Dalam Wolf sheep model, setiap serigala dan domba masing-masing memiliki tiga property. Pertama adalah tingkat energi (energy level). Energi disini bermakna tingkat “vitalitas” dari setiap agen. Pada level tertentu, tingkat energi ini dapat dikembangkan menjadi lebih kompleks semisal dengan memasukkan tingkat metabolisme serigala dan domba, kalori yang tersimpan, tingkat kelaparan, dan lain sebagainya. Namun untuk model dasar, semua properti itu disederhanakan dalam satu bentuk level energi agen saja.

Kedua adalah lokasi agen. Lokasi ini akan menunjukkan dimana posisi agen di dalam lingkungan artifisial yang akan dibuat. Ketiga adalah heading, yaitu properti yang akan menunjukkan kemana agen saat ini sedang dan akan bergerak. Lokasi dan heading ini dalam pengembangan selanjutnya dapat juga dikembangkan dengan menambahkan kecepatan bergerak yang berbeda untuk tiap agen atau kemampuan untuk bertahan hidup menghadapi predator. Akan tetapi, properti yang kompleks seperti itu diperlukan untuk menjawab pertanyaan yang kompleks pula. Jika pertanyaan kita sederhana – hanya ingin melihat tingkat populasi – maka penambahan properti tersebut dapat dilakukan secara bertahap.

Merancang Karakteristik Lingkungan

            Setelah menentukan tipe agen dan properti yang dimiliki, langkah selanjutnya adalah merancang karakteristik lingkungan atau setting lingkungan dimana para agen berinteraksi. Dalam wolf sheep model, entitas lingkungan yang dianggap paling mendasar dan sangat penting bagi keberlanjutan interaksi antara serigala dan domba adalah ketersediaan rumput sebagai makanan pokok domba. Tentu keberadaan atau ketiadaan rumput ini dalam kenyataannya dipengaruhi banyak faktor alamiah, seperti curah hujan, elevasi, kondisi air, dan lain sebagainya. Untuk keperluan model dasar, diperlukan simplifikasi pada semua faktor itu menjadi satu variable berupa jumlah rumput yang tersedia pada setiap titik. Keberadaan rumput ini akan menjadi pendorong atau alasan domba bergerak dari satu lokasi ke lokasi lainnya.

Merancang Perilaku Agen (Agent Behavior)
Perilaku agen penting untuk dideskripsikan, yaitu bagaimana mereka berinteraksi satu sama lain. Dalam model wolf sheep, serigala dan domba memiliki perilaku yang hampir sama, yaitu mereka bisa bergerak secara acak, bergerak maju, bereproduksi, dan mati. Namun serigala dan domba juga memiliki perbedaan, terutama dalam perilaku memakan. Domba memakan rumput, sedangkan serigala memakan domba. Perbedaan ini menjadikan pembeda antara serigala dan domba. Tentu saja pada kenyataannya perilaku domba dan serigala sangat kompleks. Mereka memiliki perbedaan kecepatan dalam berjalan atau berlari, perbedaan usia atau harapan hidup, mereka juga tidur dan berkelahi satu sama lain. Namun demikian, untuk model paling sederhana, maka perilaku dasar yang bisa diambil cukup empat hal: bergerak (moving), beranak (reproducing), makan (eating), dan mati (dying). Ditambah dengan satu perilaku dasar lingkungan (rumput) yaitu tumbuh (grow)

Merancang Skala Waktu (Time Step)
Setelah mengetahui pola perilaku setiap agen dalam model kita, maka diperlukan sebuah gambaran menyeluruh terkait dengan bagaimana seluruh interaksi dan perilaku tersebut ditampilkan dalam model, terutama menyangkut urutan waktu dalam setiap pergerakan agen tersebut. Dalam dunia nyata, pergerakan domba atau serigala tentu sulit diprediksi, namun demikian mereka memiliki pola umum yang bisa dijadikan rujukan dalam merancang time step.  Urutan perilaku yang tetap dan pasti (fixed order) tentu lebih mudah untuk menyederhanakan model, meskipun demikian, urutan tersebut harus tetap masuk akal, rasional dan tidak terlalu menyimpang dari kenyataan. Misalnya, setiap kali agen bergerak, maka mereka akan mengeluarkan energi (energinya berkurang), lalu mereka akan mengisi energi lagi dengan makan, sampai pada waktu tertentu energi mereka akan habis dan mati. Proses urutan waktu seperti ini menjadi latar pertimbangan dalam merancang skala waktu. Selain itu, setiap agen bergerak dan berpindah, maka lingkungan (jumlah rumput) juga akan berubah. Beberapa agen akan memiliki kemampuan reproduksi ketika memiliki tingkat energi pada level tertentu. Banyak sekali cara untuk merancang urutan waktu dan perilaku ini, namun untuk membuat model paling sederhana, kita cukup menggunakan asumsi dasar diatas: agen bergerak, mengeluarkan energi, mengisi energi, bereproduksi, agen mati. Ditambah, pada setting waktu tertentu rumput akan memiliki kemampuan untuk tumbuh. Demikian seterusnya.

Merancang Parameter Untuk Model
Untuk mengontrol model yang dibangun, diperlukan beberapa parameter untuk menguji beberapa kemungkinan yang akan dihasilkan dari kondisi agen dan lingkungan yang berbeda. Sebagai contoh, dalam wolf sheep simple model ini perancang menggunakan “jumlah serigala dan domba” sebagai salah satu parameternya. Dengan parameter jumlah awal serigala dan domba (yang memungkinan untuk diubah-ubah sesuai kebutuhan) ini, diharapkan model mampu menguji coba beberapa skenario dari kepadatan populasi yang berbeda. Parameter lainnya adalah energi yang diperoleh serigala dan domba dari setiap makanan yang dimakan. Berapa energi yang dikeluarkan dan diperoleh oleh setiap serigala untuk memakan domba, termasuk parameter untuk energi yang diperoleh domba untuk mendapatkan dan memakan rumput serta parameter pertumbuhan rumput itu sendiri. Kita bisa membuat setiap parameter tersebut secara kompleks dan heterogen, namun untuk simulasi model awal yang paling sederhana, kita akan membuat parameter tersebut bersifat homogen untuk semua agen dan lingkungan.

Merancang Pengukuran
Salah satu tahapan yang penting dalam perancangan ABM adalah menentukan pengukuran yang menjadi landasan pengembangan model. Sebagai contoh, dalam Wolf sheep model, pangukuran yang ingin dilakukan adalah mengukur jumlah populasi serigala dan domba sepanjang waktu. Dengan kata lain, perancang model ingin mengetahui jumlah populasi serigala dan domba pada waktu tertentu setelah mereka berinteraksi dalam lingkungan atau area tertentu. Waktu menjadi dimensi penting dalam pengukuran ini disamping aktivitas atau interaksi antar agen dan lingkungan. Tentu saja pengukuran lain juga dapat dikembangkan dalam model ini, namun model paling sederhana yang dapat diterapkan untuk tahap awal cukup dengan melihat dinamika populasi agen sepanjang waktu yang ditentukan.

Tabel 1. Ringkasan Perancangan Model Serigala-Domba (Wolf Sheep)
Pertanyaan penelitian:
Bagaimana dua spesies (serigala sebagai predator dan domba sebagai mangsa) tetap dapat tumbuh secara positif ditengah lingkungan geografis yang terbatas?

Tipe Agen:
Serigala, Domba, dan Rumput

Properti Agen:
Energi, Lokasi, Heading (serigala dan domba), jumlah rumput

Perilaku Agen:
Bergerak, Mati, Beranak (serigala dan domba), memakan domba (serigala), memakan rumput (domba), tumbuh (rumput)

Parameter:
Jumlah domba, jumlah serigala, energi untuk bergerak, energi yang didapat dari memakan rumput, energi yang didapat dari memakan domba, tingkat pertumbuhan rumput

Urutan waktu:
        Domba dan serigala bergerak
        Domba dan serigala mati
        Domba dan serigala makan
        Domba dan serigala beranak
        Rumput tumbuh

Pengukuran:
Populasi domba vs. waktu. Populasi serigala vs. waktu


(to be continued)

No comments:

Post a Comment