Anda di halaman 1dari 7

PENYELESAIAN MASALAH 8-QUEEN DENGAN TEKNIK

ALGORITMA GENETIK

J. Jamaluddin
Universitas Methodist Indonesia
jac.satuno@gmail.com

Abstrak
8-Queen merupakan suatu bentuk permasalahan kombinasional untuk
menempatkan 8 buah bidak ratu (queen) pada papan catur berukuran 8x8.
Permasalahan yang terjadi pada 8-Queen diilustrasikan dengan aturan berikut:
setiap bidak ratu tidak boleh diletakkan pada saru kolom, satu baris dan satu
diagonal yang sama. Untuk menyelesaikan permasalahan ini ada banyak
algoritma yang digunakan. Dalam jurnal kali ini saya mencoba untuk
menyelesaikan permasalahan 8-Queen ini dengan teknik Algoritma Genetik.

Kata Kunci: 8-Queen, Algoritma Genetik, Kromosom, Gen.

1. Pendahuluan algoritma, seperti penelitian yang dilakukan


oleh Georffrey De Smet dengan judul
N-Queen merupakan salah satu “Solving Planning Problem with Drools
bentuk permainan puzzle yang pertama kali Solver” yang menjelaskan kemungkinan
dibentuk pada tahun 1848 oleh seorang solusi yang disapat dengan menggunakan
pemain catur Max Bezzel. Dari tahun ke algoritma Brute Force[3]. Kemudian Sou
tahun, banyak matematikawan termasuk Yeon Lim dan Ki Jun Soon pada peper
Gauss dan George Canton yang bekerja keras penelitian yang berjudul “The Improvement
untuk dapat menyelesaikan masalah N-Queen of Convergence Rate in N-Queen Problem
ini. Solusi pertama kali dibentuk oleh Franz Using algoritma Q-Learning[4].
Nueck pada tahun1950. Pada tahun 1874 S.
Gunter mengusulkan suatu metode dengan Pada peper ini saya mencoba untuk
menggunakan metode determinan dan J.W.L memaparkan proses penyelesaian
Gloisher menyaring pendekatan tersebut. permasalahan 8-Queen dengan menggunakan
teknik algoritma genetik.
Masalah N-Queen ini dapat
diselesaikan dengan menggunakan berbagai

MAJALAH ILMIAH METHODA Volume 2 Nomor 2, Mei-Agustus 2012 : 14-20 Halaman 14


2. Algoritma Genetik
2.2 Pengkodean kromosom
Algoritma genetika adalah suatu
algoritma pencarian (searching) berdasarkan Pengkodean merupakan bagian yang
cara kerja melalui mekanisme seleksi alam penting dalam menyelesaikan suatu
dan genetik. Tujuannya untuk menentukan permasalahan dengan algoritma genetika.
struktur-struktur yang disebut individu Pengkodean adalah pengkorversian masalah
berkualitas tinggi di dalam suatu domain dalam dunia nyata menjadi bentuk yang
yang disebut populasi untuk mendapatkan dapat diolah dengan menggunakan algoritma
solusi persoalan[5]. genetika. Pengkodean yang tepat sangat
menentukan berhasil atau tidaknya proses
Pada tahun 1975, John Holland algoritma genetika dalam menyelesaikan
memperkenalkan algoritma genetika untuk sebuah permasalahan. Pengkodean yang tepat
yang pertama kalinya. Algoritma genetika juga akan menentukan tingkat efisiensi
berbeda dengan algoritma konvensional komputasi yang digunakan[2].
karena dimulai dari suatu himpunan awal
yang disebut populasi. Algoritma genetika Ada beberapa jenis pengkodean yang
menggunakan dua prinsip dasar dalam sistem dapat digunakan dalam algoritma genetika,
biologis, yaitu seleksi terhadap spesies yang diantaranya pengkodean biner (binary
ada dan peningkatan keanekaragaman (gen encoding) dan pengkodean permutasi
dengan operasi genetik)[6]. (permutation encoding).

