Aplikasi Intelegensi Buatan Pertemuan 6

Download Report

Transcript Aplikasi Intelegensi Buatan Pertemuan 6

Algoritma Genetik

Setiap mahluk hidup selalu mengembangkan dirinya un
tuk berusaha bertahan diri guna menyesuaikan dengan
lingkunganya.
 Mereka yang fit ( mampu menyesuaikan ), mereka itulah
yang tetap hidup.
 Mereka yang fit, mereka itu pula akan menurunkan kemampuan penyesuaian kepada generasi ( keturunan )
nya.
Kemampuan penyesuaian ini diperlihatkan oleh kromo
som yg dimiliki oleh mahluk hidup itu sendiri.
 Umumnya pada perkembangan berikutnya, mahluk
hidup mencari pendamping. Dan dari pasangan ini akan
terjadi penggabungan kromosom yg disebut crossover.
 Setelah proses cross over, timbul pula proses mutasi
bagi generasi baru. Mutasi adalah cara alamiah yang
berusaha mencoba sesuatu yang baru ( antara lain cara
hidup).
Algoritma Genetik (lanjutan)
Baik crossover maupun mutasi diAlakukan secara random atau
acak.
 Penggmbaran crossover dan mutasi dapat digamabarkan sbb :

Crossover :
orang tua 1
A
D
Z
Y
R
N
X
E
anak
A
W
Z
A
R
D
X
Y
orang tua 2
T
W
H
A
H
D
E
Y
Mutasi :
anak
A
W
J
Z
A
R
D P
X
Y
 Orang tua 1 dan Orang tua 2 masing-2 memberikan hampir se
paro materi genetiknya kepada keturunannya.
Algoritma Genetik (lanjutan)
 Pemakian algoritma genetik membagi proses pengembangan
menjadi empat langkah :
Generasi Pertama
Penilaian Fitness
Seleksi
Pembentukan Keturunan
Langkah pertama pembentukan genera si
pertama, berupa populasi yang dimulai
dari persemian materi genetik.
Langkah kedua : disini ada upaya meni
lai fitness anggota populasi, yakni men
cari anggota yg sangat berhasil bertahan
dalam berbagai kondisi. Disini dinilai dari
yg lemah sampai yang terkuat.
Langkah ketiga : disini memilih anggota
yang materi genetiknya dianggap perlu di
pertahankan untuk diberikan pada genera
si yang akan datang.
Langkah keempat : disini dibentuk genera
si baru . Pada langkah ini diambil dua
anggota yang fitnessnya relatip baik, dari
keduanya dilakukan crossover.
Algoritma Genetik (lanjutan)
Q
P
1
Q
4
a
V
AA
GG
RR
YY
3
1
Q
X
1
4
S
R
P
XP
S
R
2E
VS
R
3
2
Q
+
K
K
E
E
H
H
P
P
S
=
A
E
O
Y
a
C
o
2
T
Generasi Pertama Bunga
Me-ranking
Fitness Bunga
a
o
Pemilihan Bunga berdasar
Fitness Bunga
Pengembangan
atau Pembentuk
an keturunan
Contoh
Mutassi
Pada proses pengembangan terjadi crossover, sekaligus mutasi. Dalam hal
bunga, crossover terjadi antara bunga Q dan S dan mutasi pada anaknya T.
Algoritma Genetik (lanjutan)





Mengkode data data yang akan diolah dengan ALGORITMA
GENETIKA , perlu ditetapkan kemampuan yang harus dimiliki oleh kromosom untuk menghadapi linkungannya.
Mengkode biasanya disebut juga ENCODING , proses menyimpan kromosom dalam susunan yang dapat disimpan
dalam komputer.
Berbagai susunan yang dipakai dalam ALGORITMA GENEKA , tetapi umumnya berentuk rangkaian bit, array, list, dan
tree.
Kita ketahui bahwa kromosom terdiri dari gen, sementara gen
ini menggambarkan kemampuan alat yang dipakai untuk mengatasi linkungan.
Contoh : susunan kromosom dalam bentuk :
rangkaian bit : 11 01 10 00 11 10 01
array : int pepsitida [5] = { 16, 30, 60, 20 };
Masalah)


Pada dasarnya tiap mahluk memiliki masalah, tetapi tiap mah
luk juga memiliki cara untuk memecahkan masalahnya.
Tiap saat masalah itu datang dan berbeda bentuknya, sehing
ga diperlukan cara lain untuk memecahkannya. Bila masalah
itu sama tetapi kwalitasnya juga lain sehingga memerlukan ca
ra lain pula
U
Mangsa
B
T
Predator
S
Masalah Predator adalah :
Bgaimana menangkap Mang
sa dalam keadaan diam
Solusinya bisa ke timur , ke timur baru terus
keutara. Atau ke utara baru ketimur. Yang
jelas banyak cara sulusi yang ditempuh, ting
gal menilai mana yang terbaik (fitness)
Masalah Dan Solusi ( Lanjutan)






