0% menganggap dokumen ini bermanfaat (0 suara)
102 tayangan23 halaman

Netics Algorithm Part 2 Dikonversi PDF

Teknik pengodean dan penilaian fitness dalam algoritma genetika dijelaskan. Beberapa contoh soal tentang pengodean biner, desimal, dan real serta penentuan nilai fitness maksimum dan minimum diberikan. Proses seleksi, crossover, dan mutasi untuk mendapatkan populasi baru juga diuraikan.

Diunggah oleh

Muhammad Alfi
Hak Cipta
© © All Rights Reserved
Kami menangani hak cipta konten dengan serius. Jika Anda merasa konten ini milik Anda, ajukan klaim di sini.
Format Tersedia
Unduh sebagai PDF, TXT atau baca online di Scribd
0% menganggap dokumen ini bermanfaat (0 suara)
102 tayangan23 halaman

Netics Algorithm Part 2 Dikonversi PDF

Teknik pengodean dan penilaian fitness dalam algoritma genetika dijelaskan. Beberapa contoh soal tentang pengodean biner, desimal, dan real serta penentuan nilai fitness maksimum dan minimum diberikan. Proses seleksi, crossover, dan mutasi untuk mendapatkan populasi baru juga diuraikan.

Diunggah oleh

Muhammad Alfi
Hak Cipta
© © All Rights Reserved
Kami menangani hak cipta konten dengan serius. Jika Anda merasa konten ini milik Anda, ajukan klaim di sini.
Format Tersedia
Unduh sebagai PDF, TXT atau baca online di Scribd
Anda di halaman 1/ 23

Artificial Intelligence

Teknik Encoding / Decoding Gen dan Individu

Contoh :

Misalkan diketahui fungsi


f(x1, x2, x3) = 2x1 + x2 – 4x3,
Nilai variabel x dibatasi dalam range [-4 6].
Teknik Encoding / Decoding Gen dan Individu

Tentukan besar nilai f(x1, x2, x3) jika :


1. menggunakan pengodean bilangan real :
x1 x2 x3

0,2431 0,9846 0,5642


g1 g2 g3

Jawab :
x1 = rb + (ra - rb)g1 = -4 + (6 – (-4)) * 0,2431 = -1,569
x2 = rb + (ra - rb)g2 = -4 + (6 – (-4)) * 0,9846 = 5,846
x3 = rb + (ra - rb)g3 = -4 + (6 – (-4)) * 0,5642 = 1,642

f(x1, x2, x3) = 2x1 + x2 – 4x3


= 2*(-1,569) + 5,846 – 4*(1,642) = -3,86
Teknik Encoding / Decoding Gen dan Individu

Tentukan besar nilai f(x1, x2, x3) jika :


2. menggunakan pengodean diskrit desimal :
x1 x2 x3

5 2 9 5 4 8 0 2 0
g1 g2 g3 g4 g5 g6 g7 g8 g9
Jawab :
x1 = -4 + (6 – (-4))(5*10-1 + 2*10-2 + 9*10-3) = 1,29
x2 = -4 + (6 – (-4))(5*10-1 + 4*10-2 + 8*10-3) = 1,48
x3 = -4 + (6 – (-4))(0*10-1 + 2*10-2 + 0*10-3) = -3,8

f(x1, x2, x3) = 2x1 + x2 – 4x3

= 2*(1,29) + 1,48 – 4*(-3,8) = 19,26


Teknik Encoding / Decoding Gen dan Individu

Tentukan besar nilai f(x1, x2, x3) jika :


3. menggunakan pengodean biner :
x1 x2 x3

1 1 0 1 0 0 0 1 0
g1 g2 g3 g4 g5 g6 g7 g8 g9
Jawab :
x1 = -4 + (6 – (-4))(1*2-1 + 1*2-2 + 0*2-3) = 3,5
x2 = -4 + (6 – (-4))(1*2-1 + 0*2-2 + 0*2-3) = 1
x3 = -4 + (6 – (-4))(0*2-1 + 1*2-2 + 0*2-3) = -1,5

f(x1, x2, x3) = 2x1 + x2 – 4x3

= 2*(3,5) + 1 – 4*(-1,5) = 14
Nilai Fitness

Contoh :

Misalkan diketahui fungsi


f(x1, x2) = 2x12 + 3x22
Nilai variabel x dibatasi dalam range [-2 4].
1. Buat populasi awal secara acak, 5 individu
yang dikodekan secara biner
2. Cari nilai maksimal fungsi f(x1, x2), tentukan
individu terbaik
3. Cari nilai minimal fungsi f(x1, x2), tentukan
individu terbaik
Nilai Fitness

Jawab :

1. Bangkitkan populasi awal secara acak :


x1 x2
1 0 0, 001 individu ke-1
0 0 0, 000 individu ke-2
1 0 1, 000 individu ke-3
1 1 1, 111 individu ke-4
1 0 0, 100 individu ke-5
Nilai Fitness