2.1 Kromosom dan pola representasi 2.3 Skema Pengkodean

Dalam konsep ilmu biologi dikenal Pengkodean biner merupakan


adanya istilah sel. Sel merupakan bagian pengkodean yang sering digunakan dan
terkecil yang menyusun organisme. Secara paling sederhana. Sesuai dengan namanya,
umum organisme terdiri dari sel-sel pada pengkodean biner nilai gen pada sebuah
penyusun. Sebuah sel tersusun dari kumpulan kromosom hanya terdiri dari 0 dan 1 [6].
beberapa kromosom. Sebuah kromosom Contoh kromosom yang menggunakan
tersusun dari beberapa gen. Gen merupakan pengkodean biner ditunjukkan pada gambar
sekumpulan DNA (Deoxyribo Nucleic Acid). 1.
Konsep biologi semacam ini yang diadaptasi
pada algoritma genetika. Dalam algoritma
genetika, kromosom merupakan alternatif
solusi dari sebuah permasalahan. Kromosom
dapat disajikan dalam beberapa bentuk sesuai
dengan jenis pengkodean yang digunakan [6].

MAJALAH ILMIAH METHODA Volume 2 Nomor 2, Mei-Agustus 2012 : 14-20 Halaman 15


Gambar 1. Kromosom dengan pengkodean bernilai fitness rendah akan mati. Pada
biner masalah optimasi, solusi yang akan dicari
adalah memaksimumkan sebuah fungsi
Setetelah skema pengkodean likelihood dan meminimumkan least square
ditentukan, AG diinisialisasi untuk sebuah baik untuk fungsi produksi Cobb-Dauglas
populasi dengan N kromosom. Gen-gen yang maupun fungsi produksi CES.
mengisi masing- masing kromosom
dibangkitkan secara random. Masing- masing 2.5 Seleksi
kromosom akan dikodekan menjadi individu
dengan nilai fitness tertentu. Kemudian Pemilihan dua buah kromosom
sebuah populasi baru akan dibentuk dengan sebagai orang tua, yang akan
menggunakan mekanisme seleksi alamiah, dipindahsilangkan, biasanya dilakukan secara
yaitu memilih individu-individu secara proporsional sesuai dengan dengan nilai
proporsional terhadap nilai fitnessnya, dan fitness-nya. Suatu metoda seleksi yang
genetika alamiah, yakni pindah silang umumnya digunakan adalah roulette wheel
(crossover) dan mutasi. (roda raoulette). Sesuai dengan namanya,
metoda ini menirukan permainan roulette
Pada algoritma genetik yang akan wheel di mana masing-masing kromosom
digunakan adalah dengan skema pergantian menempati potongan lingkaran pada roda
populasi yang disebut generational raulette secara proporsional sesuai dengan
replacement, artinya, N kromosom dari suatu nilai fitnessnya. Kromosom yang memiliki
generasi digantikan sekaligus oleh N nilai fitness lebih besar menempati potongan
kromosom baru hasil pindah silang dan lingkaran yang lebih besar dibandingkan
mutasi. dengan kromosom bernilai fitness rendah.

2.4 Nilai Fitness

Dalam proses evolusi individu yang


survive dari proses seleksi alam akan
mempunyai kesempatan untuk bereproduksi
kembali. Dengan demikian, kemampuan
individu untuk dapat beradaptasi dan
bertahan hidup untuk selamat sangat penting. Gambar 2. Penggunaan Metoda Roulette
Suatu individu dievaluasi berdasarkan suatu Wheel Selection
fungsi tertentu sebagai ukuran
performansinya. Di dalam evolusi alam, Metoda raulette-wheel selection
individu yang bernilai fitnes tinggi yang akan sangat mudah diimplementasikan dalam
bertahan hidup. Sedangkan individu yang pemprograman. Pertama, dibuat interval nilai

MAJALAH ILMIAH METHODA Volume 2 Nomor 2, Mei-Agustus 2012 : 14-20 Halaman 16


