26
ERWIEN TJIPTA WIJAYA, ST.,M.KOM

ALGORITMA GENETIKA.pdf

Embed Size (px)

Citation preview

ERWIEN TJIPTA WIJAYA, ST.,M.KOM

DEFINISI

ALGEN adalah algoritma yang memanfaatkan

proses seleksi alamiah yang dikenal dengan

evolusi

Dalam evolusi, individu terus menerus mengalami

perubahan gen untuk menyesuaikan dengan

lingkungan hidupnya

Hanya individu yang kuat yang akan bertahan

STRUKTUR ALGEN

Genotype (Gen) bagian dari kromosom yang mewakili 1 variabel (nilai biner, float, integer, character dan lain - lain)

Allele, nilai dari gen

Kromosom/individu gabungan gen – gen yang menyatakan salah satu solusi yang mungkin terbaik

Populasi, sekumpulan individu yang akan diproses bersama dalam satu siklus proses evolusi

Generasi, satuan siklus proses evolusi

Nilai Fitness, seberapa baik nilai dari suatu individu/solusi

PENERAPAN ALGEN

Penyelesaian TSP (Traveling Solution

Problem) / Shortest path

Mencari nilai maksimal dari suatu fungsi

Mencari nilai optimasi

Peramalan (Forecasting)

FLOWCHART ALGEN

Bangkitkan

populasi

awal

Evaluasi

fungsi tujuan

Apakah

kriteria

optimasi

tercapai?

Individu –

individu

terbaik

seleksi

rekombinasi

mutasi

Start Hasil

Ya

Tidak

Bangkitkan populasi baru

DESKRIPSI

Populasi awal, didapatkan dari inisialisasi kromosom dengan dilakukan secara acak

Fungsi evaluasi, evaluasi kromosom ada 2 macam: Evaluasi fungsi obyektif

Konversi fungsi obyektif ke dalam fungsi fitness

Secara umum fungsi fitness diturunkan oleh fungsi obyektif dengan nilai yang positif (+), apabila fungsi obyektif bernilai negatif (-) maka perlu ditambahkan konstanta C agar nilai fitness yang terbentuk menjadi positif (+)

DESKRIPSI FLOWCHART

Seleksi, seleksi ini bertujuan untuk memberikan

kesempatan reproduksi yang lebih besar bagi

anggota populasi yang paling fit.

Ada beberapa metode seleksi, antara lain:

Rank-based fitness assigment

Roulette wheel selection

Stochastic universal sampling

Local selection

Truncation selection

Tournament selection

DESKRIPSI

Operator Genetika, ada 2 operator genetika : Operator Rekombinasi

○ Rekombinasi bernilai real Rekombinasi diskret

Rekombinasi intermediate

Rekombinasi garis

Rekombinasi garis yang diperluas

○ Rekombinasi bernilai biner (crossover) Crossover 1 titik (single-point-crossover)

Crossover banyak titik (Multi-point-crossover)

Crossover seragam (uniform crossover)

○ Crossover dengan permutasi

Mutasi

○ Mutasi bernilai real

○ Mutasi bernilai biner

DESKRIPSI

Penentuan Parameter, parameter kontrol ALGEN, yaitu ukuran populasi (popsize), peluang crossover (pc) dan peluang mutasi (pm). Nilai parameter ini ditentukan juga berdasarkan permasalahan yang akan dipecahkan. Ada beberapa rekomendasi yang bisa digunakan, antara lain : Menurut De Jong, untuk permasalahan yang memiliki kawasan

solusi cukup besar, maka nilai parameter kontrol

Menurut Grefenstette, bila rata – rata fitness setiap generasi digunakan sebagai indikator, maka nilai parameter kontrol

Bila fitness dari individu terbaik dipantau pada setiap generasi, maka nilai parameternya adalah

Ukuran populasi sebaiknya tidak lebih kecil dari 30, untuk sembarang jenis permasalahan

(popsize;pc;pm)=(50; 0,6 ;0,001)

(popsize;pc;pm)=(80; 0,45; 0,01)

(popsize;pc;pm)=(30; 0,95 ;0,01)

ALGORITMA GENETIKA SEDERHANA

