Schemata Theory dan The Building Block Hypothesis

delapan kromosom dengan panjang 5 yang dimulai dengan sebuah nilai 0 dan mempunyai nilai 1 di posisi ketiga. Konsep schemata menjelaskan bahwa meskipun populasi yang dieksekusi oleh algoritma genetika memiliki ukuran yang tidak terlalu besar, namun sebenarnya ada banyak sekali informasi penting yang dapat diperoleh algoritma genetika dari populasi tersebut, dengan cara memperhatikan nilai fitness dan kesamaan-kesamaan yang terdapat diantara kromosom yang ada dalam populasi tersebut. Hal ini dapat dijelaskan sebagai berikut: sebuah kromosom tunggal yang memiliki panjang 5, contohnya 11111, memiliki schemata sebanyah 25 karena pada kromosom tersebut, setiap posisi dapat berupa nilai kromosom itu sendiri yakni 1, atau simbol . Hal ini berarti bahwa, secara umum sebuah kromosom dengan panjang l akan memiliki 2 l schemata, 2 l sampai n.2 l schemata tergantung pada keberagaman populasi tersebut Goldberg, 1989. Namun, dari jumlah tersebut, tidak seluruh schemata dapat diproses dengan probabilitas tinggi oleh algoritma genetika. Hal ini disebabkan schemata yang memiliki jarak yang pendek antara dua bit terluar yang telah didefinisikan pada kromosomnya long defining length schemata relatif lebih mudah rusak dalam proses crossover dibandingkan schemata yang memiliki jarak yang pendek antara dua bit terluar yang telah didifinisikan pada kromosmnya short defining length schemata. Contohnya: schemata 10 yang merupakan long defining length schemata akan lebih mudah rusak oleh proses crossover dibandingkan dengan schemata 11 yang merupakan short defining length schemata. Hal ini dibuktikan oleh Goldberg 1989 melalui persamaan: n s = l – l s + 1 n 3 4 Dimana n s adalah jumlah schemata yang akan diproses, l adalah panjang kromosom, l s adalah jarak antara dua bit terluar yang telah didefinisikan dalam schemata the defining length on schemata, dan n adalah ukuran populasi. Persamaan tersebut menunjukkan bahwa semakin panjang jarak antara dua bit terluar yang telah didefinisikan dalam schemata nilai l s semakin tinggi maka semakin sedikit jumlah schemata yang diproses oleh algoritma genetika. Sedangkan semakin pendek jarak antara dua bit terluar yang telah didefinisikan dalam schemata nilai l s semakin kecil maka semakin banyak pula jumlah schemata yang dapat diproses oleh algoritma genetika. Jarak antara dua bit terluar yang telah didefinisikan dalam schemata juga berpengaruh terhadap peluang kelangsungan hidup schemata pada saat menjalani proses crossover. Bagchi 1999 membuktikan hal ini melalui persamaan: Peluang kelangsungan hidup schema ≥ 1- p c . dH l – 1 dalam proses crossover Dimana dH adalah defining length atau jarak antara dua bit terluar yang telah didefinisikan dalam schemata H, dan l – 1 adalah banyaknya kemungkinan lokasi crossover satu titik dalam kromosom dengan panjang l. Dengan nilai p c yang telah ditentukan, dapat dilihat bahwa peluang kelangsungan hidup schemata akan menjadi lebih tinggi seiring dengan semakin pendeknya jarak antara dua bit terluar yang telah didefinisikan dalam schema. Banyaknya jumlah schemata dalam sebuah populasi menunjukkan banyaknya jumlah informasi yang dapat diperoleh oleh algoritma genetika dari sebuah populasi. Hal ini menunjukkan bahwa algoritma genetika melakukan pencarian nilai optimum dengan cara menyusun schemata- schemata yang memiliki jarak yang pendek antara dua bit terluar yang telah didefinisikan low order schema, serta memiliki nilai fitness tinggi untuk membentuk kromosom-kromosom dengan potensi nilai fitness yang lebih tinggi. Proses ini dilakukan berulang-ulang samapai kriteria penghentian tercapai dan nilai optimal ditentukan. Proses tersebut menggambarkan The Building Block Hypothesis, yaitu hipotesis yang menyatakan bahwa algoritma genetika mencari solusi optimal dengan cara membangun kromosom yang lebih baik dan lebih baik lagi berdasarkan sebagian solusi yang berasal dari proses sebelumnya Goldberg, 1989. Sedangkan Holland 1975 dalam Bagchi 1999 berasumsi bahwa algoritma genetika bekerja berdasarkan penemuan, penegasan, dan pengkombinasian balok-balok bangunan yang baik. Menurut Bagchi 1999, balok bangunan building block yang dimaksud merupakan kombinasi dari nilai bit yang memberikan nilai fitness yang tinggi kepada kromosom yang mengandungnya. Dengan mengekspoitasi kesamaan kode pada schemata yang berhubungan dengan meningkatnya nilai fitness menggunakan operator seleksi, crossover, dan mutasi, maka algoritma genetika dapat melakukan pencarian nilai optimal secara lebih efektif.

5. Perbandingan Algoritma Genetika dengan Teknik Pencarian dan Optimasi

