17 May 2018

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


Predatory-Prey atau Wolf Sheep Simple Model dari NetLogo


Yanu E. Prasetyo
yepw33@mail.missouri.edu 

Ada tiga tahapan dalam membuat Agent-Based Models (ABM)*. Pertama adalah tahap perancangan model (designing model). Pada tahap ini kita harus menentukan elemen atau komponen apa saja yang ada di dalam model kita. Kedua, membangun model (building model). Setelah mengetahui setiap komponen dan elemen yang diperlukan, kita bisa mulai menuangkan dalam model konseptual dan membuat obyek komputasinya. Ketiga, uji coba model (examining model). Pada tahap ini kita akan melakukan uji coba dengan menjalankan model dan menganalisa atau menginterpretasikan hasilnya.

Sebagai latihan awal, kita akan mencoba membangun (meniru) sebuah model sederhana dari Wilensky & Rand (2015) yang diberi nama “Wolf Sheep Simple Model”. Pertanyaan dasar dari “Wolf Sheep” model ini adalah “Bagaimana perubahan tingkat populasi dari dua spesies (serigala dan domba) yang tinggal bersama dalam satu habitat (ekosistem alam)”. Meskipun model sederhana ini hanya memuat dua spesies, namun model ini dapat dikembangkan lebih lanjut untuk melihat dinamika hubungan antara dua atau lebih entitas, misalnya kompetisi antar perusahaan dalam merebut konsumen, kompetisi partai politik dalam pemilu, penyebaran virus dalam sistem komputer, dan lain sebagainya. Untuk merancang, membangun, dan menguji model ini kita akan menggunakan program komputer NetLogo.   


Merancang Model (Designing Model)
Ada banyak cara dalam merancang model. Tergantung pada tipe fenomena yang ingin dimodelkan, tingkat pengetahuan perancang terhadap substansi modelnya, hingga pada gaya permodelan masing-masing yang mungkin berbeda (modeling style). Namun demikian, setidaknya terdapat dua jenis permodelan utama: pemodelan berbasis fenomena (phenomena-based modeling) dan pemodelan eksploratif (exploratory modeling). Dalam pemodelan berbasis fenomena, kita harus menentukan pola-pola yang mendasari fenomena tersebut. Sebagai contoh, pola segregasi sosial yang ada di perkotaan. Misalnya tipe pemisahan pemukiman orang kaya, kelas menengah, dan pemukiman penduduk miskin di perkotaan selalu terpisah satu sama lain dengan pola-pola tertentu. Pola segregasi inilah yang kita sebut sebagai pola dasar atau pola referensi (reference pattern). Tujuan dari pemodelan berbasis fenomena semacam ini adalah untuk merepresentasikan pola-pola dasar dari fenomena yang diteliti.

Berbeda dengan pemodelan berbasis fenomena, dalam pemodelan eksploratif kita juga bisa menciptakan agen lengkap dengan perilaku mereka untuk kemudian diamati seperti apa pola-pola yang muncul dalam model tersebut (misalnya dengan melihat pola-pola yang dihasilkan oleh selular automata). Dengan kata lain, jika dalam pemodelan berbasis fenomena kita memulai dengan pertanyaan spesifik seperti “bagaimana pola segregasi pemukiman antara orang kulit putih dan kulit hitam terbentuk di perkotaan Amerika?”, maka pada pemodelan eksploratif kita bisa memulai dengan pertanyaan yang sangat umum, misal “bagaimana perilaku koloni semut dalam mendapatkan dan mengumpulkan makanan?” atau “bagaimana sistem eknomi pasar bekerja?” dan lain sebagainya.

Dalam proses perancangan model, kita juga bisa menggunakan dua pendekatan yang berbeda. Pendekatan pertama disebut dengan perancangan top-down, dimana kita menyusun setiap detil rancangan – mulai dari tipe agen yang akan dibuat, lingkungan dimana agen tinggal, serta aturan dalam berinteraksi di dalamnya – secara runut dan menyeluruh dari sejak awal (single line of code). Sebaliknya, jika kita ingin merancang model secara lebih fleksibel dengan pertanyaan penelitian yang sangat umum, maka kita dapat menggunakan pendekatan perancangan buttom-up, dimana kita bisa menambahkan koding dalam prosesnya. Sebagai contoh, kita ingin melakukan pemodelan tentang bagaimana pasar jual beli dalam ekonomi bekerja. Maka kita memulai dengan membuat koding untuk pembeli dan penjual sebagai agen lengkap dengan karakteristik dan pola interaksinya. Namun kemudian, kita menyadari bahwa pembeli dan penjual saja tidak cukup, diperlukan agen lainnya – misalnya pedagang antara/broker – untuk mendapatkan model yang lebih lengkap. Maka kita bisa memasukkan agen baru dan lingkungan baru di tengah proses perancangan model tersebut.

Seringkali peneliti yang masih awam dengan pemrograma computer akan berkolaborasi dengan programmer untuk merancang modelnya. Namun demikian, kehadiran NetLogo telah mempermudah proses itu sehingga mereka yang awam dengan Bahasa pemrograman computer bisa dengan nyaman membangun modelnya sendiri. Baik pendekatan top-down maupun buttom-up dapat dikombinasikan dalam perancangan model menggunakan NetLogo. Dalam proses perancangan Agent-Based Model (ABM) menggunakan Netlogo ini, terdapat beberapa prinsip yang harus kita jalankan (ABM design principle). Pertama adalah mulai dengan model paling sederhana dan rancanglah model sesuai dengan pertanyaan penelitian yang ingin dijawab. “Everything should be made as simple as possible, but not simpler”. Begitu kira-kira prinsip dalam dalam memulai perancangan ABM. Kita harus memulai dengan seperangkat agen dan aturan main yang paling sederhana dan mendasar pada saat membangun model. Dari model sederhana ini kemudian terus dikembangkan hingga menjadi model yang lebih kompleks dan komprehensif.

