Anda di halaman 1dari 18

1.

2 Tugas 2 (Dasar-Dasar Algoritma


Genetika)
1.2.1 Definisi dan Penjelasan Singkat
Algoritma Genetika merupakan cabang dari
Algoritma Evolusi. Hal ini didasari pada proses
genetika yang terjadi di dalam makhluk hidup.
Yaitu perkembangan generasi dalam populasi
alami yang memiliki prinsip Siapa yang kuat
dialah yang bertahan. Dengan meniru teori
evolusi ini Algortima Genetika tercipta. Sehingga
Algoritma Genetika merupakan metode adaptive
yang biasa digunakan untuk menyelesaikan suatu
pencarian nilai dalam permasalahan optimasi
yang banyak terjadi di dunia nyata.
Algoritma Genetika sendiri dianalogikan dari
kebiasaan dari alam yaitu seleksi alam. Algoritma
ini dilakukan dengan populasi yang memiliki
individu-individu. Individu tersebut
menggambarkan kemungkinan solusi dari
permasalahan yang ada. Dalam hal ini, individu
dilambangkan dengan nilai fitness yang
digunakan untuk mencari solusi terbaik dari
permasalahan yang ada.
Pertahanan yang tinggi dari individu
membuka peluang untuk melakukan reproduksi
dengan kawin silang dengan individu lain dalam
populasi tadi. Individu baru yang dihasilkan
dinamkaan keturunan, yang memiliki beberapa
sifat dari induknya. Namun individu yang
terseleksi dalam reproduksi tadi akan mati dan
hilang. Dengan ini beberapa generasi dengan
karakteristik yang bagus dan baik akan
bermunculan dalam popolasi tersebut. Sehingga
dengan banyak mengkawin silangkan individu,
semakin banyak peluang mendapatkan yang
terbaik. Intinya dengan Algortima Genetika ini
kita dapat memperoleh solusi terbaik dengan
analogi tadi.

1.2.2 Kegunaan
Algoritma Genetika memiliki banyak
kegunaan dalam membantu kehidupan sehari hari
dan permasalahan di kehidupan nyata, antara lain
berguna untuk:
Optimasi dalam pendistribusian suatu barang.
Perencanaan lintasan kendaraan.
Sistem rekomendasi.
Penentuan komposisi bahan pangan harian.
Perencanaan dan penjadwalan produksi.
Kompresi citra.
Optimasi penugasan mengajar, penjadwalan
dan alokasi ruangan.
Optimasi permasalahan multi traveling
salesman problem.
Dan masih banyak lagi.

1.2.3 Perbandingan dengan Prosedur Pencarian


Optimasi Biasa
Dalam Algoritma Genetika ada beberapa hal
yang berbeda seperti:

Tidak secara langusng dari parameter,


melainkan dai manipulasi chromosome
(kode dari himpunan parameter).
Tidak dari satu titik, melainkan dari bebrapa
titik dalam populasi.

Pencariannya menggunakan fungsi tujuan.

Menggunakan stochastic operator yang


sifatnya probalistik dan tidak ada aturan
deterministic.

1.2.4 Kelebihan
Ada beberapa hal yang menjadi kelebihan
dari Algoritma Genetika antara lain:
Dapat mengoptimalkan dengan variable
kontinu ataupun diskrit,
Tidak memerlukan informasi derivatif,
Bersamaan pencarian dari sebuah sampling
yang luas pada permukaan biaya,
Berkaitan dengan sejumlah besar variabel,
Baik untuk komputer paralel,
Mengoptimalkan permukaan variabel dengan
biaya yang sangat kompleks (GA bisa
melompat dari minimum lokal),
Memberikan daftar variabel yang optimal,
bukan hanya solusi tunggal,
Dapat menyandikan variabel sehingga
optimasi dilakukan dengan mengkodekan
variabel, dan
Bekerja dengan data numerik yang
dihasilkan, data eksperimen, atau analitis
fungsi.
1.2.5 Hal-hal yang dilakukan dalam Algoritma
Genetika
1. Mendefiniskan individu, dimana individu
menyatakan salah satu solusi / penyelesaian
yang mungkin dari persoalan yang dibahas.
2. Mendefinisikan nilai fitness, yang merupakan
ukruan baik tidaknya sebuah individu atau
baik tidaknya solusi yang didapatkan.
3. Menentukan proses pembangkitan populasi
awal. Hal ini biasanya dilakukan dengan
menggunakan permbangkitan acak seperti
random-walk.
4. Menentukan proses seleksi yang akan
digunakan.
5. Menentukan proses perkawinan silang
(cross-over) dan mutasi gen yang akan
digunakan.

