Jumat, 24 April 2009

ALGORITMA GENETIK DAN APLIKASINYA

Pendahuluan:
Genetic Algorithm di usulkan pertama kali oleh John Holland dan teman-temannya di universitas Michigan untuk aplikasi seluler otomata. Teknik ini menjadi populer diantara saintis dan rekayasawan di seluruh dunia untuk memecahkan masalah optimasi mereka.
Aplikasinya antara lain adalah :
-job shop scheduling,
-pembelajaran pengendali neuro-fuzzy,
-pemrosesan citra dan optimasi kombinationarial
Konsep berfikir:
GA mensimulasikan proses yang terjadi pada populasi alamiah yang merupakan hal penting dalam proses evolusi. Di alam, induvidu di populasi saling bersaing untuk memperoleh sumber daya seperti makanan,baju, tempat tinggal dan pekerjaan. Induvidu yang yang berhasil akan bertahan hidup sedangkan induvidu yang tidak, akan mati dan punah.
GA secara khusus dapat di terapkan untuk memecahkan masalah optimasi yang kompleks. Karena itu GA baik untuk aplikasi yang memerlukan startegi pemecahan masalah secara adaptif. GA secara inheren parale karena pencarian pemecahan yang terbaik dilakukan melalui struktur genetik yang menyatakan sejumlah kemungkinan penyelesaian.
GA adalah salah satu teknik optimasi yang terkenal. Secara khusus ada 3 golongan teknik optimasi yaitu:
-Berbasis pada kalkulus
-Berbasis pada Enumeriatif/Perulangan
-Berbasis pada Pencarian Acak Terarah
Setelah Holand memaparkan idenya tentang tentang GA maka banyak peneliti yang mengusulkan berbagai variasi. Namun secara umum GA adalah teknik penanganan populasi.
Ide awal GA mengadopsi kebijakan penggantian umum dimana keseluruhan populasi diganti setiap generasi. Di pihak lain kebijakan keadaan tunak(Steady stete policy) menerapkan pergantian seleksi bagi populasi. Hal ini lebih alami karena di alam sudah biasa orang tua dan anak hidup berdampingan pada saat yang bersamaan

Penyajian induvidu dari GA biasanya menggunakan sekumpulan bilangan biner. Tetapi penyajian biner ini memiliki beberapa kelemahan bila diaplikasikan pada masalah multidimensional dan persamaa numerik yang persisi.

Contoh:
Bila suatu masalah memiliki 100 variabel dengan ranah (-500 sd 500) memerlukan ketelitian 6 angka di belakang koma, maka akan diperlukan vektor solusi biner 3000. Itu berarti ada 101000 ruang pencarian yang diperlukan. Untuk persoaln tersebut GA memiliki kinerja yang buruk
Algortima ini bekerja dengan sebuah populasi yang terdiri dari induvidu-induvidu yang masing-masing induviidu mempresentaskan sebuah solusi yang mungkin bagi persoalan yang ada. Dalam kaitan ini sebuah induvidu dilambangkan dengan nilai ”FITNESS” yang akan digunakan untuk mencari nilai solusi yang yang terbaik dari persoalan yang ada.
Dalam teori genetika sebuah induvidu akan mengalami perkembang biakan, dimana pada saat perkembang biakan tersebut terdapat penurunan sifat kepada keturunannya(offspring). Keturunan ini dapat memiliki sifat gabungan dari kedua Parentnya. Sifat ini dapat dimiliki dengan mutasi atau crossover dari parentnya. Pada saat penurunan sifat maka akan terdapat induvidu baru yang akan di seleksi alam. Bila turunan tersebut mampu baik maka akan mampu bertahan, sebaliknya pula bila tidak maka akan musnah. Pada akhirnya kita akan mendapat keturunan yang terbaik. Nah induvidu yang terbaik tersebut adalah solusi optimal bagi permasalahan kita.
Algoritma Dari Genetic Algorithm
  1. Membangun sebuah populasi yang terdiri atas beberapa gen atau direpresentasikan dengan String.
  2. Evaluasi masing masing String (Fitness Value)
  3. Proses Seleksi agar didapatkan string yang baik
  4. Manupulasi genetika untuk mendapatkan induvidu yang baru dari string
