Anda di halaman 1dari 36

Algoritma

Genetika
Oleh :

Ajib Setiawan Nugroho

(2211100090)

Muhammad Fasih Mubarrok (2211100120)

Sentosa Sondang O.

(2211100211)

OUTLINE

1. Dasar Teori Algoritma Genetika


2. Proses Algoritma Genetika
3. Contoh dan Simulasi Algorima Genetika pada Matlab

DASAR TEORI

Algoritma Genetika

terinspirasi oleh Teori Evolusi Darwin,


yakni perkembangan generasi dalam sebuah populasi yang
alami, secara lambat laun mengikuti prinsip seleksi alam [Siapa
yang kuat, dia yang survive]. Metode ini digunakan untuk
memecahkan pencarian nilai dalam sebuah masalah optimasi
Pencetusnya adalah John Holland, profesor dari
University of Michigan pada tahun 1970-an.

DASAR TEORI

Istilah-istilah dalam Algoritma


Genetika
Ge :Satuan dasar dalam
kromosom
n
:Nilai dari gen(biner, integer,
Allel
float, karakter)
e
1
Kromoso :individu berupa segmen
string yang menyatakan salah
m
satu solusi yang mungkin

Popula :kumpulan individu


si
Genera :satu siklus iterasi Algortima
Genetika
si

DASAR TEORI

Istilah-istilah dalam Algoritma


Genetika
:Nilai yang menyatakan baik tidaknya suatu
Nilai
Fitnees

solusi (Individu).

Diversi :Jarak rata-rata


antar individu
ty

dalam populasi.

Sumber : Genetic Algorithm Toolbox in

PROSES ALGORITMA GENETIKA

Step dan Flowchart Algoritma


Genetika

Step 1. Pengkodean(Inisialisasi) gen dan


kromosom
Step 2. Membangkitkan populasi awal
Step 3. Evaluasi nilai objektif tiap
kromosom
Step
4. Seleksi kromosom
Step 5. Crossover
Step 6. Mutasi
Step 7. Solusi (kromosom terbaik)
Sumber : Hermawanto, Denny

PROSES ALGORITMA GENETIKA

Teknik
Pengkodean
Merepresentasikan gen di dalam kromosom
dalam bentuk :
String bit

: 10011 dst.

Array bilangan real : 65.65, -67.98,


77.34 , dst
Elemen permutasi : E2, E10, E5 , dst
Daftar aturan

: R1, R2 , R3, dst

PROSES ALGORITMA GENETIKA

Membangkitkan Populasi
Awal
Adalah proses membangkitkan sejumlah individu secara
acak atau dengan prosedur tertentu

TEKNIK
PEMBANGKIT
AN

RANDOM
GENERATO
R
PENDEKATA
N
TERTENTU

B
0

PROSES ALGORITMA GENETIKA

Selek
si

Mesin Roullete
Stocastic Universal
Sampling
Metode
Seleksi

Seleksi Rangking
Turncation
Selection
Tournament
selection

PROSES ALGORITMA GENETIKA

Metode Mesin
Probabilitas
Roullete

Individu
10%
Individu
25%
Individu
40%
Individu
15%
Individu
10%

1 : fitness =
2 : fitness =

Jatah
Jatah
Jatah
Jatah
Jatah
100

Individu
Individu
Individu
Individu
Individu

1
2
3
4
5

:
:
:
:
:

1-10
11-35
36-75
76-90
91-

3 : fitness =
Pembangkitan Bilangan
4 : fitness = Random
5 : fitness =

Ind
Ind
Ind
Ind
Ind

1
2
3
4
5

