Anda di halaman 1dari 35

Pengantar Kecerdasan Buatan (AK045218)

Algoritma Genetika
Pendahuluan
Struktur Umum
Komponen Utama
Seleksi
Rekombinasi
Mutasi
Algoritma Genetika Sederhana
Referensi
Sri Kusumadewi bab 9
Luger & Subblefield bab 12.8
Algoritma Genetika

1/35

Pengantar Kecerdasan Buatan (AK045218)

Pendahuluan
Algoritma Genetika adalah
algoritma pencarian heuristik
yang didasarkan atas
mekanisme evolusi biologis.
Keberagaman pada evolusi
biologis adalah variasi dari
kromosom antar individu
organisme. Variasi kromsom
akan mempengaruhi laju
reproduksi dan tingkat
kemampuan oraginisme untuk
tetap hidup.
Algoritma Genetika

2/35

Pengantar Kecerdasan Buatan (AK045218)

1.
2.

3.
4.

Ada 4 kondisi yang sangat


mempengaruhi proses
evolusi, yaitu :
Kemampuan organisme
untuk melakukan reproduksi
Keberadaan populasi
organisme yang bisa
melakukan reproduksi
Keberagaman organisme
dalam suatu populasi
Perbedaan kemampuan
untuk survive

Algoritma Genetika

3/35

Pengantar Kecerdasan Buatan (AK045218)

Algoritma genetika pertama


kali diperkenalkan oleh John
Holland dari Universitas
Michigan (1975), Setiap
masalah yang berbentuk
adaptasi dapat diformulasikan
dalam terminologi genetika

Algoritma Genetika

4/35

Pengantar Kecerdasan Buatan (AK045218)

Struktur Umum
Populasi, istilah pada teknik
pencarian yang dilakukan sekaligus
atas sejumlah solusi yang mungkin
Kromosom, individu yang terdapat
dalam satu populasi dan
merupakan suatu solusi yang
masih berbentuk simbol.
Generasi, populasi awal dibangun
secara acak sedangkan populasi
selanjutnya merupakan hasil
evolusi kromosom-kromosom
melalui iterasi

Algoritma Genetika

5/35

Pengantar Kecerdasan Buatan (AK045218)

Fungsi Fitness, alat ukur yang


digunakan untuk proses evaluasi
kromosom. Nilai fitness dari suatu
kromosom akan menunjukkan
kualitas kromosom dalam populasi
tersebut.
Generasi berikutnya dikenal
dengan anak (offspring) terbentuk
dari gabungan 2 kromosom
generasi sekarang yang bertindak
sebagai induk (parent) dengan
menggunakan operator penyilang
(crossover).
Mutasi, operator untuk memodifikasi kromosom.
Algoritma Genetika

6/35

Pengantar Kecerdasan Buatan (AK045218)

Komponen Utama

Ada 6 komponen utama algoritma


genetika :
1. Teknik Penyandian
-

Teknik penyandian meliputi


penyandian gen dari kromo-som
Gen merupakan bagian dari
kromosom, satu gen biasanya akan
mewakili satu variabel
Gen dapat direpresentasikan dalam
bentuk : string bit, pohon, array
bilangan real, daftar aturan, elemen
permutasi, elemen program dan lainlain.

Algoritma Genetika

7/35

Pengantar Kecerdasan Buatan (AK045218)

Kromosom dapat direpresentasikan dengan menggunakan :


String bit
: 10011, 11101
Bilangan Real : 65.65, 562.88
Elemen Permutasi : E2, E10
Daftar Aturan
: R1, R2, R3
Elemen Program
:
pemrograman genetika
Struktur lainnya

2. Prosedur Inisialisasi
- Ukuran populasi tergantung
pada masalah yang akan
dipecahkan dan jenis
operator genetika yang akan
diimplementasikan.
Algoritma Genetika

8/35

Pengantar Kecerdasan Buatan (AK045218)

