Anda di halaman 1dari 16

Judul

DOKUMENTASI
SWARM INTELLIGENCE
KELOMPOK : 6 Kelas : A

Oleh:
Titus Christian
Diajeng Sekar Seruni
Junda Alfiah Zulqornain
Yurdha Fadhila Hernawan
Audi Nuermey Hanafi

PENGANTAR
MK Swarm Intelligence adalah disiplin keilmuan dari sistem
cerdas yang berhubungan dengan sistem alami dan buatan, yang terdiri
dari banyak individu yang mengkoordinasikan menggunakan konsep
kontrol desentralisasi (kecerdasan sosial dalam berkelompok) dan
self-organisasi (kecerdasan personal). Secara khusus, Swarm Intelli-
gence berfokus pada perilaku kolektif yang dihasilkan dari interaksi
lokal dari individu dengan satu sama lain dan dengan lingkungan
mereka. Swarm Intelligence mempelajari perilaku di alam dari seka-
wanan koloni burung, semut, lebah, dan lainnya dalam penyelesaian
kasus pada berbagai bidang. Hal yang paling utama dalam Swarm In-
telligence adalah bagaimana membuat representasi individu sebagai
solusi yang sesuai dengan kasus yang diselesaikan.

Imam Cholissodin S.Si., M.Kom


Dosen Pengampu MK Swarm Intelligence FILKOM UB

2019
Daftar Isi

Judul ...................................................................................................... i
Daftar Isi ............................................................................................... ii
Daftar Tabel......................................................................................... iii
Daftar Gambar ..................................................................................... iv
Daftar Source Code .............................................................................. v
BAB 1 Tugas Kelompok .............................................................. 1
Tugas 1 (Konsep Swarm Intelligence) ............................. 1
Daftar Pustaka .................................................................................... 11

ii
Daftar Tabel

No table of figures entries found.

iii
Daftar Gambar

Gambar 1.1 Macam-macam Algoritma Swarm Intelligence ................ 3


Gambar 1.2 Simulasi Pergerakan Algoritma Swarm Intelligence ........ 3
Gambar 1.3 Konsep Swarm Intelligence .............................................. 3

iv
Daftar Source Code

No table of figures entries found.

v
BAB 1 Tugas Kelompok

Tugas 1 (Konsep Swarm Intelligence)


Setiap makhluk hidup memiliki ciri khasnya sendiri yang unik.
Masing-masing dari mereka memiliki kecerdasan alami pada dirinya
sehingga mereka dapat menyelesaikan tugas-tugas dalam kesehari-
annya. Kecerdasan alami ini menjadi dasar dari kecerdasan berke-
lompok (swarm intelligence), di mana setiap makhluk hidup sering kali
melakukan kegiatan berkelompok dengan melakukan tahapan-tahapan
tertentu guna mencapai tujuannya. Bidang studi swarm intelligence ter-
cipta dengan mengadopsi konsep kecerdasan berkelompok beberapa
makhluk hidup dalam hal kecerdasan alami, berkoloni, mencari ma-
kanan, regenerasi, dan lain-lain.
Swarm intelligence merupakan suatu disiplin keilmuan dari sis-
tem cerdas yang berhubungan dengan sistem alami dan buatan, yang
terdiri dari suatu populasi (sekumpulan individu) yang saling
berkoordinasi menggunakan konsep kontrol desentralisasi, yaitu kecer-
dasan sosial dalam berkelompok, dan self-organized, yaitu kecerdasan
personal. Swarm intelligence dapat dimanfaatkan untuk mengoptimasi
berbagai jenis masalah yang biasa ditemukan di kehidupan sehari-hari.
Berikut contoh optimasi dengan sistem cerdas dalam penyelesaian per-
masalahan di kehidupan sehari-hari:
1. Optimasi penyusunan jadwal, baik dalam hal pendidikan,
proyek kerja, maupun kerja mesin.
2. Optimasi penyusunan menu makanan.
3. Optimasi komposisi bahan makanan atau pupuk.
4. Optimasi model persamaan matematika yang kompleks
5. Optimasi parameter dari suatu algoritma.
6. Optimasi seleksi fitur dari sebuah dataset.
Optimasi terbagi menjadi dua metode, yaitu metode eksak dan
metode pendekatan. Metode eksak mampu menghasilkan hasil yang
maksimal, dengan pembuktian yang dibuktikan secara analitis
menggunakan metode matematis. Sedangkan metode pendekatan tidak
menjamin bahwa hasil penyelesaiannya adalah yang paling optimal, na-
mun walaupun kurang optimal, hasil penyelesaiannya cukup baik atau
mendekati optimal. Metode pendekatan ada bermacam-macam, dian-
taranya pendekatan heuristic dan meta-heuristic. Pendekatan metode
meta-heuristic berbeda dengan pendekatan heuristic, di mana metode