1.2.6 Siklus Algoritma Genetika


Dikenalkan pertama kali oleh David
Goldberg, seperti gambar di bawah:

Lalu siklus tersebut diperbaiki oleh Zbigniew


Michalewicz dengan menambhan operator elitism
dan membalik proses seleksi setelah proses
reproduksi. Seperti gambar di bawah ini:

1.2.7 Studi Kasus


Algoritma Genetika untuk Mencari Nilai
Maksimal Fungsi F(x)=e-2x.sin(3x).
Individu dinyatakan dalam nilai x, dapat
digunakan nilai biner atau nilai float. Pada
Algortima Genetika dasar digunakan nilai biner.
Fungsi di aas bila digambaran akan menjadi:
Dari gambar di atas terlihat bahwa penyelesaian
berada pada nilai 0 < x < 1. Jadi dengan
menggunakan 8 bit biner didefinisikan:

1. Definisi Individu

Individu dinyatakan dalam 8 gen biner, dengan


batas 0 sampai denga 1, berarti 1 bit setara
dengan 2-8.
Sebagai contoh:
10001001 = (128+8+1)/256 = 0.5352
00110100 = (32+16+4)/256 = 0.2031
01010010 = (64+16+2)/256 = 0.3203

2. Fungsi Fitness

Fungsi fitness adalah fungsi f(x), karena yang


dicari nilai maksimum.
3. Membangkitkan Populasi Awal

Membangkitkan sejumlah individu, misalkan


satu populasi terdiri dari 10 individu, maka
dibangkitkan 10 individu dengan 8 gen biner
yang dibangkitkan secara acak.
4. Seleksi

Seleksi dilakukan dengan menggunakan


prosentase firness tiap individu, dimana setiap
individu mendapatkan las bagian sesuai dengan
prosentase nilai fitnessnya.

5. Crossover
Crossover (oerkawinan silang) merupkan
mengkombinasikan 2 individu untuk
memperoleh individu-individu baru yang
diharapkan mempunyai fitness lebih biak. Tidak
semua pasangan induk mengalami crossover,
banyak crossover ditentukan dengan nilai
probabilitas crossover.

6. Mutasi Gen

Mutasi gen emrupakan proses pengganti gen


dengan nulai inversinya, gen 0 menjadi 1 atau
sebaliknya. Proses ini dilakukan secara acak pada
posisi gen tertentu pada individu-ondividu yang
terpilih untuk dimutasikan. Banyaknya individu
yang mengalami mutasi ditentukan oleh
besarnya probabilitas mutasi.

7. Hasil dari Algoritma Genetika


Hasil dari ALgoritma Genetika untuk studi kasus
Mencari Nilai Maksimal Fungsi F(x)=e-2x.sin(3x).

Tugas Kelompok
1. Sebutkan semua proses utama dalam siklus algoritma
genetika?

Jawaban.
a. Inisialisasi

Dilakukan untuk membangkitkan himpunan solusi


baru dengan acak yang terdiri dari sejumlah
chromosome dalam suatu populasi. Dalam tahap ini
ditentukan jumlah bit biner dan ukuran populasi
(popsize)
b. Reproduksi

Dalam tahap ini dilakukan untuk menghasilkan


keturunan dari individu-individu yang ada di
populasi dan himpunan keturunan ini di tempatkan
dalam offspring. Dala reproduksi ini menggunakan
proses kawin silang dan mutasi. Dalam tahp ini juga
ditentukan nilai tingkat crossover (crossover rate /
pc) dan nilai tingkat mutasi (mutation rate / pm)
c. Evaluasi

Digunakan untuk menghitung kebugaran (fitness)


setiap chromosome.
d. Seleksi

Seleksi dilakukan untuk memilih individu dari


himpunan populasi dan offspring yang
dipertahankan hidup pada generasi berikutnya.
Semakin besar nilai fitness sebuah chromosome
maka semakin besar peluangnya untuk terpilih. Hal
ini dilakukan agar terbentuk generasi berikutnya
yang lebih baik dari generasi sekarang. Metode
seleksi yang sering digunakan adalah roulette wheel,
binary tournament, dan elitism.

2. Jelaskan keunggulan algoritma genetika sebagai


algoritma yang berbasis populasi!

Jawaban.
Algoritma Genetika merupakan algoritma yang
berbasis populasi yang memungkinkan
digunakan pada optimasi masalah dengan ruang
pencarian (search space) yang sangat luas dan
kompleks. Properti ini juga memungkinkan GAs
untuk melompat keluar dari daerah optimum
lokal.