Setelah ukuran populasi ditentukan, kemudian harus dilakukan inisialisasi terhadap


kromosom yang terdapat pada
populasi tersebut
Inisialisasi kromosom dilaku-kan
secara acak, namun demikian
harus tetap memper-hatikan
domain solusi dan kendala
permasalahan yang ada
3. Fungsi Evaluasi
Ada 2 hal yang harus di-lakukan
dalam melakukan evaluasi
kromosom yaitu : evaluasi fungsi
objektif dan konversi fungsi
objektif ke dalam fungsi fitness

Algoritma Genetika

9/35

Pengantar Kecerdasan Buatan (AK045218)

4. Seleksi
- Bertujuan untuk memberikan
kesempatan reproduksi yang
lebih besar bagi anggota
populasi yang paling fit
- Ada beberapa metode seleksi
dari induk, antara lain :

Rank-based fitness assigment


Roulette wheel selection
Stochastic universal sampling
Local selection
Truncation selection
Tournament selection
Algoritma Genetika

10/35

Pengantar Kecerdasan Buatan (AK045218)

5. Operator Genetika
Ada 2 operator genetika :
a. Operator untuk melakukan
rekombinasi, yang terdiri dari:

Rekombinasi bernilai real


1. Rekombinasi diskrit
2. Rekombinasi intermediate
3. Rekombinasi garis
4. Rekombinasi garis yang diperluas
Rekombinasi bernilai biner
(Crossover)
1. Crossover satu titik
2. Crossover banyak titik
3. Crossover seragam
Crossover dengan permutasi
Algoritma Genetika

11/35

Pengantar Kecerdasan Buatan (AK045218)

b. Mutasi

Mutasi bernilai real


Mutasi bernilai biner

6. Penetuan Parameter
Parameter adalah parameter
kontrol algoritma genetika, yaitu :
ukuran populasi (popsize),
peluang crossover (pc) dan
peluang mutasi (pm).
Rekomendasi menentukan nilai
parameter :
Untuk permasalahan yang memiliki
kawasan solusi cukup besar, De
Jong merekomendasikan nilai
parameter :
(popsize; pc; pm) = (50;0,6;0,001)

Algoritma Genetika

12/35

Pengantar Kecerdasan Buatan (AK045218)

Bila rata-rata fitness setiap


generasi digunakan sebagai
indikator, maka Grefenstette
merekomendasikan :
(popsize; pc; pm) =(30;0,95;0,01)
Bila fitness dari individu terbaik
dipantau pada setiap generasi,
maka usulannya adalah :
(popsize; pc; pm) = (80;0,45;0,01)
Ukuran populasi sebaiknya tidak
lebih kecil dari 30, untuk
sembarang jenis permasalahan

Algoritma Genetika

13/35

Pengantar Kecerdasan Buatan (AK045218)

Seleksi
Seleksi akan menentukan individu-individu mana saja yang
akan dipilih untuk dilakukan rekombinasi dan bagaimana offspring terbentuk dari individu individu terpilih tersebut.
Langkah pertama : pencarian
nilai fitness
Langkah kedua : Nilai fitness
yang diperolah digunakan pada tahap-tahap seleksi
selanjutnya
Algoritma Genetika

14/35

Pengantar Kecerdasan Buatan (AK045218)

Ada beberapa definisi yang


bias digunakan untuk melakukan perbandingan terhadap
beberapa metode yang akan
digunakan, antara lain :
Selective Pressure :
probabilitas dari individu terbaik
yang akan diseleksi dibandingkan dengan rata-rata probabilitas
dari semua individu yang
diseleksi
Bias : perbedaan absolut antara
fitness ternormalisasi dari suatu
individu dan probabilitas
reproduksi yang diharapkan
Algoritma Genetika

15/35

Pengantar Kecerdasan Buatan (AK045218)

Spread : range nilai