Misalkan P (generasi) adalah populasi dari 1 generasi, maka secara sederhana urutan-urutan langkahnya adalah sebagai berikut: 1. Generasi=0 (Generasi awal)

2. Inisialisasi populasi awal, P(generasi) dengan bilangan acak

3. Evaluasi nilai fitness pada setiap individu dalam P(Generasi)

4. Kerjakan langkah-langkah berikut hingga generasi mencapai maksimum generasi :

a. Generasi= generasi + 1 (tambah generasi)

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 kuat/survive

g. Kriteria berhenti apabila pada setiap generasi – generasi memiliki nilai fitness yang tidak berubah

CONTOH: TSP (TRAVELING SALES

PROBLEM)

A B

D C

5

6

7

8

4

3

MEMBENTUK POPULASI

AWAL Populasi awal, dapat dibangkitkan secara acak atau

melalui prosedur tertentu

Tentukan parameter misalkan :

Popsize = 4

Pc (Probabilitas Crossover) = 0,5

Pm(Probabilitas Mutasi) = 0,2

Maksimum Generasi = 10

Misal dibangkitkan populasi awal dengan 4 individu :

Kromosom[1] = [A B C D]

Kromosom[2] = [B C D A]

Kromosom[3] = [C D A B]

Kromosom[4] = [D A B C]

EVALUASI FITNESS

Kromosom [1] = 8 + 5 + 6 = 19

Kromosom [2] = 5 + 6 + 7 = 18

Kromosom [3] = 6 + 7 + 8 = 21

Kromosom [4] = 7 + 8 + 5 = 20

NO KROMOSOM FITNESS

[1] A B C D 19

[2] B C D A 18

[3] C D A B 21

[4] D A B C 20

SELEKSI

Seleksi untuk mendapatkan calon induk

yang baik

Induk yang baik akan mendapatkan

keturunan yang baik

Semakin tinggi nilai fitness suatu

individu semakin besar kemungkinan

terpilih

Metode seleksi yang digunakan adalah

Roulette Wheel

SELEKSI KROMOSOM

Pada TSP nilai fitness yang terpilih adalah

nilai terkecil maka digunakan inverse :

Q[i] = 1 / Fitness[i]

Q[1] = 1 / 19 = 0,052

Q[2] = 1 / 18 = 0,056

Q[3] = 1 / 21 = 0,048

Q[4] = 1 / 20 = 0,05

Total Q[i] = Q[1]+Q[2] +Q[3] +Q[4]

0,052 + 0,056 + 0,048 + 0,05 = 0,207

SELEKSI KROMOSOM

Menghitung probabilitas / fitness relatif tiap

individu

P[i] = Q[i] / Total Q[i]

P[1] = 0,052 / 0,207 = 0,256

P[2] = 0,056 / 0,207 = 0,27

P[3] = 0,048 / 0,207 = 0,232

P[4] = 0,05 / 0,207 = 0,242

SELEKSI KROMOSOM

Menghitung fitness kumulatif / nilai kumulatif dari

probabilitas :

C[1] = 0,256

C[2] = 0,256 + 0,27 = 0,526

C[3] = 0,526 + 0,232 = 0,758

C[4] = 0,758 + 0,242 = 1

SELEKSI KROMOSOM

Memilih induk yang akan menjadi kandidat untuk di-crossover

Membangkitkan bilangan acak (R) R[1] = 0,314

R[2] = 0,743

R[3] = 0,418

R[4] = 0,203

Kemudian membandingkan antara nilai R (Random) dengan C (Komulatif) C > R (pilih nilai C yang mendekati dengan nilai R)

Contoh : R[1] = 0,314 maka nilai yang mendekati adalah = 0,526 C[2]

R[2] = 0,743 maka nilai yang mendekati adalah = 0,758 C[3]

R[3] = 0,418 maka nilai yang mendekati adalah = 0,526 C[2]

R[4] = 0,203 maka nilai yang mendekati adalah = 0,256 C[1]

KROMOSOM BARU HASIL

SELEKSI

NO KROMOSOM FITNESS ASAL

[1]’ B C D A 18 [2]

[2]’ C D A B 21 [3]

[3]’ B C D A 18 [2]

[4]’ A B C D 19 [1]

LANGKAH-LANGKAH

CROSSOVER Karena peluang crossover (pc) = 0,5; maka diharapkan 50%