1
heuristic bersifat problem dependent (bergantung pada jenis permasa-
lahan) dan metode meta-heuristic bersifat problem independent yang
berarti tidak bergantung pada jenis permasalahan.
Swarm intelligence memiliki beberapa karakteristik, yaitu:
1. Representasi solusi harus didesain ulang untuk setiap kasus
yang berbeda.
2. Tidak selalu tercapainya solusi global optimal karena ter-
jebak pada local optimal atau konvergensi dini.
3. Terdapat beberapa mekanisme alami yang belum dapat dipa-
hami.
4. Setiap masalah optimasi yang akan diselesaikan harus dide-
finisikan dengan baik, mulai dari apa saja inputnya,
bagaimana representasi solusinya, apa saja constraintnya,
dan bagaimana perhitungan fitness/costnya.
Representasi solusi merupakan vektor/matriks sederhana mau-
pun kompleks yang bentuknya dapat diubah secara dinamis sesuai
dengan cara pandang atau pemahaman seseorang mengenai masalah
yang akan diselesaikannya. Representasi solusi adalah individu dari
suatu populasi yang memiliki nilai posisi tertentu, di mana nilai tersebut
menyatakan rangkaian solusi yang dibawa oleh masing-masing indi-
vidu sebagai kandidat solusi optimal apabila telah mencapai kondisi
konvergen.
Terdapat banyak algoritma swarm intelligence, seperti yang
dapat dilihat pada Gambar 1.1, di mana masing-masing algoritma mem-
iliki keunikannya sendiri. Setiap algoritma memiliki kelebihan dan
keterbatasannya, sehingga penting untuk memilih algoritma mana yang
paling cocok untuk menyelesaikan suatu permasalahan. Beberapa algo-
ritma swarm intelligence yang umum digunakan antara lain yaitu:
1. Particle Swarm Optimization (PSO) yang diinspirasi oleh
sekumpulan burung.
2. Ant Colony Optimization (ACO) yang diinsirasi oleh sekum-
pulan semut.
3. Artificial Bee Colony (ABC) yang diinspirasi oleh sekum-
pulan lebah.
4. Cat Swarm Optimization (CSO_a) yang terinspirasi dari
sekumpulan kucing/ harimau/macan.
5. Cockroach Swarm Optimization (CSO_b) yang terinspirasi
dari sekumpulan kecoa.

2
Gambar 1.1 Macam-macam Algoritma Swarm Intelligence

Sebagai ilustrasi, simulasi pergerakan algoritma swarm intelli-


gence dapat dilihat pada Gambar 1.2.

Gambar 1.2 Simulasi Pergerakan Algoritma Swarm Intelligence

Inti dari algoritma swarm intelligence adalah untuk memecahkan


permasalahan-permasalahan yang sulit dan akan memakan waktu yang
lama untuk dimodelkan dalam bentuk matematika kompleks. Swarm
intelligence termasuk dalam algoritma nature-inspired meta-heuristics,
yaitu framework algoritma yang diinspirasi oleh alam dan memiliki

3
banyak pilihan teknik di dalamnya yang dapat digunakan untuk men-
goptimalkan pencarian atau penelusuran solusi untuk berbagai macam
permasalahan yang berbeda. Framework ini didasarkan pada intuisi
ataupun aturan-aturan empiris. Secara umum, konsep swarm intelli-
gence dapat diilustrasikan seperti pada Gambar 1.2.