Individu yang ada pada populasi bisa diletakkan


pada beberapa sub-populasi yang diproses pada
sejumlah komputer secara paralel. Hal ini bisa
mengurangi waktu komputasi pada masalah
yang sangat kompleks. Penggunaan sub-populasi
juga bisa dilakukan pada hanya satu komputer
untuk menjaga keragaman populasi &
meningkatkan kualitas hasil pencarian.

Algoritma Genetika menghasilkan himpunan


solusi optimal yang sangat berguna pada
peyelesaian masalah dengan banyak obyektif.

3. Jelaskan apa yang dimaksud dengan algoritma genetika


bersifat ergodic?

Jawaban.
Algoritma Genetika bersifat ergodic, sembarang solusi
bisa diperoleh dari solusi yang lain dengan hanya
beberapa langkah. Hal ini memungkinkan eksplorasi
pada daerah pencarian yang sangat luas, yang dapat
dilakukan dengan lebih cepat dan mudah.

4. Iterasi GAs diulang terus sampai kondisi berhenti


tercapai. Jelaskan beberapa kriteria untuk hal ini?

Jawaban.
a. Iterasi berhenti sampai generasi n. Nilai n
ditentukan sebelumnya berdasarkan beberapa
eksperimen pendahuluan. Semakin tinggi ukuran dan
kompleksitas masalah maka nilai n semakin besar.
Nilai n ditentukan sedemikian rupa sehingga
konvergensi populasi tercapai dan akan sulit
didapatkan solusi yang lebih baik setelah n iterasi.

b. Iterasi berhenti setelah n generasi berurutan


tidak dijumpai solusi yang lebih baik. Kondisi ini
menunjukkan bahwa GAs sulit mendapatkan solusi
yang lebih baik dan penambahan iterasi hanya
membuang waktu.

c. Iterasi berhenti setelah t satuan waktu


tercapai. Ini biasa digunakan jika diinginkan untuk
membandingkan performa dari beberapa algoritma.
Dalam implementasi praktis, kombinasi kondisi (a) dan
(b) bisa dipakai.

5. Misalkan P1 dan P2 adalah parent untuk proses


crossover. Tentukan offspring yang terbentuk jika
dilakukan one-cut-point crossover pada titik ke-5.

Jawaban.

6. Misalkan P adalah parent untuk proses mutasi.


Tentukan offspring yang terbentuk jika dilakukan mutasi
pada titik ke-5.

Jawaban.
7. Untuk masalah maksimasi (mencari nilai maksimum)
dari sebuah fungsi sebagai berikut

max, y = f(x) = (-(x2)/2) + 4x + 40, 0 x 15


Lengkapi tabel berikut:

Jawaban.

8. Untuk fungsi uji (2.2) pada slide 24, maksimasi


fungsi dengan presisi tertentu, lengkapi tabel berikut:
Jawaban.

9. Pada table berikut P menunjukkan parent dan C


menunjukkan offspring. Untuk seleksi roulette wheel,
lengkapi kolom untuk probabilitas dan probabilitas
kumulatif!

Jawaban.
10. Untuk soal no. 9, tentukan empat individu yang
terpilih jika diberikan angka random 0,5342, 0,2189,
0,1987, dan 0,8652!

Jawaban.

11. Untuk fungsi uji berikut :

max, f(x1,x2) = 19 + x1sin(x1) + (10 x2) sin(x2),

-5,0 x1 9,8 0,0 x2 7,3


jika variabel x1 dan x2 kita tentukan mempunyai
ketelitian 5 angka di belakang titik desimal, hitung
kebutuhan bit untuk kedua variabel tersebut!

Jawaban.
Untuk variabel x1 dan x2 kita tentukan mempunyai
ketelitian 5 angka dibelakang titik desimal, maka
kebutuhan bit untuk kedua variabel tersebut adalah:

Maka panjang string chromosome adalah m1 + m2 = 41


12. Jelaskan perbedaan antara Optimum Local dan
Optimum Global!

Jawaban.
- Local optimum adalah nilai optimal yang dapat
dicapai oleh sebuah algoritma berada dalam
rentang nilai tertentu yang telah dibatasi. Contoh
algoritmanya adalah Neural Network

- Global optimum adalah nilai optima yang didapat


oleh sebuah algoritma merupakan nilai optimal dari
keseluruhan rentang input data. Contoh
algoritmanya adalah SVM (Support Vector Machine).

Jadi kalau global optimum mencari nilai optimal dari


keseluruhan input sedangkan local optimum hanya
mencari nilai optimum dalam rentang waktu tertentu.

Anda mungkin juga menyukai