Kedua, jangan pernah menambahkan apapun ke dalam model kita jika penambahan itu tidak membantu menjawab pertanyaan penelitian yang kita ajukan. Memang pada fase perancangan awal ini model kita akan menjadi sangat simplistic dan terlalu menyederhanakan fenomena sebenarnya di dunia nyata. Akan tetapi, simplifikasi ini menjadi penting dan berguna dalam proses pengembangan lebih lanjut. Sebab, dengan melakukan percobaan menggunakan seperangkat agen dan aturan main yang paling sederhana, kita akan mudah mendeteksi jika ada komponen dalam model kita yang tidak berfungsi (no effect) ketika kita menambahkannya. Jika kita mulai dengan sesuatu yang kompleks dan rumit, bisa jadi kita akan kesulitan mendeteksi komponen mana yang berpengaruh dan tidak berpengaruh, sehingga akan menyulitkan dalam melakukan interpretasi hasilnya. Memulai dengan model yang sederhana juga akan mengurangi ambiguitas, pengulangan, dan inkonsistensi dari model yang kita bangun. “Keeping the model simple, you make it both more understandable and easier to verify”.

Memilih dan Mengembangkan Pertanyaan Penelitian

Dalam Wolf Sheep model, peneliti memulai dengan pertanyaan tentang bagaimana perubahan tingkat populasi dari dua spesies yang tinggak bersama (coexist) dalam satu ekosistem sepanjang waktu? Kita akan melihat dan menguji apakah pertanyaan ini tepat dan sesuai degan paradigma ABM. Secara umum, ABM sangat bermanfaat untuk memodelkan interaksi antar entitas (agen) yang hasil interaksinya sulit untuk diprediksikan (unpredictable). ABM juga akan tepat dan solutif jika entitas yang ingin kita modelkan bersifat heterogen dan memiliki interaksi yang dinamis terhadap lingkungannya. Misalnya, binatang mengkonsumi makanan yang tersedia dari alam (contoh domba memakan rumput) dalam jumlah tertentu lalu mengkonversinya menjadi energi. Kita pastikan bahwa entitas binatang yang menjadi agen dalam model kita tersebut memiliki kemampuan dan kapasitas yang berbeda dalam mengkonsumsi makanan dari alam tersebut. Hal penting lainnya adalah kita harus memastikan bahwa agregat akhir dari model kita benar-benar tergantung pada hasil interaksi antar entitas tersebut dan lama waktu interaksinya (time dependent processes). Dalam Wolf Sheep model ini kita akan melihat simulasi interaksi antara pemangsa dan yang dimangsa (predator-prey) ditambah dengan jumlah konsumsi (rumput) yang diambil dari lingkungan dan dampaknya pada perubahan (naik-turun) populasi dua spesies tersebut sepanjang waktu.

Namun sebelum memulai perancangan, peneliti terlebih dahulu mencari literatur atau data-data empiris yang dianggap dapat mendukung model tersebut. Mereka harus mencari hasil riset untuk dijadikan parameter, apakah ada data tentang dua spesies yang hidup dalam satu area tertentu yang dapat dijadikan acuan awal? Akhirnya mereka menemukan sebuah contoh kongkrit dari studi tentang predator-prey di Isle Royale, sebuah wilayah kecil di Michigan, Amerika Serikat[1]. Studi ini melaporkan dengan sangat baik tentang dinamika jumlah populasi serigala dan rusa setiap tahunnya (lihat gambar 1).



Gambar 1. Grafik di atas menunjukkan jumlah populasi serigala dan rusa yang ada di Isle Royale dari tahun 1959 sampai dengan 2009. Hasil penelitian lapangan ini kemudian menjadi pola acuan dalam pengembangan Wolf Sheep model (Wilensky & Rand, 2015:163).

            
Seperti terlihat pada grafik 1 di atas, populasi serigala dan rusa di Isle Royale telah menunjukkan kemampuannya untuk hidup secara berkelanjutan selama lebih dari 50 tahun. Dari data terlihat bahwa ketika populasi rusa tinggi, maka populasi serigala rendah, demikian pula sebaliknya, ketika populasi serigala tinggi, populasi rusa berkurang drastis namun tidak sampai hilang sama sekali. Dengan data riil ini maka peneliti memiliki pola dan parameter dasar yang menunjukkan interaksi antara predator dan mangsanya pada lingkungan geografis tertentu. Karena pola predator-prey antara serigala dan rusa ini telah mapan dan menunjukkan pola dasar yang terukur, maka untuk kepentingan pemodelan, peneliti kemudian membangun model lain yang mirip, yaitu interaksi antara serigala dan domba. Pertanyaan penelitian kemudian dikembangkan menjadi: “bagaimana perubahan tingkat populasi antara dua spesies, serigala dan domba, yang tinggal bersama dan berinteraksi (predator-prey) dalam satu wilayah, dimana spesies kedua (domba) juga mengkonsumsi sumber daya lainnya dari alam sebagai makanan utamanya?”




[1] Laporan lengkap tentang riset ini dapat dilihat pada link berikut: http://isleroyalewolf.org/
*tulisan ini merupakan terjemahan bebas dari buku Uri Wilensky & William Rand (2015) berjudul " An Introduction to Agent-Based Modeling: Modeling Natural, Social, and Engineered Complex System With NetLogo", The MIT Press

No comments:

Post a Comment