Tentukan nilai x1 dan x2 masing individu :


x1 = -2 + (4 + 2)(1*2-1 + 0*2-2 + 0*2-3) = 1
x2 = -2 + (4 + 2)(0*2-1 + 0*2-2 + 1*2-3) = -1,25

x1 = -2 + (4 + 2)(0*2-1 + 0*2-2 + 0*2-3) = -2


x2 = -2 + (4 + 2)(0*2-1 + 0*2-2 + 0*2-3) = -2

x1 = -2 + (4 + 2)(1*2-1 + 0*2-2 + 1*2-3) = 1,75


x2 = -2 + (4 + 2)(0*2-1 + 0*2-2 + 0*2-3) = -2

x1 = -2 + (4 + 2)(1*2-1 + 1*2-2 + 1*2-3) = 3,25


x2 = -2 + (4 + 2)(1*2-1 + 1*2-2 + 1*2-3) = 3,25

x1 = -2 + (4 + 2)(1*2-1 + 0*2-2 + 0*2-3) = 1


x2 = -2 + (4 + 2)(1*2-1 + 0*2-2 + 0*2-3) = 1
Nilai Fitness

2. Tentukan individu tebaik pada nilai maksimum :


Individu ke-1 nilai fitness = 2(1)2 + 3(-1,25)2 = 6,6875
Individu ke-2 nilai fitness = 2(-2)2 + 3(-2)2 = 20
Individu ke-3 nilai fitness = 2(1,75)2 + 3(-2)2 = 18,125
Individu ke-4 nilai fitness = 2(3,25)2 + 3(3,25)2 = 52,8125
Individu ke-5 nilai fitness = 2(1)2 + 3(1)2 =5

Individu ke-4 merupakan individu terbaik.


Nilai Fitness

3. Tentukan individu tebaik pada nilai minimum:


Misalkan nilai ε = 0,1, maka :
Individu ke-1 nilai fitness = 1 = 0,147
2(1)2 + 3(-1,25)2 + 0,1
Individu ke-2 nilai fitness = 1 = 0,049
2(-2)2 + 3(-2)2 + 0,1
Individu ke-3 nilai fitness = 1 = 0,054
2(1,75)2 + 3(-2)2 + 0,1
Individu ke-4 nilai fitness = 1 = 0,019
2(3,25)2 + 3(3,25)2 + 0,1
Individu ke-5 nilai fitness = 1 = 0,196
2(1)2 + 3(1)2 + 0,1
Individu ke-5 merupakan individu terbaik.
Seleksi

Contoh :

Individu ke-1 nilai fitness = 6,6875


Individu ke-2 nilai fitness = 20
Individu ke-3 nilai fitness = 18,125
Individu ke-4 nilai fitness = 52,8125
Individu ke-5 nilai fitness = 5

Buatlah Linier Fitness Rangking-nya !


Seleksi

Jawab :
Lakukan sorting nilai fitness tersebut :

Rangking ke-1 Individu ke-4 nilai fitness = 52,8125


Rangking ke-2 Individu ke-2 nilai fitness = 20
Rangking ke-3 Individu ke-3 nilai fitness = 18,125
Rangking ke-4 Individu ke-1 nilai fitness = 6,6875
Rangking ke-5 Individu ke-5 nilai fitness = 5

fmax = 52,8125 fmin = 5


Seleksi
4–1
LFR(individu ke-1) = 52,8125 – (52,8125 – 5) = 16,9531
5–1

2–1
LFR(individu ke-2) = 52,8125 – (52,8125 – 5) = 40,8593
5–1

3–1
LFR(individu ke-3) = 52,8125 – (52,8125 – 5) = 28,9063
5–1

LFR(individu ke-4) = 52,8125 – (52,8125 – 5) 1 – 1 = 52,8125


5–1

LFR(individu ke-5) = 52,8125 – (52,8125 – 5) 5 – 1 = 5


5–1
Seleksi

Seleksi digunakan untuk memilih dua buah


individu yang akan dijadika orang tua, kemudian
dilakukan cross over untuk mendapatkan
keturunan yang baru.

Metode seleksi yang digunakan adalah Roulette-


Wheel (Roda Roulette)
Seleksi

Setelah LFR masing-masing individu dibuat,


gunakan Roulette Wheel untuk memilih orang tua
Jumlah
Individu ke- Nilai LFR Probabilitas
Kumulatif
1 16,9531 16,9531 0,11
2 40,8593 57,8124 0,39
3 28,9063 86,7187 0,59
4 52,8125 139,5312 0,96
5 5 144,5312 1,00
Jumlah 144,5312

Probabilitas = Jumlah Kumulatif / Jumlah

“Pemilihan dilakukan secara acak dengan


membangkitkan bilangan random”
“Jika probabilitas individu ke-i < bilangan random, maka
individu ke-i terpilih menjadi orang tua”
Seleksi

Misalkan bilangan random pertama = 0,6


bilangan random kedua = 0,2