Sejarah Genetic Algorithm
Teori darwin yang sempat membuat orang orang berfikir bahwa manusia berasal dari kera, bahkan lebih rendah telah membuat membutakan kita sekitar abad 19 hingga beberapa tahun belakangan ini. Pada abad ke 19 banyak ilmuwan yang mencoba untuk membuktikan dan mensimulasikannya. Neo darwinisme yang menyebutkan bahwa sejarah kehidupan mahkluk hidu[ adalah melalui suatu mekanisme proses statistika yang terjadi antara populasi dan spesies, yang dikenal dengan proses manipulasi genetika. Proses ini masing-masing adalah reproduksi, mutasi, kompetisi dan pemilihan.

Cikal bakal penggunaan GA untuk pencarian dalam sistem buatan di prakarsai oleh beberapa ahli biologi yang menggunakan komputer digital untuk mengerjakan simulasi dari sistem genetika. Diantara para ahli tersebut adalah:
  1. Baricelli, N.A pada tahun 1957 melakukan penelitian tentang proses evolusi simbiogenetik yang direalisasikan dengan sistem artificial.
  2. Baricelli, N.A pada tahun 1962 mengajukan teory evolusi dan analisis numeriknya
  3. Fraser, A.S pada tahun 1960 menyimulasikan sistem genetika dengan komputer, yang meliputi aspek-aspek S-linkage,dominasi dan epistasis.
Meskipun penelitian –penelitian tersebut bertujuan untuk meneliti gejala alam namun yang mereka kerjakan secar kebetulan memiliki pemikiran paralel yang memunculkan ide tentang Genetic Algorithm.
Fraser mensimulasikan evolusi dari 15 bit Biner sebagai string generasi dan menghitung presentasi dari induvidu-induvidu yang terpilih oleh fenotip dengan generasi-generasi yang berurutan.pada saat itu fraser tidak menyebutkan dalam laporannya bahwa algoritma pencarian dalam gejala alam akan berguna dalam sistem buatan, namun ternyata hasil dari penmuannya ternyata menyerupai optimasi fungsi.
Hal itulah yang memberikan inspirasi bagi John Holand dan murid-muridnya untuk mengaplikasikan proses genetika ini pada sistem buatan.holand menancapkan pondasi dalam karya tulisnya pada teory sistem adaptif yaitu:
  1. Concern efficient adaptive systems(1962)
  2. Information prosessing and prosesing systems(1962)
  3. Outline for a logical theory of adaptive sistems(1962)
Tahun 1962-1965 holand mengajar tentang theory of adaptive sistem dan sering memberikan seminar-seminar tentang ini. Dalam masa itu penyempurnaan GA makin jelas. Selanjutnya dibuatlah rumus standart untuk GA ini.
Istilah-istilah dalam genetic Algorithm

NO
ISTILAH BIOOGI YANG DIGUNAKAN PADA GENETIK ALGORITHM
KETERANGAN
Sebelum memasuki lebih lanjut tentang GA ini maka ada baiknya kita mengenal istilah –istilah dari genetik algorithm ini:
Parameter Genetic Algorithm

Dalam GA ada beberapa parameter yang menjadi acuan yang standar dalam menentukan proses optimasi. Beberapa diantaranya adalah:
  1. Ukuran populasi
  2. Probabilitas CrossOver
  3. Probabilitas Mutasi
Teroma Skema

Tahap1
Teorema skema merupakan dasar teory yang menjelaskan bagaimana Genetic algorithm bekerja. Skema adalah keserupaan pola dalam mendeskripsikan suatu himpunanan bagian dari beberapa string yang mempunyai kesamaan pada posisi tertentu. Sebuah skema dibentuk dengan menambahkan sebuah simbol spesial, yaitu sebuah simbol * (don’t care) dalam representasi biner(0 atau 1).
Contoh: *01 adalah 101 atau 001 yaitu 5 atau 1
Tahap2
Tingkatan dari sebuah skema S(dinotasikan denga o(S)) menunjukkan jumlah dari posisi angka 0 atau 1 yang sudah tetap(Bukan posisi don’t care) yang ada dalam skema. Tingkatan ini menunjukkan spesialisasi dari sebuah skema. Contoh:
S1=(* * * 0 0 1 * 1 1 0)
S2=(* * * * 0 0 * * 0 * )
S3=(1 1 1 0 1 * * 0 0 1)
Dimana
o(S1)= 6
o(S2)= 3
o(S3)= 8
Tahap3
Batasan panjang dari skema S (dinotasikan dengan δ(S)) adalah jarak antara posisi angka 0 atau 1 yang pertama hingga terakhir. Angka ini menunjukkan kerapatan informasi yang ada dalam sebuah skema. Contoh:
δ (S1)= 10-4=6;
δ (S2)= 9-5 =4;
δ (S3)= 10-1=9;

Mekanisme Genetic Algorithm
Mekanisme yang ada dalam Genetic Algoritm adalah sangat sederhana. Yaitu hanya melibatkan penyalinan string dan pertukaran bagian string.
Siklus perkembangbiakan GA diawali dengan pembuatan himpunan solusi secara acak yang dinamakan populasi. Dimana didalamnya terdapat induvidu-induvidu yang dinamakan kromosom. Kromosom ini secara lambat laun mengalami iterasi ’Perkembangbiakan’ dalam sebuah generasi. Selama dalam sebuah generasi kromosom-kromosom ini di evaluasi dengan menggunakan rumus yang telah ditentukan dengan rumus fitness.
Untuk menciptakan generasi berikutnya dengan kromosom yang baru (offspring) dapat dilakukan dengan menggabungkan dua potongan kromosom yang telah didapatkan dengan operator crossover atau mutasi. Sebuah generasi baru sebelum dievaluasi lagi, maka dia melalui proses seleksi berdasarkan fungsi fitnessnya. Dari kreasi ini kromosom-kromosom yang paling fit mempunyai kemungkinan besar untuk diseleksi.
Setelah beberapa generasi maka algoritma ini akan mengalami konvergen pada kromosom terbaik yang merupakan nilai optimum dari permasalahan yang diselesaikan.
PROSES GENETIC ALGORITHM
Langkah pertama dalam pemecahan masalah dengan GA adalah pengkodean terhadap masalah yang akan kita pecahkan. Pada algoritma ini dalam mengasumsikan sebuah solusi untuk sebuah persoalan dimungkinkan dengan diwakili oleh satu set parameter. Parameter ini dinamakan gen. Berisi nilai-nilai yang bersatu membentuk string(Kromosom).
Selanjutnya kromosom yang berkumpul membentuk populasi. Dari sebuah populasi inilah GA memulai untuk pencarian.
Dalam GA fungsi Fitness harus dirancang sesuai dengan masing-masing masalah yang akan diselesaikan. Misalnya saja untuk masalah mencari rute terpendek dari suatu perjalanan, maka fungsi Fitnessnya adalah jarak tempuh. Sedangkan untuk optimasi penjadwalan kuliah fungsi Fitnessnya melibatkan faktor-faktor seperti adanya dua kuliah atau lebih yang akan diajarkan dalam satu kelas, kepadatan dosen mengajar setiap hari, penempatan kuliah dan praktikum tidak semestinya.
Sebagai contoh untuk pengkodean jika kita mempunyai masalah yaitu mencari maximum sebuah fungsi dari 3 variabel(x,y,z) dan akan menampikan masing-masing variabel dengan 6 bit. Dari contoh ini kita melakukan pengkodean dengan membentuk kromosom yang terdiri dari 3 gen yang masing-masing gen terdiri dari 6 bit sehingga sebuah kromosom terdiri dari 18 bit.
Suatu hal yang sangat mendasar dari GA adalah bahwa algoritma ini bekerja pada daerah pengkodean dan daerah solusi. Operasi genetika (CrossOver dan Mutasi) bekerja pada daerah pengkodean, sedang proses evaluasi dan proses seleksi bekerja pada daerah solusi.
Dalam reperesentasi nonBiner, ada dua hal yang perlu diperhatikan untuk pengkodean baik dalam fenotip ataupun genetik. Yaitu:
  1. Feasibilitas dan legalitas dari sebuah kromosom
  2. Pemetaan
Feasibilitas adalah apakah solusi/kromosom berada pada daerah yang feasible dari domain permasalahan InFeasibilitas kromosom menghilangkan kealamian batasan-batasan dalam permasalah optimasi. Legalitas adalah apakah suatu solusi/kromosom dapat menyelesaikan masalah
Untuk beberapa permasalahan kasus metode pinalti telah diajukan untuk mengatasi kasus kromosom yang tidak dimungkinkan. Dalam permasalan kasus optimasi nilai optimum secara typikal akan berada di wilayah antara daerah yang mungkin ataupun yang tidak mungkin. Penerapan metode pinalti akan mengeksploitasi pencarian GA pada nilai optimum di dua daerah tersebut.
Kromosom-kromosom yang tidak legal menghilangkan kealamian dari teknik encoding. Untuk beberapa permasalah kombinational, beberapa cara digunakan untuk menghindari keturunan yang tidak legal karena tidak dapat mewakili suatu solusi, dalam arti kromosom tersebut tidak dapat di evaluasi. Sah satu cara, misalnya PMX operator. Metode ini digunakan untuk mencegah dihasilkannya kromosom yang tidak mungkin dan tidak ilegal.
Pemetaan dari kromosom-kromosom ke solusi memungkinkan satu dari tiga kasus ini terjadi:
  1. Pemetaan dari 1 ke –n
  2. Pemetaan dari 1 ke 1
  3. Pemetaan dari –n ke 1
Pemetaan 1 ke 1 merupakan pemetaan terbaik, karena dari pemetaan ini satu kromosom dapat dipasangkan dengan satu solusi. Pada pemetaan –n ke 1, sejumlah –n kromosom mewakili satu solusi yang sama, sedangkan pemetaan 1 ke –n adalah pemetaan yang tidak diinginkan karena merelasikan satu kromosom dengan banyak solusi, yang menjelaskan banyak solusi sehingga menjadi tidak jelas solusi mana yang sebenarnya yang ditujukan.
OPERASI DALAM GENETIC ALGORITHM
Dengan mekanisme GA seperti di jelaskan pada artikel sebelumnya, setelah dilakukan pendefinisian terhadap kode GA selanjutnya adalah dilakukan operasi-operasi tertentu yang melibatkan 2 faktor utama yaitu:
  1. Operator seleksi yang melibatkan proses seleksi didalamnya.
  2. Operasi genetika yang melibatkan Crossover dan mutasi
Fungsi Evaluasi
Disamping representasi , fungsi evaluasi juga merupakan masalah yang penting dalam dalam GA. Fungsi Evaluasi yang baik harus mampu memberikan nilai fitness yang sesuai dengan kinerja kromosom.
Pada permuaan optimasi, biasanya nilai fitness masing-masing induvidu masih mempunyai rentang yang besar. Seiring dengan bertambahnya generasi, beberapa kromosom mendominasi populasi dan mengakibatkan konvergensi dini.
Problem klasik dalam GA adalah beberapa kromosom dengan nilai fitness yang tinggi(tetapi bukan nilai optimum) mendominasi populasi dan mengakibatkan GA konvergen pada local optima. Ketika populasi konvergen, Kemampuan GA untuk mencari solusi yang baik hilang, Crossover antara kromosom yang hampir identik menghasilkan offspring yang identik. Dalam kondisi ini hanya operasi mutasi yang mampu menghasilkan kromosom yang relatif baru dan merupakan cara untuk menghindari kromosom super untuk mendominasi populasi.
Fungsi Seleksi
Pada proses evaluasi GA, keragaman populasi dan selection Pressure memegang peranan penting. Keduanya berkaitan erat. Meningkatnya tekanan seleksi akan berakibat pada minimnya keragaman populasi, sebaliknya tekanan seleksi yang terlalu longgar akan mengakibatkan banyaknya ragam dari kromosom sehingga pencarian tidak effisien.

Tidak ada komentar:

Posting Komentar