Pertemuan 13 Algoritma Genetik.pdf

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
1 de 18

Recomendados

tutorial algoritma genetika bagian 1 por
tutorial algoritma genetika bagian 1tutorial algoritma genetika bagian 1
tutorial algoritma genetika bagian 1softscients
41 visualizações11 slides
KCB- GENETIC ALGORITMA.pptx por
KCB- GENETIC ALGORITMA.pptxKCB- GENETIC ALGORITMA.pptx
KCB- GENETIC ALGORITMA.pptxDanielSyahputra2
4 visualizações21 slides
MAKALAH TENTANG ALGORITMA GENETIKA por
MAKALAH TENTANG ALGORITMA GENETIKAMAKALAH TENTANG ALGORITMA GENETIKA
MAKALAH TENTANG ALGORITMA GENETIKAImanSihaloho
1.2K visualizações31 slides
TSP Algorithm por
TSP Algorithm TSP Algorithm
TSP Algorithm Aila Gema Safitri
1.2K visualizações14 slides
P3. Intelligent Agent.pptx por
P3. Intelligent Agent.pptxP3. Intelligent Agent.pptx
P3. Intelligent Agent.pptxssuser200880
3 visualizações16 slides
Genetic algorithm por
Genetic algorithmGenetic algorithm
Genetic algorithmkhadijah Febriana
90 visualizações17 slides

Mais conteúdo relacionado

Similar a Pertemuan 13 Algoritma Genetik.pdf

Bab 11 por
Bab 11Bab 11
Bab 11alumrossyana
638 visualizações36 slides
Bab 11 (18 slide) por
Bab 11 (18 slide)Bab 11 (18 slide)
Bab 11 (18 slide)gilangbewok
165 visualizações36 slides
Bab 11 por
Bab 11Bab 11
Bab 11Cecep Supriatna
477 visualizações36 slides
Bab 11 por
Bab 11Bab 11
Bab 11ernawati8
148 visualizações36 slides
Bab 11 por
Bab 11Bab 11
Bab 11melindasutrisnawati
595 visualizações36 slides
Bab 11 (18 slide) por
Bab 11 (18 slide)Bab 11 (18 slide)
Bab 11 (18 slide)syaqiraqueensha
2K visualizações36 slides

Similar a Pertemuan 13 Algoritma Genetik.pdf(20)

Bab 11 por alumrossyana
Bab 11Bab 11
Bab 11
alumrossyana638 visualizações
Bab 11 (18 slide) por gilangbewok
Bab 11 (18 slide)Bab 11 (18 slide)
Bab 11 (18 slide)
gilangbewok165 visualizações
Bab 11 por Cecep Supriatna
Bab 11Bab 11
Bab 11
Cecep Supriatna477 visualizações
Bab 11 por ernawati8
Bab 11Bab 11
Bab 11
ernawati8148 visualizações
Bab 11 (18 slide) por syaqiraqueensha
Bab 11 (18 slide)Bab 11 (18 slide)
Bab 11 (18 slide)
syaqiraqueensha2K visualizações
Bab 11 por camdnivc
Bab 11Bab 11
Bab 11
camdnivc704 visualizações
Bab 11 por ocyrose
Bab 11Bab 11
Bab 11
ocyrose490 visualizações
Bab 11 por ernawati8
Bab 11Bab 11
Bab 11
ernawati8132 visualizações
Fuzzymulticriteriadecisionmaking por Seto Elkahfi
FuzzymulticriteriadecisionmakingFuzzymulticriteriadecisionmaking
Fuzzymulticriteriadecisionmaking
Seto Elkahfi188 visualizações
Pemodelan sistem pewarisan gen manusia berdasarkan hukum por salwa mahsum
Pemodelan sistem pewarisan gen manusia berdasarkan hukumPemodelan sistem pewarisan gen manusia berdasarkan hukum
Pemodelan sistem pewarisan gen manusia berdasarkan hukum
salwa mahsum334 visualizações
Algoritma Genetika por Farichah Riha
Algoritma GenetikaAlgoritma Genetika
Algoritma Genetika
Farichah Riha1.1K visualizações
Tugas1 por deavalentin
Tugas1Tugas1
Tugas1
deavalentin34 visualizações
algoritma_greedy.ppt por sayfa3
algoritma_greedy.pptalgoritma_greedy.ppt
algoritma_greedy.ppt
sayfa35 visualizações
Machine Learning Diskusi 13.pdf por HendroGunawan8
Machine Learning Diskusi 13.pdfMachine Learning Diskusi 13.pdf
Machine Learning Diskusi 13.pdf
HendroGunawan84 visualizações
Problem Solving por Ridho Hudayana
Problem SolvingProblem Solving
Problem Solving
Ridho Hudayana457 visualizações
Memetica Algorithm por Aila Gema Safitri
Memetica AlgorithmMemetica Algorithm
Memetica Algorithm
Aila Gema Safitri618 visualizações
BERPIKIR KOMPUTESIONAL 3.ppt por AgusPurwadi20
BERPIKIR KOMPUTESIONAL 3.pptBERPIKIR KOMPUTESIONAL 3.ppt
BERPIKIR KOMPUTESIONAL 3.ppt
AgusPurwadi2045 visualizações
Expert system fuzzy por akbaraswad
Expert system fuzzyExpert system fuzzy
Expert system fuzzy
akbaraswad1.9K visualizações

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