Maka, individu terpilih adalah :


Individu ke-3 → 0,59 < 0,6 → Orangtua ke-1 = 101, 000
Individu ke-1 → 0,11 < 0,2 → Orangtua ke-2 = 100, 001
Cross Over

Lakukan proses cross over untuk mendapatkan populasi


baru, jika prob = 0,8

Jawab :
Pada saat proses elitisme, individu ke-4 telah di-copy satu
kali, hasilnya disimpan dalam variabel temporer_individu.
temporer_individu = 1 1 1, 1 1 1

Misalkan bil random yang dibangkitkan : 0,6 dan 0,2


Bilangan Individu
probabilitas Kode biner
random terpilih
O,6 0,59 < 0,6 Individu ke-3 1 0 1, 0 0 0
0,2 0,11 < 0,2 Individu ke-1 1 0 0, 0 0 1
Bangkitkan bilangan random r, misalnya r = 0,4.
Karena r < prob, lakukan proses pindah silang.
Cross Over

Bangkitkan bilangan random antara 1 s/d 6 (jumlah gen)


untuk menentukan posisi titik pindah silang.
Misalnya bilangan random itu adalah 3, artinya gen-gen
ke-1 s/d ke-3 dari orang tua.

individu ke-3 1 0 1, 0 0 0
individu ke-1 1 0 0, 0 0 1

Hasil pindah silang :

anak ke-1 1 0 0, 0 0 0
anak ke-2 1 0 1, 0 0 1

temporer_individu = 111, 111; 100, 000; 101, 011

Pilih 2 orang tua lagi untuk dilakukan pindah silang


sehingga didapatkan 2 anak lagi
Cross Over

Misalkan bil random yang dibangkitkan : 0,4 dan 1,0


Bilangan Individu
probabilitas Kode biner
random terpilih
O,4 0,39 < 0,4 Individu ke-2 0 0 0, 0 0 0
1,0 1,00 < 1,0 Individu ke-5 1 0 0, 1 0 0
Bangkitkan bilangan random r, misalnya r = 0,9.
Karena r > prob, tidak dilakukan proses pindah silang.

anak ke-1 = individu ke-2 0 0 0, 0 0 0


anak ke-2 = individu ke-5 1 0 0, 1 0 0

temporer_individu = 111,111; 100,000; 101,001;


000,000; 100,100;
Mutasi

Lakukan proses mutasi untuk melakukan populasi baru, jika


nilai probabilitas mutasi p = 1/6

temporer_individu ke-1 tidak dimutasi untuk menjaga


proses elitisme.

Bilangan random yang dibangkitkan untuk setiap gen dari


setiap individu

“Gen yang mengalami mutasi hanyalah gen yang bilangan


randomnya < p”

Bilangan random : 1/5 1/8 1/4 1/3 1/3 1/2


Temporer_individu(2) : 1 0 0, 0 0 0;
Hasil Mutasi : 1 1 0, 0 0 0;
Mutasi

Bilangan random : 1/4 1/4 1/5 1/3 1/7 1/3


Temporer_individu(3) : 1 0 1, 0 0 1;
Hasil Mutasi : 1 0 1, 0 1 1;

Bilangan random : 1/4 1/7 1/2 1/8 1/5 1/3


Temporer_individu(4) : 0 0 0, 0 0 0;
Hasil Mutasi : 0 1 0, 1 0 0;

Bilangan random : 1/9 1/4 1/5 1/3 1/4 1/2


Temporer_individu(5) : 1 0 0, 1 0 0;
Hasil Mutasi : 0 0 0, 1 0 0;

temporer_individu = 111,111; 110,000; 101,011;


010,100; 000,100;
Penggantian Populasi

Penggantian populasi dilakukan dengan


mengganti individu dengan temporer_individu

individu = temporer_individu

x1 x2
1 1 1, 111 individu ke-1
1 1 0, 000 individu ke-2
1 0 1, 011 individu ke-3
0 1 0, 100 individu ke-4
0 0 0, 100 individu ke-5

“Populasi baru ini disebut dgn Generasi Kedua”


Pendalaman Materi

Misalkan diketahui fungsi


f(x1, x2, x3) = 2x12 + 3x22 – 4x3,
Nilai variabel x dibatasi dalam range [-4 4].
a. Buatlah populasi awal secara acak, 6 individu
dikodekan secara biner
b. Bila diinginkan mencari nilai maksimal fungsi f(x1, x2,
x3), tentukan individu terbaik
c. Bila proses elitisme dijalankan, tentukan individu
yang harus disimpan dalam variabel
temporer_individu
d. Tentukan nilai LFR dari masing-masing individu
e. Gunakan metode seleksi Roulette-Wheel untuk
melakukan proses cross over satu titik potong, Jika
diketahui prob = 0,9
f. Lakukan proses mutasi, jika nilai probabilitas mutasi
p = 1/5
g. Tentukan susunan individu pada populasi baru

Anda mungkin juga menyukai