kumulatif dari nilai fitness masing-masing adalah dengan memilih suatu titik yang
kromosom. Sebuah kromosom akan terpilih dipisahkan secara random dan kemudian
jika bilangan random yang dibangkitkan membentuk offspring dengan cara
berada dalam interval kumulatifnya. Pada mengkombinasikan segmen dari satu induk
Gambar 2 di atas, K1 menempati interval ke sebelah kiri dari titik yang dipisahkan
kumulatif [0;0,25], K2 berada dalam interval dengan
(0,25;0,74], K3 dalam interval (0,75;0,875] segmen dari induk yang lain ke sebelah
dan K4 berada dalam interval (0,875;1]. kanan dari titik yang dipisahkan.
Misalkan, jika bilangan random yang
dibangkitkan adalah 0,6 maka kromosom K2 Metode ini akan berjalan normal
terpilih sebagai orang tua. Tetapi jika dengan representasi bit string. Performa dari
bilangan random yang dibangkitkan adalah Algoritma Genetika bergantung pada
0,9 maka kromosom K4 yang terpilih. performa dari operator crossover yang
digunakan.
2.6 Crossover
2.7 Mutasi
Salah satu komponen yang paling
penting dalam algoritma genetik adalah Mutasi dapat dilakukan dari semua
crossover atau pindah silang. Sebuah gen yang ada dengan probabilitas mutasi
kromosom yang mengarah pada solusi yang tertentu. Jika bilangan random yang
baik dapat diperoleh dari proses memindah- dibangkitkan kurang dari probabilitas mutasi
silangkan dua buah kromosom. yang ditentukan maka ubah gen tersebut
menjadi nilai kebalikan yang dalam hal ini,
binary encoding, 0 diubah 1, dan 1 diubah 0.
Bila mana probabilitas mutasi adalah ( 1/12 )
maka sebanyak 1 gen akan dimutasi dari
kromosom yang terdiri dari 12 gen (bits).
Pada algoritma genetika yang sederhana,
nilai probabilitas mutasi adalah tetap selama
evolusi. Gambar 4 menunjukan proses mutasi
Gambar 3. Proses Crossover yang terjadi pada gen5.

Crossover adalah operator Algoritma


Genetika yang utama karena beroperasi pada
dua kromosom pada suatu waktu dan
membentuk offspring dengan
mengkombinasikan dua bentuk kromosom.
Cara sederhana untuk memperoleh crossover
Gambar 4. Contoh Mutasi pada Gen5
MAJALAH ILMIAH METHODA Volume 2 Nomor 2, Mei-Agustus 2012 : 14-20 Halaman 17
4. Update generasi, ganti populasi yang
2.8 Elitisme lama dengan populasi baru.
5. Cek kondisi berhenti, apabila belum
Proses seleksi dilakukan secara random terpenuhi maka kembali ke proses 2.
sehingga tidak ada jaminan bahwa suatu
indvidu yang bernilai fitness tertinggi akan
selalu terpilih. Walaupun individu bernilai 4. Perancangan Algoritma Genetik 8-
fitness tertinggi terpilih, mungkin saja Queen
individu tersebut akan rusak (nilai fitnessnya
menurun) karena proses pindah silang. Oleh 8-Queen merupakan suatu bentuk
karena itu, untuk menjaga agar individu permasalahan kombinasional untuk
bernilai fitness tertinggi tersebut tidak hilang menempatkan 8 buah bidak ratu (queen) pada
selama evolusi, maka perlu dibuat satu atau papan catur berukuran 8x8. Permasalahan
beberapa kopinya. Prosedure ini dikenal yang terjadi pada 8-Queen diilustrasikan
sebagai elitisme. dengan aturan berikut: setiap bidak ratu tidak
boleh diletakkan pada saru kolom, satu baris
dan satu diagonal yang sama.
3. Langkah-langkah Algoritma Genetika

Algoritma genetika dimulai dengan