Gambar 1.3 Konsep Swarm Intelligence

Prinsip kerja swarm intelligence adalah:


1. Autonomy, yaitu setiap individu dalam sistem dapat bekerja
secara mandiri dalam mengendalkan perilaku mereka, baik
di tingkat detektor dan efektor.
2. Adaptability, di mana setiap individu dapat berinteraksi me-
lalui komunikasi langsung maupun tidak langsung.
3. Scalability, yaitu kemampuan untuk menciptakan kelompok-
kelompok solusi yang terdiri dari beberapa individu dengan
arsitektur kontrol yang sama.
4. Flexibility, yaitu setiap individu mendapat perlakuan yang
sama, yaitu dapat ditambahkan secara dinamis, dihapus, atau
diganti, dan tidak ada individu yang paling utama dalam
suatu populasi.
5. Robustness, tidak adanya koordinasi yang terpusat pada
suatu individu tertentu, sehingga memungkinkan tidak ada
satu individu pun yang mengalami kegagalan, karena secara
desentralisasi terbantu oleh individu lainnya.
6. Massively parallel, di mana setiap individu dalam suatu pop-
ulasi memiliki tugas yang sama.
7. Self-organization, yaitu kecerdasan sistem tidak bertumpu
hanya pada suatu individu, tetapi pada keseluruhan individu
dalam suatu kelompok.
Komunikasi antar individu dapat dilakukan secara langsung (di-
rect communication) maupun tidak langsung (indirect communication),
di mana:

4
1. Direct communication merupakan komunikasi eksplisit yang
terjadi antar individu. Contohnya pada algoritma PSO, yang
termasuk direct communicationa dalah Update Pbest, Update
Gbest, Update kecepatan partikel, dsb.
2. Indirect communication merupakan komunikasi implisit
yang terjadi antar individu melalui lingkungan sekitarnya.
Indirect communication dikenal juga sebagai komunikasi
stigmergy, yaitu tanggapan yang diterima oleh suatu individu
dari lingkungannya ketika individu lainnya memberikan aksi
tertentu ke lingkungan tersebut.

Tugas 2 (Dasar-dasar Algoritma PSO)


PSO (Particle Swarm Optimization) pertama kali ditemukan oleh
Russel Eberhart (Electrical Engineer) dan James Kennedy (Social-
Psychologist) pada tahun 1995 yang merupakan salah satu cabang
“Swarm Intelligence” yang berdasarkan dari algoritma metaheuristik.
PSO ini terinspirasi dari sekawanan burung yang berperilaku saling
terhubung dengan cara intelligence sendiri dan juga dipengaruhi
perilaku kelompok kolektifnya.
Dalam PSO memiliki tiga komponen utama, yaitu: partikel
komponen kognitif, partikel komponen social, dan kecepatan partikel.
Setiap partikel mempresentasikan solusi untuk penyelesaianya.
Pembelajaran partikel ini terdiri dari dua faktor yakni cognitive learning
atau pengalaman partikel dan social learning atau keseluruhan swarm.
Cognitve learning ini pada PSO dikenal sebagai pBest yaitu
posisi terbaik yang pernah dicapai sebuah partikel, sedangkan social
learning sebagai gBest yaitu posisi yang terbaik dari keseluruhan
partikel dalam swarm, yang dimana nilai pBest dan nilai gBest
digunakan untuk menghitung kecepatan partikel untuk menghitung
posisi selanjutnya.
1.2.1 Struktur Algoritma PSO
Pada algoritma PSO kita akan sering menjumpai beberapa
komponen berikut diantaranya adalah:
 Swarm
Swarm adalah jumlah partikel dalam populasi pada suatu
algortima. Besar kecilnya ukuran swarm bergantung pada seberapa
kompleks masalah yang dihadapi. Dalam hal mencari solusi tebaik,

5
algoritma PSO memiliki ukuran swarm jauh lebih kecil
dibandingkan dengan algoritma evolusioner.
 Partikel
