Vous êtes sur la page 1sur 12

Algoritma Genetika

A. Pengertian dan Penjelasan Singkat Algortima Genetika


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.

B. Kegunaan Algortima Genetika


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
C. Perbandingan Algoritma Genetika 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 operators yang sifatnya probalistik dan tidak ada
aturan deterministik

D. Kelebihan Algortima Genetika


Ada beberapa hal yang menajdi 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.

E. Hal Hal yang Dilakukan dalam Algortima 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.
F. Siklus Algortima Gentika
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:

G. 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 (1) dan (2) 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.

Vous aimerez peut-être aussi