dari total kromosom akan mengalami crossover (2 dari 4 kromosom)

Untuk memilih kromosom-kromosom yang akan dilakukan crossover yaitu dengan cara membangkitkan bilangan acak [0 1] sebanyak 4 buah.

Misal bilangan acak yang tercipta adalah : R[1] = 0,442

R[2] = 0,206

R[3] = 0,895

R[4] = 0,319

Pilih bilangan – bilangan yang kurang / lebih kecil dari nilai pc dalam hal ini nilai pc = 0,5 untuk dilakukan crossover, nilai yang terpilih adalah : R[1] = 0,442

R[2] = 0,206

PROSES CROSSOVER

Kromosom yang akan ditukarkan adalah :

Kromosom[1]’’ = B C D A

Kromosom[2]’’ = C D A B

Tukarkan kromosom[1] dengan kromosom[2]

Contoh

Kromosom[1] = Kromosom[2]

Kromosom[2] = Kromosom[1]

Populasi setelah proses crossover :

NO KROMOSOM FITNESS

[1]’’ C D A B 21

[2]’’ B C D A 18

[3]’ B C D A 18

[4]’ A B C D 19

LANGKAH – LANGKAH

MUTASI Hitung panjang Gen pada populasi

Panjang total gen = popsize * jumlah Gen pada setiap kromosom

= 4 * 4 = 16 (total Gen)

Memilih posisi gen yang di mutasi dilakukan dengan membangkitkan bilangan acak antara 1 sampai dengan panjang total gen (1 - 16)

Misal ditentukan pm=0,2 atau 20% maka jumlah gen yang akan dimutasi adalah : 0,2 * 16 = 3,2 =3 bit (setelah dibulatkan)

Ciptakan bilangan acak [0 1] sebanyak 16 Gen kemudian kelompokan menjadi 4 kromosom

Kemudian mutasi / pindahkan Gen tersebut dengan mengambil nilai Gen didepannya kemudian lakukan pertukaran, maka Gen = Gen + 1 dan Gen + 1 = Gen

Apabila Gen pada posisi terakhir maka ambilkan dari Gen yang paling depan, kemudian tukar Gen depan = Gen terakhir dan Gen terakhir = Gen depan

TABEL BILANGAN ACAK

MUTASI KROMOSOM[1]

R[1] = 0,412 R[2] = 0,737 R[3] = 0,379 R[4] = 0,192

KROMOSOM[2]

R[1] = 0,234 R[2] = 0,718 R[3] = 0,565 R[4] = 0,082

KROMOSOM[3]

R[1] = 0,949 R[2] = 0,755 R[3] = 0,371 R[4] = 0,386

KROMOSOM[4]

R[1] = 0,840 R[2] = 0,980 R[3] = 0,108 R[4] = 0,860

PROSES MUTASI

Kromosom dan Gen yang terkena mutasi Kromosom[1] dan Gen[4]

Kromosom[2] dan Gen[4]

Kromosom[4] dan Gen[3]

Bentuk populasi awal : Kromosom[1]’’ = [C D A B] B ditukar dengan A

Kromosom[2]’’ = [B C D A] A ditukar dengan D

Kromosom[3]’ = [B C D A]

Kromosom[4]’ = [A B C D] C ditukar dengan B

Bentuk populasi setelah mutasi : Kromosom[1] ‘’’= [C D B A]

Kromosom[2] ‘’’= [B C A D]

Kromosom[3] ‘= [B C D A]

Kromosom[4] ‘’’= [A C B D]

EVALUASI

Proses 1 Generasi selesai :

Fitness[1] = 6 + 4 + 8 = 18

Fitness[2] = 5 + 3 + 7 = 15

Fitness[3] = 5 + 6 + 7 = 18

Fitness[4] = 5 + 3 + 4 = 12

Karena TSP adalah rute yang paling pendek yang harus

dipilih maka dalam kasus ini nilai Fitness yang terkecil yang

harus dipilih

Pada kasus ini kromosom[4]=12 dengan rute [A C B D]

POPULASI BARU

Populasi terakhir digunakan sebagai

data awal / populasi baru pada iterasi

berikutnya

Lanjutkan sendiri sampai mendapatkan

nilai fitness terkecil