Dalam suatu swarm partikel merupakan individu yang
merepresentasikan solusi penyelesaian masalah. Setiap partikel
mempunyai kecepatan dan posisi yang telah ditentukan oleh
representasi solusi saat itu.
 Personal Best
Personal Best atau biasa kita kenal dengan istilah pBest
merupakan posisi terbaik yang pernah dicapai partikel. Kita dapat
menentukan pBest dengan cara membandingkan fitness pada posisi
partikel saat ini ddengan sebelumnya. Nantinya pBest akan
digunakan untuk menentukan solusi terbaik.
 Global Best
Global Best atau biasa disebut dengan istilah gBest ini
merupakan posisi terbaik partikel yang didapat dari perbandingan
nilai fitness terbaik dari keseluruhan partikel dalam swarm. pBest
yang sudah didapatkan sebelumnya akan dibandingkan satu dengan
yang lain untuk menentukan pBest mana yang akan menjadi gBest.
 Kecepatan
Kecepatan atau velocity (v) merupakan vector yang
menentukan arah perpindahan posisi partikel. Perubahan velocity
ini dapat kita jumpai pada setiap iterasi yang bertujuan untuk
memperbaiki posisi partikel semula.
 Bobot Inersia
Bobot inersia atau inertia weight (w) berfungsi untuk
mengontrol dampak dari perubahan velocity yang diberikan oleh
partikel.
 Koefisien akselerasi
Koefisien akselerasi merupakan factor pengontrol
perpindahan dalam satu iterasi. Koefisien akselerasi c1 dan c2 ini
akan mengontrol sejauh mana partikel-partikel tersebut berpindah
tempat. Kita dapat menentukan sendiri nilai koefisien c1 dan c2.
Namun pada umumnya nilai c1 dan c2 adalah sama yaitu dalam
rentang 0 sampai4.

6
Berikut pseudocode algoritma PSO:

Gambar 1.4 Pseudo-code Algoritma PSO


Penjelasan dari pseudocode diatas sebagai berikut:
1. Proses dimulai
2. Inisialisasi variabel t= 0
3. Inisialisasi posisi partikel, kecepatan, dan pBest awal. Untuk
mendapatkan posisi awal dapat didapatkan secara random/acak.
4. Menghitung nilai fitness tiap partikel dan menentukan gBest
5. Untuk iterasi pertama, tambahkan t dengan 1. Variabel t ini akan
menghitung banyaknya iterasi yang telah dilakukan.
6. Selanjutnya, update kecepatan dengan rumus seperti persamaan
nomor 1.1
𝑡+1 𝑡 𝑡 𝑡
𝑣𝑖,𝑗 = 𝑤 ∙ 𝑣𝑖,𝑗 + 𝑐1 ∙ 𝑟1 (𝑃𝑏𝑒𝑠𝑡𝑖,𝑗 − 𝑥𝑖,𝑗 ) + 𝑐2 ∙
𝑡 𝑡
𝑟2 (𝐺𝑏𝑒𝑠𝑡𝑔,𝑗 − 𝑥𝑖,𝑗 ) (1.1)
Keterangan:
𝑡+1
𝑣𝑖,𝑗 = kecepatan pada partikel ke- 𝑖 dan dimensi ke- 𝑗 pada
iterasi ke- 𝑡 + 1
𝑤 = inersia weight
𝑐1 𝑑𝑎𝑛 𝑟1 = koefisien akselerasi
𝑡
𝑃𝑏𝑒𝑠𝑡𝑖,𝑗 = posisi partikel terbaik pada partikel ke-𝑖 dan dimensi
ke-𝑗 pada iterasi ke- 𝑡