kemungkinan untuk sejumlah offspring dari suatu individu
Loss of diversity : proposi dari
individu-individu dalam suatu populasi yang tidak terseleksi selama fase seleksi
Selection intensity : nilai fitness
rata-rata yang diharapkan dalam
suatu populasi setelah dilakukan
seleksi (menggunakan distribusi
Gauss ternormalisasi)
Selection variance : variansi
yang diharapkan dari distribusi
fitness dalam populasi setelah
dilakukan seleksi (menggunakan
distribusi Gauss ternormalisasi)
Algoritma Genetika

16/35

Pengantar Kecerdasan Buatan (AK045218)

1.

2.

Rank-based Fitness
Populasi diurutkan menurut nilai
objektifnya. Nilai fitness dari tiap-tiap
individu hanya tergantung pada posisi
indi-vidu tersebut dalam urutan, dan
tidak dipengaruhi oleh nilai objektifnya.
Roulette Wheel Selection
Istilah lain adalah stochastic sampling
with repalcement.
Individu-individu dipetakan dalam suatu
segmen garis secara berurutan
sedemikian hingga tiap-tiap segmen
individu memiliki ukuran yang sama
dengan ukuran fitnessnya
Sebuah bilangan random di-bangkitkan
dan individu yang memiliki segmen
dalam kawasan segmen dalam
kawasan bilangan random tersebut
akan terseleksi. Proses ini berulang
hingga didapatkan sejumlah individu
yang diharapkan
Algoritma Genetika

17/35

Pengantar Kecerdasan Buatan (AK045218)

3.

Stocastic Universal Sampling


Memiliki nilai bias nol dan penyebaran
yang minimum
Individu-individu dipetakan dalam suatu
segmen garis secara berurut
sedemikian hingga tiap-tiap segmen
individu memiliki ukuran yang sama
dengan ukuran fitnessnya seperti
halnya pada seleksi roda roulette.
Kemudian diberikan sejumlah pointer
sebanyak individu yang ingin diseleksi
pada garis tersebut.
Andaikan N adalah jumlah individu
yang akan diseleksi, maka jarak antar
pointer adalah 1/N, dan posisi pointer
pertama diberikan secara acak pada
range [1, 1/N]

Algoritma Genetika

18/35

Pengantar Kecerdasan Buatan (AK045218)

4. Seleksi Lokal
Setiap individu yang berada di
dalam konstrain tertentu disebut
dengan nama lingkungan lokal.
Interaksi antar individu hanya
dilakukan di dalam wilayah
tersebut. Lingkungan tersebut
ditetapkan sebagai struktur
dimana populasi tersebut
terdistribusi. Lingkungan tersebut
juda dapat dipandang sebagai
kelompok pasangan-pasangan
yang potensial.
Langkah pertama adalah
menyeleksi separuh pertama dari
populasi yang berpasangan
secara random. Kemudian
lingkungan baru tersebut
diberikan pada setiap individu
yang terseleksi.
Algoritma Genetika

19/35

Pengantar Kecerdasan Buatan (AK045218)

Struktur lingkungan pada seleksi


lokal dapat berbentuk :
Linear : full ring dan half ring
Dimensi-2:
- full cross dan half cross
- full star dan half star
Dimensi-3 dan struktur yang lebih
kompleks yang merupakan kombinasi
dari kedua struktur diatas

Jarak antara individu dengan


struktur tersebut akan sangat
menentukan ukuran lingkungan.
Individu yang terdapat dalam
lingkungan dengan ukuran yang
lebih kecil, akan lebih terisolasi
dibandingkan dengan individu yang
terletak pada lingkungan dengan
ukuran yang lebih besar
Algoritma Genetika

20/35

Pengantar Kecerdasan Buatan (AK045218)

5. Truncation Selection
Seleksinya adalah buatan
Digunakan oleh populasi yang
jumlahnya sangat besar
Individu-individu diurutkan
berdasarkan nilai fitnessnya.
Hanya individu yang terbaik saja
yang akan diseleksi sebagai
induk.
Parameter yang digunakan
adalah suatu nilai ambang trunc
yang mengindikasikan ukuran
populasi yang akan diseleksi
sebagai induk yang berkisar
antara 50% - 10%.
Individu-individu yang ada
dibawah nilai ambang ini tidak
akan menghasilkan keturunan
Algoritma Genetika

