Upload
others
View
43
Download
1
Embed Size (px)
Citation preview
ii
Pemodelan dan Simulasi Berbasis
Agen untuk Evakuasi Kebakaran pada
Gedung Bertingkat
Dewi Putrie Lestari
Ilmiyati Sari
Rifki Kosasih
Penerbit Sanga Sanga Grup
iii
Pemodelan dan Simulasi Berbasis Agen
untuk Evakuasi Kebakaran pada Gedung
Bertingkat
Penulis:
Dewi Putrie Lestari, Ilmiyati Sari, Rifki
Kosasih
ISBN No.: 978-602-50589-6-7
Editor:
Muhamad Wirawan Putra
Penyunting:
Ratna Juwita
Desain Sampul dan Tata Letak:
Dwi Yacita Listosari
Penerbit:
Sanga Sanga Grup
Redaksi:
Perumahan Bukit Rivaria Blok C4 No.11
Sawangan-Depok 16519
Email: [email protected]
Cetakan pertama, Desember 2020
Hak cipta dilindungi undang-undang
Dilarang memperbanyak karya tulis ini dalam
bentuk dan dengan cara apapun tanpa ijin
tertulis dari penerbit
iv
Kata Pengantar
Bismillahirrahmanirrahiim
Assalammu’alaykum warrahmatullahi wabarakatuuh
Alhamdulillahirabbil’aalamiin
Puji dan syukur penulis panjatkan kehadirat
Allah Yang Maha Kuasa karena hanya atas berkat dan
rahmat-Nya sajalah sehingga penyusunan buku ini
dapat terselesaikan.
Pertumbuhan penduduk yang pesat mengakibatkan
kebutuhan akan lahan semakin bertambah. Pembangunan
gedung bertingkat merupakan salah satu solusi untuk
kebutuhan lahan yang selalu tetap. Tempat tinggal
berupa apartemen dan rumah susun, gedung
perkantoran, pusat perbelanjaan sampai gedung
sekolah sekarang dibuat lebih dari satu lantai.
Solusi tersebut bukannya tidak menambah
masalah baru. Bencana seperti kebakaran di gedung
bertingkat menjadi masalah yang perlu dipikirkan
solusinya agar korban dapat diminimalkan. Namun,
simulasi penyelamatan diri ketika terjadi kebakaran
pada gedung bertingkat tidak efisien jika
dilakukan. Oleh karena itu, buku ini memaparkan
pemodelan dan simulasi berbasis agen untuk
mengetahui dampak dan rute terbaik untuk
menyelamatkan diri ketika kebakaran pada gedung
bertingkat terjadi. Simulasi ant colony, particle
swarm, dan cellular automata juga dihadirkan pada
buku ini.
Penulis mengucapkan terima kasih yang
sebesar-besarnya kepada semua anggota tim serta
pihak-pihak yang berperan dalam membantu
penyelesaian buku ini.
Penulis mengharapkan kritik dan saran sebagai
bekal penyempurnaan penulisan-penulisan
selanjutnya. Akhir kata, penulis berharap semoga
tulisan ini dapat bermanfaat dalam pengembangan
keilmuan Teknologi Informasi serta disiplin ilmu
lainnya.
v
Wassalammu’alaykum warrahmatullahi wabarakatuuh
Depok, November 2020
Penulis
vi
Daftar Isi
Halaman
Halaman Judul .................................. ii
Kata Pengantar .................................. iv
Daftar Isi ...................................... vi
Bab 1 Pendahuluan ............................... 1
1.1 Definisi dan Terminologi ............... 2
1.2 Pentingnya Menentukan Rute Evakuasi
Kebakaran pada Gedung Bertingkat ....... 4
1.3 Metode-Metode Penentuan Rute
Evakuasi Kebakaran ...................... 5
Bab 2 Pemodelan dan Simulasi Berbasis Agen
untuk Evakuasi Kebakaran .................. 10
2.1 Pemodelan dan Simulasi ................. 10 2.2 Pemodelan dan Simulasi Berbasis Agen ... 11 2.3 Perangkat Lunak untuk Simulasi
Berbasis Agen ......................... 16
2.4 Pemodelan dan Simulasi Berbasis Agen untuk Evakuasi Kebakaran dalam Gedung .. 19
Bab 3 Simulasi Berbasis Ant Colony ............. 25
3.1 Simulasi Jejak Feromon Gerombolan
Semut .................................. 27
3.2 Optimasi Ant Colony .................... 28 3.3 Algoritma Klaster-Semut ................ 32 3.4 Simulasi Klaster-Semut dengan Swarm ... 34 3.5 Pendekatan Berbasis Ant Colony
pada Masalah Rute Jaringan ............ 36
3.6 Pemisahan Pekerjaan pada Ant Colony ... 39
3.7 Kerja sama pada Semut Tentara ......... 42
3.7.1 Altruisme Semut Tentara ......... 42
3.7.2 Definisi Masalah ................ 43
3.7.3 Kriteria Penilaian untuk Memasuki
Kawasan Altruisme ............... 46
3.7.4 Kriteria Penilaian Pemicu
Pembentukan Rantai .............. 51
vii
3.7.5 Perubahan Strategi Berdasarkan
Jumlah Agen ..................... 55
3.7.6 Eksperimen Kooperatif ........... 55
3.7.7 Simulasi dengan Peran Tetap
Sesuai Ketentuan di Awal ........ 60
Bab 4 Simulasi Partikel Swarm .................. 61
4.1 Simulasi Boid-Boid dengan Swarm ........ 68 4.2 Swarm Chemistry ........................ 70 4.3 Optimasi Partikel Swarm ................ 74
4.3.1 Algortima Optimasi Partikel Swarm 75
Bab 5 Simulasi Cellular Automata ............... 80
5.1 Kelas Conway dengan Swarm ............. 90
Daftar Pustaka ................................. 96
1
Bab 1 Pendahuluan
Dengan berkembangnya kota-kota modern, semakin
banyak bangunan tinggi yang menjulang dibangun di
berbagai belahan dunia. Berikut ini adalah sepuluh
bangunan bertingkat tinggi di dunia, yaitu:
1. Menara Khalifa, Dubai, tinggi 828 m, Uni Emirat Arab;
2. Menara Shanghai Center, dengan tinggi 632 m,
Cina;
3. Abraj Al Bait, tinggi 601 m, Arab Saudi; 4. 101 pencakar langit, tinggi 509 m, Tionghoa
Taipei;
5. Pusat Keuangan Dunia Shanghai, tinggi 492 m,
Cina;
6. Pusat Perdagangan Internasional Hong Kong,
tinggi 490 m, Cina;
7. Kuala Lumpur, Menara Kembar Petronas, tinggi
452 m, Malaysia;
8. Menara Puncak Ungu Nanjing, tinggi 450 m, Cina; 9. Gedung Chicago Jiageweilai Group (menara
Sears), tinggi 443 m, Amerika Serikat;
10. Shenzhen KK100 (dahulu: KingKey Financial
Center, tinggi 441,8 m, China.
Menurut laporan tahunan CTBUH (Council on Tall
Buildings and Urban Habitat) menunjukkan bahwa pada
tahun 2015, 106 gedung bertingkat tinggi dengan
total ketinggian lebih dari 200 m di dunia selesai
dibangun.
Meskipun ketinggian dan jumlah gedung bertingkat
bartambah setiap tahun, metode evakuasi darurat
kebakaran tetap tidak berubah. Saat ini, evakuasi
gedung bertingkat terutama mengandalkan tangga
biasa. Ada juga cara evakuasi dengan lift dan
tangga.
Evakuasi dengan cepat sejumlah besar orang dalam
waktu singkat di gedung-gedung bertingkat telah
menjadi sebuah masalah di seluruh dunia yang sedang
dieksplorasi. Evakuasi dengan cepat orang-orang di
gedung bertingkat tinggi telah lama menjadi masalah
penting tetapi sulit dilakukan dengan
2
mempertimbangkan banyak faktor, mulai dari banyak
lantai, ketinggian dan orang-orang yang
terkonsentrasi pada tempat tertentu.
1.1 Definisi dan Terminologi
Menurut definisi National Fire Protection
Association (NFPA, 2012), bangunan bertingkat
tinggi didefinisikan sebagai bangunan yang
tingginya lebih dari 75 kaki (sekitar 23 m) dengan
ketinggian bangunan diukur dari tingkat terendah
akses kendaraan pemadam kebakaran ke lantai lantai
tertinggi yang bisa ditempati. Menurut Hall (2011),
penggunaan bangunan utama yang dapat diidentifikasi
untuk mengkategorikan jenis bangunan ini adalah
gedung perkantoran, gedung tempat tinggal (misalnya
hotel, gedung apartemen) dan fasilitas perawatan
kesehatan. Masing-masing kategori ini menampilkan
karakteristik yang berbeda dari sudut pandang
infrastruktur dan penduduk. Oleh karena itu,
analisis penggunaan gedung sangat penting untuk
memprediksi kemungkinan perilaku penghuni dan
memberikan desain keselamatan kebakaran yang
memadai. Faktanya, dinamika evakuasi mungkin secara
substansial dipengaruhi oleh infrastruktur dan
populasi yang mengungsi yang sedang
dipertimbangkan, misalnya kemampuan fisik penghuni,
keakraban penghuni dengan lingkungan, dll.
Meskipun peraturan bangunan menetapkan persyaratan
minimum untuk desain bangunan bertingkat tinggi,
fitur keselamatan hidup tambahan sering kali
diperlukan untuk mengurangi masalah yang berasal
dari kompleksitasnya dan kesulitan tambahan dalam
operasi pemadaman kebakaran dan penyelamatan.
Perspektif pedoman teknis internasional, misalnya,
NFPA101 di Amerika Serikat (NFPA, 2012), atau
Dokumen yang Disetujui The Building Regulation 2006
di Inggris adalah untuk memberikan informasi
tentang desain komponen jalan keluar (misalnya,
karakteristik geometris tangga) yang bisa
diaplikasikan untuk bangunan tinggi. Di sisi lain,
3
informasi lebih lanjut tentang masalah perilaku
yang terkait dengan kinerja jalan keluar selama
evakuasi gedung tinggi masih diperlukan.
Di Indonesia, Persyaratan teknis mengenai sistem
proteksi kebakaran pada bangunan gedung dan
lingkungan telah diatur pada Peraturan Menteri
Pekerjaan Umum nomor: 26/PRT/M/2008 tanggal 30
Desember 2008. Pada Bab I, bagian 1, pasal 1
diberikan pengerian mengenai sistem proteksi
kebakaran pada bangunan gedung dan lingkungan
antara lain:
1. Sistem proteksi kebakaran pada bangunan gedung dan lingkungan adalah sistem yang terdiri atas
peralatan, kelengkapan dan sarana, baik yang
terpasang maupun terbangun pada bangunan yang
digunakan baik untuk tujuan sistem proteksi
aktif, sistem proteksi pasif maupun cara-cara
pengelolaan dalam rangka melindungi bangunan
dan lingkungannya terhadap bahaya kebakaran
2. Bangunan gedung adalah wujud fisik hasil
pekerjaan konstruksi yang menyatu dengan tempat
kedudukannya, sebagian atau seluruhnya berada
di atas dan/atau di dalam tanah dan/atau air,
yang berfungsi sebagai tempat manusia melakukan
kegiatannya, baik untuk hunian atau tempat
tinggal, kegiatan keagamaan, kegiatan usaha,
kegiatan sosial, budaya, maupun kegiatan
khusus.
3. Perencanaan tapak adalah perencanaan yang
mengatur tapak (site) bangunan, meliputi tata
letak dan orientasi bangunan, jarak antar
bangunan, penempatan hidran halaman, penyediaan
ruang-ruang terbuka dan sebagainya dalam rangka
mencegah dan meminimasi bahaya kebakaran.
4. Sarana penyelamatan adalah sarana yang
dipersiapkan untuk dipergunakan oleh penghuni
maupun petugas pemadam kebakaran dalam upaya
penyelamatan jiwa manusia maupun harta benda
bila terjadi kebakaran pada suatu bangunan
gedung dan lingkungan.
5. Sistem proteksi kebakaran pasif adalah sistem
proteksi kebakaran yang terbentuk atau
4
terbangun melalui pengaturan penggunaan bahan
dan komponen struktur bangunan,
kompartemenisasi atau pemisahan bangunan
berdasarkan tingkat ketahanan terhadap api,
serta perlindungan terhadap bukaan.
6. Sistem proteksi kebakaran aktif adalah sistem
proteksi kebakaran yang secara lengkap terdiri
atas sistem pendeteksian kebakaran baik manual
ataupun otomatis, sistem pemadam kebakaran
berbasis air seperti springkler, pipa tegak dan
slang kebakaran, serta sistem pemadam kebakaran
berbasis bahan kimia, seperti APAR dan pemadam
khusus.
Buku ini difokuskan pada sistem proteksi kebakaran
aktif yaitu dengan membangun suatu sistem
pendeteksi kebakaran secara semi-otomatis maupun
otomatis. Buku ini dilengkapi juga dengan pencarian
rute evakuasi yang optimal sehingga meminimumkan
jumlah korban kebakaran.
1.2 Pentingnya Menentukan Rute Evakuasi Kebakaran Pada Gedung Bertingkat
Dengan pesatnya perkembangan ekonomi masyarakat,
proses urbanisasi semakin cepat. Area kota semakin
menurun, bangunan tinggi yang menutupi area dengan
tingkat volume yang lebih rendah dari fitur-fitur
besar bermunculan di kota. Statistik yang tidak
lengkap menunjukkan bahwa di Cina, pada tahun 2010,
bangunan dengan tinggi lebih dari 24 meter, ada
9.816 di Shanghai, 7.552 di Guangzhou, 5.725 di
Shenzhen, dan 5.591 di Beijing, masing-masing
menduduki peringkat ke-3, ke-5, ke-7, 10, dan 11
bangunan tinggi di dunia. Bangunan bertingkat dan
bangunan bertingkat super tinggi telah menyediakan
ruang kerja dan tempat tinggal yang luas, nyaman,
tetapi juga memiliki ancaman keselamatan kebakaran.
Kecepatan penyebaran api , tangga di gedung tinggi,
pipa, saluran dan sumur listrik dari poros
vertikal, jika pemrosesan partisi tahan api tidak
baik, saat kebakaran terjadi seperti cerobong asap
5
yang menjulang tinggi menjadi cara-cara penyebaran
api yang cepat.
Evakuasi gedung bertingkat tinggi sulit dilakukan
dengan lift karena lift tidak digunakan selama
kebakaran. Tangga adalah satu-satunya saluran untuk
evakuasi vertikal dalam upaya penyelamatan orang,
karena jarak evakuasi vertikal bangunan tinggi
memerlukan waktu evakuasi lebih lama. Saat terjadi
kebakaran dan gedung dalam keadaan padat penghuni,
maka kecepatan menuruni tangga lebih lambat karena
banyaknya penghuni gedung yang ingin menyelamatkan
diri.
Pemadaman kebakaran gedung tinggi itu sulit
dilakukan karena ketinggian gedung bisa puluhan
meter, bahkan ratusan meter. Begitu api menyala
dari luar, pemadaman api sangat sulit, terutama
karena petugas pemadam kebakaran sedang sulit untuk
menutup titik api. Kendaraan pemadam kebakaran
biasa terbatas dalam hal jumlah dan ketinggian.
Saat ini kendaraan pemadam kebakaran Cina memiliki
ketinggian maksimum 101 meter.
Semakin banyak perhatian diberikan pada keselamatan
perlindungan kebakaran gedung tinggi dan evakuasi
keselamatan kebakaran. Studi tentang evakuasi
gedung bertingkat tinggi, untuk meningkatkan
evakuasi yang aman dari kinerja gedung tinggi dan
mengurangi korban jiwa yang disebabkan oleh gedung
tinggi memiliki signifikansi realistis yang kuat.
1.3 Metode-Metode Penentukan Rute Evakuasi
Kebakaran
Sub bab ini mengulas serangkaian penelitian yang
telah dilakukan untuk menganalisis skenario
evakuasi gedung tinggi melalui pemodelan komputer.
Studi evakuasi paling terkenal yang tersedia dalam
literatur yang melibatkan evakuasi gedung tinggi
adalah evakuasi pada gedung World Trade Center
tahun 2001. Model evakuasi telah digunakan untuk
6
merekonstruksi proses evakuasi dan menilai
variabel kunci yang mempengaruhi kinerja jalan
keluar gedung.
Galea dkk. (2008) menggunakan gedung EXODUS untuk
simulasi evakuasi orang dari Menara Utara WTC.
Studi ini menggunakan data respon yang diperoleh
dari survivor accounts (Blake dkk, 2004) dan
populasi gedung tersebut berasal dari investigasi
formal yang dilakukan oleh National Institute of
Standards and Technology (Averill dkk, 2005).
Hasil dari model menunjukkan bahwa dampak petugas
pemadam kebakaran yang memasuki gedung terhadap
efisiensi evakuasi secara keseluruhan minimal.
Skenario hipotetis yang berbeda juga
disimulasikan, sehingga memungkinkan untuk menarik
kesimpulan, antara lain (1) pentingnya memiliki
tangga yang tersebar di dalam gedung, (2)
pentingnya memiliki distribusi yang seimbang dari
penghuni di tangga dalam kasus evakuasi gedung
bertingkat tinggi, (3) perubahan efisiensi
evakuasi di gedung-gedung bertingkat (efisiensi
evakuasi lantai rata-rata menurun terhadap
ketinggian). Pekerjaan simulasi juga menyoroti
tiga komponen fundamental evakuasi gedung tinggi
yang saat ini belum terwakili sepenuhnya dalam
model evakuasi, yaitu (1) dampak kelelahan, (2)
dampak dinamika kelompok, dan (3) dampak dinamika
evakuasi orang dengan kebutuhan khusus. Pentingnya
perilaku penghuni jenis ini di WTC dan efek
selanjutnya pada proses evakuasi telah dibahas
sepenuhnya oleh Shields dkk. (2009). Model
evakuasi perlu memperhitungkan kemungkinan
simulasi tidak hanya populasi campuran tetapi juga
dampak global yang mungkin ditimbulkannya terhadap
proses evakuasi, misalnya, kebutuhan penghuni
gedung akan bantuan, pembentukan kelompok yang
muncul dengan asistennya atau orang lain, dll.
Johnson (2005) melakukan studi ketika meninjau
model komputer yang ada dengan sudut pandang
kritis yang berasal dari evakuasi pada gedung WTC.
Johnson mencontohkan beberapa aspek yang perlu
diperhatikan dalam model evakuasi, seperti (1)
dampak masuk / keluarnya personel darurat, (2)
7
representasi dinamika kelompok yang lebih
kompleks, dan (3) dampak informasi bangunan dan
sistem manajemen tentang kemampuan pengungsi untuk
mengungsi.
Kuligowski dkk. (2011) menggunakan 4 model
evakuasi yaitu EXIT89 (Fahy, 1996), Simulex (IES
2001), ELVAC (Klote dan Alvord 1992) dan
buildingEXODUS (Galea et al. 2004) untuk
mensimulasikan berbagai skenario evakuasi
hipotetis terkait evakuasi di WTC. Ruang lingkup
studi ini adalah untuk memberikan konteks tambahan
yang dapat digunakan untuk memahami proses
evakuasi di WTC dan membandingkan kapabilitas
dengan menggunakan model yang berbeda. Para
peneliti berhasil menggunakan EXIT89 dan building
EXODUS untuk membuat model skenario di seluruh
menara WTC karena keduanya dapat mensimulasikan
evakuasi termasuk lebih dari 25.000 orang dan 110
lantai. Simulex memiliki jumlah lantai dan pintu
keluar maksimum yang terbatas, jadi Simulex
digunakan hanya untuk mensimulasikan skenario
evakuasi bertahap. Model ELVAC juga berhasil
digunakan untuk menghitung berapa banyak penghuni
yang bisa mencapai lantai dasar WTC dalam 16 menit
menggunakan elevator.
Beberapa studi tambahan menggunakan model evakuasi
untuk memperkirakan proses keluar di gedung
bertingkat tinggi telah diperkenalkan pada
berbagai artikel ilmiah. Pelechano dan Malkawi
(2008) mengkaji kesesuaian model fine network
dalam merepresentasikan evakuasi gedung tinggi.
Model yang dipilih sebagai studi kasus adalah
STEPS dan buildingEXODUS. Temuan utama difokuskan
pada kurangnya kemampuan prediksi dalam hal
perilaku manusia, dengan penekanan khusus pada
kebutuhan untuk mensimulasikan komunikasi antar
agen.
Wong dkk. (2005) melakukan studi menggunakan STEPS
(Simulation of Transient and Pedestrian movementS)
untuk mendemonstrasikan peningkatan efisiensi
evakuasi dari gedung bertingkat 100 lantai ketika
8
menerapkan strategi gabungan tangga dan lift.
Secara khusus, strategi yang digunakan termasuk
penggunaan sky-lobby dan elevator shuttle. Jumlah
total penghuni di gedung tersebut sekitar 21.000.
Geometri bangunannya sangat kompleks yang
dilengkapi dengan tiga anak tangga, empat lantai
perlindungan dan 14 elevator shuttle yang
menghubungkan lantai perlindungan dan lantai
bawah. Proporsi pengungsi yang menunggu lift
evakuasi di lantai pengungsian dikalibrasi melalui
penggunaan koefisien kesabaran dan perkiraan waktu
antrian. Hasil penelitian menunjukkan bahwa total
waktu evakuasi dapat dikurangi secara signifikan
tanpa prosedur yang rumit, namun menggunakan
strategi relokasi yang efisien dan sederhana. Wong
dkk. (2005) menunjukkan bahwa masih ada kebutuhan
untuk menyelidiki bangunan dengan ketinggian yang
berbeda, kapasitas elevator dan masuk lebih dalam
ke faktor perilaku yang mungkin. Oleh karena itu,
model evakuasi digunakan dalam kasus ini untuk
mengoptimalkan strategi keluar gedung bertingkat
tinggi, yang menunjukkan dampak dari rencana yang
memadai terhadap total waktu evakuasi.
Shen-Wen dan Wei-Jou (2011) menggunakan
buildingEXODUS untuk menyelidiki penggunaan lift
evakuasi di Taipei 101, gedung tertinggi kedua di
dunia. Dalam penelitian ini, buildingExodus
diadopsi untuk perhitungan evakuasi menggunakan
tangga dan perhitungan manual untuk menghitung
waktu evakuasi menggunakan elevator. Hasil
simulasi menunjukkan bahwa penggunaan elevator
sebagai metode evakuasi dapat membantu mengurangi
waktu evakuasi pada kondisi darurat bencana selain
kebakaran. Namun demikian, dalam kasus kejadian
kebakaran, evakuasi elevator kurang efektif karena
tata letak tertentu dari bangunan tersebut. Dalam
hal ini, penggunaan model evakuasi berguna untuk
menentukan komponen jalan keluar yang sesuai untuk
digunakan dalam kaitannya dengan karakteristik
spesifik bangunan yang sedang dipertimbangkan.
Bagian ini menyajikan seperangkat penggunaan model
evakuasi untuk memprediksi, membantu dan
9
menafsirkan desain keselamatan gedung bertingkat
tinggi. Ini menunjukkan bahwa model yang berbeda
dapat berhasil digunakan dalam kaitannya dengan
jenis bangunan dan variabel yang dipertimbangkan.
Namun demikian, model definitif tunggal untuk
simulasi masalah perilaku yang terkait dengan
gedung tinggi belum diidentifikasi. Model umumnya
menyajikan karakteristik yang berbeda dan mungkin
cocok untuk melakukan jenis studi yang berbeda.
Oleh karena itu, dalam kaitannya dengan
kompleksitas skenario yang sedang dipertimbangkan,
model yang berbeda dapat digunakan (secara
independen atau bersama-sama) untuk menggunakan
kemampuan prediktif masing-masing model sebaik
mungkin. Strategi ini sebelumnya telah berhasil
digunakan dalam konteks lain (misalnya terowongan
jalan raya (Ronchi 2012; Ronchi 2013).
10
Bab 2 Simulasi Dan Pemodelan Berbasis Agen Untuk
Evakuasi Kebakaran
Dalam paradigma ini, simulasi manusia atau hewan
dimodelkan sebagai agen, berinteraksi dengan
beberapa rekannya serta dengan lingkungannya.
Lingkungan, seperti dalam banyak sistem multi-agen,
memainkan peran kunci, oleh karena itu harus
diperhitungkan dengan cermat. Misalnya, penumpang
yang ingin meninggalkan bandara yang baru saja
terjadi gempa bumi, mencoba mencari jalan terpendek
ke pintu keluar, yang mungkin sebagian terhalang
oleh puing-puing. Ini hanya sebuah contoh skenario
- juga dicirikan sebagai sistem adaptif yang
kompleks - yang dapat diselidiki menggunakan
simulasi dan pemodelan berbasis agen. Ide inti di
sini adalah menggunakan simulasi pada agen untuk
menghasilkan fenomena yang harus dianalisis,
direproduksi, atau diprediksi. Sifat generatif,
pemodelan dari mulai masalah sederhana sampai
masalah kompleks dan simulasi memberikan potensi
besar untuk menangani masalah di mana pemodelan
konvensional dan paradigma simulasi mengalami
kesulitan menangkap fitur inti dari sistem asli.
2.1 Simulasi dan Pemodelan
Selama beberapa dekade, pengembangan, analisis, dan
eksperimen dengan model telah menjadi bagian dari
instrumen dasar pada semua domain sains dan teknik.
Pemodelan adalah pengembangan model sebagai
representasi dari suatu sistem. Simulasi dapat
diartikan sebagai percobaan atau pelaksanaan model.
Karena ide di balik pemodelan dan simulasi adalah
menggunakan model daripada sistem nyata atau
sebenarnya, sehingga korespondensi terbaik antara
yang pertama dan yang terakhir sangat penting. Oleh
karena itu, validitas adalah masalah utama. Tingkat
validitas yang dapat diterima tentu saja tergantung
pada tujuan model dan simulasi. Tujuan yang mungkin
adalah meningkatkan pemahaman tentang sistem asli,
11
mengoptimalkannya, atau memprediksi reaksi sistem
terhadap tindakan tertentu.
Ada beberapa pendekatan berbeda untuk pemodelan
yang menggunakan representasi formal dan metode
simulasi yang berbeda. Pilihan terbaik dari
paradigma pemodelan bergantung pada properti sistem
yang sedang diselidiki dan pada tujuan studi
simulasi. Paradigma yang berbeda dapat dicirikan
oleh representasi waktu yang mendasarinya (kontinu,
diskrit) atau granularitas elemen model
(makroskopis, mikroskopis).
2.2 Simulasi dan Pemodelan Berdasarkan Agen
Pemodelan dan simulasi berbasis agen (PSBA)
terkadang juga disebut simulasi multi-agen atau
simulasi berbasis multi agen. PSBA menerapkan
konsep sistem multi-agen ke struktur dasar model
simulasi.
Dalam PSBA, komponen aktif atau pengambil keputusan
dikonseptualisasikan sebagai agen, dimodelkan dan
diimplementasikan menggunakan konsep dan teknologi
terkait agen. Dengan demikian, seseorang dapat
mendefinisikan pemodelan berbasis agen (PBA)
sebagai representasi dari sistem orisinal atau
referensi yang dikonseptualisasikan sebagai sistem
multi-agen. Dalam teks ini digunakan istilah PSBA
untuk merujuk pada pemodelan umum dan paradigma
simulasi, yang menggunakan PBA untuk tugas khusus
pemodelan dan simulasi berbasis agen (SBA) untuk
pelaksanaan model.
Ide inti dari PSBA adalah, dari pada hanya
menggambarkan fenomena global secara keseluruhan,
fenomena ini dapat dihasilkan dari tindakan dan
interaksi sistem multi-agen. Sifat bottom-up ini
adalah fitur terpenting dari PSBA (Epstein 2007).
Dengan demikian, PSBA sangat cocok untuk analisis
sistem adaptif yang kompleks dan fenomena yang
muncul dalam ilmu sosial, lalu lintas, biologi, dan
lain-lain. Fenomena yang muncul tersebut adalah
12
pola yang “tidak terduga” atau perilaku global yang
tidak diturunkan dari sifat-sifat konstituennya.
Dengan demikian, struktur atau perilaku yang muncul
dihasilkan oleh entitas yang berinteraksi secara
lokal, meskipun faktanya hal itu hanya dapat
diamati pada skala makroskopis global, sehingga
tidak dapat disimpulkan secara langsung dari
perilaku lokal. Pada pemodelan berbasis agen (PBA),
entitas yang berinteraksi ini secara alami dapat
dikaitkan dengan agen yang menghasilkan fenomena
dari tindakan dan interaksi tingkat rendah.
Fenomena ini sangat berharga karena membantu
memahami penyebab dan keadaan kemunculannya.
Untuk membuat model berbasis agen, tiga elemen
berikut harus ditangani secara eksplisit, yaitu
1. Himpunan agen adalah himpunan yang memiliki
elemen yang paling khas. Agen ini bersifat
otonom sehubungan dengan entitas lain dalam
lingkungan simulasi.
2. Spesifikasi interaksi agen yaitu interaksi
antara agen dengan agen dan interaksi antara
agen dengan lingkungan. Karena interaksi ini
bertanggung jawab untuk menghasilkan hasil
keseluruhan, desain dari semua aspek yang
terlibat menjadi sentral. Interaksi tidak perlu
secara eksplisit direpresentasikan, misalnya,
struktur organisasi. Sebaliknya, interaksi
mungkin terjadi secara implisit, seperti halnya
dengan interaksi stigmergik. Namun, dalam
simulasi berbasis agen yang diimplementasikan,
meskipun struktur organisasi mungkin tidak
begitu jelas, penting untuk dipertimbangkan
secara eksplisit.
3. Lingkungan simulasi, berisi semua elemen
lainnya, ysitu sumber daya, objek lain tanpa
perilaku aktif, serta properti global.
Berikut ini adalah ilustrasi tentang bagaimana
ketiga elemen tersebut saling terkait. Pehatikan
simulasi berbasis agen sederhana dengan predator
(serigala), mangsa (domba), dan beberapa sumber
daya yang berfungsi sebagai makanan untuk mangsa
13
(misalnya, rumput). Kumpulan agen di simulasi
berbasis agen ini adalah serigala dan domba.
Perilaku agen terdiri dari melakukan jalan acak,
sedangkan interaksi terjadi ketika dua agen cukup
dekat satu sama lain. Interaksi tersebut
diimplementasikan sebagai bagian dari perilaku
agen. Misalnya, jika serigala bertemu dengan domba,
serigala akan memakan domba tersebut dan
meningkatkan tingkat energinya. Interaksi yang
mungkin antara jenis agen diberikan dalam Tabel
2.1.
Tabel 2.1. Interaksi Pada Model Predator-Mangsa
Srigala Domba Rumput
Srigala Reproduksi Memakan -
Domba Dimakan Reproduksi Memakan
Rumput - - -
Lingkungan simulasi terdiri dari representasi
spasial dimana objek rumput tersebar. Perhatikan
bahwa rumput tidak terpengaruh oleh interaksi
dengan serigala. Lingkungan simulasi juga akan
berisi beberapa variabel global yang terkait dengan
suhu dan kelembaban, yang berubah menurut beberapa
fungsi dan mempengaruhi ketersediaan rumput. Oleh
karena itu, kemunculan dan lenyap rumput adalah
proses lingkungan. Infrastruktur simulasi dapat
berupa salah satu dari yang muncul nanti dalam
pembahasan selanjutnya (lihat bagian tentang alat
simulasi). Infrastruktur bertanggung jawab atas
kemajuan waktu, untuk visualisasi, serta untuk
menghasilkan dan mengekspor data seperti jumlah
serigala dari waktu ke waktu.
PSBA membuka banyak peluang dan memiliki keunggulan
jika dibandingkan dengan pemodelan konvensional dan
paradigma simulasi. Karena kekuatan penjelas yang
muncul dari sifat generatifnya, pada PSBA
memungkinkan terjadinya observasi dan analisis
dinamika model pada minimal dua tingkatan, yaitu
14
agen lokal dan tingkat makroskopik. Untuk tujuan
ini, pemodel dapat menggunakan desain agen yang
kompleks, yang berarti bahwa tidak ada batasan pada
kompleksitas penalaran agen, pada kecanggihan
struktur internalnya, atau pada kemampuan
interaksinya. Kebebasan desain ini juga mencakup
heterogenitas populasi agen atau lingkungan. Selain
itu, pada metode pembelajaran multi-agen
memungkinkan dilakukannya pengoptimalan eksplisit,
reorganisasi, dan proses evolusioner yang dapat
diintegrasikan.
Oleh karena itu, PSBA juga menawarkan peluang baru
dalam kasus-kasus yang sejauh ini berhasil
ditangani dengan metode konvensional. Contohnya
adalah bagaimana memodelkan operator manusia dan
pengaruhnya dalam simulasi proses manufaktur. Dalam
model konvensional, distribusi probabilitas untuk
keterlambatan dan kesalahan adalah cara yang mapan
untuk memodelkan pengaruh tersebut. Dengan
menggunakan PSBA, seseorang dapat menyertakan
manusia yang disimulasikan sebagai agen ke dalam
model. Agen ini tidak hanya menyebabkan penundaan
acak tetapi juga dapat menggunakan strategi
"cerdas" untuk mengatasi situasi yang tidak
terduga. Contoh terakhir ini juga menggambarkan
bahwa PSBA dapat dilihat sebagai paradigma intuitif
karena aktor dalam sistem asli dapat dimodelkan
secara langsung sebagai agen simulasi. Kesenjangan
representasi antara sistem asli dan model lebih
kecil daripada dalam pemodelan konvensional, karena
seseorang tidak perlu mengubah entitas dalam
distribusi probabilitas atau menggabungkannya dalam
variabel. Hal ini juga memengaruhi visualisasi
model: entitas yang dikenal oleh pengamat manusia
di dunia nyata secara eksplisit ditangkap dan
divisualisasikan dalam model.
Saat ini, di sebagian besar domain aplikasi yang
menggunakan PSBA, pemodelan dan simulasi secara
umum telah dikenal sebelumnya sebagai alat yang
berguna. Dalam domain ini, simulasi makro dan
mikroskopis yang berhasil dikembangkan menggunakan
persamaan diferensial parsial, automata seluler,
15
jaringan antrian, jaring Petri, simulasi
berorientasi objek, model ekonometrik, dan lain-
lain.
Asumsi ini dapat diterima jika sistem terdiri dari
sejumlah besar individu sehingga perbedaan dirata-
ratakan atau perlakuan eksplisit heterogenitas
tidak mengarah pada keuntungan lebih lanjut. Asumsi
ini dapat menyebabkan penyederhanaan yang
berlebihan sehingga menghasilkan keluaran simulasi
yang tidak relevan.
Selain membandingkan pemodelan dan simulasi
berbasis agen dengan pendekatan makroskopik,
pertanyaan lain yang muncul adalah apa yang
membedakan PSBA dengan pendekatan mikroskopis
konvensional lainnya untuk simulasi, mengingat
keduanya sangat terkait. PSBA memiliki keunggulan
dibandingkan beberapa pendekatan simulasi
konvensional yang ada untuk model mikroskopis.
Klügl dan Bazzan (2004) melakukan penelitian yang
berfokus pada perbandingan antara jaringan antrian,
jaring Petri, dan simulasi berbasis agen.
Penelitian ini menyimpulkan bahwa keunggulan inti
PSBA dibandingkan dengan kerangka kerja yang
terkenal dan terdefinisi secara tepat ini terletak
pada kemampuan merumuskan perilaku agen yang benar-
benar fleksibel. Perbedaan utama antara pendekatan
berbasis agen dan automata seluler didasarkan pada
gagasan bahwa dalam automata seluler, dinamika
terikat secara spasial, seragam, dan berdasarkan
lingkungan tetap dari setiap sel. Di sisi lain,
dalam PSBA, meskipun agen juga merupakan entitas
yang terletak di beberapa lingkungan spasial,
koneksi ke tetangga tidak selalu terprogram. Selain
itu, meskipun sel telah diperbaiki, agen dapat
bergerak.
Akhirnya, karena model yang diimplementasikan dapat
dilihat sebagai perangkat lunak dengan seperangkat
persyaratan tertentu, perbedaan antara PSBA dan
pemrograman berorientasi agen standar perlu
diklarifikasi. Dalam simulasi, tidak ada sistem
yang benar-benar baru dirancang, tetapi menggunakan
16
sistem referensi tertentu yang perilaku dan
strukturnya harus dianalisis atau diprediksi.
Meskipun mengembangkan simulasi mungkin melibatkan
bentuk kegiatan yang serupa jika dibandingkan
dengan pengembangan dan penerapan perangkat lunak,
tujuan dasar konstruksi dan reproduksi berbeda.
Analisis simulasi berkaitan dengan simulasi
berbasis agentraksi dari semua elemen yang relevan
dari keseluruhan sistem. Sedangkan dalam
pemrograman berorientasi agen standar, lingkungan
menetapkan batasan untuk agen, dalam simulasi
lingkungan adalah bagian utama dari model, yang
berisi representasi ruang secara eksplisit. Selain
itu, penanganan waktu virtual atau simulasi
sebagian besar tidak terkait dengan waktu nyata.
2.3 Perangkat Lunak untuk Simulasi Berbasis Agen
Pada bagian ini diperkenalkan beberapa alat bantu
untuk simulasi berbasis agen. Perhatikan meskipun
semua perangkat yang diperkenalkan disini dapat
melakukan dengan baik dalam hal simulasi berbasis
agen, dukungan masing-masing perangkat selama fase
pemodelan sangat bervariasi. Meskipun terdapat
beberapa perangkat, yang akan dibahas disini adalah
perangkat yang tersedia secara gratis. Penjelasan
yang lebih ekstensif dari beberapa perangkat yang
disebutkan di bawah ini dapat ditemukan di
Railsback, Lytinen, dan Jackson (2006). Juga di
JASSS yang dapat dilihat pada situs
jasss.soc.surrey.ac.uk yang menampilkan survei
perangkat simulasi berbasis agen dari masa ke
masa yang telah diterbitkan hingga saat ini.
1. Swarm
Swarm adalah salah satu perangkat pertama yang
diperkenalkan untuk implementasi simulasi berbasis
agen dengan sistem yang kompleks. Swarm terdiri
dari library yang menyediakan inti simulasi dimana pengembang dapat membangun simulasi berbasis agen,
serta melakukan pengumpulan dan analisis data,
tampilan, serta parameter kontrol model. Pada awal
17
kemunculannya, swarm menggunakan Library berbasis
Objective-C tetapi saat ini Java juga dapat
digunakan. Meskipun library disediakan, pengguna
tanpa keterampilan pemrograman mungkin harus
meluangkan waktu untuk memahami coding. Tidak ada
representasi default lingkungan yang eksplisit. Di
Swarm, ada kemungkinan seorang agen menjadi swarm
itu sendiri, hal ini terjadi saat perilaku agen
muncul dari perilaku agen di dalamnya. Dengan cara
ini, model hierarki dapat dibangun dengan
mengelompokkan swarm.
2. Perangkat Simulasi Recursive Porous Agent
Perangkat Simulasi Recursive Porous Agent (Repast)
juga merupakan platform berbasis Java. Dengan
semangat yang sama seperti Swarm, Repast
menyediakan kelas library untuk tugas paling umum yang terkait dengan implementasi simulasi berbasis
agen. Selain itu, karena fokus awal penggunaan
Repast adalah pada ilmu sosial, maka di dalamnya
terdapat beberapa alat yang berguna dalam topik ini
seperti analisis jaringan. Baru-baru ini, Repast
Symphony diperkenalkan, yang merupakan alat
pemodelan visual berdasarkan state charts.
3. Shell for Simulated Agent Systems
Shell for Simulated Agent Systems (SeSAm)
menyediakan antarmuka visual sepenuhnya untuk
pengembangan pemodelan dan simulasi berbasis agen
(PSBA). Berlawanan dengan persyaratan yang
diberikan Swarm kepada penggunanya, pengguna SeSAm
tidak perlu mengetahui bahasa pemrograman apa pun.
Kode (mengenai penyajian data, definisi plot, dan
jenis analisis lainnya) dirangkai bersama melalui
antarmuka grafis. Inti dari simulasi SeSAm adalah
model sistem itu sendiri, yang dibangun menggunakan
diagram aktivitas. Definisi diawal yang telah
ditentukan sebelumnya untuk tindakan agen,
persepsi, dan pemrosesannya dapat ditingkatkan
dengan fungsi yang ditentukan pengguna. Jenis agen
khusus adalah "world" yang menentukan bagaimana
18
lingkungan berperilaku dan dapat mengelola berbagai
jenis representasi spasial.
4. MASON
MASON adalah library berbasis Java, yang bertujuan memfasilitasi pemrograman simulasi berskala besar.
Alasan yang mendasari dibuatnya MASON adalah agar
dapat meningkatkan performa. Oleh karena itu, MASON
sangat diperlukan untuk aplikasi yang menuntut
kinerja, tetapi membutuhkan keterampilan
pemrograman. MASON mendukung serialisasi dan tidak
hanya dua tetapi juga visualisasi tiga dimensi yang
terpisah dari kernel simulasi.
5. NetLOgo
NetLogo dirancang dengan mempertimbangkan pengguna
akhir. Netologo pada dasarnya memiliki tiga
antarmuka. Pertama adalah sejenis editor untuk
pemograman model itu sendiri, dimana bahasanya
menyerupai Starlogo. Antarmuka kedua NetLogo
memungkinkan visualisasi lingkungan dan
parameternya dan juga memungkinkan pengguna untuk
bermain dengan parameter model melalui slider.
Antarmuka ketiga berisi dokumentasi terstruktur.
NetLogo menjadi semakin populer karena
dokumentasinya yang ekstensif, adanya tutorial yang
bagus, dan library yang besar dti model yang sudah ada sebelumnya.
Sebenarnya masih banyak perangkat lain yang umumnya
terdaftar di repositori yang terkait dengan
pemodelan dan simulasi berbasis agen. Contohnya
situs www.agent-based-models.com/blog/resources/
simulators dan www2.econ.iastate. edu/tesfatsi/
acecode.htm. memberikan banyak perangkat yang dapat
digumakan untuk pemodelan dan simulasi berbasis
agen. Namun banyak di antaranya yang dirancang
khusus untuk tujuan tertentu. Sebagai ilustrasi,
dipilih dua perangkat berikut ini. MadKit misalnya
dibangun untuk model agen organisasi masyarakat.
Oleh karena itu, Madkit berguna dalam domain yang
bertujuan untuk mensimulasikan proses intra dan
antar organisasi. Namun, jika masalah yang dihadapi
19
tidak selalu terfokus pada model organisasi seperti
itu, Madkit mungkin bukan perangkat yang baik untuk
masalah tersebut. Demikian pula, CORMAS adalah
lingkungan pemrograman yang menargetkan pengelolaan
sumber daya alam. Selama beberapa tahun terakhir,
semakin banyak platform agen yang digunakan untuk
mengimplementasikan aplikasi simulasi. Meskipun
perangkat-perangkat ini mendukung konsep berbasis
agen, namun beberapa perangkat mungkin kehilangan
infrastruktur yang dikhususkan untuk simulasi,
seperti integrasi data input, penanganan waktu
virtual, instrumentasi model, pengumpulan data, dan
lain-lain.
2.4 Pemodelan dan Simulasi Berbasis Agen Untuk
Evakuasi Orang dalam Gedung Ketika Terjadi
Kebakaran
Mekanisme operasional utama dalam model simulasi
konvensional menggambarkan perilaku evakuasi orang
melalui serangkaian persamaan diferensial, dengan
asumsi bahwa agen benar-benar homogen untuk
mengurangi kesulitan perhitungan. Salah satu
kelemahan yang jelas dari pendekatan ini adalah
pengaturan lingkungan yang ideal tidak dapat
sepenuhnya mencerminkan karakteristik dinamis dari
perilaku evakuasi masyarakat di dunia nyata, yang
dapat menyebabkan beberapa penyimpangan dalam hasil
analisis. Untungnya, dengan peningkatan teori
sistem kompleks dan teknologi komputer, dapat
ditunjukkan karakteristik heterogen dan dinamis ini
melalui teknik pemodelan berbasis agen (Agent Based
Model) (Steven dan Volker, 2011). Prinsip dasar
dari metode penelitian ini adalah untuk menetapkan
serangkaian aturan perilaku untuk agen berdasarkan
pengalaman dunia nyata dan membiarkan mereka
berinteraksi secara bebas satu sama lain dan
lingkungan virtual. Akibatnya, tidak seperti model
tradisional, perilaku evakuasi dalam model ini
terutama didorong oleh interaksi dinamis antara
agen dan lingkungannya, bukan hanya beberapa aturan
yang telah diatur sebelumnya.
20
Definisi konsep utama pada pemodelan berbasis agen
adalah
1. Agen Cerdas Beberapa definisi yang berkaitan dengan agen
telah diperkenalkan oleh beberapa peneliti.
Menurut Axelrod R. (1997), agen didefinisikan
sebagai sistem komputer yang terletak di
lingkungan dan mampu melakukan tindakan otonom
untuk mencapai tujuannya di lingkungan tersebut.
Menurut Bonabeau E. (2002), agen merasakan
lingkungannya, bertindak secara mandiri,
berinteraksi untuk berbagi tujuan, batasan, dll.,
mengantisipasi dan bereaksi dengan fleksibilitas
dengan lingkungannya dan belajar dari
pengalamannya dan beradaptasi dengan
lingkungannya. Agen adalah entitas fisik atau
virtual yang dapat bertindak di lingkungan. Agen
ini dapat berkomunikasi langsung dengan agen lain
yang didorong oleh serangkaian kecenderungan;
memiliki sumber dayanya sendiri; mampu memahami
(tetapi pada tingkat tertentu) lingkungannya;
hanya memiliki representasi parsial dari
lingkungan itu dan akhirnya tidak ada yang
memiliki kompetensi dan menawarkan layanan.
2. Model Model adalah persamaan matematika, grafik,
representasi komputer dari objek dan relasi
antara agen dengan agen dan agen dengan
lingkungan dalam sebuah ruang tertutup pada dunia
nyata. Sebuah model juga dapat dianggap sebagai
representasi sedarhana dari keadaan sebenarnya
yang kompleks. Agar berguna, model harus
disesuaikan dengan objeknya dan dipelajari serta
divalidasi.
3. Pemodelan dan Simulasi Sistem yang disusun oleh sejumlah besar individu
pada beberapa variasi lingkungan, dimana terjadi
interaksi antar individu, interaksi antar
individu dengan lingkungan serta interkasi antar
lingkungan seperti pada saat evakuasi jika
terjadi kebakaran, di mana orang yang dievakuasi
21
harus mengambil keputusan dengan cepat,
menghindari rintangan, memilih jalan keluar
dengan pintu terdekat, panik, dll. Ini adalah
sistem yang kompleks dan dinamis. Secara
keseluruhan, pemodelan dan simulasi pertama-tama
terdiri dari perancangan model. Ini adalah cara
untuk membuat sistem yang kompleks secara
eksplisit untuk lebih memahami fungsinya dan
untuk membuat keputusan yang baik. Ini
memungkinkan bereksperimen dengan sistem yang
kompleks tanpa mengubahnya terlalu banyak dan
seringkali sulit dalam situasi kehidupan nyata.
Ini juga memungkinkan sistem dapat diakses pada
tingkat strukturnya (deskripsi) dan fungsinya;
menguji hipotesis yang diajukan (validasi), untuk
memiliki hipotesis baru (penemuan), dan
memprediksi fungsinya jika strukturnya berubah
(prediksi).
Dua model yang telah diperkenalkan untuk evakuasi
orang pada gedung yang mengalami kebakaran adalah
Evac dan BuildingEXODUS. Evac adalah sistem
evakuasi gratis di bawah lisensi GPL yang
memungkinkan simulasi evakuasi dan penyebaran api
sekaligus. Pada Evac, keputusan individu
direkapitulasi dengan langkah-langkah algoritma
berikut ini:
(1) Pilih kriteria preferensi kategori untuk
keluar;
(2) Optimalisasi waktu yang diharapkan hingga pintu
keluar, untuk pintu keluar dari kategori yang
dipilih;
(3) Simulasi propagasi fluida mampat untuk
menentukan jalur yang harus dilalui;
(4) Diikuti oleh bidang vektor sehingga dihasilkan
dengan perilaku navigasi, sosial dan naluriah
(takut api dan asap).
Model keputusan dicirikan oleh pemilihan kategori
keluar preferensi menurut urutan preferensi yang
22
khas untuk masing-masing individu (keakraban,
visibilitas atau toksisitas saat keluar) dan
optimalisasi waktu di pintu keluar.
Beebeda dengan Evac, BuildingExodus adalah sistem
komersial, sehingga tidak banyak informasi
tentangnya. Sistem ini didasarkan pada model
statistik yang berasal dari banyak eksperimen dan
dengan demikian mewakili pendekatan yang sangat
pragmatis dari perilaku manusia. Model lingkungan
eksodus disajikan oleh partisi hierarkis dalam dua
tingkat abstraksi. Setiap tingkat diwakili oleh:
partisi kasar dengan sel-sel cembung yang mewakili
ruangan dan grid biasa dan tipis yang memungkinkan
keputusan yang lebih tepat di dalam ruangan. Model
keputusan individu ditandai dengan realisasi tiga
fase yang memungkinkan penentuan jalur terbaik
antara ruangan dan pintu keluar bangunan dalam
grafik sel. Model keputusan cukup orisinal, tetapi
tidak ada faktor utama evakuasi dalam simulasi:
adanya api dan asap dalam pengambilan keputusan.
Dalam sistem ini juga tabrakan fisik antara
individu tidak dimodelkan sejauh individu tidak
menginginkan sel yang sudah diambil di lingkungan.
Untuk realisasi pemodelan dan simulasi berbasis
agen ada 3 hal yang harus diperhatikan, yaitu
definisikan agen cerdas yang akan digunakan, alat
simulasi dan bahasa pemprograman serta metode yang
akan digunakan (pemodelan). Berikut ini adalah
contoh beberapa agen cerdas yang dapat
dipertimbangkan dalam membuat pemodelan dan
simulasi berbasis agen untuk evakuasi orang dalam
gedung yang mengalami kebakaran, yaitu:
(1) Pengungsi. Agen pengungsi merepresentasikan
orang di dalam gedung yang mengalami
kebakaran. Dalam simulasi tentukan jumlah
pengungsi, kecepatan rata-rata dan kecepatan
maksimum pengungsi dalam menyelamatkan diri.
Umumnya dalam simulasi jumlah pengungsi
diambil antara 10 dan 300, kecepatan rata-rata
diambil antara 0 dan 3.6 km/jam dan kecepatan
23
maksimum diambil antara 10 km/jam dan 25
km/jam.
(2) Api. Pada simulasi, lokasi awal kemunculan api adalah acak.
(3) Asap. Agen asap merepresentasikan asap yang
dihasilkan oleh api. Kemunculan asap diiringi
setalah ada api dan kemudian asap menyebar
dengan kecepatan tertentu. Umumnya kecepatan
penyebaran asap adalah antara 0.1 km/jam dan 1
km/jam.
(4) Alarm. Agen alarm merepresentasikan alarm yang berbunyi ketika kebakaran terjadi. Posisi
alaram ini tetap dan ditentukan sebelum
simulasi dilakukan. Jarak antar alarm yang
disarankan adalah 5 meter.
Pemodelan berbasis agen dapat dinyatakan dalam
bentuk diagram alir (flowchart), class diagram dan
dapat dinyatakan juga dalam bentuk persamaan
matematis. Gambar 2.1 adalah contoh model navigasi
evakuasi orang dalam gedung dalam bentuk diagram
alir.
Gambar 2.1 Model Navigasi Evakuasi
Pengungsi Keluar Gedung
Proses pengungsi untuk mencapai tujuannya yaitu
keluar melalui pintu darurat terdekat dari posisi
terkini dengan menghindari rintangan (orang dan
Pengungsi lari secara normal
dengan kecepatan awal
Pengungsi
Pengungsi
mendeteksi
pintu keluar
terdekat
Gunakan
Dijkstra untuk
mendapatkan
jarak minimum
ke pintu keluar
gedung
Pengungsi
menggunakan
kecepatan
maksimal dan
mengubah arah
Perbaharui lokasi dan
posisi terkini pengungsi Keluar dari
bahaya Selesai
tidak
ya
24
benda mati lainya) serta api dapat terlihat pada
Gambar 2.1. Algoritma pencarian jalur terdekat,
Dijkstra, digunakan mendapatkan jarak minimum dari
posisi pengungsi saat itu ke pintu keluar darurat.
25
Bab 3 Simulasi Berbasis Ant Colony
Semut berbaris dalam antrean panjang. Ada makanan
di satu ujung, sarang di ujung lainnya. Ini adalah
pemandangan yang umum di taman dan di jalan, tetapi
kontrol terdistribusi yang canggih oleh serangga
kecil ini baru dikenali oleh manusia beberapa
dekade yang lalu.
Semut membangun kehidupan mereka dalam kelompok,
atau koloni, lebih dari seratus juta tahun sebelum
manusia muncul di Bumi. Semut membentuk masyarakat
yang menangani tugas-tugas kompleks seperti
pengumpulan makanan, membangun sarang, dan
pembagian kerja melalui metode komunikasi primitif.
Hasilnya, semut memiliki tingkat kebugaran yang
tinggi di antara spesies, dan dapat beradaptasi
dengan lingkungan yang keras. Ide-ide baru termasuk
rute, agen, dan kontrol terdistribusi dalam
robotika telah dikembangkan berdasarkan model
sederhana perilaku semut. Penerapan model perilaku
semut telah digunakan di banyak makalah, dan
menjadi bidang penelitian yang sedang tren.
Berbaris adalah perilaku kooperatif semut yang
dapat dijelaskan dengan model jejak feromon (Gambar
3.1). Perilaku kooperatif sering terlihat pada
koloni semut, dan telah menarik minat ahli
entomologi dan ilmuwan perilaku. Feromon adalah
bahan kimia yang mudah menguap yang disintesis di
dalam serangga, dan digunakan untuk berkomunikasi
dengan serangga lain dari spesies yang sama.
Contohnya adalah feromon seks yang menarik lawan
jenis, feromon alarm yang mengingatkan anggota
kelompok, dan feromon jejak yang digunakan dalam
pawai semut. Feromon dibahas dalam salah satu bab
dari Souvenirs Entomologiques yang terkenal oleh
Jean-Henri Fabre (2005). Namun, penelitian terbaru
menunjukkan bahwa feromon efektif dalam jarak hanya
sekitar 1 m dari betina. Oleh karena itu, masih
belum diketahui apakah jantan tertarik hanya karena
feromon.
26
Gambar 3.1. Jejak Semut
Banyak spesies semut meninggalkan jejak feromon
saat membawa makanan ke sarang. Semut mengikuti
jejak yang ditinggalkan semut lain saat mencari
makanan. Feromon adalah zat yang mudah menguap yang
disekresikan saat kembali dari sumber makanan ke
sarang. Percobaan yang ditunjukkan oleh Deneubourg
dan Goss (1991) menggunakan semut Argentina
menghubungkan perilaku ini dengan pencarian jalur
terpendek. Semut menghubungkan jalur berbentuk
jembatan (dua jalur yang saling berhubungan) antara
sarang dan sumber makanan, dan menghitung jumlah
semut yang menggunakan setiap jalur. Tampaknya ini
masalah yang sederhana, tetapi karena semut hampir
buta, sehingga semut kesulitan mengenali
persimpangan, dan tidak dapat menggunakan metode
yang rumit untuk mengomunikasikan posisi makanan.
Selanjutnya, semua semut harus menempuh jalur yang
lebih pendek untuk meningkatkan efisiensi kelompok.
Semut menangani tugas ini dengan menggunakan
feromon untuk memandu semut lainnya.
Hampir setiap semut menggunakan jalur yang lebih
pendek seiring berjalannya waktu. Banyak semut
kembali ke jalur yang lebih pendek, mengeluarkan
feromon tambahan; Oleh karena itu, semut yang
mengikuti juga mengambil jalan yang lebih pendek.
Model ini dapat diterapkan untuk pencarian jalur
terpendek, dan digunakan untuk menyelesaikan
masalah travelling salesman problem (TSP) dan rute
jaringan. Ada banyak faktor yang tidak diketahui
27
tentang gembala semut yang sebenarnya; namun,
volatilitas feromon dapat digunakan untuk membangun
model yang mempertahankan jalur terpendek sambil
beradaptasi dengan lalu lintas yang berubah dengan
cepat. Jalur dengan akumulasi feromon yang lebih
besar dipilih di persimpangan, tetapi faktor acak
dimasukkan untuk menghindari solusi yang tidak
fleksibel dalam lingkungan yang dinamis.
3.1 Simulasi Gerombolan Jejak Feromon Semut
Model yang dapat dengan mudah menggambarkan
tindakan semut adalah sebagai berikut:
Ketika tidak ada sesuatu apapun, pencarian
acak dilakukan.
Jika makanan ditemukan, semut membawanya
kembali ke sarang. Semut pelacak mengetahui
posisi sarang, dan kembali hampir lurus ke
belakang.
Semut yang membawa makanan kembali ke
sarangnya menjatuhkan feromonnya. Feromon
mudah menguap.
Semut yang tidak mendapat makanan memiliki
kebiasaan tertarik pada feromon.
Gambar 3.2 adalah status eksekusi gerombolan jejak
feromon semut. Di sini sarang lebah diletakkan di
tengah, dan ada tiga sumber makanan (kanan bawah,
kiri atas, kiri bawah). Gambar 3.2 (a) adalah tahap
pencarian acak pertama. Gambar 3.2 (b), makanan
dekat kanan bawah dan kiri bawah ditemukan, dan
jejak feromon terbentuk. Kiri atas berada di tengah
formasi. Jalur feromon dibentuk untuk ketiga
sumber, yang membuat pengangkutan lebih efisien
ditunjukkan pada Gambar 3.2 (c). Sumber kanan bawah
dipilih hampir secara menyeluruh. Gambar 3.2 (d),
sumber makanan kanan bawah selesai, dan jejak
feromon sudah menghilang. Akibatnya, pengangkutan
yang gencar untuk dua sumber di sebelah kiri
dilakukan. Setelah ini, semua sumber habis, dan
semut kembali melakukan pencarian acak lagi.
28
Parameter dalam simulasi ditunjukkan pada Tabel
3.1.
Gambar 3.2. Gerombolan Jejak Feromon Semut
Tabel 3.1. Parameter Jejak Feromn Semut
Parameter Maksudnya Range Sejumlah semut
melepaskan feromon
Jumlah feromon menurun 0 -
Level Penguapan Rasio jumlah feromon yang
menguap dengan yang dijatuhkan ke
tanah.
0 – 1
Level difusi Proporsi yang menguap dengan
feromon yang menyebar
0 – 0,2
Level ketika koloni
menjauhi sarang
Proporsi prioritas yang diberikan
kepada feromon yang jauh dari
sarang. Mengabaikan arah sarang
bernilai 1.
1 -
Tingkat penurunan Proporsi tidak langsung saat
mencari makanan. Saat bernilai 1
artinya jejak semut acak.
0 - 1
3.2 Optimisasi Koloni Semut (Ant Colony
Optimization)
Algortima optimisasi berdasarkan perilaku
sekumpulan atau gerombolan semut disebut optimisasi
koloni semut. Optimisasi koloni semut menggunakan
model jejak feromon untuk Travelling Salesman
29
Problem (TSP) menggunakan algoritma berikut untuk
mengoptimalkan jalur perjalanan.
1. Semut ditempatkan secara acak di setiap kota. 2. Semut pindah ke kota berikutnya. Tujuan
ditentukan secara probabilistik berdasarkan
informasi dari feromon dan kondisi tertentu.
3. Ulangi sampai semua kota terkunjungi. 4. Semut yang membuat satu siklus penuh
mengeluarkan feromon pada rute sesuai dengan
panjang rute.
5. Kembalikan ke 1 jika solusi yang memenuhi
belum diperoleh.
Algoritma optimasi koloni semut dapat diuraikan
sebagai berikut. Ambillah 𝜼𝒊𝒋 sebagai jarak antara
kota 𝒊 dan 𝒋. Probabilitas 𝒑𝒊𝒋𝒌 (𝒕) menyatakan bahwa
semut 𝒌 di kota 𝒊 akan pindah ke kota 𝒋 ditentukan
oleh kebalikan dari jarak 𝟏
𝜼𝒊𝒋 dan jumlah feromon
𝝉𝒊𝒋 (𝒕) yang diberikan pada persamaan (3.1)):
𝒑𝒊𝒋𝒌 (𝒕) =
𝝉𝒊𝒋(𝒕)×𝜼𝒊𝒋𝜶
∑ 𝝉𝒊𝒉(𝒕)×𝜼𝒊𝒉𝜶
𝒉∈𝑱𝒕𝒌
, (3.1)
dengan 𝑱𝒕𝒌 adalah himpunan semua kota yang semut 𝒌
di kota 𝒊 dapat pindah (belum dikunjungi). Kondisi di mana semut lebih cenderung memilih rute dengan
lebih banyak feromon mencerminkan umpan balik
positif dari penelusuran sebelumnya secara
heuristik untuk mencari jalur yang lebih pendek.
Oleh karena itu, optimasi koloni semut dapat
memasukkan sejumlah pengetahuan khusus yang sesuai
untuk masalah tersebut.
Tabel feromon diperbaharui dengan cara berikut:
𝑸(𝒌) = kebalikan dari jalan yang
ditemukan semut 𝒌 (3.2)
∆𝝉𝒊𝒋(𝒕) = ∑ 𝑸(𝒌)𝒌∈𝑨𝒊𝒋 (3.3)
𝝉𝒊𝒋(𝒕 + 𝟏) = (𝟏 − 𝝆) ∙ 𝝉𝒊𝒋(𝒕) + ∆𝝉𝒊𝒋(𝒕) (3.4)
30
Jumlah feromon yang ditambahkan ke setiap jalur
setelah satu iterasi berbanding terbalik dengan
panjang jalur yang ditemukan semut dinyatakan pada
persamaan 3.2. Persamaan 3.3 menyatakan hasil untuk
semua semut yang bergerak melalui suatu jalur
direfleksikan dalam jalur tersebut. Dalam persamaan
tersebut 𝑨𝒊𝒋 adalah kumpulan semua semut yang
berpindah dari kota 𝒊 ke kota 𝒋. Umpan balik
negatif untuk menghindari solusi lokal diberikan
sebagai koefisien evaporasi yang dituliskan dalam
persamaan 3.4, dengan jumlah feromon di jalur, atau
informasi dari masa lalu, dikurangi dengan faktor
tetap (𝝆).
Optimasi koloni semut merupakan metode yang efektif
untuk menyelesaikan masalah travelling salesman
problem (TSP) dibandingkan dengan strategi
pencarian lainnya. Tabel 3.2 menunjukkan nilai yang
dioptimalkan untuk empat masalah benchmark dan
berbagai minimum yang ditemukan menggunakan metode
lain dimana nilai yang kecil merupkan nilai yang
lebih baik karena masalahnya adalah minimisasi
(Dorigo dan Gambardella, 1997). Angka dalam tanda
kurung menunjukkan jumlah kandidat yang diselidiki.
Optimasi koloni semut (ACO) lebih cocok untuk
masalah ini dibandingkan dengan metode seperti
algoritma genetika (GA), simulasi anil (SA), dan
pemrograman evolusioner (EP). Karakteristik metode
khusus yang bekerja lebih baik dalam masalah statis
juga dimiliki oleh banyak metaheuristik (strategi
tingkat tinggi yang memandukan metode heuristik
yang mendasari untuk meningkatkan kinerjanya).
Masalah rumit, seperti TSP yang jarak antar kota
tidak simetris atau kota berubah secara dinamis,
belum menemukan metode yang cocok dan optimasi
koloni semut dianggap sebagai salah satu metode
yang paling menjanjikan.
Panjang dan akumulasi jalur feromon antar kota
disimpan dalam seuah tabel (Gambar 3.3). Semut
dapat mengenali informasi di sekitarnya, dan secara
probabilistik memutuskan kota berikutnya yang akan
dikunjungi. Jumlah feromon yang ditambahkan ke
31
setiap jalur setelah setiap siklus berbanding
terbalik dengan panjang jalur siklus.
Tabel 3.2. Perbandingan antara Optimasi Koloni
Semut dan metaheuristik
TSP
Optimasi
Koloni
Semut
Algortima
Genetika
Simulasi
Anil
pemrograman
evolusioner Optimal
Oliver
30
420
[830]
421
[3200]
420
[40000]
424
[24617]
420
Eil 50 425
[1830]
428
[25000]
426
[100000]
443
[65512]
425
Eil 75 535
[3480]
545
[80000]
542
[325000]
580
[173250]
535
KroA
100
21282
[4820]
21761
[10300]
Tidak
dapat
diterapkan
tidak dapat
diterapkan
21282
Gambar 3.3. Aturan Pemilihan Jalur Semut
Gambar 3.4 adalah sebuah applet untuk memecahkan
Travelling Salesman Problem (TSP) menggunakan
optimasi koloni semut. Java appalet adalah sebuah
program kecil yang ditulis dengan menggunakan
bahasa pemprograman Java, yang diakses melalui
halaman Web dan dapat diunduh ke dalam mesin klien
yang kemudian menjalankannya di dalam jendela
penjelajah web. Jalur antar kota diberi kode warna
berdasarkan jumlah feromon (warna yang lebih gelap
Jumlah feromon
Jarak 𝜼𝒊𝒋
32
berarti lebih banyak feromon). Posisi kota dapat
diubah menggunakan GUI; oleh karena itu, efek
feromon dan konvergensi mudah dipahami. Kota dapat
diubah secara dinamis, namun semut dapat mencari
dengan akurat.
Gambar 3.4. Simulasi TSP dengan Optimasi
Koloni Semut
3.3 Algortima Kluster-Semut
Optimasi koloni semut digunakan dalam
pengelompokkan (clustering) dan pengurutan
(sorting). Pada sub bab ini diberikan deskripsi
kluster-semut.
Semut beternak kutu daun dan larva di dalam sarang.
Ternak kutu daun dan larva dikategorikan secara
spasial dan ditempatkan berdasarkan ukurannya di
“peternakan” dan “pembibitan” di sarang semut.
Ekologi ini dikembangkan dengan anggapan agar
pemberian makan lebih efisien. Perilaku di atas
dapat dijelaskan oleh model kontrol terdistribusi
untuk probabilitas bahwa agen mengambil (𝑷𝒑𝒊𝒄𝒌) atau
menjatuhkan (𝑷𝒅𝒓𝒐𝒑) suatu objek.
33
𝑷𝒑𝒊𝒄𝒌 = (𝟏 − 𝝌) ∙ (𝒌𝒑𝒊𝒄𝒌
𝒌𝒑𝒊𝒄𝒌+𝒇(𝒊))𝟐
. (3.5)
𝑷𝒅𝒓𝒐𝒑 = 𝝌 ∙ (𝒇(𝒊)
𝒌𝒅𝒓𝒐𝒑+𝒇(𝒊))𝟐
. (3.6)
Di sini, 𝒇 (𝒊) adalah massa jenis benda di dekatnya yang mirip dengan 𝒊. Lebih tepatnya, ini
didefinisikan sebagai fungsi yang berkurang dengan
bertambahnya jumlah benda serupa di dekatnya.
𝒇(𝒊) = {∑ 𝒅(𝒊,𝒋)𝒋∈𝑵(𝒕)
|𝑵(𝒊)|
𝟏
𝒅 (𝒊, 𝒋) adalah kemiripan (jarak dalam ruang fitur)
antara objek 𝒊 dan 𝒋, dan 𝑵 (𝒊) adalah himpunan
tetangga objek 𝒊. 𝒅 (𝒊, 𝒋) dinormalisasi sehingga 𝟎 ≤𝒅 (𝒊, 𝒋) ≤ 𝟏. 𝒅 (𝒊, 𝒋) = 𝟎 berarti dua benda identik.
Nilai 𝒌𝒑𝒊𝒄𝒌 dan 𝒌𝒅𝒓𝒐𝒑 adalah parameter yang masing-
masing menunjukkan nilai ambang batas dalam
perilaku pengambilan dan penurunan. 𝝌 adalah
koefisien reaksi yang ditentukan oleh jumlah 𝒏 objek di lingkungan Moore (tetangga dalam delapan
arah, yaitu atas dan bawah, kanan dan kiri, ke-
empat diagonal).
𝝌 =𝒏𝟐
𝒏𝟐+𝒌𝒄𝒓𝒐𝒘𝒅𝟐 , (3.8)
dengan 𝒌𝒄𝒓𝒐𝒘𝒅 adalah nilai ambang batas dan 𝝌 =𝟏
𝟐
ketika 𝒏 = 𝒌𝒄𝒓𝒐𝒘𝒅. 𝝌 mendekati 1 ketika ada lebih
banyak objek dalam lingkungan tersebut, ada dan
perilakunya cenderung jatuh. Sebaliknya, lebih
sedikit objek dalam lingkungan tersebut berarti
kemungkinan untuk perilakunya adalah pengambilan
lebih tinggi.
Persamaan (3.5) dan (3.6) merepresentasikan model
di mana agen (semut) yang bekerja secara acak pada
bidang memindahkan objek berdasarkan parameter
lingkungan. Dengan kata lain, probabilitas agen
mengambil atau menjatuhkan suatu benda ditentukan
oleh kepadatan benda serupa di lingkungan tersebut.
Jika 𝑵(𝒊) ≠ ∅
Jika 𝑵(𝒊) = ∅ (3.7)
34
Agen mengambil objek di lingkungan dengan kepadatan
rendah dan menjatuhkan objek di lingkungan dengan
kepadatan tinggi sambil bergerak secara acak, dan
sebagai hasilnya, kelompok fitur serupa dipisahkan.
Hasil pengelompokan semut, di mana semut mengambil
atau menjatuhkan benda berdasarkan aturan di atas
dan bergerak satu langkah ke arah yang dipilih
secara acak, ditunjukkan pada Gambar 3.5. Di sini,
yang berbeda. Ruang dua dimensi ini memiliki
topologi torus (tepi kanan dihubungkan dengan tepi
kiri, dan tepi atas terhubung ke tepi bawah). Semut
bergerak secara acak pada awalnya, dan kemudian
mulai membentuk kelompok kecil sebelumnya. Pra-
kluster ini secara bertahap menarik objek serupa
untuk membentuk kluster yang lebih besar.
Transportasi oleh semut dan akumulasi objek
membentuk putaran umpan balik positif yang
meningkatkan ukuran cluster, sehingga menghasilkan
proses klasterisasi.
Gambar 3.5. Proses Klastersasi Semut
3.4 Simulasi klaster-Semut Berbasis Swarm
Kondisi eksekusi klaster-semut berbasis swarm
dengan optimasi koloni semut ditunjukkan pada
Gambar 3.6. Dalam simulasi ini, variabel 𝒌𝒑𝒊𝒄𝒌,
𝒌𝒅𝒓𝒐𝒑, 𝒌𝒄𝒓𝒐𝒘𝒅, dll., pada persamaan (3.5), (3.6),
(3.8), jumlah semut, dan jumlah objek (jumlah objek
merah dan biru) dapat diatur selama eksekusi.
Karena seed dari nomor acak dapat diatur, eksekusi
35
ulang dengan nomor acak yang berbeda juga
dimungkinkan.
Gambar 3.6. Klaster Semut dengan Swarm
Nilai fitur sedbuah objek didefinisikan dengan
metode buildObject pada ModelSwarm.java sebagai
berikut:
// Vektor fitur objek merah
v = new double[] { 0.1 + rGen.nextDouble()*0.15, 0.1 + rGen.nextDouble()*0.15, 0.1 + rGen.nextDouble()*0.15};
// Vektor fitur objek biru
v = new double[] { 0.7 + rGen.nextDouble()*0.15, 0.7 + rGen.nextDouble()*0.15, 0.7 + rGen.nextDouble()*0.15};
Fitur dalam hal ini adalah vektor tiga dimensi.
Untuk menghasilkan objek tersebut, vektor bilangan
acak seragam (setiap elemen dalam kisaran 0.0–
0.15) ditambahkan ke (0.1, 0.1, 0.1) atau (0.7,
36
0.7, 0.7). Kemiripan antara dua objek dihitung
dengan menggunakan panjang (norm) selisih fitur
vektor tersebut (metode calcDistance di dalam
DataUnit.java).
Klasterisasi-semut dapat diterapkan pada masalah
yang lebih praktis yang dibahas pada su b bab
selanjutnya.
3.5 Pendekatan berbasis Koloni Semut Pada Masalah Rute Jaringan
Internet adalah salah satu objek yang direkayasa
secara ekstensif saat ini. Packet switching adalah
sebuah metode untuk mentransfer data yang
dikembangkan pada tahun 1960-an, memecah data
menjadi paket-paket kecil, mengirimkan paket-paket
ini ke tujuan melalui jalur yang sama sekali
berbeda, dan memulihkan data di tempat tujuan.
Kekuatan packet switching mengubah Internet dari
alat akademis dan militer menjadi media massa.
Namun, lalu lintas di Internet tidak dapat
diprediksi, dan efisiensi pemanfaatannya belum
tentu tinggi. Perutean di Internet berskala besar
dan dinamis, sehingga tidak mudah untuk memahami
keseluruhan strukturnya. Lebih lanjut, melalui
kualitas layanan (QoS) harus ditingkatkan meskipun
pengendalian terpusat sulit dilakukan. Tujuan dalam
masalah perutean adalah untuk mengoptimalkan tabel
perutean (tabel yang menentukan simpul ke mana
paket untuk tujuan yang telah ditentukan harus
diteruskan) untuk setiap simpul sedemikian rupa
sehingga QoS dari seluruh sistem meningkat (lihat
Gambar 3.7).
Setiap simpul hanya dapat mengenali lalu lintas
terdekat; Oleh karena itu, ada tabel untuk setiap
simpul. Perutean SPF (Shortest Path First) yang
saat ini digunakan di Internet menyusun tabel
perutean dari informasi yang dapat dikenali oleh
masing-masing simpul. Sebaliknya, Dorigo dan kawan
kawan mengusulkan perutean AntNet bebasis optimasi
koloni semut. Metode ini menyebarkan agen perangkat
37
lunak pada jaringan yang mengumpulkan data perutean
dengan bergerak bolak-balik antara sumber (simpul
yang derajat masuknya nol) dan tujuan (simpul yang
derajat keluarnya nol) dan memperbarui tabel
perutean di simpul perantara (lihat Gambar 3.8).
Gambar 3.7. Tabel Rute
Perutean berbasis agen menghasilkan ongkos
eksploitasi yang tidak diperlukan dalam perutean
statis; oleh karena itu, lalu lintas total dan
biaya kinerja merupakan faktor penting. Tahapan
AntNet adalah sebagai berikut:
1. Semut secara teratur dilepaskan dari setiap
simpul ke tujuan secara acak.
2. Semut memilih jalur menggunakan feromon dan
secara heuristik dalam mencapai tujuannya
masing-masing. Semut mengingat waktu yang
ditempuh dan simpul yang dikunjungi.
3. Semut yang mencapai tujuannya masing-masing
kembali ke asalnya dengan bergerak di
sepanjang jalur dalam urutan terbalik sambil
memperbarui tabel di masing-masing simpul.
4. Kembali ke langkah 1.
Tabel rute untuk simpul K
38
Gambar 3.8. Rute Berbasis Agen
Similar dengan contoh TSP (lihat persamaan (5.5)),
probabilitas bahwa suatu simpul dipilih sebagai
simpul berikutnya ditentukan menggunakan bobot 𝝎 dengan persamaan berikut:
𝒑𝒊𝒋𝒌 (𝒕) =
𝝎∙𝝉𝒊𝒋(𝒕)+(𝟏−𝝎)∙𝜼𝒊𝒋(𝒕)
∑ 𝝎∙𝒉∈𝑱𝒊
𝒌 𝝉𝒊𝒋(𝒕)+(𝟏−𝝎)∙𝜼𝒊𝒋(𝒕), (3.9)
dengan 𝑱𝒊𝒌 adalah himpunan semua kota dimana semut 𝒌
pada kota 𝒊 dapat berpindah dan harus belum pernah dikunjungi sebelumnya. Tabel feromon di setiap
simpul diperbarui melalui persamaan berikut:
𝝉𝒊𝒋(𝒕 + 𝟏) ⇐ (𝟏 − 𝝆) ∙ 𝝉𝒊𝒋(𝒕) + ∆𝝉𝒊𝒋(𝒕)(memperbaharui)(5.10)
∆𝝉𝒊𝒋(𝒕) = ∑ 𝑸(𝒌)𝒏𝒌=𝟏 (penambahan) (5.11)
𝝉𝒊𝒋(𝒕 + 𝟏) ⇐ 𝝉𝒊𝒋(𝒕)
𝟏+∆𝝉𝒊𝒋(𝒕) (penguapan) (5.12)
Pada AntNet, status jaringan tidak konstan tidak
seperti di optimasi koloni semut. Oleh karena itu,
Sumber
Tujuan
Diluar jalur
Tabel referensi
Didalam jalur
Tabel diperbaharui
T
39
semut bergerak di sepanjang jalur yang dilalui
paket untuk mengevaluasi status jaringan, dan
kembali di jalur yang sama untuk mencerminkan
evaluasi. Sebagai akibatnya, pembaruan tabel
feromon tidak sinkron.
Caro dan Dorigo menguji sistem AntNet pada
simulator sistem file jaringan NSF, jaringan inti
di AS, dan membandingkannya dengan metode perutean
seperti Bellman-Ford, SPF (Shortest Path First),
dan OSPF (Open Shortest Path First) (Caro dan
Dorigo, 1997). Gambar 3.9 menunjukkan hasil
pengujian bila terdapat titik panas. Kecepatan bit
konstan (Cosntant Bit Rate) dengan pola lalu lintas
konstan dan kecepatan bit variabel (Variable Bit
Rate) diuji. Kinerja di bawah beban jaringan rendah
bernilai tinggi dengan semua skema algoritma,
tetapi saat beban tinggi menjadi serupa. Dalam
kedua kondisi tersebut, AntNet mencapai penundaan
yang lebih singkat dengan QoS yang tinggi. Secara
khusus, AntNet menunjukkan kinerja yang superior
ketika beban tiba-tiba berubah (titik panas telah
terbentuk). Biaya eksploitasi agen semut dapat
diabaikan dalam pengujian. Ada banyak contoh
penelitian tentang perutean menggunakan optimasi
koloni semut (Ant Colony Optimization); misalnya,
Telecom Bretagne sedang mengerjakan penghalusan
QoS. Aplikasi untuk jaringan ATM dan lingkungan
nirkabel juga sedang diselidiki.
3.6 Pemisahan Pekerjaan Berbasis Semut
Ekologi semut lain yang terkenal adalah pembagian
kerja sosial. Koloni semut terdiri dari semut
dengan berbagai peran seperti semut ratu, semut
prajurit, dan semut pekerja. Peran ini disebut
"kasta", dan beberapa di antaranya, misalnya ratu
semut memiliki fungsi khusus secara fisik. Namun,
pekerjaan umum termasuk mengumpulkan dan merawat
larva dilakukan oleh semut pekerja secara
bergantian, dan tidak ada individu yang ditunjuk
untuk melakukan tugas tertentu. Diketahui juga
40
bahwa untuk spesies di mana semut tentara membagi
pekerjaan dengan semut pekerja lainnya, semut
prajurit melakukan pekerjaan semut pekerja jika
semut pekerja dikeluarkan dari sarang.
Pendistribusian jumlah semut yang sesuai untuk
setiap tugas diperlukan untuk meningkatkan
kebugaran koloni secara keseluruhan. Semut dapat
membagi kerja tanpa kendali terpusat; distribusi
tugas otonom seperti itu akan berguna di bidang
robotika atau penjadwalan di pabrik. Persamaan
berikutnya diusulkan sebagai model untuk menugaskan
pekerja ke beberapa tugas melalui kontrol
terdistribusi.
Gambar 3.9 Perbndingan dengan metode AntNet dan
Beberapa Metode Rute Lain (Caro dan Dorigo, 1997)
𝑻𝜽(𝒔) =𝒔𝒏
𝒔𝒏+𝜽𝒏, (3.13)
dengan 𝑻 didefinisikan sebagai tugas seperti
memberi makan larva. Probabilitas semut tertentu
melakukan tugas 𝑻 ini ditentukan oleh jumlah
feromon yang dikeluarkan larva dan nilai ambang
batas untuk setiap individu 𝜽.
41
Pada kenyataannya, larva mengeluarkan lebih banyak
feromon saat mereka lapar, dan mengurangi jumlah
sekresi feromon saat pengasuh melakukan tugasnya.
Semut individu keluar untuk mengambil makanan
ketika jumlah feromon yang terdeteksi lebih rendah
dari nilai ambang batas, dan sebaliknya, jika
jumlah feromon dari larva melebihi nilai ambang
batas, semut yang kembali dari pengambilan makanan
menjadi pemelihara. Ada pembagian nilai ambang
batas pada setiap individu; Oleh karena itu,
sejumlah individu yang sesuai dapat didistribusikan
ke berbagai tugas.
Model perilaku seperti itu dapat diterapkan pada
masalah distribusi tugas di robot yang mampu
melakukan banyak tugas atau sistem yang toleran
terhadap kesalahan. Misalnya, solusi yang
menggunakan agen, yang disebut routing wasps telah
diusulkan untuk menjadwalkan tugas di pabrik
(Cicirello dan Smith, 2001). Dalam sistem ini,
pseudo-feromon dikeluarkan dari tugas dalam antrian
berdasarkan prioritas dan waktu tunggu. Agen
ditetapkan ke setiap mesin perakitan, dan nilai
ambang batas untuk melakukan tugas tertentu
ditentukan berdasarkan status setiap mesin. Agen
menetapkan tugas ke setiap mesin dengan
probabilitas yang ditentukan oleh nilai ambang
batas dan jumlah feromon. Sistem seperti itu
terbukti meningkatkan hasil produksi sebuah pabrik.
Metode semut diterapkan dalam berbagai cara di
industri. Misalnya, Bios Group 1 yang berbasis di
New Mexico adalah sebuah perusahaan konsultan yang
membangun sistem berdasarkan kecerdasan Swarm, dan
telah menyediakan metode untuk membuat penjadwalan
yang efisien untuk Southwest Airlines dan P&G. P&G
menggunakan penjadwalan terdistribusi di mana
keputusan kolaboratif seperti pengangkutan bahan
mentah dan manajemen pabrik dibuat oleh agen di
jaringan. Pendekatan swarm digunakan untuk
membangun sistem di mana jalur transportasi
ditentukan dengan mempertimbangkan pemanfaatan
gudang yang terlalu padat di jalur kandidat.
42
3.7 Kerja Sama Pada Semut Tentara
Sub bab ini menyajikan simulasi multi-agen yang
terinspirasi oleh perilaku semut tentara. Kerjasama
semacam itu dalam sistem multi-agen bisa sangat
berharga untuk aplikasi teknik. Tujuan dari bagian
ini adalah untuk memodelkan dan memahami perilaku
biologis ini dengan simulasi komputer. Uraian
berikut ini terutama berdasarkan hasil penelitian
yang dilakukan oleh Ishiwata, Norman, Iba, tahun
2010.
3.7.1 Altruisme Semut Tentara
Altruisme mengacu pada perilaku yang
memprioritaskan manfaat bagi orang lain daripada
diri sendiri dan terkadang melibatkan tindakan
pengorbanan diri untuk membantu orang lain. Gambar
5.10 memperlihatkan Beberapa semut tentara
membangun jembatan dengan tubuhnya sendiri ketika
menemukan lubang atau selokan sebagai penghalang
untuk rute perjalanannya (Anderson, Theraulaz,
Deneubourg, 2002). Tindakan filantropi tersebut
berbeda dengan perilaku semut yang biasa, misalnya
mencari makan dan mengangkut makanan. Akan tetapi,
jika lebih banyak semut yang berpartisipasi dalam
pembangunan jembatan daripada yang dibutuhkan atau
jika membangun jembatan di tempat-tempat yang tidak
diperlukan, sebenarnyahal ini dapat menghambat
kinerja pengumpulan makanan seluruh koloni. Tapi,
di alam, semut sangat ingin menyeimbangkan tindakan
ini sesuai kebutuhan, dan telah dikonfirmasi bahwa
karena kinerja aktivitas altruistik seperti itu,
kinerja kelompok secara keseluruhan meningkat.
Dalam percobaan oleh Powell dan Franks, ditemukan
bahwa kemampuan mencari makan dari pasukan koloni
semut meningkat hingga 26% karena perilaku
altruistik ini (Powell dan Franks, 2007). Pada
bagian ini, altruisme semut ini dimodelkan dan
diperiksa dalam lingkungan simulasi multi-agen
seperti diperlihatkan pada Gambar 3.11.
43
Gambar 3.10 Pemandangan pembangunan jembatan hidup
oleh semut tentara [sumber: Angtuaco, S. P.]
Gambar 3.11 Lingkungan Simulasi
3.7.2 Definisi Masalah
Sub dari sub ini menjelaskan masalah yang ditangani
dalam simulasi multi-agen. Simulasi ini berfungsi
sebagai model perilaku mencari makanan dan
altruisme semut. Simulasi dilakukan dengan
menggunakan library Swarm. Gambar 3.12 menunjukkan tangkapan layar dari layar simulasi agen dimana
seorang agen direpresentasikan oleh sebuah
pergerakan semut.
Simulasi perilaku semut yang sebenarnya
Sarang yaitu titik awal agen
dan tujuan transportasi makanan
Selokan yaitu penghalang yang
agen tidak dapat lalui
Makanan yaitu sesuatu yang dapat
diangkut atau dibawa oleh agen
44
Gambar 3.12. Simulasi Berbasis Swarm dari Semut
Tentara
Tindakan dalam simulasi yaitu mencari makan dan
mengangkut makanan serta komunikasi dengan semut
tetangga menggunakan feromon. Sarang adalah titik
awal agen dan juga titik dimana agen kembali dengan
membawa makanan. Feromon dilepaskan oleh agen saat
menemukan makanan. Sama seperti di alam, setelah
dikeluarkan, feromon melemah dan menyebar, sehingga
menyebarkan informasi di antara semut tentang
lokasi makanan. Sebuah selokan menghalangi
Feromon
Jembatan
45
pergerakan agen dan secara fundamental mencegah
agen untuk melewatinya. Namun, jika agen
menunjukkan altruisme dan membentuk jembatan di
atas selokan, agen lain dapat melewati celah
tersebut. Agen bergerak sesuai dengan diagram
transisi keadaan yang ditunjukkan pada Gambar 3.13.
Perilaku agen dalam keadaan yang berbeda
ditunjukkan pada Tabel 3.3.
Gambar 3.13 Tahapan Tansisi Agen
Tabel 3.3 Keadaan dan Perilaku Agen
Keadaan Perilaku
Pencarian Ini adalah kondisi awal agen yang
terus bekerja secara acak hingga
makanan ditemukan. Saat makanan
ditemukan, ada transisi ke keadaan
Kembali. Transisi ke keadaan Altruisme
juga dimungkinkan dalam kondisi
"tertentu". Saat feromon terdeteksi,
semut tertarik ke konsentrasi yang
lebih tinggi.
Kembali Makanan dikembalikan ke sarang. Dalam
keadaan ini agen bergerak menuju
sarang yang mengeluarkan feromon.
Setelah mencapai sarang, agen transit
ke keadaan Pencarian. Agen dalam
status Kembali mengetahui posisi
sarang.
Alturisme Sebuah jembatan dibangun melintasi
Alturisme
Kembali Pencarian Menemukan
Penyimpanan
????
46
lubang, sedangkan dalam keadaan ini,
pergerakan tidak mungkin dilakukan
oleh agen. Ketika kondisi tertentu
terpenuhi, jembatan ditinggalkan dan
agen transit ke keadaan Pencarian.
Masalahnya adalah menentukan kondisi yang mendorong
transisi ke keadaan altruisme. Tetapi tidak
diketahui secara konkret bagaimana semut menentukan
lokasi dan waktu pembangunan jembatan dan kapan
pembentukan jembatan dihentikan. Oleh karena itu,
pada bagian ini, beberapa hipotesis diajukan
sebagai kondisi awal altruisme, dan percobaan
dilakukan untuk verifikasi.
3.7.3 Kriteria penilaian untuk memasuki negara
altruisme
1. Hipotesis
Dua hipotesis telah diusulkan sebagai kriteria
penilaian untuk aktivitas alturisme oleh semut
tentara.
Model 1: Berdasarkan keberadaan semut tetangga
Semut akan memulai pembentukan jembatan di atas
selokan atau lubang hanya jika ada semut di
sekitarnya. Secara hipotesis, pendekatan ini akan
lebih efisien dibandingkan dengan membangun
jembatan secara membabi buta karena bila ada semut
tetangga kemungkinan besar jalan pintas tersebut
akan dimanfaatkan.
Model 2: Berdasarkan keberadaan feromon
Seperti dijelaskan sebelumnya, agen mengeluarkan
feromon ketika mereka menemukan makanan, dan
feromon ini digunakan untuk menyebarkan informasi
di antara semut tentang lokasi sumber makanan.
Tempat di mana konsentrasi feromon lebih tinggi
dari tingkat tetap adalah lokasi yang telah
47
dilewati atau akan dilalui banyak semut di masa
mendatang. Oleh karena itu, jembatan dapat dibentuk
dengan menilai konsentrasi feromon.
Pada kedua model, agen meninggalkan jembatan
setelah beberapa waktu berlalu. Tabel 5.4 adalah
properti tetap optimasi yang digunakan model 1 dan
model 2 dengan algoritma genetik (Ishiwata, Noman,
Iba; 2010). Untuk menilai validitasnya, hipotesis
ini dimasukkan ke dalam simulasi dan kegunaannya
diverifikasi secara empiris.
Tabel 5.4 Properti Yang Digunakan
Model 1 dan Model 2
Model 1 Model 2
Jumlah Langkah 700 700
Waktu 10 150
Radius 2 --
Nilai ambang
batas feromon
-- 30
2. Lakukan Eksperimen untuk Memeriksa Hipotesis
Dua skenario yang ditunjukkan pada Gambar 3.14
digunakan dalam percobaan. Dalam percobaan ini,
kinerja diukur menggunakan jumlah item makanan yang
dikumpulkan dalam periode waktu tertentu. Setiap
percobaan diulang 10 kali dengan 20 sampai 180
agen, ditingkatkan 20 pada satu waktu, dan nilai
rata-rata dibandingkan.
Hasil percobaan dari peta sederhana ditunjukkan
pada Gambar 3.15. Jumlah agen ditampilkan di
sepanjang sumbu horizontal dan jumlah item makanan
yang dikumpulkan dalam waktu tertentu ditampilkan
di sepanjang sumbu vertikal. Dalam peta sederhana,
Model 1 menunjukkan kinerja yang sedikit lebih
tinggi, tetapi perbedaannya kecil dan hampir tidak
ada perbedaan dalam efisiensi keseluruhan yang
diamati.
48
Sederhana Rumit
Gambar 3.14 Peta Percobaan
Hasil percobaan menggunakan peta rumit ditunjukkan
pada Gambar 3.16 dan Gambar 3.17. Secara
keseluruhan, Model 2 berkinerja lebih baik di peta
yang rumut. Gambar 3.17 menunjukkan observasi
eksperimental untuk peta rumit pada skala yang
berbeda. Sama seperti sebelumnya, sumbu horizontal
mewakili jumlah agen; Namun, sumbu vertikal
mewakili rasio jumlah total agen melintasi jembatan
dengan total berapa kali agen membantu membentuk
jembatan. Rasio ini menunjukkan seberapa berguna
jembatan yang terbentuk. Dari data tersebut
diketahui bahwa Model 2 menghasilkan nilai yang
lebih tinggi daripada Model 1. Untuk Model 1, rasio
biasanya sekitar satu. Artinya, meskipun jembatan
sudah terbentuk, agen tetangga tidak akan bisa
menggunakannya secara efisien. Hal ini karena pada
peta yang rumit, tidak seperti pada peta sederhana,
parit terdapat di berbagai lokasi, menyebabkan
jembatan yang akan dibentuk di lokasi yang tidak
perlu dengan Model 1. Dengan Model 2 rasio yang
ditemukan lebih tinggi dibandingkan dengan yang
ditemukan dengan Model 1. Meskipun demikian, tidak
terlihat dari grafik, pada Model 2 jembatan
dibentuk hanya di lokasi yang diperlukan untuk
membawa makanan ke sarang. Ini karena feromon
49
disekresikan sepanjang jalan dari sumber makanan ke
sarang. Konsentrasi feromon menunjukkan lokasi yang
optimal untuk konstruksi jembatan. Oleh karena itu,
baik waktu maupun lokasi konstruksi jembatan lebih
unggul dalam Model 2. Namun, Model 2 memiliki
kelemahan yaitu jembatan tidak dapat dibentuk
sampai lokasi pencarian makan telah ditemukan. Di
alam, kasus juga diamati di mana jembatan dibentuk
di tempat yang diperlukan sebelum tempat mencari
makan ditemukan. Oleh karena itu, untuk kegiatan
altruistik seperti pembentukan jembatan, semut
dapat menggunakan metode feromon bersama dengan
beberapa kriteria penilaian lainnya seperti yang
disebutkan pada Model 1.
Populasi
Gambar 3.15 Hasil Eksperimen Peta Sederhana
K
i
n
e
r
j
a
Feromon tetangga Tidak ada Feromon
50
Populasi
Gambar 3.16 Hasil Eksperimen 1 Peta Rumit
Populasi
Gambar 3.17 Hasil Eksperimen 2 Peta Rumit
Feromon tetangga Tidak ada Feromon
K
i
n
e
r
j
a
Feromon tetangga
L
E
v
e
l
A
l
t
u
r
i
s
m
e
51
3.7.4 Kriteria Penilaian Yang Mengacu Pada
Pembentukan Rantai
1. Apa Itu Pembentukan Rantai?
Pembentukan rantai adalah perilaku kooperatif
filantropi lain yang mirip dengan pembentukan
jembatan. Rantai dalam hal ini mengacu pada
struktur yang dibentuk tubuh semut saat semut
menghadapi perbedaan ketinggian yang ekstrem selama
perjalanannya. Dengan cara ini, semut lain bisa
berpindah dengan aman dari satu tempat ke tempat
lain. Dalam penelitiannya, Lioni, Theraulaz dan
Deneubourg, mengamati perilaku pembentukan rantai
semut di sarang yang dipasang di laboratorium.
Hasil penelitian menunjukkan bahwa probabilitas
partisipasi dalam pembentukan rantai 𝑷𝜺 dan
probabilitas meninggalkan pembentukan rantai 𝑷𝒔
dapat didekati dengan persamaan 3.14 dan persamaan
3.15.
𝑷𝜺 = 𝑪𝜺𝟎 +𝑪𝜺𝟏𝑿
𝑪𝜺𝟐+𝑿, (3.14)
𝑷𝒔 = 𝑪𝒔𝟎 +𝑪𝒔𝟏𝑿
𝑪𝒔𝟐+𝑿𝒗, (3.15)
dengan 𝑿 adalah jumlah semut yang berpartisipasi
dalam pembentukan rantai dan simbol lainnya adalah
konstanta. Menurut persamaan (3.14) dan persamaan
(3.15), jika banyak semut yang terkandung dalam
rantai yang terbentuk maka lebih mudah baginya
untuk berpartisipasi dalam pembentukan rantai
tetapi lebih sulit untuk dihentikan.
Penggunaan rumus pada persamaan (3.14) dan
persamaan (3.15) sebagai kriteria penilaian untuk
pembentukan rantai, percobaan dilakukan untuk
memverifikasi hipotesis yang diusulkan, seperti
yang dibahas di bagian selanjutnya.
52
2. Percobaan Untuk Memverifikasi Sistem
Pembentukan Rantai
Untuk membenarkan model yang diusulkan dari
konsentrasi feromon sebagai kriteria untuk transisi
ke keadaan altruisme, sebuah studi komparatif
dilakukan dengan model formasi rantai Lioni.
Pada Gambar 3.18, jumlah agen ditunjukkan pada
sumbu horizontal dan waktu hingga selesai mencari
makanan pada sumbu vertikal. Diketahui bahwa untuk
beberapa ukuran populasi, ketika konsentrasi
feromon digunakan sebagai kriteria penilaian,
pencarian makanan membutuhkan waktu yang lebih
singkat daripada yang dibutuhkan untuk formula
rantai.
Gambar 3.18 Perbandingan Kinerja Untuk Waktu
Mencari Makanan
Feromon tetangga
K
i
n
e
r
j
a
Populasi
53
Gambar 3.19 Perbandingan Kinerja Untuk Aktivitas
Alturistik
Pada Gambar 3.19, jumlah agen ditunjukkan pada
sumbu horizontal dan waktu kumulatif selama agen
terlibat dalam perilaku altruistik pada sumbu
vertikal. Juga diamati bahwa ketika konsentrasi
feromon digunakan sebagai kriteria penilaian, total
waktu selama agen terlibat dalam aktivitas
altruistik lebih pendek dan kurang dipengaruhi oleh
ukuran populasi. Di sisi lain, ketika rumus Lioni,
Theraulaz dan Deneubourg diterapkan, waktu terlibat
dalam perilaku altruistik meningkat terhadap jumlah
agen. Gambar 3.20 membandingkan aspek lain dari
model. Ketika konsentrasi feromon digunakan sebagai
kriteria penilaian, jembatan dibangun di lokasi
yang diperlukan, tetapi ketika rumus dari Lioni,
Theraulaz dan Deneubourg diterapkan, jembatan
dibangun di banyak lokasi selain lokasi yang
dipersyaratkan. Dari Gambar 3.20 juga terlihat
jelas bahwa dengan model Lioni, lebih sedikit agen
Feromon tetangga T
o
t
a
l
W
a
k
t
u
A
l
t
u
r
i
s
m
e Populasi
54
berada pada keadaan Pencarian karena banyak dari
mereka di keadaan Altruisme.
Gambar 3.20 Perbandingan Lokasi Pembentukan
Jembatan
Prosedur menggunakan rumus dari Lioni dan kawan-
kawan menampilkan kemungkinan perilaku altruistik
yang lebih tinggi di lokasi tempat agen cenderung
berkumpul. Oleh karena itu, perilaku yang lebih
altruistik diharapkan terjadi di dekat lokasi
pencarian makanan dan sarang atau di antara lokasi
tersebut. Dalam model Lioni, perilaku altruistik
dimungkinkan tanpa menemukan lokasi pencarian
makanan dan ini merupakan keuntungan dibandingkan
model yang diusulkan berdasarkan konsentrasi
feromon. Kendati demikian, simulasi hasil
penelitian menunjukkan bahwa dalam hal kinerja,
Feromon
Jembatan tdk
berguna Jembatan
diperlukan
Jembtan
diperlukan
Rumus Rantai
55
diukur sebagai kecepatan mencari makanan, model
yang diusul
kan lebih unggul dari model Lioni. Alasan yang
mungkin di balik ini bisa jadi karena Lioni dkk.
perhitungan percobaan dilakukan dengan membatasi
situs pembentukan rantai menjadi satu; oleh karena
itu, model mereka tidak dapat langsung diterapkan
pada lingkungan dengan serangkaian situs formasi
jembatan seperti yang digunakan di sini. Oleh
karena itu, dalam pertimbangan biologi semut
tentara, dll., perlu digabungkan model berbasis
konsentrasi feromon dengan kriteria penilaian
lainnya.
3.7.5 Perubahan Strategi Berdasarkan Jumlah Agen
Telah dikonfirmasi bahwa perilaku kelompok semut
tentara dipengaruhi secara serius oleh jumlah semut
yang aktif (Lioni dan Deneubourg, 2004). Misalnya,
jika hanya sedikit semut yang tersedia untuk
pembentukan rantai, rantai tidak terbentuk, tetapi
jika tersedia dalam jumlah besar, rantai terbentuk
di beberapa tempat. Namun, bila jumlah semut aktif
sedang, awalnya beberapa rantai terbentuk. Tetapi
setelah waktu tertentu, perpanjangan sebagian besar
rantai berhenti dan ukuran rantai secara bertahap
berkurang; akhirnya perpanjangan hanya satu rantai
berlanjut. Namun, masih belum jelas bagaimana semut
menghitung jumlah semut di sekitarnya dan bagaimana
jumlah ini memengaruhi perilakunya.
3.7.6 Eksperimen Kooperatif
Untuk memantau pengaruh ukuran kelompok pada
aktivitas agen, maka dilakukan percobaan
56
menggunakan rumus Lioni dkk, dengan menambahkan
batas minimal ukuran kelompok sebagai syarat
tambahan pembentukan rantai. Skema ini dibandingkan
dengan tidak memperhitungkan ukuran kelompok.
Percobaan dilakukan dengan menggunakan dua peta
yang ditunjukkan pada Gambar 3.21. Hasil percobaan
ditunjukkan pada Gambar 3.22 dan Gambar 3.23. Sumbu
horizontal menunjukkan jumlah agen, dan sumbu
vertikal menunjukkan kinerja dalam hal jumlah item
makanan yang dikumpulkan dalam waktu tertentu.
Dalam Gambar 3.22 dan 3.23, maksud keterangan “Dgn
Memperhatikan Lingkungan” adalah prosedur yang
mempertimbangkan jumlah semut tetangga dan “Tanpa
Memperhatikan Lingkungan” menunjukkan prosedur yang
tidak mempertimbangkan jumlah semut tetangga.
Peta 1 Peta 2
Gambar 3.21 Peta Yang Digunakan Untuk Mempelajari
Keefektifan Jumlah Agen
Pada Peta 1, Gambar 3.21, metode yang tidak
memperhitungkan informasi tentang semut tetangga
menunjukkan kinerja tinggi. Hal ini dikarenakan
kondisi pembentukan jembatan yang santai sehingga
jembatan dapat terbentuk pada tahap awal dan
makanan dapat ditemukan dengan mudah.
57
Gambar 3.22 Efek Pengetahuan Mengenai Lingkungan
(Peta 1)
Gambar 3.23 Efek Pengetahuan Mengenai Lingkungan
(Peta 2)
Dgn Memperhatikan
Lingkungan Tanpa Memperhatikan
Lingkungan
K
i
n
e
r
j
a
Populasi
Dgn Memperhatikan
Lingkungan
Tanpa Memperhatikan
Lingkungan
K
i
n
e
r
j
a
Populasi
58
Peta 2, Gambar 3.21, digunakan untuk menyelidiki
apakah perilaku cerdas dapat dicapai dengan
menghindari pembentukan jembatan yang tidak perlu
di mana jalan pintas tidak terlalu diperlukan untuk
pengumpulan makanan. Dalam hal ini, hasil yang
lebih baik diperoleh dengan metode pemeriksaan
jumlah semut tetangga.
Gambar 3.24 menunjukkan bagaimana jembatan
memanjang terhadap waktu untuk Peta 1. Pada Gambar
3.24, keterangan "1" mengacu pada jembatan terbesar
pada saat itu dan keterangan "2" mengacu pada
jembatan terbesar berikutnya. Sumbu horizontal
menunjukkan waktu dan sumbu vertikal menunjukkan
dua jembatan terbesar. Terlihat dari grafik bahwa
pada awalnya beberapa jembatan hidup berdampingan
dan memanjang dengan panjang yang kurang lebih
sama, tetapi akhirnya perbedaannya menjadi lebih
besar. Gambar 3.25 menunjukkan data yang diperoleh
dalam percobaan biologi dalam penelitian Lioni dan
Deneobourg pada tahun 2004. Ketika rantai dibentuk
di dua lokasi, catatan disimpan tentang bagaimana
setiap rantai diperpanjang. Pada Gambar 3.25,
keterangan "1" dan keterangan "2" menunjukkan
ukuran rantai di setiap lokasi.
Seperti yang dapat dilihat dari Gambar 3.24 dan
Gambar 3.25, kurva-kurva ini, yaitu data simulasi
dan data dari eksperimen biologis, terlihat sangat
mirip.
59
Gambar 3.24 Perubahan Ukuran Jembatan
Gambar 3.25 Perubahan Ukuran Rantai
Waktu
J
u
m
l
a
h
J
e
m
b
a
t
a
n
J
u
m
l
a
h
R
a
n
t
a
i
Waktu
60
3.7.7 Simulasi Dengan Peran Tetap Yang Ditentukan
Di Awal
Dari percobaan sebelumnya, model memiliki banyak
sifat yang mirip dengan perilaku semut tentara
sebenarnya. Untuk menekankan kesamaan antara agen
pada simulator dan semut tentara yang sebenarnya,
penting untuk membandingkan data eksperimen. Hal
ini bisa dilakukan dengan menyesuaikan perilaku
agen dengan perilaku semut tentara.
Langkah pertama, eksperimen dilakukan menggunakan
simulator yang setiap agen memiliki tugas tetap
yang yang telah diatur di awal. Pemberian tugas
merupakan salah satu perilaku yang diamati pada
semut tentara. Semut tentara memiliki tugas yang
bergantung pada pangkat. Pada simulator yang
digunakan disini, dua peran berbeda untuk agen
dipertimbangkan.
Aturan A: Pencarian dan pengangkutan
(transportasi) makanan
Aturan B: Membangun jembatan untuk memdukung
aturan A
Percobaan dilakukan dengan menugaskan agen untuk
dua peran ini dengan rasio yang berbeda. Gambar
3.26 menunjukkan hasil eksperimen di mana kinerja
dibandingkan dalam hal jumlah item makanan yang
dikumpulkan dalam waktu tertentu. Tingkat 0,1
berarti bahwa 10% dari agen ditugaskan untuk peran
B dalam simulasi. Keterangan “Penugasan Dinamis”
merupakan hasil eksperimen yang diperoleh dari
simulator yang digunakan dalam Bagian 3.7.5 di mana
agen tidak memiliki peran tetap.
61
Gambar 3.26 Hasil Percobaan Dengan Penetapan Tugas
K
i
n
e
r
j
a
L
e
v
e
l
0.1
L
e
v
e
l
0.2
L
e
v
e
l
0.3
L
e
v
e
l
0.4
L
e
v
e
l
0.5
L
e
v
e
l
0.6
L
e
v
e
l
0.7
L
e
v
e
l
0.8
L
e
v
e
l
0.9
P
e
n
u
g
a
s
a
n
D
I
n
a
m
i
s
62
Bab 4 Simulasi Pertikel Swarm
Banyak ilmuwan telah mencoba untuk mengungkapkan
perilaku kelompok dari pupolasi burung dan ikan
dengan menggunakan berbagai metode. Dua dari
ilmuwan paling terkenal yaitu Reynolds dan Heppner,
yang mensimulasikan gerakan burung. Reynolds
terpesona oleh keindahan populasi burung (Reynolds,
1987), dan Heppner, seorang ahli zoologi, memiliki
ketertarikan untuk menemukan aturan tersembunyi
dalam persingggahan dan penyebaran populasi burung
(Heppner dan Granader. 1990). Keduanya berbagi
pemahaman yang tajam tentang pergerakan burung yang
tidak dapat diprediksi. Pada level mikroskopis
gerakannya sangat sederhana, seperti terlihat pada
automata seluler, sedangkan pada level makroskopis
gerakannya sangat rumit dan terlihat kacau. Inilah
yang disebut “sifat yang muncul” di bidang
Artificial Life (Alife). Model ini memberi bobot
yang sangat tinggi pada pengaruh individu satu sama
lain. Demikian pula, dalam populasi ikan yang
setiap individu selalu menjaga jarak optimal antara
satu sama lain (lihat Gambar 4.1).
Gambar 4.1 Populasi ikan
Pendekatan yang digunakan disini sesuai dengan
dasar perilaku sosial kelompok burung, ikan, hewan,
dan, dalam hal ini, manusia. Hipotesis yang menjadi
63
dasar metode optimasi pertikel swarm yaitu
informasi yang paling berguna bagi seorang individu
adalah apa yang dibagikan dari anggota lain dalam
kelompok yang sama. Hal ini akan dijelaskan lebih
rinci pada sub bab 4.3.
Video grafik komputer oleh Reynolds menyatakan
sebuah individu dalam populasi agen disebut "boid".
Setiap boid bergerak sesuai dengan jumlah dari tiga
vektor berikut, yaitu (1) gaya untuk menjauh dari
individu atau halangan terdekat, (2) gaya untuk
bergerak menuju pusat populasi, dan (3) gaya untuk
bergerak menuju tujuannya. Koefisien penyesuaian
dalam penjumlahan ini menghasilkan banyak pola
perilaku. Teknik ini sering digunakan pada efek
khusus video dalam film. Contoh simulasi boid
diberikan pada Gambar 4.2 dan Gambar 4.3. Gambar
4.2 adalah ilustrasi perilaku sederhana dari boid
dan Gambar 4.3 menampilkan situasi jika diberikan
rintangan atau halangan.
Berikut ini adalah detail dari algoritma yang
diikuti boid. Banyak individu (boid) bergerak di
dalam ruang, dan setiap individu memiliki vektor
kecepatan. Tiga faktor di bawah menghasilkan
sekumpulan boid.
1. Hindari tabrakan: upaya untuk menghindari
tabrakan dengan individu-individu terdekat
2. Kecepatan pertandingan: mencoba untuk
mencocokkan kecepatan individu terdekat.
3. Pindah ke tengah: usahakan dikelilingi oleh
individu-individu terdekat.
Setiap boid memiliki “jarak optimal” untuk
menghindari tabrakan, dan berperilaku untuk menjaga
jarak ini dengan tetangga terdekatnya (Rucker,
1993). Tabrakan menjadi perhatian jika jarak antara
boid terdekat menjadi lebih pendek dari "jarak
64
optimal". Oleh karena itu, untuk menghindari
tumbukan, setiap boid melambat jika boid terdekat
ada di depan dan bertambah cepat jika boid terdekat
ada di belakang yang. Hal ini diilustrasikan pada
Gambar 4.4.
Gambar 4.2 Perilaku sederhana dari beberapa boid
((a)⇒(b) ⇒(c) ⇒(d))
Gambar 4.3 Boid dalam situasi ada rintangan
65
Gambar 4.4 Tehnik menghindari tabrakan (1)
Gambar 4.5 Tehnik menghindari tabrakan (2)
Jarak optimal juga digunakan untuk mencegah risiko
tersesat dari kawanan. Jika jarak ke boid terdekat
lebih besar dari jarak optimal, setiap boid
bertambah cepat jika boid terdekat ada di depan dan
melambat jika boid berada di belakang. Tehnik
menghindari tabrakan seperti ini diilustrasikan
pada Gambar 4.5.
Pengertian “depan” dan “belakang” pada Gambar 4.4
dan 4.5 adalah di depan atau di belakang garis yang
66
melintasi mata boid dan tegak lurus dengan arah
pergerakan boid (lihat Gambar. 4.6). Boid mencoba
untuk bergerak sejajar dengan vektor yang sama
dengan tetangga terdekatnya. Di sini, tidak ada
perubahan kecepatan. Selanjutnya boids mengubah
kecepatan agar selalu bergerak menuju pusat kawanan
atau populasi (pusat gravitasi semua boid).
Gambar 4.6 Ilustrasi “depan” atau “belakang” yang
melawati mata boid
Vektor kecepatan �̅�𝒊(𝒕) dari boid ke-𝒊 nilainya
diperbarui pada waktu 𝒕 diberikan pada persamaan
(4.1). Ilustrasi parameter-parameter yang terlibat
dalam perhitungan vektor kecepatan pada persamaan
(4.1) dapat dilihat pada Gambar 4.7.
�̅�𝒊(𝒕) = �̅�𝒊(𝒕 − 𝟏) + 𝑵𝒆𝒙𝒕̅̅ ̅̅ ̅̅ ̅𝒊(𝒕 − 𝟏) + �̅�𝒊(𝒕 − 𝟏), (4.1)
dengan 𝑵𝒆𝒙𝒕̅̅ ̅̅ ̅̅ ̅𝒊(𝒕 − 𝟏) adalah vektor kecepatan dari boid
yang terdekat ke individu 𝒊, �̅�𝒊(𝒕 − 𝟏) adalah vektor
dari individu 𝒊 ke pusat gravitasi dan kecepatan
pada satu waktu sebelumnya, yaitu �̅�𝒊(𝒕 − 𝟏),
depan
belakang
67
ditambahkan untuk memasukkan momen inersia ke dalam
perhitungan.
Gambar 4.7 Perbaharuan Vektor Kecepatan
Gambar 4.8 menunjukkan bahwa setiap boid memiliki
bidang pandangnya sendiri dan mempertimbangkan boid
dalam pandangannya saat mencari tetangga terdekat.
Namun, koordinat semua boid, termasuk yang tidak
terlihat, digunakan untuk menghitung pusat
gravitasi. Kennedy dan Eberhart (1995) merancang
algoritma optimasi yang efektif menggunakan
mekanisme boid-boid dibelakang. Algoritma ini
disebut particle swarm optimization (PSO).
Penjelasan lebih Detail diberikan pada sub bab 4.3.
Boid terdekat
𝑵𝒆𝒙𝒕̅̅ ̅̅ ̅̅ ̅𝒍(𝒕 − 𝟏)
�̅�𝒍(𝒕 − 𝟏)
�̅�𝒍(𝒕 − 𝟏)
Pusat gravitasi
Pusat gravitasi
68
Gambar 4.8 Setiap boid memiliki bidang pandang
masing-masing
4.1 Simulasi Boid-Boid dengan Swarm
Pada persamaan 4.1 telah diberikan rumus untuk
memperbaharui kecepatan boid. Program yang paling
mudah untuk menghitung nilai persamaan 4.1 adalah
dengan metode “step” dari Bug.java sebagai beikut:
// jumlah boid pada bidang pandang disubitusi
// kedalam “Num” pada garis di bawah ini
𝒈𝑿 /= Num;
𝒈𝒀 /= Num;
// koordinat pusat gravitasi adalah (𝒈𝑿, 𝒈𝒀).
// pada baris di atas,
// koordinat boid terdekat adalah (𝒎𝒊𝒏𝑫𝒙, 𝒎𝒊𝒏𝑫𝒚).
Bug nearestBug = (Bug)world.getObjectAtX$Y
((minDX)+worldXSize)%worldXSize,
(minDY)+worldYSize)%worldYSize); // boid terdekat disimpan dalam nearestBug
69
// arah pusat gravitasi disimpam dalam variabel ini
Float gVX = 0.0f, gVY = 0.0f;
Float tmp = (float)Math.sqrt((float)((gX - xPos)*(gX -
xPos)+(gY - yPos)*(gY - yPos)));
gVX = (float)(gX - xPos) / tmp;
gVY = (float)(gY - yPos) / tmp;
// (xPos, yPos) adalah posisi boid saat ini.
float sVX = 0.0f, sVY = 0.0f
//memperoleh vektor kecepatannya sendiri
sVX = (float)Math.cos( direction );
sVY = (float)Math.sin( direction );
float nVX = 0.0f, nVY = 0.0f //memperoleh vektor kecepatan boid terdekat
nVX = (float)Math.cos( nearestBug.direction );
nVY = (float)Math.sin( nearestBug.direction );
float fVX, fVY //memperoleh vektor arah yang baru
fVY = gravityWeight * gVY + sVY + nearWeight * nVY;
newDirection = Vector2Direction( fVX, fVY );
float dX = (float)(minDX - xPos);
float dY = (float)(minDY - yPos); // dari posisi saat ini
// memperoleh vektor arah terhadap boid terdekat
Float inner = dX * fVX + dY * fVY; // digunakan untuk menetukan kedekatan
Float nearestDist = (float)Math.sqrt( dX * dX + dY *
dY);
// mengganti kelajuan baru “new speed”
// dengan kelajuan saat ini “”speed”
if( inner > 0 ){ // jika boid terdekat didepan
dirinya
if( nearestDist > optDistance ){
newSpeed = speed * accel; // laju bertambah
else
70
newSpeed = speed / accel; // laju berkurang
}
}else{ // jika boid terdekat dibelakang dirinya
If( nearestDist > optDistance ){
newSpeed = speed / accel;
// laju berkurang
}else{
newSpeed = spedd * accel;
// laju bertambah
}
}
}
Selanjutnya diperoleh koordinat boid yang baru
(newX, newY).
newX = xPos + (int)( newSpeed * Math.cos
(newDirection));
newY = yPos + (int)( newSpeed * Math.sin
(newDirection));
Perhatikan bahwa perilaku grup boid sedikit berbeda
dengan mengubah gravityWeight dan nearWeight ke
berbagai nilai. Selain itu, versi tambahan boid
juga menyediakan hal berikut:
• Memperkenalkan dua jenis suku / ras boid.
• Menempatkan hambatan dalam peta.
4.2 Swarm Chemistry
Swarm Chemistry adalah sistem yang dirancang oleh
Sayama (2009) untuk memodelkan dan mensimulasikan
perilaku kelompok, misalnya populasi ikan dan
semut.
Agen dalam Swarm Chemistry bergerak dalam ruang dua
dimensi sesuai dengan aturan sederhana berdasarkan
71
sejumlah parameter. Vektor posisi 𝑿𝒊′ dan vektor
kecepatan 𝑽𝒊′ pada langkah selanjutnya, agen dalam
populasi ditentukan dari vektor posisi saat ini 𝑿𝒊
dan vektor kecepatan 𝑽𝒊 sesuai dengan proses
berikut.
1. Cari agen terdekat terhadap agen 𝑿𝒊 dengan
jarak Euclidean kurang dari 𝒓.
2. Jika tidak ada agen di dekatnya, nilai acak
[−0.5, 0.5] ditambahkan ke komponen 𝒙 dan 𝒚
pada percepatan dari 𝑿𝒊 yaitu 𝑨𝒊.
3. Jika paling sedikit ada satu agen di
dekatnya, percepatan dari 𝑿𝒊 yaitu 𝑨𝒊
diperbarui menggunakan persamaan (4.2),
dengan �̅�𝒊 adalah posisi rata-rata dari agen-
agen terdekat dan �̅�𝒊 adalah kecepatan rata-
rata dari agen-agen terdekat.
𝑨𝒊 = 𝒄𝟏(𝑿𝒊 − �̅�𝒊) + 𝒄𝟐(𝑽𝒊 − �̅�𝒊) + 𝒄𝟑 ∑(𝑿𝒊 − 𝑿𝒋)
|𝑿𝒊 − 𝑿𝒋|𝟐⁄𝑵
𝒋=𝟏 (4.2)
Sebagai tambahan, nilai acak [−0.5, 0.5]
ditambahkan ke komponen 𝒙 dan 𝒚 pada
percepatan dari 𝑿𝒊 yaitu 𝑨𝒊 dengan
probabilitas sebesar 𝒄𝟒.
4. Tambahkan 𝑨𝒊 ke 𝑽𝒊′.
5. Jika |𝑽𝒊′| > 𝒗𝒎, kalikan 𝑽𝒊
′ dengan sebuah nilai
konstan nilai sehingga nilai absolut menjadi
𝒗𝒎.
6. Memperbaharui 𝑽𝒊′ menggunakan persamaan (4.3).
𝑽𝒊′ ← 𝒄𝟓 (
𝒗𝒏
|𝑽𝒊′| ∙ 𝑽𝒊
′⁄ ) + (𝟏 − 𝒄𝟓)𝑽𝒊′ (4.3)
7. Lakukan prosedur di atas untuk semua agen.
72
8. Ganti kecepatan, 𝑽𝒊, setiap agen dengan 𝑽𝒊′
untuk memperbarui kecepatan.
9. Tambahkan 𝑽𝒊 ke posisi setiap agen 𝑿𝒊 untuk
mendapatkan posisi di langkah 𝑿𝒊′ berikutnya.
Ada delapan parameter kontrol dalam proses
pembaruan, yaitu 𝒓, 𝒗𝒏, 𝒗𝒎, 𝒄𝟏, 𝒄𝟐, 𝒄𝟑, 𝒄𝟒, 𝒄𝟓. Penggunaan
beberapa populasi dengan parameter berbeda
menghasilkan interaksi antar populasi, dan perilaku
kompleks dapat diamati.
Populasi yang ditunjukkan pada Gambar 4.9 adalah
contoh perilaku yang muncul dari sistem ini, di
mana sekelompok swarm berputar mengelilingi
kelompok swarm lainnya. Parameter kontrolnya adalah
60∗{73.03, 0.61, 5, 0.75, 0.17, 28.81, 0.32, 0.37}
140∗{93.28, 5.15, 10.71, 0.64, 0.58, 96.71, 0.07,
0.41}
dengan 60 dan 140 adalah jumlah boid dari setiap
populasi.
Gambar 4.9 Perilaku dalam Swarm Chemistry (1)
73
Gambar 4.10 menunjukkan perilaku dimana grup swarm
besar dipantulkan ke dinding dan kadang-kadang
tertarik pada gerombolan kecil. Parameter-parameter
kontrolnya adalah
164∗{52.86, 9.69, 13.19, 0.93, 0.5, 23.84, 0.3,
0.85}
36∗{73.31, 0.76, 3.47, 0.35, 0.32, 7.47, 0.09,
0.22}
Gambar 4.10 Perilaku dalam Swarm Chemistry (2)
Gambar 4.11 adalah sebuah tangkapan layar dari
sebuah sistem dimana parameter-paramter kontrol
melalui Interactive Evolutionary Computation (IEC)
untuk mendapatkan sistem yang berperilaku sesuai
preferensi pengguna. Sistem ini adalah applet Java
yang tersedia secara online pada situs http:
//www.iba.t.utokyo.ac.jp/~akio/swarm_chemistry.html
. Seorang pengguna mengamati perilaku dua sistem ke
kanan dan ke kiri, dan memilih sistem yang disukai.
Pengulangan dengan membandingkan secara pasangan
seperti itu akan mengoptimalkan parameter mendekati
nilai yang disukai pengguna. Ketika sebuah sistem
yang sangat dekat dengan apa yang diinginkan
pengguna muncul, pengguna dapat menyesuaikannya
74
dengan menekan tombol "Mode Pencarian Lokal" di
bagian atas.
Gambar 4.11 Sebuah Tangkapan Layar dari
Swarm Chemistry
4.3 Optimasi Partikel Swarm (OPS)
Sub bab ini membahas metode optimasi partikel Swarm
(OPS). OPS adalah algoritma dari bidang Swarm
Intelligence. OPS pertama kali dijelaskan oleh
Kennedy dan Eberhart (1995) sebagai alternatif
untuk algoritma genetik. Algoritma untuk OPS
disusun berdasarkan pengamatan perilaku sosial
tertentu pada hewan atau serangga kelas bawah.
Berbeda dengan konsep modifikasi kode genetik
menggunakan operasi genetik seperti yang digunakan
di algortima genetik, dalam OPS individu-individu
yang bergerak disebut partikel di mana gerakan
selanjutnya dari individu ditentukan oleh gerakan
individu itu sendiri dan gerakan dari individu-
individu disekitarnya. OPS memiliki kemampuan yang
sama dengan algoritma genetik untuk masalah
pengoptimalan fungsi.
Sisi Kiri Sisi Kanan Mode Pencarian Lokal
75
Di bawah ini dijelaskan asal mula OPS, prosedur
OPS, perbandingan efisiensi pencarian dengan
algoritma genetik, dan memberikan beberapa contoh
penerapan OPS.
4.3.1 Algoritma Optimasi Partikel Swarm (OPS)
OPS klasik pertama kali diusulkan untuk diterapkan
pada masalah pengoptimalan. OPS mensimulasikan
gerakan sejumlah besar individu atau partikel yang
bergerak dalam ruang multi-dimensi (Kennedy dan
Eberhart, 1995). Setiap individu menyimpan vektor
lokasinya sendiri (�⃗⃗� 𝒊), vektor kecepatan (�⃗⃗� 𝒊), dan
posisi di mana individu tersebut memperoleh nilai
kebugaran tertinggi (�⃗⃗� 𝒊). Semua individu juga
berbagi informasi mengenai posisi dengan nilai
kebugaran tertinggi untuk grup (�⃗⃗� 𝒒).
Pada tahapan selanjutnya, kecepatan setiap individu
diperbarui menggunakan lokasi terbaik secara
keseluruhan yang diperoleh hingga waktu saat ini
untuk seluruh grup dan lokasi terbaik yang
diperoleh hingga waktu saat ini untuk individu
tersebut. Pembaharuan kecepatan dilakukan
menggunakan rumus pada persamaan (4.4).
�⃗⃗� 𝒊 = 𝝌(𝝎�⃗⃗� 𝒊 + 𝝓𝟏 ∙ (�⃗⃗� 𝒊 − �⃗⃗� 𝒊) + 𝝓𝟐 ∙ (�⃗⃗� 𝒒 − �⃗⃗� 𝒊)). (4.4)
Koefisien yang digunakan pada persamaan (4.4)
adalah koefisien konvergensi 𝝌, yaitu sebuah nilai
acak antara 0.9 dan 1.0, serta koefisien atenuasi
𝝎, sedangkan 𝝓𝟏 dan 𝝓𝟐 adalah nilai acak yang unik
untuk masing-masing individu dan dimensi, dengan
nilai maksimum 2. Jika pada saat perhitungan
kecepatan melebihi batas tertentu, maka nilai
kecepatan diganti dengan kecepatan maksimum, 𝑽𝒎𝒂𝒙.
Prosedur ini dilakukan untuk menjamin bahwa
76
individu berada di dalam wilayah pencarian selama
proses pencarian.
Lokasi masing-masing individu diperbarui di setiap
tahapan dengan rumus pada persamaan 4.5.
�⃗⃗� 𝒊 = �⃗⃗� 𝒊 + �⃗⃗� 𝒊 (4.5)
Gambar 4.12 Bagan Alir Algoritma
Optimasi Partikel Swarm
Bagan Alir (flow chart) keseluruhan optimasi
partikel swarm ditunjukkan pada Gambar 4.12. Gambar
4.13 menunjukkan gerakan spesifik masing-masing
individu. Populasi burung yang terdiri dari
sejumlah burung diasumsikan sedang terbang, langkah
1 memfokuskan pada gerakan salah satu individu.
Pada Gambar 4.13 langkah 1, simbol О dan segmen
garis penghubung menunjukkan posisi dan jalur
77
seekor burung. Pada langkah 2 di Gambar 4.13,
simbol ⊚ terdekat pada jalur burung itu sendiri
menunjukkan posisi dengan nilai fitness tertinggi
dalam jalurnya. Simbol ⊚ di jalur burung lain
menandai posisi dengan nilai fitness tertinggi
untuk populasi. Keadaan selanjutnya akan tercapai
dalam arah yang ditunjukkan oleh panah pada Langkah
3. Vektor 1 menunjukkan arah yang diikuti pada
langkah sebelumnya; vektor 2 diarahkan ke posisi
dengan nilai fitness tertinggi untuk populasi; dan
vektor 3 menunjukkan lokasi di mana individu
memperoleh nilai fitness tertinggi pada jalur yang
telah ditempuh. Jadi, semua vektor ini, 1, 2, dan
3, pada Langkah 3 dijumlahkan untuk mendapatkan
arah pergerakan sebenarnya pada langkah berikutnya
seperti ditunjukkan pada langkah 4 di Gambar 4.13.
Simulator tersedia untuk menyelidiki proses
pencarian OPS. Gambar 4.14 adalah tangkapan layar
dari simulator tersebut. Jenis pencarian PSO
seperti ini tentunya memiliki efisiensi yang tinggi
karena pencarian terfokus pada dekat solusi optimal
terdekat yang tersedia dalam ruang pencarian yang
relatif sederhana. Namun, algoritma PSO kanonik
sering terjebak pada optimal lokal dalam masalah
multimodal. Oleh karena itu, diperlukan adaptasi
untuk menerapkan OPS pada permasalahan yang
memiliki beberapa nilai optimal lokal.
Untuk mengatasi keterbatasan tersebut, OPS dapat
diintegrasikan dengan algoritma genetik (Higashi
dan Iba, 2003). OPS hibrida tidak mengikuti proses
di mana setiap individu dari OPS sederhana
berpindah ke posisi lain di dalam area pencarian
dengan probabilitas yang telah ditentukan tanpa
dipengaruhi oleh individu lain, tetapi meninggalkan
ambiguitas tertentu dalam transisi ke tahapan
78
berikutnya karena mutasi Gaussian. Teknik ini
menggunakan persamaan berikut:
Gambar 4.13 Cara Burung Terbang
Langkah 1
Langkah 2
Langkah 3
Langkah 4
79
𝒎𝒖𝒕(𝒙) = 𝒙 × (𝟏 + 𝑮𝒂𝒖𝒔𝒔𝒊𝒂𝒏(𝝈)), (4.6)
dengan 𝝈 diatur menjadi 0,1 kali panjang ruang
pencarian dalam satu dimensi. Individu dipilih pada
probabilitas yang telah ditentukan dan posisinya
ditentukan pada probabilitas di bawah distribusi
Gaussian. Pencarian luas dimungkinkan pada tahap
pencarian awal dan efisiensi pencarian ditingkatkan
pada tahap tengah dan akhir secara bertahap dengan
mengurangi rasio penampilan mutasi Gaussian pada
tahap awal. Gambar 4.14 menunjukkan proses
pencarian PSO dengan mutasi Gaussian. Pada Gambar
4.14, 𝑽𝒍𝒃𝒆𝒔𝒕 merepresentasikan kecepatan berdasarkan
lokal terbaik, yaitu 𝒑𝒊⃗⃗ ⃗ − 𝒙𝒊⃗⃗ ⃗ dalam persamaan (4.4),
sedangkan 𝑽𝒈𝒃𝒆𝒔𝒕 mewakili kecepatan berdasarkan
global terbaik, yaitu 𝒑𝒈⃗⃗⃗⃗ ⃗ − 𝒙𝒊⃗⃗ ⃗.
Gambar 4.14 Konsep Proses Pencarian PSO
dengan mutasi Gaussian
Modifikasi pencarian titik
Modifikasi pencarian titik
Tahapan
80
Bab 5 Simulasi Cellular Automata
Matematikawan terkemuka John von Neumann
mempelajari automata yang mereproduksi diri pada
tahun 1946, tak lama sebelum kematiannya. Ia
menemukan bahwa reproduksi diri dimungkinkan dengan
29 sel, dan membuktikan bahwa mesin tidak hanya
dapat mereproduksi dirinya sendiri, tetapi juga
dapat membuat mesin yang lebih kompleks dari
dirinya sendiri. Penelitian berhenti karena
kematiannya; namun, pada tahun 1966, Arthur Burks
mengedit dan menerbitkan manuskrip von Neumann.
John Conway, seorang matematikawan Inggris,
mengembangkan karya von Neumann dan pada tahun
1970, memperkenalkan Game of Life, yang menarik
minat yang sangat besar. Beberapa orang menjadi
"peretas Game of Life," programmer dan desainer
lebih tertarik untuk mengoperasikan komputer
daripada makan. Peretas di MIT (Massachusetts
Institute of Technology) meneliti Game of Life
dengan teliti, dan hasilnya berkontribusi pada
kemajuan dalam ilmu komputer dan kecerdasan buatan.
Konsep Game of Life berkembang menjadi “cellular
automaton” (CA), yang masih banyak dipelajari di
bidang artificial life. Sebagian besar penelitian
tentang artificial life memiliki banyak kesamaan
dengan dunia tempat peretas bermain di masa-masa
awal komputer.
Game of Life dimainkan pada petak kotak berukuran
sama (sel). Setiap sel bisa "aktif" atau
"nonaktif". Ada delapan sel yang berdekatan untuk
setiap sel dalam kisi dua dimensi (atas dan bawah,
kiri dan kanan, empat diagonal). Ini disebut
lingkungan Moore. Keadaan di langkah berikutnya
ditentukan oleh aturan yang diuraikan dalam Tabel
t.1. Status "aktif" bersesuaian dengan "•" dalam
sel, sedangkan status "tidak aktif" berarti kosong.
81
Pola-pola menarik berikut dapat diamati dengan
aturan-aturan ini.
Tabel 5.1 Status Sel Pada Langkah Berikutnya
Status sel saat
ini
Status sel
tetangga
Status pada
langkah
berikutnya
Aktif Dua atau tiga
adalah aktif
Aktif
Kasus lain Tidak aktif
Tidak aktif Tiga adalah
aktif
Aktif
Kasus lain
Tidak aktif
(1) Pola menghilang (tiga serangkai membentuk
diagonal )
menghilang
(2) Pola stabil (blok ukuran 2 x 2)
Tetap stabil
(3) Sakelar dua-keadaan (Flicker, di mana tiga
serangkai vertikal dan tiga serangkai
horizontal muncul secara bergantian)
Berulang
82
(4) Glider (pola bergerak ke satu arah)
Bergerak ke
kanan bawah
"Pemakan" yang menghentikan glider dan "senjata
glider" yang menembak glider dapat ditentukan, dan
senjata glider dihasilkan oleh tabrakan glider.
Kemampuan mengatur diri seperti itu berarti bahwa
Game of Life dapat digunakan untuk mengonfigurasi
mesin Turing universal. Gerbang logika fundamental
(AND, OR, NOT) terdiri dari baris glider dan pola
menghilang, sedangkan pola blok stabil digunakan
sebagai memori. Namun, jumlah sel yang dibutuhkan
dalam sistem yang mengatur dirinya sendiri
diperkirakan sekitar 10 triliun (3 juta × 3 juta).
Ukurannya akan menjadi persegi yang panjang
sisinya 3 km, jika setiap sel berukuran 1 mm2.
Perhatikan Game of Life satu dimensi, salah satu
automata seluler paling sederhana. Urutan sel satu
dimensi pada waktu 𝒕 dinyatakan pada (5.1).
𝒂𝟏𝒕 , 𝒂𝟐
𝒕 , 𝒂𝟑𝒕 , ⋯. (5.1)
Di sini, setiap variabel hanya dapat bernilai 0
(tidak aktif) atau 1 (aktif). Aturan umum yang
digunakan untuk menentukan keadaan 𝒂𝒊𝒕+𝟏 pada sel
ke-𝒊 dan waktu 𝒕 + 𝟏 dapat dituliskan sebagai fungsi
𝑭 keadaan pada waktu 𝒕 seperti persamaan (5.2).
𝒂𝒕+𝟏𝒊 = 𝑭(𝒂𝒕
𝒊−𝒓, 𝒂𝒕𝒊−𝒓+𝟏,⋯ , 𝒂𝒕
𝒊 , ⋯ , 𝒂𝒕𝒊+𝒓−𝟏, 𝒂𝒕
𝒊+𝒓), (5.2)
83
dengan 𝒓 adalah radius atau rentang sel yang
memengaruhi sel tersebut. Misalnya, jika r = 1 maka
persamaan (5.2) menjadi persamaan (5.3).
𝒂𝒕+𝟏𝒊 = 𝒂𝒕
𝒊−𝟏 + 𝒂𝒕𝒊 + 𝒂𝒕
𝒊+𝟏(𝐦𝐨𝐝 𝟐). (5.3)
Persamaan (5.3) menghasilkan penetapan keadaan
selanjutnya sebagai berikut:
waktu 𝒕 : 0010011010101100
waktu 𝒕 + 𝟏 : *11111001010001*
Masalah yang menarik adalah tugas menemukan aturan
mayoritas. Tugasnya adalah menemukan aturan yang
pada akhirnya akan berakhir dengan urutan semua 1
(0) jika mayoritas sel adalah 1 (0) dengan jari-
jari minimum (𝒓). Hal tersebut dimungkinkan untuk
urutan biner satu dimensi dengan panjang tertentu.
Solusi umum untuk masalah ini tidak diketahui.
Contoh yang terkenal adalah masalah aturan
mayoritas dengan panjang 149 dan radius 3.
Masalahnya dikurangi menjadi mencari fungsi yang
memberikan 1 atau 0 ke input dengan 7 bit (= 3 + 1
+ 3, radius 3 ditambah dirinya sendiri); oleh
karena itu, ruang fungsinya adalah 𝟐𝟐𝟕.
Bagaimana Cellular Automata (CA) mendapatkan solusi
untuk masalah mayoritas?
Salah satu metodenya adalah dengan mengubah warna
(hitam atau putih) sel ke sebagian besar sel
tetangganya. Akan tetapi, metode ini tidak bekerja
dengan baik, seperti yang ditunjukkan pada Gambar
5.1 karena menghasilkan pola tetap yang terbagi
menjadi hitam dan putih.
Pada tahun 1978, Gacs, Kurdyumov, dan Levin (GKL)
menemukan aturan tentang masalah ini. Lawrence
84
Davis memperoleh versi perbaikan dari aturan ini
pada tahun 1995, dan Rajarshi Das mengusulkan
modifikasi lain. Ada juga penelitian untuk
menemukan aturan yang efektif melalui algoritma
genetik atau pemprograman genetik. Konsep fungsi
Boolean diterapkan saat pemprograman genetik
digunakan. Nilai fitness ditentukan oleh persentase
urutan yang diproses dengan benar dari 1000 urutan
yang dibuat secara acak dengan panjang 149.
GAMBAR 5.1 (Lihat Sisipan Warna): CA melakukan
pemungutan suara mayoritas
Tabel 5.2 adalah rangkuman aturan dari berbagai
metode. Tabel 5.2 menampilkan aturan transisi dari
0000000 ke 1111111 dalam bentuk 128 bit. Dengan
kata lain, jika bit pertama adalah 0,
𝑭(𝟎𝟎𝟎 𝟎 𝟎𝟎𝟎) = 𝟎.
Tabel 5.3 adalah perbandingan dari aturan-aturan
yang berbeda. Aturan yang diperoleh dengan
menggunakan pemprograman genetik sangat efektif,
untuk referensi lebih detail menganai penelitian
ini dapat dilihat pada Andre, Bennett dan Koza
(1996).
85
Tabel 5.2 Aturan Mayoritas
Nama (Tahun) Aturan Transisi
GKL (1978) 00000000 01011111 00000000 01011111
00000000 01011111 00000000 01011111
00000000 01011111 11111111 01011111
00000000 01011111 11111111 01011111
Davis
(1995)
00000000 00101111 00000011 01011111
00000000 00011111 11001111 00011111
00000000 00101111 11111100 01011111
00000000 00011111 11111111 00011111
Das
(1995)
00000111 00000000 00000111 11111111
00001111 00000000 00001111 11111111
00001111 00000000 00000111 11111111
00001111 00110001 00001111 11111111
Pemprograman
Genetik
(1995)
00000101 00000000 01010101 00000101
00000101 00000000 01010101 00000101
01010101 11111111 01010101 11111111
01010101 11111111 01010101 11111111
Tabel 5.3 Performa Masalah Mayoritas
Aturan Performa Jumlah Pengujian
GKL 81.6% 𝟏𝟎𝟔
Davis 81.8% 𝟏𝟎𝟔
Das 82.178% 𝟏𝟎𝟕 Algoritma
Genetik
76.9% 𝟏𝟎𝟕
Pemprograman
Genetik
82.326% 𝟏𝟎𝟕
Gambar 5.2 menunjukkan bagaimana cellular automata
yang diperoleh dari algoritma genetik dapat
menyelesaikan masalah ini dengan baik (Mitchell,
2001). Daerah yang awalnya didominasi oleh sel
hitam atau putih menjadi daerah yang sepenuhnya
ditempati oleh sel hitam atau putih. Garis vertikal
selalu ada di lokasi di mana wilayah hitam di kanan
bertemu dengan wilayah putih di kanan. Sebaliknya,
bidang segitiga dengan pola papan catur terbentuk
86
di mana bidang putih di kanan bertemu dengan bidang
hitam di kanan.
GAMBAR 5.2: Perilaku CA dari Hasil
Algoritma Genetik
Dua tepi dari wilayah segitiga yang tumbuh di
tengah dengan pola papan catur tumbuh dengan
kecepatan yang sama, dengan jarak yang sama per
satuan waktu. Tepi kiri meluas hingga bertabrakan
dengan batas vertikal. Tepi kanan nyaris
menghindari batas vertikal di sebelah kiri
(perhatikan bahwa tepi kanan dan kiri terhubung).
Oleh karena itu, tepi kiri dapat memanjang lebih
pendek, yang berarti panjang bidang putih yang
dibatasi tepi kiri lebih pendek daripada panjang
bidang hitam yang dibatasi tepi kanan. Tepi kiri
menghilang di titik tabrakan, memungkinkan daerah
hitam tumbuh. Selanjutnya, kedua sisi menghilang
pada puncak bawah dan seluruh baris kisi menjadi
Tabrakan
87
hitam, menunjukkan bahwa jawaban yang benar
diperoleh.
Melanie Mitchell (2001) menganalisis struktur
pemrosesan informasi pada cellular automata yang
berkembang melalui algoritma genetik dengan
menggunakan perilaku sistem dinamis. Batas antara
wilayah sederhana (tepi dan batas vertikal)
dianggap sebagai pembawa informasi, dan informasi
diproses ketika batas ini bertabrakan. Gambar 5.3
hanya menunjukkan batas-batas pada Gambar 5.2.
Garis batas ini disebut "partikel" (mirip dengan
partikel dasar di ruang awan yang digunakan dalam
fisika). Partikel diwakili oleh huruf Yunani
mengikuti tradisi dalam fisika. Enam partikel
dihasilkan pada cellular automata ini. Setiap
partikel mewakili tipe batas yang berbeda.
Misalnya, 𝜼 adalah batas antara bidang hitam dan
bidang berpola papan catur. Sejumlah tumbukan
partikel dapat diamati. Sebagai contoh, 𝜷 + 𝜸
menghasilkan pembentukan partikel baru 𝜼, dan kedua
partikel hilang dalam 𝝁 + 𝜼.
Sangat mudah untuk memahami bagaimana informasi
dikodekan dan dihitung ketika perilaku cellular
automata diekspresikan dalam bahasa partikel.
Misalnya, partikel 𝜶 dan 𝜷 dikodekan dengan
informasi berbeda pada konfigurasi awal. Partikel 𝜸
mengandung informasi bahwa, ini adalah batas dengan
daerah putih, dan partikel 𝝁 adalah perbatasan
dengan daerah putih. Ketika sebuah partikel 𝜸
bertabrakan dengan partikel 𝜷 sebelum bertabrakan
dengan partikel 𝝁, ini berarti bahwa informasi yang
dibawa oleh partikel 𝜷 dan 𝜸 menjadi terintegrasi,
menunjukkan bahwa wilayah putih besar awal lebih
kecil daripada wilayah hitam besar awal yang
berbagi batas. Ini dikodekan menjadi partikel 𝜼
yang baru dibuat.
88
Stephen Wolfram (2002) secara sistematis
mempelajari pola yang terbentuk ketika aturan yang
berbeda dengan persamaan (5.2) digunakan. Stephen
mengelompokkan pola yang dihasilkan oleh satu
dimensi cellular automata menjadi empat kelas.
Gambar 5.3: Perilaku Cellular Automata dari
tumbukan partikel
Kelas I Semua sel kembali ke tahap yang sama
dan pola awal menghilang. Misalnya,
semua sel menjadi hitam atau semua sel
menjadi putih.
Kelas II Pola tersebut menyatu menjadi pola
bergaris yang tidak berubah atau pola
yang berulang secara berkala.
Kelas III Muncul pola yang periodik atau tak
periodik.
Kelas IV Perilaku kompleks diamati, seperti pola
menghilang atau pola periodik atau tak
periodik.
89
Contoh pola ini ditunjukkan pada Gambar 5.4.
Berikut adalah aturan di balik pola-pola ini dengan
radius 1:
Kelas I : Aturan 0
Kelas II : Aturan 245
Kelas III : Aturan 90
Kelas IV : Aturan 110
Gambar 5.4 Contoh Pola
Contoh pola yang diperlihatkan pada Gambar 5.4
menggunakan aturan transisi yang dinyatakan dalam
bit 𝟐𝟐𝟑 mulai dari 000 sampai 111 dan jumlah
aturannya adalah desimal yang ekuivalen dengan bit
(b) Kelas II (a) Kelas I
(b) Kelas III (b) Kelas IV
90
tersebut. Misalnya, aturan transisi untuk aturan
110 di Kelas IV adalah sebagai berikut:
𝟎𝟏𝟏𝟎𝟏𝟏𝟏𝟎𝒃𝒊𝒏𝒂𝒓𝒚 = 𝟐 + 𝟐𝟐 + 𝟐𝟑 + 𝟐𝟓 + 𝟐𝟔 = 𝟏𝟏𝟎𝒅𝒆𝒔𝒊𝒎𝒂𝒍.
Kauffman (1993) mengajukan konsep "edge of chaos"
untuk perilaku cellular automata. Konsep ini
merepresentasikan pola Kelas IV di mana pola
periodik dan tak periodik, serta pola tak beraturan
diulang. Hipotesis yang berhasil dalam kehidupan
artifisial adalah " life on the edge of chaos ".
5.1 Kelas Conway dengan Swarm
Kelas standar untuk mendeskripsikan cellular
automata adalah kelas ConwayLife2dImpl. Keuntungan
menggunakan kelas Conway adalah
(1) mudah mendeskripsikan sebuah sel automata.
(2) Memungkinkan untuk eksekusi pembaharuan
aturan dengan lebih cepat.
Sebagai contoh, perhatikan game of life pada Gambar
5.5. Anda mungkin menebak bahwa dalam permainan ini
sel tersebar di seluruh sisi persegi dengan aturan
1 adalah hidup (1, aktif) atau 0 adalah mati (0,
tidak aktif). Status sel diperbarui dengan aturan
berikut:
(1) Jika sel dalam keadaan mati, maka sel akan
hidup kembali jika dari delapan tempat di
sekitarnya ada tiga yang hidup.
(2) Jika sel dalam keadaan hiuup, maka sel akan
tetap hidup di waktu berikutnya jika dari
delapan tempat sekitarnya dua atau tiga
masih hidup. Jika tidak, keadaan sel
menjadi mati.
91
Gambar 5.5 Game of Life
Seperti sebelumnya, implementasi dengan
mengalokasikan satu Bug (objek) ke dalam satu sel
juga dapat dilakukan. Dalam kasus ini, aturan
pembaruan dijelaskan dalam metode "step" dari
Bug.java sebagai berikut. Ini dapat dianggap
sebagai aplikasi dari simpleObserverBug2.
Public void step(){
Int i.j;
Int sx.sy;
Int num = 0;
Bug b;
92
// Jumlah sel hidup di sekitarnya diperoleh dengan
'' sum ''
for(i = xPos – 1; i < xPos + 2, i++){
for(j = yPos – 1; j < yPos + 2, j++){
if(!(i == xPos && j == yPos)){
sx = (i+worldXSize)%worldXSize;
sy = (j+worldYSize)%worldYSize;
b=(Bug) world.getObjectAtX$Y(sx, sy);
if (b.isAlive()) num++;
}
}
}
// Eksekusi aturan pembaruan hidup dan mati
if(is_alive){
if(num == 2 || num == 3){
next_is_alive = true;
}else{
next_is_alive = false;
}
}else{
if(num == 3){
next_is_alive = true;
}else{
next_is_alive = false;
}
}
}
Di sisi lain, menulis bidang kisi dan aturan dalam
satu kelas menggunakan ConwayLife2dImpl juga
dimungkinkan. Berikut ini adalah metode stepRule di
dalam ConwayWorld.java. Di sini, semua koordinat
dinyatakan dengan (x, y),
Sum += this.getValueAtX$Y(xm1, ym1); // kiri bawah
Sum += this.getValueAtX$Y(x, ym1); // bawah
93
Sum += this.getValueAtX$Y(xp1, ym1); // kanan bawah
Sum += this.getValueAtX$Y(xm1, y); // kiri
Sum += this.getValueAtX$Y(xp1, y); // kanan
Sum += this.getValueAtX$Y(xm1, yp1); // kiri atas
Sum += this.getValueAtX$Y(x, yp1); // atas
Sum += this.getValueAtX$Y(xp1, yp1); // kanan atas
Berikut ini adalah kode untuk menghitung jumlah
nyawa (1) dalam sel di delapan tetangga.
xm1 = (x + xsize - 1) % xsize; // kiri
xp1 = (x + 1) % xsize; // kanan
ym1 = (y + ysize - 1) % ysize; // bawah
yp1 = (y + 1) % ysize; // atas
Pembagian dengan xsize dan ysize adalah untuk
mendapatkan sisa karena dianggap menghubungkan
vertikal dan horizontal (struktur torus) bidang
kisi. Selain itu, bagian di bawah ini adalah untuk
menghitung keadaan selanjutnya:
if(this.getValueAtX$Y(x,y)==1) // apakah sel hidup
(1)?
newState = (sum == 2 || sum == 3) ? 1 : 0;
else // jika sel mati (0)
newState = (sum == 3) ? 1 : 0;
Gambar 5.6 adalah hasil implementasi cellular
automata dengan menerapkan Bug. Program ini adalah
Contoh automata satu dimensi yang menetukan status
sel bersadarkan 2 atau 3 keadaan tetangganya, serta
aturan pembaruan sesuai dengan paritas ganjil.
Dengan kata lain, status mayoritas di tiga sel
sebagai status selanjutnya. Faktanya, proses
seperti yang diberikan di bawah ini dilakukan
dengan meletakkan Bug (objek) di baris terakhir
dari kisi FoodSpace dua dimensi:
94
Step1 Bug melihat keadaan umpan yang ditempatkan di
lingkungannya.
Step2 Keadaan ini memutuskan apakah umpan harus
ditempatkan di waktu setelahnya atau tidak.
Step3 FoodSpace digeser satu tempat ke atas.
Step4 Bug menempatkan makanan.
Step5 Kembali ke Step1.
Gambar 5.6 Cellular Automata Satu Dimensi
Perhatikan bahwa untuk mengubah aturan transisi
status, konten metode steps dari Bug.java, yang
menentukan status selanjutnya harus diubah.
Misalnya, dalam program sampel sebagai berikut:
95
public void step(){
int x;
int sx;
int [] v = new int [3];
// radius 𝒓 adalah 1, oleh karena itu,𝒓 + 𝟏 + 𝒓
disiapkan
// xPos adalah koordinatnya sendiri
// tiga nilai xPos-1, xPos, dan xPos+1
disubsitusi ke dalam v[0], v[1], dan v[2]
for(x = xPos-1; x < xPos+2; x++){
sx = (x + worldXSize) % worldXSize;
v[x – (xPos-1)] = foodSpace.getValueAtX$Y(sx,
yPos);
}
// nilai selanjutnya adalah status selanjutnya
dari xPos
//status selanjutnya diperoleh setalah memeriksa
keadaan pariti dari v[0], v[1], dan v[2]
if( (v[0]+v[1]+v[2]) %2 == 1 )
nextvalue = 1; else
next value = 0;
}
Selanjutnya untuk meningkatkan status, ikuti
langkah-langkah di bawah ini:
(1) Tambahkan jumlah warna yang sama dengan jumlah
status yang ingin Anda gunakan di colorMap di
dalam ObserverSwarm.java.
(2) Tingkatkan jenis umpan yang sama dengan jumlah
status yang ingin Anda gunakan di dalam
Bug.java.
(3) Ubah aturan transisi status yang sesuai.
96
Daftar Pustaka
Anderson, C., Theraulaz, G. and Deneubourg, J.L.:
“Self-assemblages in insect Societies,” Insectes
sociaux, vol. 49, no.2, hal. 99–110, 2002.
Angtuaco, S.P.: “Amazing Ants: How to Form a
Bridge,”http://jill-of alltrades.hubpages.com/hub
/Amazing-Ant.
Averill JD, Mileti DS, Peacock RD, Kuligowski ED,
Groner N, Proulx G, Reneke AP, Nelson HE (2005)
Final Report on the Collapse of the World Trade
Center Towers. Federal Building and Fire Safety
Investigation of the World Trade Center Disaster,
Occupant Behaviour. Egress and Emergency
Communications. September. NIST NCSTAR 1–7.
National Institute of Standards and Technology,
Gaithersburg, USA.
Blake SJ, Galea ER, Westeng H, Dixon AJP (2004) An
Analysis of Human Behaviour during the WTC
Disaster of 11 September 2001 based on Published
Survivor Accounts. In: Proceedings of the 3rd
International Symposium on Human Behaviour in
Fire, 1–3 September 2004. Interscience
Communication Ltd, Belfast, UK, hal. 181–192.
Caro, G. and Dorigo, M.: “AntNet: A mobile agents
ahalroach to adaptive routing,” Tech. Rep.
IRIDIA/97-12, Universite Libre de Bruxelles,
Belgium, 1997.
Cicirello, V. and Smith, S.: “Improved routing
wasps for distributed factory control,”
Proceedings of IJCAI-01Workshop on Artificial
Intelligence and Manufacturing: New AI Paradigms
for Manufacturing,hal. 26–32, 2001.
97
Deneubourg, J.L., Gross, S., and Franks, N.R.:
Sendova-Franks, A., Detrain, C., and Chretien,
L.: “The dynamics of collective sorting: Robot-
like ants and ant-like robots,” Proceedings of
Simulation of Adaptive Behavior: From Animals to
Animats (SAB91), hal. 356–363, 1991.
Dorigo, M. and Gambardella, L.M.: “Ant colonies for
the traveling salesman problem”, Tech. Rep.
IRIDIA/97-12, Universite Libre de Bruxelles,
Belgium, 1997.
Drogoul, A.; Vanbergue, D.; and Meurisse, T. 2002.
Multi-Agent Based Simulation: Where Are the
Agents? In Proceedings of the Third International
Multi-Agent-Based Simulation Workshop (MABS),
Lecture Notes in Computer Science 2581, 1–15.
Berlin: Springer.
Epstein, J.M. and Axtell, R.: Growing Artificial
Societies, MIT Press, 1996.
Fabre, J.-H.: Insect Adventures Jean-Henri Fabre,
Alexander Teixeira De Mattos (Translator),
Kessinger Publishing, Whitefish, Montana, 2005.
Fahy RF (1996) Enhancement of EXIT89 and analysis
of World Trade Center data, NIST-GCR-95-684. Fire
Analysis and Research Division. National
Institute of Standards and Technology,
Gaithersburg, USA.
Gacs, P., Kurdyumov,G. L., and Levin, L. A.,
“Onedimensional Uniform arrays that wash out
finite islands,” Problemy Peredachl Informatsii,
vol. 12, hal. 92–98, 1978.
Galea ER, Gwynne SMV, Lawrence PJ, Filihalidis L,
Blackshields D, Cooney D (2004) buildingEXODUS
98
User Guide and Technical Manual. University of
Greenwich, London, UK.
Galea ER, Sharp G, Lawrence PJ, Holden R (2008)
Ahalroximating the evacuation of the World Trade
Center North Tower using computer simulation. J
Fire Prot Eng 18(2):85–115.
Gomez-Sanz, J. J.; Fernandez, C. R.; and Arroyo, J.
2010. Model Driven Development and Simulations
with the Ingenias Agent Framework. Simulation
Modelling Practice and Theory 18(10): 1468–1482.
Hehalner, F. and Grenader, U.: A Stochastic
Nonlinear Model for Coordinated Bird Flocks, AAAS
Washington,DC, 1990.
Higashi, N. and Iba, H.: “Particle swarm
optimization with Gaussian mutation,” Proceedings
of IEEE Swarm Intelligence Symposium (SIS03),
hal. 72–79, 2003.
IES (2001) Simulex user manual; evacuation modeling
software. Integrated Environmental Solutions Inc,
Glasgow, UK.
Ishiwata, H., Noman, N., and Iba, H.: “Emergence of
cooperation in a bio-inspired multi-agent
system,” Proceedings of Australasian Conference
on Artificial Intelligence 2010(AI2010), LNAI,
vol. 6464, hal. 364–374, Springer, 2010.
Johnson CW (2005) Lessons from the evacuation of
the world trade centre, 9/11/2001 for the
development of computer-based simulations.
Cognition Technol Work 7(4):214–240.
Kauffman, S.A.: The Origins of Order: Self-
Organization and Selection in Evolution, Oxford
University Press, Oxford, UK, 1993.
99
Kennedy, J. and Eberhart, R.C.: “Particle swarm
optimization,” Proceedings of the IEEE
International Conference on Neural Networks, hal.
1942– 1948, 1995.
Klügl, F., and Bazzan, A. L. C. 2004. Route
Decision Behaviour in a Commuting Scenario.
Journal of Artificial Societies and Social
Simulation 7(1).
Klügl, F., and Bernon, C. 2011. Self-Adaptive
Agents for Debugging Multi-Agent Simulations.
Paper presented at the 3rd International
Conference on Adaptive and Self-Adaptive Systems
and Ahallications, (ADAPTIVE 2011), Rome, Italy,
September.
Kuligowski ED (2011) Terror defeated: Occupant
sensemaking, decision-making and protective
action in the 2001 World Trade Center Disaster.
University of Colorado, Disertasi.
Lioni, A., Theraulaz, G. and Deneubourg, J.L.: “The
dynamics of chain formation in Oecophylla
longinoda,” Journal of Insect Behavior, vol. 14,
no.5, hal. 679–696, 2001.
Lioni, A. and Deneubourg, J.: “Collective decision
through self-assembling,” Naturwissenschaften,
vol. 91, no.5, hal. 237–241, 2004.
Mitchell, M.: “Life and evolution in computers,”
History and Philosophy of the Life Sciences, vol.
23, hal. 361–383, 2001.
Powell, S. and Franks, N.R.: “How a few help all:
living pothole plugs speed prey delivery in the
army ant Eciton burchellii,” Animal Behaviour,
vol. 73, no.6, hal. 1067–1076, 2007.
100
Reynolds, C.W.: “Flocks, herds and schools: a
distributed behavioral model,” Computer Graphics,
vol. 21, no.4, hal. 25–34, 1987.
Ronchi E (2012) Evacuation modelling in road tunnel
fires (Disertasi). Politecnico di Bari, Itali.
Ronchi E (2013) Testing the predictive capabilities
of evacuation models for tunnel fire safety
analysis. Saf Sci 59:141–153.
Rucker, R.: Artificial Life Lab, Waite Group Press,
Bolinas, CA, 1993.
Sayama, H.: “Swarm chemistry,” Artificial Life,
vol. 15, no.1, hal. 105–114, 2009.
Shen-Wen C, Wei-Jou W (2011) A research of the
elevator evacuation performance and strategies
for Taipei 101 Financial Cente. J of Disast Res
6:6.
Shields TJ, Boyce KE, McConnell N (2009) The
behaviour and evacuation experiences of WTC 9/11
evacuees with self-designated mobility
impairments. Fire Saf J 44(6):881–893.
Wolfram, S.: A New Kind of Science, Wolfram Media,
Champaign, IL, 2002.
Wong HLK, Hui M, Guo D, Luo M (2005) A Refined
Concept on Emergency Evacuation by Lifts.
Proceedings of the Eighth International Symposium
on Fire Safety Science. Beijing, China, hal 599–
610.