SlideShare a Scribd company logo
1 of 18
Download to read offline
Algoritma Genetik
Inspirasi ?
Prinsip Evolusi : Siapa yang kuat dia yang bertahan.
Survival of the fittest
Teori Evolusi
Teori evolusi merupakan sebuah teori yang membahas
mengenai perubahan atau perkembangan makhluk
hidup, asal-usulnya, serta keterkaitan genetiknya antara
satu makhluk hidup dengan yang lainnya.
Definisi
The genetic algorithm is :
❑ A method for solving both constrained and unconstrained
optimization problems that is based on natural selection, the
process that drives biological evolution.
❑ The genetic algorithm repeatedly modifies a population of
individual solutions. At each step, the genetic algorithm
selects individuals at random from the current population to
be parents and uses them to produce the children for the
next generation. Over successive generations, the
population "evolves" toward an optimal solution.
❑ You can apply the genetic algorithm to solve a variety of
optimization problems that are not well suited for standard
optimization algorithms, including problems in which the
objective function is discontinuous, nondifferentiable,
stochastic, or highly nonlinear. The genetic algorithm can
address problems of mixed integer programming, where
some components are restricted to be integer-valued
(https://www.mathworks.com/)
Teori evolusi yang mendasari algoritma genetika,
merupakan sebuah teori yang membahas mengenai
perubahan atau perkembangan makhluk hidup, asal-
usulnya, serta keterkaitan genetiknya antara satu
makhluk hidup dengan yang lainnya. Jenis (Gen)
Individu makhluk hidup yang terakhir saat ini
dianggap yang terbaik disbanding gen generasi
sebelumnya (Survival of the fittest).
Sejarah
Algoritma Genetik pertama kali
dikembangkan oleh John Holland
pada tahun 1970-an di New York,
Amerika Serikat. Dia beserta murid-
murid dan teman kerjanya
menghasilkan buku berjudul
"Adaption in Natural and Artificial
Systems" pada tahun 1975.
Penerapan
Algoritma Genetik dapat
digunakan untuk apa ?
• Optimization − Genetic Algorithms are most commonly used in optimization problems wherein
we have to maximize or minimize a given objective function value under a given set of
constraints. The approach to solve Optimization problems has been highlighted throughout the
tutorial.
• Economics − GAs are also used to characterize various economic models like the cobweb
model, game theory equilibrium resolution, asset pricing, etc.
• Neural Networks − GAs are also used to train neural networks, particularly recurrent neural
networks.
• Parallelization − GAs also have very good parallel capabilities, and prove to be very effective
means in solving certain problems, and also provide a good area for research.
• Image Processing − GAs are used for various digital image processing (DIP) tasks as well like
dense pixel matching.
• Vehicle routing problems − With multiple soft time windows, multiple depots and a
heterogeneous fleet.
• Scheduling applications − GAs are used to solve various scheduling problems as well,
particularly the time tabling problem.
• Machine Learning − as already discussed, genetics based machine learning (GBML) is a niche
area in machine learning.
• Robot Trajectory Generation − GAs have been used to plan the path which a robot arm takes by
moving from one point to another.
• Parametric Design of Aircraft − GAs have been used to design aircrafts by varying the
parameters and evolving better solutions.
• DNA Analysis − GAs have been used to determine the structure of DNA using spectrometric
data about the sample.
• Multimodal Optimization − GAs are obviously very good approaches for multimodal
optimization in which we have to find multiple optimum solutions.
• Traveling salesman problem and its applications − GAs have been used to solve the TSP, which
is a well-known combinatorial problem using novel crossover and packing strategies.
Prinsip
Dasar
Algoritma Genetika memiliki 3 RULE selama
proses menghasilkan generasi lanjutan dari
generasi saat ini :
1. RULE : Selection, memilih individu (parent),
yang lebih berkontribusi untuk digunakan
menghasilkan generasi berikutnya (child).
2. RULE : Crossover : Mengkombinasikan 2
parent dalam rangka menghasilkan individu
generasi berikutnya (child).
3. RULE Mutation : Menggantikan individu yang
hilang dari populasi secara acak akibat proses
selection.
Prinsip Dasar
Inti cara kerja algoritma genetic
adalah :
Solusi ditawarkan pertama sekali,
kemudian diselidiki apakah
memenuhi kriteria kecocokan
dengan yang diinginkan (fitness),
jika belum memenuhi kriteria maka
solusi baru (populasi generasi baru)
digenerate berdasarkan populasi
sebelum dengan proses cross over
atau mutasi.
Jad teknik ini melakukan pencarian dari beberapa solusi yang
diperoleh sampai mendapatkan solusi terbaik sesuai dengan
kriteria yang telah ditentukan atau yang disebut sebagai fungsi
fitness tersebut.
Uraian
Prosedur
• Algoritma genetik yang umum menyaratkan dua hal untuk didefinisikan:
• (1) representasi genetik dari kromosom/individu sesuai permasalahan,
• (2) Sebuah fungsi untuk mengevaluasinya (fitness function).
• Representasi umum adalah sebuah array berbentuk bit-bit. Array lain atau struktur
data lain dapat digunakan dengan cara yang sama. Hal utama yang membuat
representasi genetik ini menjadi tepat adalah bahwa bagian-bagiannya mudah
diatur karena ukurannya yang tetap, yang memudahkan operasi cross over
sederhana. Representasi variable-length juga digunakan, tetapi implementasi cross
over lebih kompleks dalam kasus ini. Representasi lain seperti tree juga dapat
digunakan dalam pemrograman genetik dan representasi bentuk bebas dgunakan
pada HBGA (Human-Based Genetic Algorithm).
• Fungsi fitnes didefinisikan berdasarkan representasi genetik dengan mengukur
kualitas solusi yang dimiliki. Fungsi fitnes selalu tergantung pada masalah. Sebagai
contoh, jika pada ransel kita ingin memaksimalkan jumlah benda (obyek) yang
dapat kita masukkan ke dalamnya pada beberapa kapasitas yang tetap.
Representasi solusi mungkin berbentuk array bit, dimana tiap bit mewakili obyek
yang berbeda, dan nilai bit (0 atau 1) menggambarkan apakah obyek tersebut ada
di dalam ransel atau tidak. Tidak setiap representasi seperti ini valid, karena ukuran
obyek dapat melebihi kapasitas ransel. Krireria fitness dalam hal ini adalah jumlah
semua obyek di dalam ransel jika representasi itu valid, atau jika tidak 0. Dalam
beberapa masalah, kadang sulit atau bahkan tidak mungkin untuk mendefinisikan
fungsi fitnes, maka pada kasus ini digunakan IGA (Interactive Genetic Algorithm).
• Setelah mendefinisikan representasi genetik dan fungsi fitness, algoritma genetik
akan memproses inisialisasi populasi penyelesaian secara acak, dan
memperbaikinya secara looping (pengulangan) dengan operator-operator mutasi,
cross over, dan seleksi.
Contoh reprentasi gen untuk sebuah kasus
Page 9
Paling umum memang menggunakan representasi biner seperti di atas, tetapi tergantung kasusnya
Algoritma
Secara sederhana, algoritma umum dari algoritma
genetik ini dapat dirumuskan menjadi beberapa
langkah, yaitu:
1. Menyiapkan individu awal (Initial population)
2. Seleksi, memilih individu dan melakukan cross
over (kawinkan) individu-individu yang terbaik
berdasarkan fungsi fitness
3. Mengeliminasi individu yang kurang cocok
berdasarkan nilai dari fungsi fitness
4. Mutasi (random, optional kadang tidak
digunakan)
5. Kembali ke nomor 2 (looping sampai batas yang
ditentukan)
Note: Tahapan pada urutan ke-2, ke-3, dan ke-4 boleh
saja ditukar.
Flowchart
Variasi lain
Mana yang lebih dahulu :
Seleksi, cross over dan Mutasi ?
Proses utama dalam menghasilkan generasi terbaik adalah
memilih (selection) individu terbaik dan
mengkombinasikannya (cross over) untuk memperoleh
individu yang lebih baik lagi. Mutasi hanya untuk membantu
fungsi fitness jika hasilnya tidak mengarah pada solusi terbaik
➢Kromosom/Individu : Sebuah individu direpresentasikan dengan himpunan gen; Sebuah individu
merupakan sebuah titik yang direpresentasikan dalam bentuk matriks posisi: Individu ‘P’ = (3)
yang merupakan titik di sumbu x. Himpunan semua individu dalam sistem disebut populasi.
➢Fungsi kecocokan (fitness function), lewat fungsi inilah suatu individu diukur kecocokannya.
Fungsi kecocokan ini tidak mesti menggunakan persamaan matematikanya, yang penting bisa
memetakan input dan output. Kita bisa ambil contoh: f=x² + 6x +9 sebagai fungsi kecocokan, dan
menemukan seberapa ‘cocok’ individu ‘P’.
➢Fungsi cross over (mate, combination). Lewat fungsi ini kita bisa mendapatkan individu lain
dengan ‘mengawinkan’ beberapa individu yang berbeda. Misalkan kita punya fungsi mate Child =
(Parent1+Parent2)/2, dan parent berupa individu P(3) dan Q(5), sehingga kita mendapatkan
individu baru Child = (3+5)/2 = 4.
– Eliminasi, aturan ini mengatur syarat-syarat tentang pelenyapan individu yang dinilai paling tidak cocok.
Misalkan kita membuat aturan eliminasi seperti ini: “Setiap generasi hanya boleh memiliki 2 individu, maka
jika terdapat lebih dari 2 individu, hanya 2 individu yang paling cocok saja yang boleh ada”.
– Cross over atau Mate, aturan ini mengatur bagaimana ‘perkawinan’ antar individu dalam populasi. Misal:
“Hanya 2 individu yang nilai fitness terbaik saja yang boleh mate”.
– Mutasi. Mutasi merupakan fenomena dimana individu mengalami perubahan gen yang entah dari mana
asalnya (bukan warisan orangtuanya). Pada algoritma, pemrogram bisa mengatur: kapan mutasi ini terjadi
(pada generasi keberapa), pada individu apa, dan bagaimana. Biasanya dibuat benar-benar random.
Beberapa Terminologi
Page 11
• Misal diketahui fungsi kuadrat f = x² + 6x +9
• Ditanyakan berapa nilai x agar nilai f merupakan nilai paling rendah (mencari titik minimum)
• Problem untuk kasus di atas bisa dipecahkan dengan perhitungan matematika biasa atau kalkulus difrensial.
• Misal df=2x +6, jika fungsi df=0 merupakan fungsi minimum maka nilai x minimum adalah 0 = 2x + 6, dan x = -3
• Selanjutnya sebagai pembanding dari perhitungan matematika konvensional, maka kita akan coba memecahkan
masalah di atas dengan menerapkan algoritma genetika.
Contoh Kasus Penerapan :
Mencari titik minimum fungsi kuadrat
Page 12
f = x² + 6x +9
f
x
• Penyelesaian untuk kasus ini bisa dipecahkan dengan
perhitungan matematika biasa atau kalkulus difrensial.
• Misal df=2x +6, jika fungsi df=0 merupakan fungsi minimum
maka nilai x minimum adalah 0 = 2x + 6, maka x = -3
• Kasus ini juga dapat dipecahkan menggunakan algoritma
genetika.
• Sebagai pembanding dari perhitungan matematika
konvensional, maka kita akan coba memecahkan masalah di
atas dengan menerapkan algoritma genetika.
Penyelesaian secara Algoritma Genetika
1. Individu : Pada kasus ini, individu direpresentasikan dengan angka yang menunjukkan posisinya pada
sumbu x. Apabila terdapat 2 individu, maka populasinya bisa direpresentasikan dengan array populasi =
[X1, X2]. X1 dan X2 disebut sebagai individu atau kromosom.
2. Fungsi kecocokan (fitness function) : Karena akan dicari individu yang mampu menghasilkan keluaran
fungsi f terendah, dengan demikian kita akan menggunakan fungsi f sebagai fungsi kecocokan, dimana
semakin rendah nilainya, maka dianggap akan semakin cocok (fitness). Pada kasus lain maka fungsi fitness
ini sesuai dengan domain permasalahannya.
3. Fungsi mate atau Cross Over : Pada kasus ini cukup dirata-ratakan saja, jika ada dua individu I₁ dan I₂ yang
disebut parent, maka anak (child) hasil hubungan mereka berdua (I₃) sama dengan (I₁+I₂)/2 atau (I₃ = (I₁ +
I₂) / 2)
4. Aturan-aturan lain yang ditentukan pada kasus ini :
a. Eliminasi dengan Selection- sort: Hanya boleh ada dua individu pada tiap iterasi/generasi. Hanya 2
individu yang memiliki nilai fungsi kecocokan terendah saja yang boleh lanjut ke iterasi selanjutnya.
b. Cross over atau Mate : Berhubung hanya ada dua individu yang boleh hidup tiap iterasi, maka pada
individu yang bisa dikawinkan adalah 2 individu yang ada dari iterasi sebelumnya (alias semua
populasi).
c. Mutasi : fenomena dimana individu (child) mengalami perubahan yang bukan dari pengaruh parent
nya. Pada beberapa kasus tahap ini bisa tidak digunakan.
Percobaan Dalam Python
Page 14
Interasi ke - 0 - Populasi Inisial
================
populasi: [-19 2]
Nilai f : [256 25]
Interasi ke - 1
================
populasi: [ 2. -8.5]
Nilai f : [25. 30.25]
Interasi ke - 2
================
populasi: [-3.25 2. ]
Nilai f : [ 0.0625 25. ]
Interasi ke - 3
================
populasi: [-3.25 -0.625]
Nilai f : [0.0625 5.640625]
Interasi ke - 4
================
populasi: [-3.25 -1.9375]
Nilai f : [0.0625 1.12890625]
Interasi ke - 5
================
populasi: [-3.25 -2.59375]
Nilai f : [0.0625 0.16503906]
Interasi ke - 11
================
populasi: [-3.00390625 -2.99365234]
Nilai f : [1.52587891e-05 4.02927399e-05]
Interasi ke - 12
================
populasi: [-2.9987793 -3.00390625]
Nilai f : [1.49011612e-06 1.52587891e-05]
Interasi ke - 13
================
populasi: [-2.9987793 -3.00134277]
Nilai f : [1.49011612e-06 1.80304050e-06]
Interasi ke - 14
================
populasi: [-3.00006104 -2.9987793 ]
Nilai f : [3.72529030e-09 1.49011612e-06]
Interasi ke - 15
================
populasi: [-3.00006104 -2.99942017]
Nilai f : [3.72529030e-09 3.36207449e-07]
Interasi ke - 6
================
populasi: [-2.921875 -3.25 ]
Nilai f : [0.00610352 0.0625 ]
Interasi ke - 7
================
populasi: [-2.921875 -3.0859375]
Nilai f : [0.00610352 0.00738525]
Interasi ke - 8
================
populasi: [-3.00390625 -2.921875 ]
Nilai f : [1.52587891e-05 6.10351562e-03]
Interasi ke - 9
================
populasi: [-3.00390625 -2.96289062]
Nilai f : [1.52587891e-05 1.37710571e-03]
Interasi ke - 10
================
populasi: [-3.00390625 -2.98339844]
Nilai f : [1.52587891e-05 2.75611877e-04]
Interasi ke - 16
================
populasi: [-3.00006104 -2.9997406 ]
Nilai f : [3.7252903e-09 6.7288056e-08]
Interasi ke - 17
================
populasi: [-3.00006104 -2.99990082]
Nilai f : [3.72529030e-09 9.83709469e-09]
Interasi ke - 18
================
populasi: [-2.99998093 -3.00006104]
Nilai f : [3.63797881e-10 3.72529030e-09]
Interasi ke - 19
================
populasi: [-2.99998093 -3.00002098]
Nilai f : [3.63797881e-10 4.40195436e-10]
Interasi ke - 20
================
populasi: [-3.00000095 -2.99998093]
Nilai f : [9.09494702e-13 3.63797881e-10]
Nilai minimum dalam Grafik
Page 15
Penjelasan Setiap Tahap Algoritma
Page 16
Generasi ke - 0 - Populasi Inisial ditentukan secara manual
================
Populasi Awal : [-19 2]
Perhitungan fitness ( x^2 + 6*x ) : [256 25]
Hasil Cross Over (rata-rata) dan Penambahan Individu ke Populasi : [-19. 2. -8.5]
Nilai fitness setiap individu: [256. 25. 30.25]
Urutan nilai fitness terbaik: [ 25. 30.25 256. ]
Urutan Populasi dengan nilai fitness terbaik : [ 2. -8.5 -19. ]
generasi ke - 1
================
Seleksi Populasi dengan 2 individu terbaik dari Generasi sebelumnya : [ 2. -8.5]
Nilai fitnes dari rumus x^2 + 6*x : [25. 30.25]
Hasil Cross Over (rata-rata) dan Penambahan Individu ke Populasi : [ 2. -8.5 -3.25]
Nilai fitness setiap individu: [25. 30.25 0.0625]
Urutan nilai fitness terbaik: [ 0.0625 25. 30.25 ]
Urutan Populasi dengan nilai fitness terbaik : [-3.25 2. -8.5 ]
generasi ke - 2
================
Seleksi Populasi dengan 2 individu terbaik dari Generasi sebelumnya : [-3.25 2. ]
Nilai fitnes dari rumus x^2 + 6*x : [ 0.0625 25. ]
Hasil Cross Over (rata-rata) dan Penambahan Individu ke Populasi : [-3.25 2. -0.625]
Nilai fitness setiap individu: [ 0.0625 25. 5.640625]
Urutan nilai fitness terbaik: [ 0.0625 5.640625 25. ]
Urutan Populasi dengan nilai fitness terbaik : [-3.25 -0.625 2. ]
generasi ke - 3
================
Seleksi Populasi dengan 2 individu terbaik dari Generasi sebelumnya : [-3.25 -0.625]
Nilai fitnes dari rumus x^2 + 6*x : [0.0625 5.640625]
Hasil Cross Over (rata-rata) dan Penambahan Individu ke Populasi : [-3.25 -0.625 -1.9375]
Nilai fitness setiap individu: [0.0625 5.640625 1.12890625]
Urutan nilai fitness terbaik: [0.0625 1.12890625 5.640625 ]
Urutan Populasi dengan nilai fitness terbaik : [-3.25 -1.9375 -0.625 ]
generasi ke - 4
================
Seleksi Populasi dengan 2 individu terbaik dari Generasi sebelumnya : [-3.25 -1.9375]
Nilai fitnes dari rumus x^2 + 6*x : [0.0625 1.12890625]
Hasil Cross Over (rata-rata) dan Penambahan Individu ke Populasi : [-3.25 -1.9375 -2.59375]
Nilai fitness setiap individu: [0.0625 1.12890625 0.16503906]
Urutan nilai fitness terbaik: [0.0625 0.16503906 1.12890625]
Urutan Populasi dengan nilai fitness terbaik : [-3.25 -2.59375 -1.9375 ]
generasi ke - 5
================
Seleksi Populasi dengan 2 individu terbaik dari Generasi sebelumnya : [-3.25 -2.59375]
Nilai fitnes dari rumus x^2 + 6*x : [0.0625 0.16503906]
Hasil Cross Over (rata-rata) dan Penambahan Individu ke Populasi : [-3.25 -2.59375 -2.921875]
Nilai fitness setiap individu: [0.0625 0.16503906 0.00610352]
Urutan nilai fitness terbaik: [0.00610352 0.0625 0.16503906]
Urutan Populasi dengan nilai fitness terbaik : [-2.921875 -3.25 -2.59375 ]
generasi ke - 6
================
Seleksi Populasi dengan 2 individu terbaik dari Generasi sebelumnya : [-2.921875 -3.25 ]
Nilai fitnes dari rumus x^2 + 6*x : [0.00610352 0.0625 ]
Hasil Cross Over (rata-rata) dan Penambahan Individu ke Populasi : [-2.921875 -3.25 -3.0859375]
Nilai fitness setiap individu: [0.00610352 0.0625 0.00738525]
Urutan nilai fitness terbaik: [0.00610352 0.00738525 0.0625 ]
Urutan Populasi dengan nilai fitness terbaik : [-2.921875 -3.0859375 -3.25 ]
generasi ke - 7
================
Seleksi Populasi dengan 2 individu terbaik dari Generasi sebelumnya : [-2.921875 -3.0859375]
Nilai fitnes dari rumus x^2 + 6*x : [0.00610352 0.00738525]
Hasil Cross Over (rata-rata) dan Penambahan Individu ke Populasi : [-2.921875 -3.0859375 -3.00390625]
Nilai fitness setiap individu: [6.10351562e-03 7.38525391e-03 1.52587891e-05]
Urutan nilai fitness terbaik: [1.52587891e-05 6.10351562e-03 7.38525391e-03]
Urutan Populasi dengan nilai fitness terbaik : [-3.00390625 -2.921875 -3.0859375 ]
Page 17
generasi ke - 8
================
Seleksi Populasi dengan 2 individu terbaik dari Generasi sebelumnya : [-3.00390625 -2.921875 ]
Nilai fitnes dari rumus x^2 + 6*x : [1.52587891e-05 6.10351562e-03]
Hasil Cross Over (rata-rata) dan Penambahan Individu ke Populasi : [-3.00390625 -2.921875 -2.96289062]
Nilai fitness setiap individu: [1.52587891e-05 6.10351562e-03 1.37710571e-03]
Urutan nilai fitness terbaik: [1.52587891e-05 1.37710571e-03 6.10351562e-03]
Urutan Populasi dengan nilai fitness terbaik : [-3.00390625 -2.96289062 -2.921875 ]
generasi ke - 9
================
Seleksi Populasi dengan 2 individu terbaik dari Generasi sebelumnya : [-3.00390625 -2.96289062]
Nilai fitnes dari rumus x^2 + 6*x : [1.52587891e-05 1.37710571e-03]
Hasil Cross Over (rata-rata) dan Penambahan Individu ke Populasi : [-3.00390625 -2.96289062 -2.98339844]
Nilai fitness setiap individu: [1.52587891e-05 1.37710571e-03 2.75611877e-04]
Urutan nilai fitness terbaik: [1.52587891e-05 2.75611877e-04 1.37710571e-03]
Urutan Populasi dengan nilai fitness terbaik : [-3.00390625 -2.98339844 -2.96289062]
generasi ke - 10
================
Seleksi Populasi dengan 2 individu terbaik dari Generasi sebelumnya : [-3.00390625 -2.98339844]
Nilai fitnes dari rumus x^2 + 6*x : [1.52587891e-05 2.75611877e-04]
Hasil Cross Over (rata-rata) dan Penambahan Individu ke Populasi : [-3.00390625 -2.98339844 -2.99365234]
Nilai fitness setiap individu: [1.52587891e-05 2.75611877e-04 4.02927399e-05]
Urutan nilai fitness terbaik: [1.52587891e-05 4.02927399e-05 2.75611877e-04]
Urutan Populasi dengan nilai fitness terbaik : [-3.00390625 -2.99365234 -2.98339844]
generasi ke - 11
================
Seleksi Populasi dengan 2 individu terbaik dari Generasi sebelumnya : [-3.00390625 -2.99365234]
Nilai fitnes dari rumus x^2 + 6*x : [1.52587891e-05 4.02927399e-05]
Hasil Cross Over (rata-rata) dan Penambahan Individu ke Populasi : [-3.00390625 -2.99365234 -2.9987793 ]
Nilai fitness setiap individu: [1.52587891e-05 4.02927399e-05 1.49011612e-06]
Urutan nilai fitness terbaik: [1.49011612e-06 1.52587891e-05 4.02927399e-05]
Urutan Populasi dengan nilai fitness terbaik : [-2.9987793 -3.00390625 -2.99365234]
generasi ke - 12
================
Seleksi Populasi dengan 2 individu terbaik dari Generasi sebelumnya : [-2.9987793 -3.00390625]
Nilai fitnes dari rumus x^2 + 6*x : [1.49011612e-06 1.52587891e-05]
Hasil Cross Over (rata-rata) dan Penambahan Individu ke Populasi : [-2.9987793 -3.00390625 -3.00134277]
Nilai fitness setiap individu: [1.49011612e-06 1.52587891e-05 1.80304050e-06]
Urutan nilai fitness terbaik: [1.49011612e-06 1.80304050e-06 1.52587891e-05]
Urutan Populasi dengan nilai fitness terbaik : [-2.9987793 -3.00134277 -3.00390625]
generasi ke - 13
================
Seleksi Populasi dengan 2 individu terbaik dari Generasi sebelumnya : [-2.9987793 -3.00134277]
Nilai fitnes dari rumus x^2 + 6*x : [1.49011612e-06 1.80304050e-06]
Hasil Cross Over (rata-rata) dan Penambahan Individu ke Populasi : [-2.9987793 -3.00134277 -3.00006104]
Nilai fitness setiap individu: [1.49011612e-06 1.80304050e-06 3.72529030e-09]
Urutan nilai fitness terbaik: [3.72529030e-09 1.49011612e-06 1.80304050e-06]
Urutan Populasi dengan nilai fitness terbaik : [-3.00006104 -2.9987793 -3.00134277]
generasi ke - 14
================
Seleksi Populasi dengan 2 individu terbaik dari Generasi sebelumnya : [-3.00006104 -2.9987793 ]
Nilai fitnes dari rumus x^2 + 6*x : [3.72529030e-09 1.49011612e-06]
Hasil Cross Over (rata-rata) dan Penambahan Individu ke Populasi : [-3.00006104 -2.9987793 -2.99942017]
Nilai fitness setiap individu: [3.72529030e-09 1.49011612e-06 3.36207449e-07]
Urutan nilai fitness terbaik: [3.72529030e-09 3.36207449e-07 1.49011612e-06]
Urutan Populasi dengan nilai fitness terbaik : [-3.00006104 -2.99942017 -2.9987793 ]
generasi ke - 15
================
Seleksi Populasi dengan 2 individu terbaik dari Generasi sebelumnya : [-3.00006104 -2.99942017]
Nilai fitnes dari rumus x^2 + 6*x : [3.72529030e-09 3.36207449e-07]
Hasil Cross Over (rata-rata) dan Penambahan Individu ke Populasi : [-3.00006104 -2.99942017 -2.9997406 ]
Nilai fitness setiap individu: [3.72529030e-09 3.36207449e-07 6.72880560e-08]
Urutan nilai fitness terbaik: [3.72529030e-09 6.72880560e-08 3.36207449e-07]
Urutan Populasi dengan nilai fitness terbaik : [-3.00006104 -2.9997406 -2.99942017]
Page 18
generasi ke - 16
================
Seleksi Populasi dengan 2 individu terbaik dari Generasi sebelumnya : [-3.00006104 -2.9997406 ]
Nilai fitnes dari rumus x^2 + 6*x : [3.7252903e-09 6.7288056e-08]
Hasil Cross Over (rata-rata) dan Penambahan Individu ke Populasi : [-3.00006104 -2.9997406 -2.99990082]
Nilai fitness setiap individu: [3.72529030e-09 6.72880560e-08 9.83709469e-09]
Urutan nilai fitness terbaik: [3.72529030e-09 9.83709469e-09 6.72880560e-08]
Urutan Populasi dengan nilai fitness terbaik : [-3.00006104 -2.99990082 -2.9997406 ]
generasi ke - 17
================
Seleksi Populasi dengan 2 individu terbaik dari Generasi sebelumnya : [-3.00006104 -2.99990082]
Nilai fitnes dari rumus x^2 + 6*x : [3.72529030e-09 9.83709469e-09]
Hasil Cross Over (rata-rata) dan Penambahan Individu ke Populasi : [-3.00006104 -2.99990082 -2.99998093]
Nilai fitness setiap individu: [3.72529030e-09 9.83709469e-09 3.63797881e-10]
Urutan nilai fitness terbaik: [3.63797881e-10 3.72529030e-09 9.83709469e-09]
Urutan Populasi dengan nilai fitness terbaik : [-2.99998093 -3.00006104 -2.99990082]
generasi ke - 18
================
Seleksi Populasi dengan 2 individu terbaik dari Generasi sebelumnya : [-2.99998093 -3.00006104]
Nilai fitnes dari rumus x^2 + 6*x : [3.63797881e-10 3.72529030e-09]
Hasil Cross Over (rata-rata) dan Penambahan Individu ke Populasi : [-2.99998093 -3.00006104 -3.00002098]
Nilai fitness setiap individu: [3.63797881e-10 3.72529030e-09 4.40195436e-10]
Urutan nilai fitness terbaik: [3.63797881e-10 4.40195436e-10 3.72529030e-09]
Urutan Populasi dengan nilai fitness terbaik : [-2.99998093 -3.00002098 -3.00006104]
generasi ke - 19
================
Seleksi Populasi dengan 2 individu terbaik dari Generasi sebelumnya : [-2.99998093 -3.00002098]
Nilai fitnes dari rumus x^2 + 6*x : [3.63797881e-10 4.40195436e-10]
Hasil Cross Over (rata-rata) dan Penambahan Individu ke Populasi : [-2.99998093 -3.00002098 -3.00000095]
Nilai fitness setiap individu: [3.63797881e-10 4.40195436e-10 9.09494702e-13]
Urutan nilai fitness terbaik: [9.09494702e-13 3.63797881e-10 4.40195436e-10]
Urutan Populasi dengan nilai fitness terbaik : [-3.00000095 -2.99998093 -3.00002098]
generasi ke - 20
================
Seleksi Populasi dengan 2 individu terbaik dari Generasi sebelumnya : [-3.00000095 -2.99998093]
Nilai fitnes dari rumus x^2 + 6*x : [9.09494702e-13 3.63797881e-10]
Solusi ditemukan pada generasi ke 20.
Individu yang menjadi solusi pada populasi
tersebut adalah -3.00 dan kedua adalah -
2.999.
Solusi, x=3
Sama dengan perhitungan matematika biasa

More Related Content

Similar to Pertemuan 13 Algoritma Genetik.pdf

Bab 11 (18 slide)
Bab 11 (18 slide)Bab 11 (18 slide)
Bab 11 (18 slide)
gilangbewok
 
Pemodelan sistem pewarisan gen manusia berdasarkan hukum
Pemodelan sistem pewarisan gen manusia berdasarkan hukumPemodelan sistem pewarisan gen manusia berdasarkan hukum
Pemodelan sistem pewarisan gen manusia berdasarkan hukum
salwa mahsum
 
Simulasi Digital.pptx
Simulasi Digital.pptxSimulasi Digital.pptx
Simulasi Digital.pptx
MuhammadHamdaniHamid
 

Similar to Pertemuan 13 Algoritma Genetik.pdf (20)

Bab 11 (18 slide)
Bab 11 (18 slide)Bab 11 (18 slide)
Bab 11 (18 slide)
 
Bab 11
Bab 11Bab 11
Bab 11
 
Bab 11 (18 slide)
Bab 11 (18 slide)Bab 11 (18 slide)
Bab 11 (18 slide)
 
Bab 11
Bab 11Bab 11
Bab 11
 
Bab 11
Bab 11Bab 11
Bab 11
 
Bab 11
Bab 11Bab 11
Bab 11
 
Bab 11
Bab 11Bab 11
Bab 11
 
Bab 11
Bab 11Bab 11
Bab 11
 
Bab 11
Bab 11Bab 11
Bab 11
 
Fuzzymulticriteriadecisionmaking
FuzzymulticriteriadecisionmakingFuzzymulticriteriadecisionmaking
Fuzzymulticriteriadecisionmaking
 
Pemodelan sistem pewarisan gen manusia berdasarkan hukum
Pemodelan sistem pewarisan gen manusia berdasarkan hukumPemodelan sistem pewarisan gen manusia berdasarkan hukum
Pemodelan sistem pewarisan gen manusia berdasarkan hukum
 
Algoritma Genetika
Algoritma GenetikaAlgoritma Genetika
Algoritma Genetika
 
Tugas1
Tugas1Tugas1
Tugas1
 
algoritma_greedy.ppt
algoritma_greedy.pptalgoritma_greedy.ppt
algoritma_greedy.ppt
 
Machine Learning Diskusi 13.pdf
Machine Learning Diskusi 13.pdfMachine Learning Diskusi 13.pdf
Machine Learning Diskusi 13.pdf
 
Problem Solving
Problem SolvingProblem Solving
Problem Solving
 
Simulasi Digital.pptx
Simulasi Digital.pptxSimulasi Digital.pptx
Simulasi Digital.pptx
 
Memetica Algorithm
Memetica AlgorithmMemetica Algorithm
Memetica Algorithm
 
BERPIKIR KOMPUTESIONAL 3.ppt
BERPIKIR KOMPUTESIONAL 3.pptBERPIKIR KOMPUTESIONAL 3.ppt
BERPIKIR KOMPUTESIONAL 3.ppt
 
Pengantar Sistem Cerdas.pptx
Pengantar Sistem Cerdas.pptxPengantar Sistem Cerdas.pptx
Pengantar Sistem Cerdas.pptx
 

Recently uploaded

Jual Obat Aborsi Tasikmalaya ( Asli Ampuh No.1 ) 082223109953 Tempat Klinik J...
Jual Obat Aborsi Tasikmalaya ( Asli Ampuh No.1 ) 082223109953 Tempat Klinik J...Jual Obat Aborsi Tasikmalaya ( Asli Ampuh No.1 ) 082223109953 Tempat Klinik J...
Jual Obat Aborsi Tasikmalaya ( Asli Ampuh No.1 ) 082223109953 Tempat Klinik J...
Jual Obat Aborsi Tasikmalaya ( Asli Ampuh No.1 ) 082223109953
 
Jual Obat Aborsi Samarinda ( Asli Ampuh No.1 ) 082223109953 Tempat Klinik Jua...
Jual Obat Aborsi Samarinda ( Asli Ampuh No.1 ) 082223109953 Tempat Klinik Jua...Jual Obat Aborsi Samarinda ( Asli Ampuh No.1 ) 082223109953 Tempat Klinik Jua...
Jual Obat Aborsi Samarinda ( Asli Ampuh No.1 ) 082223109953 Tempat Klinik Jua...
Jual Obat Aborsi Samarinda ( Asli Ampuh No.1 ) 082223109953
 
Jual Cytotec Di Majalengka Ori👗082322223014👗Pusat Peluntur Kandungan Konsultasi
Jual Cytotec Di Majalengka Ori👗082322223014👗Pusat Peluntur Kandungan KonsultasiJual Cytotec Di Majalengka Ori👗082322223014👗Pusat Peluntur Kandungan Konsultasi
Jual Cytotec Di Majalengka Ori👗082322223014👗Pusat Peluntur Kandungan Konsultasi
ssupi412
 
Telaah Kurikulum dan Buku Teks Mata Pelajaran Bahasa Indonesia Sekolah Dasar ...
Telaah Kurikulum dan Buku Teks Mata Pelajaran Bahasa Indonesia Sekolah Dasar ...Telaah Kurikulum dan Buku Teks Mata Pelajaran Bahasa Indonesia Sekolah Dasar ...
Telaah Kurikulum dan Buku Teks Mata Pelajaran Bahasa Indonesia Sekolah Dasar ...
buktifisikskp23
 
KELOMPOK 6- DINAMIKA DAN TANTANGAN PANCASILA SEBAGAI IDEOLOGI.pdf
KELOMPOK 6- DINAMIKA DAN TANTANGAN PANCASILA SEBAGAI IDEOLOGI.pdfKELOMPOK 6- DINAMIKA DAN TANTANGAN PANCASILA SEBAGAI IDEOLOGI.pdf
KELOMPOK 6- DINAMIKA DAN TANTANGAN PANCASILA SEBAGAI IDEOLOGI.pdf
InnesKana26
 
Aksi Nyata Mencegah Kekerasan Seksual.pptx
Aksi Nyata Mencegah Kekerasan Seksual.pptxAksi Nyata Mencegah Kekerasan Seksual.pptx
Aksi Nyata Mencegah Kekerasan Seksual.pptx
meirahayu651
 
Jual Cytotec Di Sinjai Ori 👙082122229359👙Pusat Peluntur Kandungan Konsultasi
Jual Cytotec Di Sinjai Ori 👙082122229359👙Pusat Peluntur Kandungan KonsultasiJual Cytotec Di Sinjai Ori 👙082122229359👙Pusat Peluntur Kandungan Konsultasi
Jual Cytotec Di Sinjai Ori 👙082122229359👙Pusat Peluntur Kandungan Konsultasi
ssupi412
 
Jual Pil Penggugur Kandungan 085225524732 Obat Aborsi Cytotec Asli
Jual Pil Penggugur Kandungan 085225524732 Obat Aborsi Cytotec AsliJual Pil Penggugur Kandungan 085225524732 Obat Aborsi Cytotec Asli
Jual Pil Penggugur Kandungan 085225524732 Obat Aborsi Cytotec Asli
Jual Cytotec Asli 085225524732 Obat Penggugur Kandungan
 

Recently uploaded (20)

contoh judul tesis untuk mahasiswa pascasarjana
contoh judul tesis untuk mahasiswa pascasarjanacontoh judul tesis untuk mahasiswa pascasarjana
contoh judul tesis untuk mahasiswa pascasarjana
 
Jual Obat Aborsi Tasikmalaya ( Asli Ampuh No.1 ) 082223109953 Tempat Klinik J...
Jual Obat Aborsi Tasikmalaya ( Asli Ampuh No.1 ) 082223109953 Tempat Klinik J...Jual Obat Aborsi Tasikmalaya ( Asli Ampuh No.1 ) 082223109953 Tempat Klinik J...
Jual Obat Aborsi Tasikmalaya ( Asli Ampuh No.1 ) 082223109953 Tempat Klinik J...
 
materi konsep dan Model TRIASE Bencana.pptx
materi konsep dan Model TRIASE Bencana.pptxmateri konsep dan Model TRIASE Bencana.pptx
materi konsep dan Model TRIASE Bencana.pptx
 
Jual Obat Aborsi Samarinda ( Asli Ampuh No.1 ) 082223109953 Tempat Klinik Jua...
Jual Obat Aborsi Samarinda ( Asli Ampuh No.1 ) 082223109953 Tempat Klinik Jua...Jual Obat Aborsi Samarinda ( Asli Ampuh No.1 ) 082223109953 Tempat Klinik Jua...
Jual Obat Aborsi Samarinda ( Asli Ampuh No.1 ) 082223109953 Tempat Klinik Jua...
 
Jual Cytotec Di Majalengka Ori👗082322223014👗Pusat Peluntur Kandungan Konsultasi
Jual Cytotec Di Majalengka Ori👗082322223014👗Pusat Peluntur Kandungan KonsultasiJual Cytotec Di Majalengka Ori👗082322223014👗Pusat Peluntur Kandungan Konsultasi
Jual Cytotec Di Majalengka Ori👗082322223014👗Pusat Peluntur Kandungan Konsultasi
 
Telaah Kurikulum dan Buku Teks Mata Pelajaran Bahasa Indonesia Sekolah Dasar ...
Telaah Kurikulum dan Buku Teks Mata Pelajaran Bahasa Indonesia Sekolah Dasar ...Telaah Kurikulum dan Buku Teks Mata Pelajaran Bahasa Indonesia Sekolah Dasar ...
Telaah Kurikulum dan Buku Teks Mata Pelajaran Bahasa Indonesia Sekolah Dasar ...
 
Katalog-Kurikulum-Non-Pendas-UT-2023-2024_SC-23-MEI-2023-revisi-171023_compre...
Katalog-Kurikulum-Non-Pendas-UT-2023-2024_SC-23-MEI-2023-revisi-171023_compre...Katalog-Kurikulum-Non-Pendas-UT-2023-2024_SC-23-MEI-2023-revisi-171023_compre...
Katalog-Kurikulum-Non-Pendas-UT-2023-2024_SC-23-MEI-2023-revisi-171023_compre...
 
KELOMPOK 6- DINAMIKA DAN TANTANGAN PANCASILA SEBAGAI IDEOLOGI.pdf
KELOMPOK 6- DINAMIKA DAN TANTANGAN PANCASILA SEBAGAI IDEOLOGI.pdfKELOMPOK 6- DINAMIKA DAN TANTANGAN PANCASILA SEBAGAI IDEOLOGI.pdf
KELOMPOK 6- DINAMIKA DAN TANTANGAN PANCASILA SEBAGAI IDEOLOGI.pdf
 
Digital Onboarding (Bisnis Digital) Fase F
Digital Onboarding (Bisnis Digital) Fase FDigital Onboarding (Bisnis Digital) Fase F
Digital Onboarding (Bisnis Digital) Fase F
 
Aksi Nyata Mencegah Kekerasan Seksual.pptx
Aksi Nyata Mencegah Kekerasan Seksual.pptxAksi Nyata Mencegah Kekerasan Seksual.pptx
Aksi Nyata Mencegah Kekerasan Seksual.pptx
 
384986085-Bahaya-Narkoba-Bagi-Kesehatan-Jiwa-Remaja.ppt
384986085-Bahaya-Narkoba-Bagi-Kesehatan-Jiwa-Remaja.ppt384986085-Bahaya-Narkoba-Bagi-Kesehatan-Jiwa-Remaja.ppt
384986085-Bahaya-Narkoba-Bagi-Kesehatan-Jiwa-Remaja.ppt
 
Menganalisis T Test dengan menggunakan SPSS
Menganalisis T Test dengan menggunakan SPSSMenganalisis T Test dengan menggunakan SPSS
Menganalisis T Test dengan menggunakan SPSS
 
Jual Cytotec Di Sinjai Ori 👙082122229359👙Pusat Peluntur Kandungan Konsultasi
Jual Cytotec Di Sinjai Ori 👙082122229359👙Pusat Peluntur Kandungan KonsultasiJual Cytotec Di Sinjai Ori 👙082122229359👙Pusat Peluntur Kandungan Konsultasi
Jual Cytotec Di Sinjai Ori 👙082122229359👙Pusat Peluntur Kandungan Konsultasi
 
PPT SEMINAR PROPOSAL KLASIFIKASI CNN.pptx
PPT SEMINAR PROPOSAL KLASIFIKASI CNN.pptxPPT SEMINAR PROPOSAL KLASIFIKASI CNN.pptx
PPT SEMINAR PROPOSAL KLASIFIKASI CNN.pptx
 
Teknis-Audit-Internal untuk penerapan ISO 17025
Teknis-Audit-Internal untuk penerapan ISO 17025Teknis-Audit-Internal untuk penerapan ISO 17025
Teknis-Audit-Internal untuk penerapan ISO 17025
 
PEMANTAUAN HEMODINAMIK.dalam keperawatan pptx
PEMANTAUAN HEMODINAMIK.dalam keperawatan pptxPEMANTAUAN HEMODINAMIK.dalam keperawatan pptx
PEMANTAUAN HEMODINAMIK.dalam keperawatan pptx
 
Jual Pil Penggugur Kandungan 085225524732 Obat Aborsi Cytotec Asli
Jual Pil Penggugur Kandungan 085225524732 Obat Aborsi Cytotec AsliJual Pil Penggugur Kandungan 085225524732 Obat Aborsi Cytotec Asli
Jual Pil Penggugur Kandungan 085225524732 Obat Aborsi Cytotec Asli
 
TUGAS TELAAH jurnal dengan COHORT-1.docx
TUGAS TELAAH jurnal dengan COHORT-1.docxTUGAS TELAAH jurnal dengan COHORT-1.docx
TUGAS TELAAH jurnal dengan COHORT-1.docx
 
Persyaratan Adminduk - Disdukcapil Kab. Kebumen
Persyaratan Adminduk - Disdukcapil Kab. KebumenPersyaratan Adminduk - Disdukcapil Kab. Kebumen
Persyaratan Adminduk - Disdukcapil Kab. Kebumen
 
apotek jual obat aborsi Bogor Wa 082223109953 obat aborsi Cytotec Di Bogor
apotek jual obat aborsi Bogor Wa 082223109953 obat aborsi Cytotec Di Bogorapotek jual obat aborsi Bogor Wa 082223109953 obat aborsi Cytotec Di Bogor
apotek jual obat aborsi Bogor Wa 082223109953 obat aborsi Cytotec Di Bogor
 

Pertemuan 13 Algoritma Genetik.pdf

  • 2. Inspirasi ? Prinsip Evolusi : Siapa yang kuat dia yang bertahan. Survival of the fittest Teori Evolusi Teori evolusi merupakan sebuah teori yang membahas mengenai perubahan atau perkembangan makhluk hidup, asal-usulnya, serta keterkaitan genetiknya antara satu makhluk hidup dengan yang lainnya.
  • 3. Definisi The genetic algorithm is : ❑ A method for solving both constrained and unconstrained optimization problems that is based on natural selection, the process that drives biological evolution. ❑ The genetic algorithm repeatedly modifies a population of individual solutions. At each step, the genetic algorithm selects individuals at random from the current population to be parents and uses them to produce the children for the next generation. Over successive generations, the population "evolves" toward an optimal solution. ❑ You can apply the genetic algorithm to solve a variety of optimization problems that are not well suited for standard optimization algorithms, including problems in which the objective function is discontinuous, nondifferentiable, stochastic, or highly nonlinear. The genetic algorithm can address problems of mixed integer programming, where some components are restricted to be integer-valued (https://www.mathworks.com/) Teori evolusi yang mendasari algoritma genetika, merupakan sebuah teori yang membahas mengenai perubahan atau perkembangan makhluk hidup, asal- usulnya, serta keterkaitan genetiknya antara satu makhluk hidup dengan yang lainnya. Jenis (Gen) Individu makhluk hidup yang terakhir saat ini dianggap yang terbaik disbanding gen generasi sebelumnya (Survival of the fittest).
  • 4. Sejarah Algoritma Genetik pertama kali dikembangkan oleh John Holland pada tahun 1970-an di New York, Amerika Serikat. Dia beserta murid- murid dan teman kerjanya menghasilkan buku berjudul "Adaption in Natural and Artificial Systems" pada tahun 1975.
  • 5. Penerapan Algoritma Genetik dapat digunakan untuk apa ? • Optimization − Genetic Algorithms are most commonly used in optimization problems wherein we have to maximize or minimize a given objective function value under a given set of constraints. The approach to solve Optimization problems has been highlighted throughout the tutorial. • Economics − GAs are also used to characterize various economic models like the cobweb model, game theory equilibrium resolution, asset pricing, etc. • Neural Networks − GAs are also used to train neural networks, particularly recurrent neural networks. • Parallelization − GAs also have very good parallel capabilities, and prove to be very effective means in solving certain problems, and also provide a good area for research. • Image Processing − GAs are used for various digital image processing (DIP) tasks as well like dense pixel matching. • Vehicle routing problems − With multiple soft time windows, multiple depots and a heterogeneous fleet. • Scheduling applications − GAs are used to solve various scheduling problems as well, particularly the time tabling problem. • Machine Learning − as already discussed, genetics based machine learning (GBML) is a niche area in machine learning. • Robot Trajectory Generation − GAs have been used to plan the path which a robot arm takes by moving from one point to another. • Parametric Design of Aircraft − GAs have been used to design aircrafts by varying the parameters and evolving better solutions. • DNA Analysis − GAs have been used to determine the structure of DNA using spectrometric data about the sample. • Multimodal Optimization − GAs are obviously very good approaches for multimodal optimization in which we have to find multiple optimum solutions. • Traveling salesman problem and its applications − GAs have been used to solve the TSP, which is a well-known combinatorial problem using novel crossover and packing strategies.
  • 6. Prinsip Dasar Algoritma Genetika memiliki 3 RULE selama proses menghasilkan generasi lanjutan dari generasi saat ini : 1. RULE : Selection, memilih individu (parent), yang lebih berkontribusi untuk digunakan menghasilkan generasi berikutnya (child). 2. RULE : Crossover : Mengkombinasikan 2 parent dalam rangka menghasilkan individu generasi berikutnya (child). 3. RULE Mutation : Menggantikan individu yang hilang dari populasi secara acak akibat proses selection.
  • 7. Prinsip Dasar Inti cara kerja algoritma genetic adalah : Solusi ditawarkan pertama sekali, kemudian diselidiki apakah memenuhi kriteria kecocokan dengan yang diinginkan (fitness), jika belum memenuhi kriteria maka solusi baru (populasi generasi baru) digenerate berdasarkan populasi sebelum dengan proses cross over atau mutasi. Jad teknik ini melakukan pencarian dari beberapa solusi yang diperoleh sampai mendapatkan solusi terbaik sesuai dengan kriteria yang telah ditentukan atau yang disebut sebagai fungsi fitness tersebut.
  • 8. Uraian Prosedur • Algoritma genetik yang umum menyaratkan dua hal untuk didefinisikan: • (1) representasi genetik dari kromosom/individu sesuai permasalahan, • (2) Sebuah fungsi untuk mengevaluasinya (fitness function). • Representasi umum adalah sebuah array berbentuk bit-bit. Array lain atau struktur data lain dapat digunakan dengan cara yang sama. Hal utama yang membuat representasi genetik ini menjadi tepat adalah bahwa bagian-bagiannya mudah diatur karena ukurannya yang tetap, yang memudahkan operasi cross over sederhana. Representasi variable-length juga digunakan, tetapi implementasi cross over lebih kompleks dalam kasus ini. Representasi lain seperti tree juga dapat digunakan dalam pemrograman genetik dan representasi bentuk bebas dgunakan pada HBGA (Human-Based Genetic Algorithm). • Fungsi fitnes didefinisikan berdasarkan representasi genetik dengan mengukur kualitas solusi yang dimiliki. Fungsi fitnes selalu tergantung pada masalah. Sebagai contoh, jika pada ransel kita ingin memaksimalkan jumlah benda (obyek) yang dapat kita masukkan ke dalamnya pada beberapa kapasitas yang tetap. Representasi solusi mungkin berbentuk array bit, dimana tiap bit mewakili obyek yang berbeda, dan nilai bit (0 atau 1) menggambarkan apakah obyek tersebut ada di dalam ransel atau tidak. Tidak setiap representasi seperti ini valid, karena ukuran obyek dapat melebihi kapasitas ransel. Krireria fitness dalam hal ini adalah jumlah semua obyek di dalam ransel jika representasi itu valid, atau jika tidak 0. Dalam beberapa masalah, kadang sulit atau bahkan tidak mungkin untuk mendefinisikan fungsi fitnes, maka pada kasus ini digunakan IGA (Interactive Genetic Algorithm). • Setelah mendefinisikan representasi genetik dan fungsi fitness, algoritma genetik akan memproses inisialisasi populasi penyelesaian secara acak, dan memperbaikinya secara looping (pengulangan) dengan operator-operator mutasi, cross over, dan seleksi.
  • 9. Contoh reprentasi gen untuk sebuah kasus Page 9 Paling umum memang menggunakan representasi biner seperti di atas, tetapi tergantung kasusnya
  • 10. Algoritma Secara sederhana, algoritma umum dari algoritma genetik ini dapat dirumuskan menjadi beberapa langkah, yaitu: 1. Menyiapkan individu awal (Initial population) 2. Seleksi, memilih individu dan melakukan cross over (kawinkan) individu-individu yang terbaik berdasarkan fungsi fitness 3. Mengeliminasi individu yang kurang cocok berdasarkan nilai dari fungsi fitness 4. Mutasi (random, optional kadang tidak digunakan) 5. Kembali ke nomor 2 (looping sampai batas yang ditentukan) Note: Tahapan pada urutan ke-2, ke-3, dan ke-4 boleh saja ditukar. Flowchart Variasi lain Mana yang lebih dahulu : Seleksi, cross over dan Mutasi ? Proses utama dalam menghasilkan generasi terbaik adalah memilih (selection) individu terbaik dan mengkombinasikannya (cross over) untuk memperoleh individu yang lebih baik lagi. Mutasi hanya untuk membantu fungsi fitness jika hasilnya tidak mengarah pada solusi terbaik
  • 11. ➢Kromosom/Individu : Sebuah individu direpresentasikan dengan himpunan gen; Sebuah individu merupakan sebuah titik yang direpresentasikan dalam bentuk matriks posisi: Individu ‘P’ = (3) yang merupakan titik di sumbu x. Himpunan semua individu dalam sistem disebut populasi. ➢Fungsi kecocokan (fitness function), lewat fungsi inilah suatu individu diukur kecocokannya. Fungsi kecocokan ini tidak mesti menggunakan persamaan matematikanya, yang penting bisa memetakan input dan output. Kita bisa ambil contoh: f=x² + 6x +9 sebagai fungsi kecocokan, dan menemukan seberapa ‘cocok’ individu ‘P’. ➢Fungsi cross over (mate, combination). Lewat fungsi ini kita bisa mendapatkan individu lain dengan ‘mengawinkan’ beberapa individu yang berbeda. Misalkan kita punya fungsi mate Child = (Parent1+Parent2)/2, dan parent berupa individu P(3) dan Q(5), sehingga kita mendapatkan individu baru Child = (3+5)/2 = 4. – Eliminasi, aturan ini mengatur syarat-syarat tentang pelenyapan individu yang dinilai paling tidak cocok. Misalkan kita membuat aturan eliminasi seperti ini: “Setiap generasi hanya boleh memiliki 2 individu, maka jika terdapat lebih dari 2 individu, hanya 2 individu yang paling cocok saja yang boleh ada”. – Cross over atau Mate, aturan ini mengatur bagaimana ‘perkawinan’ antar individu dalam populasi. Misal: “Hanya 2 individu yang nilai fitness terbaik saja yang boleh mate”. – Mutasi. Mutasi merupakan fenomena dimana individu mengalami perubahan gen yang entah dari mana asalnya (bukan warisan orangtuanya). Pada algoritma, pemrogram bisa mengatur: kapan mutasi ini terjadi (pada generasi keberapa), pada individu apa, dan bagaimana. Biasanya dibuat benar-benar random. Beberapa Terminologi Page 11
  • 12. • Misal diketahui fungsi kuadrat f = x² + 6x +9 • Ditanyakan berapa nilai x agar nilai f merupakan nilai paling rendah (mencari titik minimum) • Problem untuk kasus di atas bisa dipecahkan dengan perhitungan matematika biasa atau kalkulus difrensial. • Misal df=2x +6, jika fungsi df=0 merupakan fungsi minimum maka nilai x minimum adalah 0 = 2x + 6, dan x = -3 • Selanjutnya sebagai pembanding dari perhitungan matematika konvensional, maka kita akan coba memecahkan masalah di atas dengan menerapkan algoritma genetika. Contoh Kasus Penerapan : Mencari titik minimum fungsi kuadrat Page 12 f = x² + 6x +9 f x • Penyelesaian untuk kasus ini bisa dipecahkan dengan perhitungan matematika biasa atau kalkulus difrensial. • Misal df=2x +6, jika fungsi df=0 merupakan fungsi minimum maka nilai x minimum adalah 0 = 2x + 6, maka x = -3 • Kasus ini juga dapat dipecahkan menggunakan algoritma genetika. • Sebagai pembanding dari perhitungan matematika konvensional, maka kita akan coba memecahkan masalah di atas dengan menerapkan algoritma genetika.
  • 13. Penyelesaian secara Algoritma Genetika 1. Individu : Pada kasus ini, individu direpresentasikan dengan angka yang menunjukkan posisinya pada sumbu x. Apabila terdapat 2 individu, maka populasinya bisa direpresentasikan dengan array populasi = [X1, X2]. X1 dan X2 disebut sebagai individu atau kromosom. 2. Fungsi kecocokan (fitness function) : Karena akan dicari individu yang mampu menghasilkan keluaran fungsi f terendah, dengan demikian kita akan menggunakan fungsi f sebagai fungsi kecocokan, dimana semakin rendah nilainya, maka dianggap akan semakin cocok (fitness). Pada kasus lain maka fungsi fitness ini sesuai dengan domain permasalahannya. 3. Fungsi mate atau Cross Over : Pada kasus ini cukup dirata-ratakan saja, jika ada dua individu I₁ dan I₂ yang disebut parent, maka anak (child) hasil hubungan mereka berdua (I₃) sama dengan (I₁+I₂)/2 atau (I₃ = (I₁ + I₂) / 2) 4. Aturan-aturan lain yang ditentukan pada kasus ini : a. Eliminasi dengan Selection- sort: Hanya boleh ada dua individu pada tiap iterasi/generasi. Hanya 2 individu yang memiliki nilai fungsi kecocokan terendah saja yang boleh lanjut ke iterasi selanjutnya. b. Cross over atau Mate : Berhubung hanya ada dua individu yang boleh hidup tiap iterasi, maka pada individu yang bisa dikawinkan adalah 2 individu yang ada dari iterasi sebelumnya (alias semua populasi). c. Mutasi : fenomena dimana individu (child) mengalami perubahan yang bukan dari pengaruh parent nya. Pada beberapa kasus tahap ini bisa tidak digunakan.
  • 14. Percobaan Dalam Python Page 14 Interasi ke - 0 - Populasi Inisial ================ populasi: [-19 2] Nilai f : [256 25] Interasi ke - 1 ================ populasi: [ 2. -8.5] Nilai f : [25. 30.25] Interasi ke - 2 ================ populasi: [-3.25 2. ] Nilai f : [ 0.0625 25. ] Interasi ke - 3 ================ populasi: [-3.25 -0.625] Nilai f : [0.0625 5.640625] Interasi ke - 4 ================ populasi: [-3.25 -1.9375] Nilai f : [0.0625 1.12890625] Interasi ke - 5 ================ populasi: [-3.25 -2.59375] Nilai f : [0.0625 0.16503906] Interasi ke - 11 ================ populasi: [-3.00390625 -2.99365234] Nilai f : [1.52587891e-05 4.02927399e-05] Interasi ke - 12 ================ populasi: [-2.9987793 -3.00390625] Nilai f : [1.49011612e-06 1.52587891e-05] Interasi ke - 13 ================ populasi: [-2.9987793 -3.00134277] Nilai f : [1.49011612e-06 1.80304050e-06] Interasi ke - 14 ================ populasi: [-3.00006104 -2.9987793 ] Nilai f : [3.72529030e-09 1.49011612e-06] Interasi ke - 15 ================ populasi: [-3.00006104 -2.99942017] Nilai f : [3.72529030e-09 3.36207449e-07] Interasi ke - 6 ================ populasi: [-2.921875 -3.25 ] Nilai f : [0.00610352 0.0625 ] Interasi ke - 7 ================ populasi: [-2.921875 -3.0859375] Nilai f : [0.00610352 0.00738525] Interasi ke - 8 ================ populasi: [-3.00390625 -2.921875 ] Nilai f : [1.52587891e-05 6.10351562e-03] Interasi ke - 9 ================ populasi: [-3.00390625 -2.96289062] Nilai f : [1.52587891e-05 1.37710571e-03] Interasi ke - 10 ================ populasi: [-3.00390625 -2.98339844] Nilai f : [1.52587891e-05 2.75611877e-04] Interasi ke - 16 ================ populasi: [-3.00006104 -2.9997406 ] Nilai f : [3.7252903e-09 6.7288056e-08] Interasi ke - 17 ================ populasi: [-3.00006104 -2.99990082] Nilai f : [3.72529030e-09 9.83709469e-09] Interasi ke - 18 ================ populasi: [-2.99998093 -3.00006104] Nilai f : [3.63797881e-10 3.72529030e-09] Interasi ke - 19 ================ populasi: [-2.99998093 -3.00002098] Nilai f : [3.63797881e-10 4.40195436e-10] Interasi ke - 20 ================ populasi: [-3.00000095 -2.99998093] Nilai f : [9.09494702e-13 3.63797881e-10]
  • 15. Nilai minimum dalam Grafik Page 15
  • 16. Penjelasan Setiap Tahap Algoritma Page 16 Generasi ke - 0 - Populasi Inisial ditentukan secara manual ================ Populasi Awal : [-19 2] Perhitungan fitness ( x^2 + 6*x ) : [256 25] Hasil Cross Over (rata-rata) dan Penambahan Individu ke Populasi : [-19. 2. -8.5] Nilai fitness setiap individu: [256. 25. 30.25] Urutan nilai fitness terbaik: [ 25. 30.25 256. ] Urutan Populasi dengan nilai fitness terbaik : [ 2. -8.5 -19. ] generasi ke - 1 ================ Seleksi Populasi dengan 2 individu terbaik dari Generasi sebelumnya : [ 2. -8.5] Nilai fitnes dari rumus x^2 + 6*x : [25. 30.25] Hasil Cross Over (rata-rata) dan Penambahan Individu ke Populasi : [ 2. -8.5 -3.25] Nilai fitness setiap individu: [25. 30.25 0.0625] Urutan nilai fitness terbaik: [ 0.0625 25. 30.25 ] Urutan Populasi dengan nilai fitness terbaik : [-3.25 2. -8.5 ] generasi ke - 2 ================ Seleksi Populasi dengan 2 individu terbaik dari Generasi sebelumnya : [-3.25 2. ] Nilai fitnes dari rumus x^2 + 6*x : [ 0.0625 25. ] Hasil Cross Over (rata-rata) dan Penambahan Individu ke Populasi : [-3.25 2. -0.625] Nilai fitness setiap individu: [ 0.0625 25. 5.640625] Urutan nilai fitness terbaik: [ 0.0625 5.640625 25. ] Urutan Populasi dengan nilai fitness terbaik : [-3.25 -0.625 2. ] generasi ke - 3 ================ Seleksi Populasi dengan 2 individu terbaik dari Generasi sebelumnya : [-3.25 -0.625] Nilai fitnes dari rumus x^2 + 6*x : [0.0625 5.640625] Hasil Cross Over (rata-rata) dan Penambahan Individu ke Populasi : [-3.25 -0.625 -1.9375] Nilai fitness setiap individu: [0.0625 5.640625 1.12890625] Urutan nilai fitness terbaik: [0.0625 1.12890625 5.640625 ] Urutan Populasi dengan nilai fitness terbaik : [-3.25 -1.9375 -0.625 ] generasi ke - 4 ================ Seleksi Populasi dengan 2 individu terbaik dari Generasi sebelumnya : [-3.25 -1.9375] Nilai fitnes dari rumus x^2 + 6*x : [0.0625 1.12890625] Hasil Cross Over (rata-rata) dan Penambahan Individu ke Populasi : [-3.25 -1.9375 -2.59375] Nilai fitness setiap individu: [0.0625 1.12890625 0.16503906] Urutan nilai fitness terbaik: [0.0625 0.16503906 1.12890625] Urutan Populasi dengan nilai fitness terbaik : [-3.25 -2.59375 -1.9375 ] generasi ke - 5 ================ Seleksi Populasi dengan 2 individu terbaik dari Generasi sebelumnya : [-3.25 -2.59375] Nilai fitnes dari rumus x^2 + 6*x : [0.0625 0.16503906] Hasil Cross Over (rata-rata) dan Penambahan Individu ke Populasi : [-3.25 -2.59375 -2.921875] Nilai fitness setiap individu: [0.0625 0.16503906 0.00610352] Urutan nilai fitness terbaik: [0.00610352 0.0625 0.16503906] Urutan Populasi dengan nilai fitness terbaik : [-2.921875 -3.25 -2.59375 ] generasi ke - 6 ================ Seleksi Populasi dengan 2 individu terbaik dari Generasi sebelumnya : [-2.921875 -3.25 ] Nilai fitnes dari rumus x^2 + 6*x : [0.00610352 0.0625 ] Hasil Cross Over (rata-rata) dan Penambahan Individu ke Populasi : [-2.921875 -3.25 -3.0859375] Nilai fitness setiap individu: [0.00610352 0.0625 0.00738525] Urutan nilai fitness terbaik: [0.00610352 0.00738525 0.0625 ] Urutan Populasi dengan nilai fitness terbaik : [-2.921875 -3.0859375 -3.25 ] generasi ke - 7 ================ Seleksi Populasi dengan 2 individu terbaik dari Generasi sebelumnya : [-2.921875 -3.0859375] Nilai fitnes dari rumus x^2 + 6*x : [0.00610352 0.00738525] Hasil Cross Over (rata-rata) dan Penambahan Individu ke Populasi : [-2.921875 -3.0859375 -3.00390625] Nilai fitness setiap individu: [6.10351562e-03 7.38525391e-03 1.52587891e-05] Urutan nilai fitness terbaik: [1.52587891e-05 6.10351562e-03 7.38525391e-03] Urutan Populasi dengan nilai fitness terbaik : [-3.00390625 -2.921875 -3.0859375 ]
  • 17. Page 17 generasi ke - 8 ================ Seleksi Populasi dengan 2 individu terbaik dari Generasi sebelumnya : [-3.00390625 -2.921875 ] Nilai fitnes dari rumus x^2 + 6*x : [1.52587891e-05 6.10351562e-03] Hasil Cross Over (rata-rata) dan Penambahan Individu ke Populasi : [-3.00390625 -2.921875 -2.96289062] Nilai fitness setiap individu: [1.52587891e-05 6.10351562e-03 1.37710571e-03] Urutan nilai fitness terbaik: [1.52587891e-05 1.37710571e-03 6.10351562e-03] Urutan Populasi dengan nilai fitness terbaik : [-3.00390625 -2.96289062 -2.921875 ] generasi ke - 9 ================ Seleksi Populasi dengan 2 individu terbaik dari Generasi sebelumnya : [-3.00390625 -2.96289062] Nilai fitnes dari rumus x^2 + 6*x : [1.52587891e-05 1.37710571e-03] Hasil Cross Over (rata-rata) dan Penambahan Individu ke Populasi : [-3.00390625 -2.96289062 -2.98339844] Nilai fitness setiap individu: [1.52587891e-05 1.37710571e-03 2.75611877e-04] Urutan nilai fitness terbaik: [1.52587891e-05 2.75611877e-04 1.37710571e-03] Urutan Populasi dengan nilai fitness terbaik : [-3.00390625 -2.98339844 -2.96289062] generasi ke - 10 ================ Seleksi Populasi dengan 2 individu terbaik dari Generasi sebelumnya : [-3.00390625 -2.98339844] Nilai fitnes dari rumus x^2 + 6*x : [1.52587891e-05 2.75611877e-04] Hasil Cross Over (rata-rata) dan Penambahan Individu ke Populasi : [-3.00390625 -2.98339844 -2.99365234] Nilai fitness setiap individu: [1.52587891e-05 2.75611877e-04 4.02927399e-05] Urutan nilai fitness terbaik: [1.52587891e-05 4.02927399e-05 2.75611877e-04] Urutan Populasi dengan nilai fitness terbaik : [-3.00390625 -2.99365234 -2.98339844] generasi ke - 11 ================ Seleksi Populasi dengan 2 individu terbaik dari Generasi sebelumnya : [-3.00390625 -2.99365234] Nilai fitnes dari rumus x^2 + 6*x : [1.52587891e-05 4.02927399e-05] Hasil Cross Over (rata-rata) dan Penambahan Individu ke Populasi : [-3.00390625 -2.99365234 -2.9987793 ] Nilai fitness setiap individu: [1.52587891e-05 4.02927399e-05 1.49011612e-06] Urutan nilai fitness terbaik: [1.49011612e-06 1.52587891e-05 4.02927399e-05] Urutan Populasi dengan nilai fitness terbaik : [-2.9987793 -3.00390625 -2.99365234] generasi ke - 12 ================ Seleksi Populasi dengan 2 individu terbaik dari Generasi sebelumnya : [-2.9987793 -3.00390625] Nilai fitnes dari rumus x^2 + 6*x : [1.49011612e-06 1.52587891e-05] Hasil Cross Over (rata-rata) dan Penambahan Individu ke Populasi : [-2.9987793 -3.00390625 -3.00134277] Nilai fitness setiap individu: [1.49011612e-06 1.52587891e-05 1.80304050e-06] Urutan nilai fitness terbaik: [1.49011612e-06 1.80304050e-06 1.52587891e-05] Urutan Populasi dengan nilai fitness terbaik : [-2.9987793 -3.00134277 -3.00390625] generasi ke - 13 ================ Seleksi Populasi dengan 2 individu terbaik dari Generasi sebelumnya : [-2.9987793 -3.00134277] Nilai fitnes dari rumus x^2 + 6*x : [1.49011612e-06 1.80304050e-06] Hasil Cross Over (rata-rata) dan Penambahan Individu ke Populasi : [-2.9987793 -3.00134277 -3.00006104] Nilai fitness setiap individu: [1.49011612e-06 1.80304050e-06 3.72529030e-09] Urutan nilai fitness terbaik: [3.72529030e-09 1.49011612e-06 1.80304050e-06] Urutan Populasi dengan nilai fitness terbaik : [-3.00006104 -2.9987793 -3.00134277] generasi ke - 14 ================ Seleksi Populasi dengan 2 individu terbaik dari Generasi sebelumnya : [-3.00006104 -2.9987793 ] Nilai fitnes dari rumus x^2 + 6*x : [3.72529030e-09 1.49011612e-06] Hasil Cross Over (rata-rata) dan Penambahan Individu ke Populasi : [-3.00006104 -2.9987793 -2.99942017] Nilai fitness setiap individu: [3.72529030e-09 1.49011612e-06 3.36207449e-07] Urutan nilai fitness terbaik: [3.72529030e-09 3.36207449e-07 1.49011612e-06] Urutan Populasi dengan nilai fitness terbaik : [-3.00006104 -2.99942017 -2.9987793 ] generasi ke - 15 ================ Seleksi Populasi dengan 2 individu terbaik dari Generasi sebelumnya : [-3.00006104 -2.99942017] Nilai fitnes dari rumus x^2 + 6*x : [3.72529030e-09 3.36207449e-07] Hasil Cross Over (rata-rata) dan Penambahan Individu ke Populasi : [-3.00006104 -2.99942017 -2.9997406 ] Nilai fitness setiap individu: [3.72529030e-09 3.36207449e-07 6.72880560e-08] Urutan nilai fitness terbaik: [3.72529030e-09 6.72880560e-08 3.36207449e-07] Urutan Populasi dengan nilai fitness terbaik : [-3.00006104 -2.9997406 -2.99942017]
  • 18. Page 18 generasi ke - 16 ================ Seleksi Populasi dengan 2 individu terbaik dari Generasi sebelumnya : [-3.00006104 -2.9997406 ] Nilai fitnes dari rumus x^2 + 6*x : [3.7252903e-09 6.7288056e-08] Hasil Cross Over (rata-rata) dan Penambahan Individu ke Populasi : [-3.00006104 -2.9997406 -2.99990082] Nilai fitness setiap individu: [3.72529030e-09 6.72880560e-08 9.83709469e-09] Urutan nilai fitness terbaik: [3.72529030e-09 9.83709469e-09 6.72880560e-08] Urutan Populasi dengan nilai fitness terbaik : [-3.00006104 -2.99990082 -2.9997406 ] generasi ke - 17 ================ Seleksi Populasi dengan 2 individu terbaik dari Generasi sebelumnya : [-3.00006104 -2.99990082] Nilai fitnes dari rumus x^2 + 6*x : [3.72529030e-09 9.83709469e-09] Hasil Cross Over (rata-rata) dan Penambahan Individu ke Populasi : [-3.00006104 -2.99990082 -2.99998093] Nilai fitness setiap individu: [3.72529030e-09 9.83709469e-09 3.63797881e-10] Urutan nilai fitness terbaik: [3.63797881e-10 3.72529030e-09 9.83709469e-09] Urutan Populasi dengan nilai fitness terbaik : [-2.99998093 -3.00006104 -2.99990082] generasi ke - 18 ================ Seleksi Populasi dengan 2 individu terbaik dari Generasi sebelumnya : [-2.99998093 -3.00006104] Nilai fitnes dari rumus x^2 + 6*x : [3.63797881e-10 3.72529030e-09] Hasil Cross Over (rata-rata) dan Penambahan Individu ke Populasi : [-2.99998093 -3.00006104 -3.00002098] Nilai fitness setiap individu: [3.63797881e-10 3.72529030e-09 4.40195436e-10] Urutan nilai fitness terbaik: [3.63797881e-10 4.40195436e-10 3.72529030e-09] Urutan Populasi dengan nilai fitness terbaik : [-2.99998093 -3.00002098 -3.00006104] generasi ke - 19 ================ Seleksi Populasi dengan 2 individu terbaik dari Generasi sebelumnya : [-2.99998093 -3.00002098] Nilai fitnes dari rumus x^2 + 6*x : [3.63797881e-10 4.40195436e-10] Hasil Cross Over (rata-rata) dan Penambahan Individu ke Populasi : [-2.99998093 -3.00002098 -3.00000095] Nilai fitness setiap individu: [3.63797881e-10 4.40195436e-10 9.09494702e-13] Urutan nilai fitness terbaik: [9.09494702e-13 3.63797881e-10 4.40195436e-10] Urutan Populasi dengan nilai fitness terbaik : [-3.00000095 -2.99998093 -3.00002098] generasi ke - 20 ================ Seleksi Populasi dengan 2 individu terbaik dari Generasi sebelumnya : [-3.00000095 -2.99998093] Nilai fitnes dari rumus x^2 + 6*x : [9.09494702e-13 3.63797881e-10] Solusi ditemukan pada generasi ke 20. Individu yang menjadi solusi pada populasi tersebut adalah -3.00 dan kedua adalah - 2.999. Solusi, x=3 Sama dengan perhitungan matematika biasa