21/35

Pengantar Kecerdasan Buatan (AK045218)

6. Tournament Selection
Ditetapkan suatu nilai tour
untuk individu-individu yang
dipilih secara random dari
suatu populasi.
Individu-individu yan terbaik
dalam kelomppok ini akan
diseleksi sebagai induk
Parameter yang digunakan
adalah ukuran tour yang
bernilai antara 2 sampai N
(jumlah individu dalam
populasi)
Algoritma Genetika

22/35

Pengantar Kecerdasan Buatan (AK045218)

Rekombinasi
1. Rekombinasi Diskret
Menukar nilai variabel antar
kromosom induk.
Misal ada 2 individu dengan 3
variabel, yaitu :
induk 1 :
12 25 5
induk 2 :
123 4
34
Untuk tiap-tiap variabel induk
yang menyumbangkan
variabelnya ke anak yang dipilih
secara random dengan
probabilitas yang sama
sample 1 : 2
2
1
sample 2 : 1
2
1
Algoritma Genetika

23/35

Pengantar Kecerdasan Buatan (AK045218)

Setelah rekombinasi, kromosomkromosom baru yang terbentuk :


anak 1 : 123 4
5
anak 2 : 1
4
5
Rekombinasi dapat digunakan
untuk sembarang variabel (biner,
real, atau simbol)
2. Rekombinasi Menengah
Metode rekombinasi yang hanya
dapat digunakan untuk varibel
real
Nilai variebel anak dipilih di
sekitar dan antara nilai-nilai
variabel induk
Algoritma Genetika

24/35

Pengantar Kecerdasan Buatan (AK045218)

Anak dihasilkan menurut


aturan sebagai berikut :
anak = induk 1 + alpha (induk2 induk 1)

dengan alpha adalah faktor


skala yang dipilih secara
random pada interval [-d, 1+d],
biasanya d=0,25.
Tiap-tiap variabel pada anak
merupakan hasil kombinasi
variabel-variabel menurut
aturan diatas dengan nilai
alpha dipilih ulang untuk tiap
variabel.
Algoritma Genetika

25/35

Pengantar Kecerdasan Buatan (AK045218)

3.

Rekombinasi Garis
Hampir sama denga rekombinasi
menengah, hanya saja nilai alpha untuk
semua variabel sama.
Misalkan ada 2 kromosom dengan 3
variabel :
induk 1 : 12
25
5
induk 2 : 123 4
34
Untuk tiap-tiap variabel induk yang
menyumbangkan vaiabelnya ke anak
dipilih secara random dengan
probabilitas yang sama
sample 1 :
0,5
sample 2 :
0,1
Setelah rekmbinasi kromosomkromosom baru yang terbentuk
anak 1 :
67,5 14,5 19,5
anak 2 :
23,1 22,9 7,9
Algoritma Genetika

26/35

Pengantar Kecerdasan Buatan (AK045218)

4. Penyilangan satu titik


Posisi penyilangan k (k=1,2,,N1) dengan N = panjang
kromosom diseleksi secara
random.
Variabel-variabel ditukar antar
kromosom pada titik tersebut
untuk menghasilkan anak
Misalkan ada 2 kromosom
dengan panjang 12 :
induk 1 : 0 1 1 1 0 | 0 1 0 1 1 1 0
induk 2 : 1 1 0 1 0 | 0 0 0 1 1 0 1

Posisi menyilang yang terpilih:


misalkan 5
Setelah penyilangan, diperleh
kromosom-kromosom baru :
anak 1 : 0 1 1 1 0 | 0 0 0 1 1 0 1
anak 2 : 1 1 0 1 0 | 0 1 0 1 1 1 0
Algoritma Genetika