Konvensional. Goldberg 1989 menyebutkan empat perbedaan algoritma genetika dengan teknik pncarian dan optimasi konvensional, yaitu:  Algoritma genetika bekerja pada sekumpulan calon solusi yang telah dikodekan, bukan pada solusi itu sendiri.  Algoritma genetika melakukan pencarian nilai optimal pada sekumpulan calon solusi secara pararel bersifat parallel search atau population-based search  Algoritma genetika secara langsung memanfaatkan fungsi tujuan atau fungsi fitness, bukan fungsi turunan.  Algoritma genetika bekerja dengan menggunakan aturan probabilistik, bukan aturan deterministik.

6. Profil Algoritma Genetika Sebagai Metode Optimasi

Berikut ini adalah penjelasan mengenai profil algoritma genetika sebagai metode optimasi menurut Dhar dan Stein 1997:

a. Tingkat akurasi

Tingkat akurasi algoritma genetika bervariasi mulai dari rendah sampai tinggi. Hal ini dikarenakan algoritma genetika menggunakan teknik heuristik dalam mencari solusi optimal, sehingga algoritma genetika tidak dapat menjamin ditemukannya solusi yang benar-benar optimal. Pada umumnya, solusi optimal yang dihasilkan algoritma genetika seringkali merupakan solusi yang terdekat dengan solusi optimal, bukan solusi yang benar-benar optmal meskipun tidak menutup kemungkinan untuk ditemukannya solusi yang benar-benar optimal sehingga meski tidak sempurna, solusi tersebut dinilai cukup baik untuk mengatasi masalah-masalah dengan ruang lingkup yang luas.

b. Waktu

Tidak seperti kebanyakan teknik matematika lainnya, waktu pencarian solusi yang dilakukan dengan algoritma genetika umunya dapat diprediksi secara akurat. Hal ini dikarenakan algoritma genetik selalu mengikuti tahap-tahap yang sama secara berulang dalam mencari solusi, sehingga waktu yang dibutuhkan untuk mencari solusi hanya bergantung dari jumlah kromosom dalam populasi dan jumlah generasi yang dijalankan. Pada algoritma genetika, evaluasi nilai fungsi fitness menghabiskan waktu lebih lama deibandingkan dengan operasi-operasi lainnya dalam algoritma genetika seperti: crossover, mutation, dan selection. Semakin besar jumlah populasi atau semakin panjang kromosom yang harus dikodekan dan dievaluasi, maka waktu yang dibutuhkan untuk mengeksekusi algoritma genetika akan didominasi oleh banyaknya jumlah pengkodean dan evaluasi nilai fitness, bukan oleh operasi-operasi algoritma genetika lainnya. Oleh sebab itu, ketika waktu yang dibutuhkan untuk mengevaluasi nilai fitness dari sebuah kromosm diketahui, maka waktu pencarian solusi dapat diprediksi berdasarkan waktu untuk mengevaluasi nilai fitness dikalikan dengan jumlah kromosom dalam sebuah generasi dikalikan dengan jumlah generasi.

c. Fleksibilitas

Algoritma genetika memiliki fleksibilitas yang tinggi. Satu-satunya hal yang mengikat algoritma genetika terhadap proses penyelesaian suatu masalah adalah bagaimana cara algoritma genetika mengkodekan dan mengevaluasi nilai fitness suatu masalah. Sehingga ketika pengguna ingin mengubah masalah yang dioptimasi menggunakan algoritma genetika, programer cukup mengubah algoritma genetika dalam mengkodekan decoder dan mengevaluasi kromosom fitness function. Hal ini menyebabkan algoritma genetika dapat denga mudah dimodifikasi untuk menyelesaikan masalah yang berbeda dan mudah beradaptasi terhadap suatu masalah yang kondisinya berubah.

d. Penyesuaian terhadap perubahan skala.

Algoritma genetik dapat dengan mudah beradaptasi terhadap perubahan skala. Contohnya, dengan mengatur panjang kromosom menjadi 30 dibandingkan 20, maka algoritma genetika dapat mengembangkan masalah pemilihan variabel dimana algoritma genetika dapat memeriksa 30 variabel dalam satu waktu. Dengan cara ini, perubahan skala dapat dilakukan dengan baik. Namun demikian, perubahan skala dalam algoritma genetika memiliki kendala. Semakin panjang kromosom, maka akan semakin sulit bagi algoritma genetika dalam mengeksplorasi ruang pencarian. Bertambahnya panjang kromosom menuntut ukuran populasi yang lebih besar seiring dengan banyaknya kombinasi gen yang potensial. Semakin besar ukuran populasi dan semakin panjang kromosom menyebabkan semakin bertambahnya waktu yang diperlukan untuk mengkodekan dan mengevaluasi nilai fitness, sehingga waktu yang dibutuhkan untuk mengeksekusi algoritma genetika menjadi lebih lama. Akibatnya, algoritma genetika akan membutuhkan koputer yang berkecepatan tinggi dengan memori yang cukup besar untuk mengeksekusi masalah tersebut. Bahkan dalam kasus tertentu dibutuhkan sejumlah komputer yang dipararelkan untuk mempercepat algoritma genetika dalam mengeksekusi sejumlah besar perhitungan atau melakukan perhitungan yang berbasis database secara intensif.

e. Kecepatan merespon

Kecepatan merespon algoritma genetik cukup tinggi tergantung kepada kompleksitas masalah. Semakin kompleks masalah, maka semakin panjang kromosom yang dikodekan dan semakin besar pula ukuran populasi. Hal ini menentuka lamanya waktu yang dibutuhkan oleh algoritma genetika dalam mengeksekusi suatu masalah.