membuat himpunan solusi (kromosom) yang
disebut dengan populasi. Populasi mula-mula
dibuat secara acak. Selanjutnya populasi
yang sudah terbentuk akan digunakan untuk
membentuk populasi yang baru dengan
harapan populasi yang baru lebih baik dari
populasi sebelumnya. Solusi-solusi yang ada
dalam populasi kemudian dipilih untuk
membentuk solusi baru (offspring), yang
dipilih berdasarkan nilai fitness-nya. Proses
ini diulang sampai kondisi yang diinginkan.
Berikut ini adalah urutan proses algoritma
genetika Gambar 5. Ilustrasi sebuah Posisi 8-Queen
1. Inisialisasi populasi, membuat populasi
secara acak. Posisi 8-Queen diatas jika
2. Evaluasi nilai fitness. ditranformasik ke dalam kromoson akan
3. Membuat populasi baru dengan cara dipeoleh tabel kromosom berikut:
seleksi, crossover dan mutasi.

MAJALAH ILMIAH METHODA Volume 2 Nomor 2, Mei-Agustus 2012 : 14-20 Halaman 18


Gen 1 1 dimungkinkan terjadinya mutasi pada salah
Gen 2 6 satu atau lebig gen yang sifatnya acak.
Gen 3 2 Sehingga prosesnya dapat diilustrasikan pada
Gen 4 5 Gambar 8 berikut:
Gen 5 7
Gen 6 4
Gen 7 8
Gen 8 3

Gambar 6. Tabel Kromosom 8-Queen pada


Ilustrasi

Proses penghitungan nilai fitness


untuk kromosom pada 8-Queen dilihat dari Gambar 8. Proses Algoritma Genetik pada 8-
seberapa sering terjadi perpotongan baik Queen
secara vertical, horizontal ataupun diagonal.
Kemudian dari nilai fitness tersebut kita 5. Kesimpulan dan Saran
dapat mengambil 2 individu pada tahap
seleksi sebagai orang tua (parents). Pada jurnal kali ini, saya hanya
melakukan perancangan terhadap proses
Algoritma Genetik terhadap permasalahan 8-
Queen. Untuk selanjutnya mudah-mudahan
rancangan ini dapat diimplementasikan dalam
bentuk sebuah aplikasi sehingga dapat
diketahui berapa generasi proses terjadi untuk
mendapatkan individu dengan nilai fitness
yang diinginkan.

6. Daftar Pustaka

[1] Adrifina, A., dkk. 2008. Penyelesaian


Gambar 7. Penentuan Nilai Fitness pada 8-
Masalah N-Queen dengan Teknik
Queen
Backtracking. Proceeding Seminar Ilmiah
Nasional dan Sistem Intelijen (KOMMIT
Dari parents tersebut kita akan
2008), Depok.
melakukan crossover terhadap gen-gen pada
individu yang di kawinkan. Pada proses
perkawinan (crossover) tersebut

MAJALAH ILMIAH METHODA Volume 2 Nomor 2, Mei-Agustus 2012 : 14-20 Halaman 19


[2] Situmorang, Zakarias., Penyusunan Teka
– Teki Silang dengan Algoritma
Genetika.

[3] Geoffrey, S., 2008, Solving Planning


Problems with Drools Solver.
http://anonsvn.labs.jboss.com

[4] Soo-Yeon Lim., 2008, The Improvement


of Convergence Rate in N-Queen
Problem Using Reinforcement Learning.
http://www.icis.ntu.edu.sg

[5] Kusumadewi, S, 2003, Artificial


Intelligence. Yogyakarta: Graha Ilmu.

[6] Desiani, A. & Arhami, M, 2006, Konsep


Kecerdasan Buatan. Yogyakarta: Andi.

[7] Heaton, J., Understanding Genetic


Algorithm.
www.jeffheaton.com/ai/javaneural

[8] Kuswadi, S., 2007, Kendali Cerdas:


Teori dan Aplikasi Praktisnya.
Yogyakarta: Andi.

MAJALAH ILMIAH METHODA Volume 2 Nomor 2, Mei-Agustus 2012 : 14-20 Halaman 20

Anda mungkin juga menyukai