27/35

Pengantar Kecerdasan Buatan (AK045218)

5. Penyilangan banyak titik


Pada penyilangan ini, m
posisi penyilangan ki
(k=1,2,,N-1,i=1,2,,m)
dengan N = panjang
kromosom diseleksi secara
random dan tidak
diperbolehkan ada posisi
yang sama, serta diurutkan
naik.
Variabel-variabel ditukar
antar kromosom pada titik
tersebut untuk menghasilkan
anak.
Algoritma Genetika

28/35

Pengantar Kecerdasan Buatan (AK045218)

6. Penyilangan Seragam
Setiap lokasi memiliki potensi
sebagai tempat penyilangan.
Sebuah mask penyilangan
dibuat sepanjang panjang
kromosom secara random
yang menunjukan bit-bit
dalam mask yang mana
induk akan mensupply anak
dengan bit-bit yang ada.
Induk yang mana yang akan
menyumbangkan bit ke anak
yang dipilih secara random
dengan probabilitas yang
sama
Algoritma Genetika

29/35

Pengantar Kecerdasan Buatan (AK045218)

7. Penyilangan dengan
permutasi
Dengan permutasi,
kromosom-kromosom anak
diperoleh dengan cara
memilih sub-barisan sautu
tour dari satu induk dengan
tetap menjaga urutan dan
posisi sejumlah kota yang
mungkin terhadap induk yang
lainnya.

Algoritma Genetika

30/35

Pengantar Kecerdasan Buatan (AK045218)

Mutasi
Mutasi Bilangan Real
Operator mutasi untuk
bilangan real dapat ditetapkan
sebagai :
1. Variabel yang dimutasi =
variabel range * delta;
2. Range = 0,5 * domain variabel
3. Delta = (ai * 2-i); ai = 1
dengan probabilitas 1/m, selain
itu ai = 0, dengan m = 20
Algoritma Genetika

31/35

Pengantar Kecerdasan Buatan (AK045218)

Mutasi Biner
Langkah-langkah mutasi :
1. Hitung jumlah gen pada
populasi
2. Pilih secara acak gen yang
akan dimutasi
3. Tentukan kromosom dari gen
yang terpilih untuk dimutasi
4. Ganti nilai gen (0 ke 1 atau 1
ke 0) dari kromosom yang
akan dimutasi tersebut

Algoritma Genetika

32/35

Pengantar Kecerdasan Buatan (AK045218)

Algoritma Genetika
Sederhana

1.
2.
3.
4.

Langkah-langkah :
Generasi = 0
Inisialisasi populasi awal, P (generasi), secara
acak
Evaluasi nilai fitness pada setiap individu dalam
P (generasi)
Kerjakan langkah-langkah berikut hingga
generasi mencapai maksimum generasi :
a. generasi = generasi +1
b. Seleksi populasi tersebut untuk
mendapatkan kandidat induk, P(generasi)
c. Lakukan crossover pada P(generasi)
d. Lakukan mutasi pada P(generasi)
e. Lakukan evaluasi fitness setiap individu pada
P(generasi
f. Bentuk populasi baru : P(generasi) =
{P(generasi-1) yang survive, P(generasi)

Algoritma Genetika

33/35

Pengantar Kecerdasan Buatan (AK045218)

Metode seleksi roda roulette


Algoritma seleksi roda roulette:
1. Hitung total fitness (F)
2. Hitung fitness relatif tiap
individu
3. Hitung fitness komulatif
4. Pilih induk yang akan menjadi
kandidat untuk di
crossover
Crossover
Metode yang sering digunakan
adalah penyilangan satu titik
Mutasi
Mutasi yang digunakan adalah
mengubah secara acak nilai suatu
bit pada posisi tertentu
Algoritma Genetika

34/35

Pengantar Kecerdasan Buatan (AK045218)

Diagram alir algoritma genetika


sederhana

Algoritma Genetika

35/35

Anda mungkin juga menyukai