Tiap masalah biasanya memiliki beberapa solusi untuk meme
cahkan masalah tersebut.
Biasanya mahluk hidup selalu mengkombinasikan solusi tsb
agar didapat hasil yang maksimal ( fitnessnya tinggi)
Kombinasi atau gabungan solusi tersebut membentuk suatu
rangkaian solusi.
Dalam Algoritma Genetik rangkaian solusi tersebut disebut
kromosom dan tiap solusinya disebut : gen
Kromosom adalah rangkaian dari gen.
Tergantung pada kemampuan dari mahluk hidup, biasanya
menggunakan beberapa rangkaian kromosom, dan komposisi gen nya berbedabeda.
Masalah Dan Solusi ( Lanjutan)




Datangnya masalah tidak menentu, kadang-2 terus menerus
datang, beberapa saat tidak datang, kemudian disusul lagi
masalah. Atau dengan kata lain datangnya masalah secara
acak ( random ).
Kumpulan atau himpunan rangkaian solusi ( kromosom ) , disebut : Populasi ( disingkat : poplu)
Bila dikaitkan dengan Algoritma Genetik maka tampaknya
ada kecocokan dimana :
* Suatu rangkaian solusi disebut kromosom
* Populasi rangkaian solusi sama dengan puplu kromosom.
Agar kromosom tersebut dapat di-digitalkan sehingga dapat
diolah dengan komputer, sekaligus komputerisasi Algoritma
Genetik, maka kromosom dianggapn sebagai rangkaian binary ( 0 , 1 )
Masalah Dan Solusi ( Lanjutan)





Gen adalah anggota dari kromosom yang mewakili sebagai
solusi juga harus di-kode binary
Berapa banyaknya bit yang dipakai mengkode gen, tergantung banyaknya jenis solusi yang dipakai.
Fungsi-2 yang dipakai dalam hal kromosom ini :
* Seleksi Roulette wheel
* Cross Over rate
* Mutation rate
Seleksi Roulette wheel adalah fungsi atau metoda yang dipakai untuk memilih kromosom dari sekian banyak kromosom
untuk menjadi anggota poplu, demikian sehingga sebanding
dengan fitness-nya. Makin fit kromosom bersangkutan berpe
luang (probabilitasnya) besar untuk dipilih menjadi anggota.
Cross Over Rate adalah probability dua kromosom dari suatu
suatu poplu untuk dipertukarkan bit- bit nya untuk menghasil
kan dua keturunan baru.
Contoh Algoritma Genetik
Skenario :
Untuk menghadapi banjir dimusim hujan diperlukan : pasir,
batu padas,
Untuk : pasir diperlukan antara 10 s/d 30 colt/perhari, tidak tentu , dan
batu padas antara 5 s/d 10 colt/perhari juga tidak menentu.
Kegiatan dilakukan selama 15 hari.
Bentuklah populasi kromosom untuk mengadapi banjir tsb.
Jawab : Kromosom terdiri dari gen pasir dan batu (disingkat)
Maing-2 gen memiliki nilai-2 sendiri-2 dan acak.
Rencana akan dipecahkan dg Algoritma Genetik.
Algoritma :
Sediakan(deklarasikan) aray size 15 untuk pasir dan batu, isilah array-2 tsb
dengan nilai ran dom, asalkan utk pasir nilai random <10 tidak dipakai, untuk batu
< 5 tak dipakai . Kromosom terdiri dari dua gen , yakni pasir dan batu.
Contoh Algoritma Genetik(lanjutan)

Persoalannya dapat digambarkan sbb:

Tiap kromosom terdiri dari gen-2 ; untuk kromsom dalam soal
terdiri dari dua gen, yakni kromosom kendali banjir : pasir batu
Untuk populasi kromosom dapat digambarkan sbb :

Lingkungan
pasir
batu
Pasir
batu
pasir
batu
pasir
batu
pasir
batu pasir
batu
pasir
batu
pasir
batu
pasir
batu
pasir
pasir
batu
batu
pasir
pasir
batu
batu
pasir
pasir
pasir
batu
batu
batu
Populasi
Kromosom
Kromosom
Gen
Contoh Algoritma Genetik
Skenario : (lanjutan)

Int kromosm [15][2];
int genpasir, genbatu //akan menampung nili random
int I, j // index array kromosom
randomize();
for ( I = 0; I < 15; i++)
{
genpasir = random (31); // 31 pembatas nilai random
// agar sampai 30
genbatu = random (11);
if ((genpasir >= 10) && (genbatu>=5))
{
kromosom[i][0] = genpasir;
kromosom[i][1] = genbbatu;
}
}
for ( I = 0; i< 15; i++)
for( j = 0; j < 2; j++)
{
cout<< kromosom[i][j];
cout<<“ “;
}
getch();