Individu Terpilih
Individu 2 (random
30)
Individu 4 (random
88)
Individu 3 (random
64)
Individu 2 (random
28)
Individu 3 (random

PROSES ALGORITMA GENETIKA

Metode Stochastic Universal


Sampling
Metode ini sama seperti metode mesin roullete, yang
membedakan disini yaitu dalam satu proses seleksi
terdapat lebih dari satu individu yang terpilih.
Individu
Individu
Individu
Individu
Individu

1
2
3
4
5

PROSES ALGORITMA GENETIKA

Metode Seleksi
Ranking
Individ
u

Fitnes
s

Indivi
du

Fitness Baru

K1

34

K1

K2

25

K2

K3

K3

K4

32

K4

K5

K5

K6

K6

PROSES ALGORITMA GENETIKA

Metode Truncation
digunakan untuk populasi
Selection

yang besar, dimana hanya individu yang


memiliki nilai fitness terbaik saja yang akan diseleksi. Tahapan
metode ini yaitu:

Individ
u

Fitnes
s

K1

34

K1

34

K2

25

K4

32

K3

K2

K4

32

K5
K6

Individ
u

Fitnes
s

Individ
u

Fitnes
s

K1

34

25

K4

32

K5

11

K2

25

K6

K3

Trunc
50%

PROSES ALGORITMA GENETIKA

Metode Tournament
selection
Metode ini memilih induk berdasarkan perbandingan per 2 individu.
Dimana Individu dengan nilai tertinggi dari 2 individu tersebut akan
dipilih untuk dibandingkan dengan individu lain sampai didapatkan
induk dengan nilai fitness terbaik.
Individ
u

Fitnes
s

K1

34

K2

25

K3

K4

32

K5

11

t=2
(a,b)

Random nilai
a,b
a=4
b=2

Bandingka
n
K4 = 32
K2 = 25
K4>K2
Induk = K4

PROSES ALGORITMA GENETIKA

Crossov
er
Adalah operator dari algoritma genetika yang melibatkan dua induk
untuk membentuk kromosom baru. Pemilihan individu ini dilakukan
secara acak berdasarkan nilai probablitas crossover

Crossover

Crossover satu
titik
Crossover
banyak titik
Crossover
Aritmatika

PROSES ALGORITMA GENETIKA

Crossover Satu
Titik
1
0
0
1

probCO = 0,8
0

P=0,7

P=0,3

P=0,9

PROSES ALGORITMA GENETIKA

Crossover Banyak
Titik
1
0
0
1
0

probCO = 0,8
1

P=0,7

P=0,3

P=0,7

PROSES ALGORITMA GENETIKA

Crossover
Aritmatik

PROSES ALGORITMA GENETIKA

Crossover untuk representasi kromosom


permutasi

Metode operator
Crossover
representasi
permutasi

Partial-mapped
Crossover(PMX)
Order Crossover(OX)
Cycle Crossover

PROSES ALGORITMA GENETIKA

Partial-mapped
Crossover(PMX)
Merupakan rumusan modifikasi dari pindah silang
dua poin
Langkah
:
1.

Pilih posisi secara acak untuk


menentukan substring

2.

Tukarkan substring diantara induk untuk


mendapatkan proto-child

3.

Menentukan hubungan antar nilai di


daerah pemetaan(mapping)

4.

Menentukan kromosom turunan dengan


melihat hasil pemetaan

PROSES ALGORITMA GENETIKA

Order
Crossover(OX)
adalah PMX variasi dengan prosedur
tambahan
Langkah
:
1.

2.

3.

4.

Memilih substring secara acak


Bangkitkan proto-child dengan
mengosongkan tempat substring induk
dua pada induk satu
Geser allele yang berhubungan dari
substring pada tempat yg bersesuaian
Menukar substring antara dua induk

PROSES ALGORITMA GENETIKA

Cycle
mengkopi nilai dari satu induk dan memilih nilai-nilai yang lain dari
Crossover

induk yang
lain.
Langkah
:
1.

Tentukan pola cycle dari relasi posisi nilainilai antar induk

2.

Salin nilai-nilai dalam cycle pada protochild

3.

Tentukan nilai-nilai yang berasal dari


induk lain

4.

Mengisikan nilai-nilai dalam keturunan

PROSES ALGORITMA GENETIKA

Muta
siBerperan dalam menggantikan gen yang hilang dari populasi
akibat proses seleksi yang memungkinkan munculnya kembali gen
yang tidak muncul pada inisialisasi populasi

Peluang Mutasi
(Pm)
Merupakan presentasi dari jumlah total gen pada populasi yang
mengalami mutasi
Pm mengendalikan banyaknya gen baru yang akan dimunculkan
untuk evaluasi

PROSES ALGORITMA GENETIKA

Muta
si

Multasi Bilangan Biner:

Multasi Bilangan Real:

PROSES ALGORITMA GENETIKA

Penghentian Proses Algoritma


Genetika
STOPPING
CONDITION

GENERATIONS
TIME LIMIT
FITNESS LIMIT

Saat mencapai batas max generasi


Saat mencapai batas max waktu running
program
Saat mencapai batas nilai fitness

STALL
Saat tidak ada perubahan nilai fitness selama selang
GENERATIONS generasi tertentu
STALL TIME
LIMIT

Saat tidak ada perubahan nilai fitness selama selang


waktu tertentu

CONTOH DAN SIMULASI ALGORIMA GENETIKA


Mencari
Nilai min fungsi
Pengkodean(Inisialisasi) gen dan
kromosom
Gen = Bil. Real ,
Membangkitkan populasi awal

CONTOH DAN SIMULASI ALGORIMA GENETIKA

Evaluasi nilai objektif tiap kromosom

CONTOH DAN SIMULASI ALGORIMA GENETIKA

Seleksi kromosom

Individu
Individu
Individu
Individu
Individu
Individu

1
2
3
4
5
6

random
random
random
random
random
random

18
28
50
60
70
90

->
->
->
->
->
->

individu1
individu2
individu3
individu3
individu4
individu6

CONTOH DAN SIMULASI ALGORIMA GENETIKA

Seleksi kromosom

random
random
random
random
random
random

18
28
50
60
70
90

->
->
->
->
->
->

individu1
individu2
individu3
individu3
individu4
individu6

CONTOH DAN SIMULASI ALGORIMA GENETIKA

Crossover

CONTOH DAN SIMULASI ALGORIMA GENETIKA

Crossover

CONTOH DAN SIMULASI ALGORIMA GENETIKA

Mutasi
Prob. Mutasi = 0,2
Jumlah gen termutasi = 0,2 x 24 =
4,8 4 gen

R1
R2
R3
R4

=
=
=
=

2
7
20
15

Individu1
Individu2
Individu3
Individu4
Individu5
Individu6

=
=
=
=
=
=

[2
[3
[4
[4
[9
[1

5
2
2
8
8
4

5
1
5
1
4
8

7]
9]
7]
3]
3]
9]

Individu1
Individu2
Individu3
Individu4
Individu5
Individu6

=
=
=
=
=
=

[2
[3
[4
[4
[9
[1

1
2
2
8
8
4

5
4
5
9
4
8

7]
9]
7]
3]
7]
9]

CONTOH DAN SIMULASI ALGORIMA GENETIKA


Mencari
Nilai min fungsi
Generasi 1
Individu1
0,0145
Individu2
0,0099
Individu3
0,0094
Individu4
0,0037
Individu5

= [2 1 5 7] =
= [3 2 4 9] =
= [4 2 5 7] =
= [4 8 9 3] =
= [9 8 4 7] =

SIMULASI ALGORIMA GENETIKA PADA MATLAB

Buka Matlab

DAFTAR PUSTAKA

1. Bab 7: Algorima Genetika, PENS, Surabaya


2. Hermawanto, Denny, Genetic Algorithm for Solving
Simple Mathematical Equality Problem, LIPI, Indonesia
3. Genetic Algorithm and Direct Search Toolbox, Users
Guide MATLAB, The MathWorks

TERIMA KASIH