7
𝑡
𝐺𝑏𝑒𝑠𝑡𝑔,𝑗 = posisi pBest keseluruhan terbaik pada global ke-𝑔
dan dimensi ke-𝑗 pada iterasi ke- 𝑡
𝑡
𝑥𝑖,𝑗 = posisi partikel ke-𝑖 dan dimensi ke-𝑗 pada iterasi ke- 𝑡
7. Selanjutnya, update posisi dengan rumus seperti persamaan
nomor 1.2
𝑡+1
𝑥𝑖,𝑗 = 𝑥𝑡𝑖,𝑗 + 𝑣𝑡+1
𝑖,𝑗 (1.2)
Keterangan:
𝑡+1
𝑥𝑖,𝑗 = posisi partikel ke-𝑖 dan dimensi ke-𝑗 pada iterasi ke- 𝑡+1
𝑡
𝑥𝑖,𝑗 = posisi partikel ke-𝑖 dan dimensi ke-𝑗 pada iterasi ke- 𝑡
𝑡+1
𝑣𝑖,𝑗 = kecepatan pada partikel ke- 𝑖 dan dimensi ke- 𝑗 pada
iterasi ke- 𝑡 + 1
Berikut rumus Sigmoid dan update posisi (untuk binary code)
pada persamaan 1.3:
𝑡 1
𝑠𝑖𝑔(𝑣𝑖,𝑗 )= −𝑣𝑡𝑖,𝑗
𝑑𝑖𝑚𝑎𝑛𝑎 𝑗 = 1,2,3, … 𝑑 (1.3)
1+ 𝑒

Keterangan:
𝑡
𝑒 −𝑣𝑖,𝑗 = nilai eksponensial
𝑡
Setelah itu, selanjutnya membandingan nilai 𝑠𝑖𝑔(𝑣𝑖,𝑗 ) dengan
𝑡
nilai 𝑥𝑖,𝑗 .
𝑡+1 𝑡 𝑡+1
𝑥𝑖,𝑗 = 1 jika rand[0,1] < 𝑠𝑖𝑔(𝑣𝑖,𝑗 ) dan 𝑥𝑖,𝑗 = 0 jika kondisi
tersebut bernilai false.
8. Setelah melakukan update kecepatan, dan posisi, selanjutnya
menghitung nilai fitness tiap partikel.
9. Lalu update pBest dan gBest.
10. Lakukan pengulangan langkah 5-9 sampai menjumpai kondisi
berhenti.
11. Proses berhenti

8
1.2.2 Studi Kasus : Maksimasi Fungsi Sederhana
1.2.3 Studi Kasus: Seleksi Fitur (PSO-KNN)
1.2.4 Termination Condition
Kondisi berhenti merupakan suatu hal/ kondisi yang
menghentikan iterasi/perulangan dalam suatu proses. Dalam algoritma
PSO, perlu adanya kondisi berhenti untuk menemukan solusi yang
optimal. Berikut 3 kondisi berhenti/ termination condition yang umum
digunakan pada algoritma PSO:
1. Iterasi berhenti saat sudah mencapai iterasi maksimum. Iterasi
maksimum ini sebelumnya sudah ditentukan berdasarkan
beberapa kali pengujian.
2. Iterasi berhenti ketika diketahui tidak terlihat perubahan yang
signifikan. Hal tersebut menandakan bahwa proses pencarian
solusi sudah mencapai konvergen.
3. Iterasi dihentikan ketika sudah mencapai t satuan waktu (t ≥
tmax) atau dapat juga dengan mengkombinasikan t satuan waktu
dengan banyaknya evaluasi fungsi yang telah dijalankan.
Dari ketiga kondisi berhenti tersebut, umumnya kondisi ke-1
yang sering digunakan dalam algoritma PSO. Namun kondisi 2 dan 3
juga dapat digunakan sesuai kasus dan kompleksitas permasalahan
yang akan diselesaikan. Berikut salah satu contoh pengujian
konvergensi berdasarkan perubahan nilai fitness:

9
Gambar 1.5 Grafik Konvergensi
Dapat kita lihat pada Gambar 1.5 garis yang lurus tanpa naik
dan turun dapat dikatakan pada kondisi konvergen. Grafik pada Gambar
2.1 diatas berfungsi untuk memastikan bahwa nilai iterasi maksimum
yang digunakan pada proses pencarian sudah melewati uji tersebut.
Kondisi berhenti yang benar adalah kondisi berhenti setelah mencapai
konvergen, bukan sebaliknya.

10
Daftar Pustaka

11

Anda mungkin juga menyukai