• Home
  • About
  • Archive
  • Contact
  • Gallery
  • Project
Logo

  • Project
  • Technology

Membuat AI dalam Game Flappy Bird | Implementasi Algoritma Genetika dan Aplikasi Model Pelatihan Multilayer Perceptron

11 July 2019
Rifqi Fauzi Rahmadzani
0 Comments
  • Email
  • Facebook
  • Twitter
  • Pinterest
  • LinkedIn
11 July 2019
0 Comments

Implementasi algoritma genetika bisa dikatakan berhasil dalam penanganan suatu aplikasi yang kompleks. Hal ini karena melibatkan banyak objektif dan fungsi optimasi yang tidak terdefinisi dengan baik. Misalnya, desain sirkuit analog dan optimalisasi antena ruang-lahir yang dikembangkan menggunakan Algoritma genetika.

Algoritma optimisasi sederhananya dapat dibagi menjadi tiga kelas: algoritma pemrograman matematika, heuristik, dan metaheuristik. Algoritma pemrograman matematika memiliki fondasi yang paling ketat, dan dimungkinkan untuk membuktikan bahwa algoritma tersebut benar-benar konvergen, algoritma ini memeriksa apakah solusi yang diusulkan mendekati setidaknya optimum lokal, dan untuk memperkirakan tingkat konvergensi. Algoritma metaheuristik gunakan metafora, biasanya berasal dari bidang yang tidak terkait untuk didefinisikan sebagai algoritma pemilihan. Simulated annealing, ant colony, bee swarm, harmony search adalah contoh dari algoritma yang berasal dari berbagai bidang ilmu komputer.

Algoritma genetika adalah teknik pencarian metaheuristik kecerdasan buatan yang berasal dari teori evolusi biologis organisme oleh Darwin. Adapun banyak metode metaheuristik lainnya, banyak penelitian membahas tentang algoritma genetika dikarenakan kurangnya fondasi matematika secara inti dan konkret.

A. Masalah Optimasi

Banyak masalah dalam kehidupan nyata tidak memiliki rumus dan teknik untuk menghitung hasil secara tepat karena jumlah generik yang sangat banyak. Algoritma genetika berjalan pada sebuah populasi solusi yang pasti dan mengembangkannya menggunakan metode yang terinspirasi oleh teori Darwin dalam biologi. Artikel ini akan membahas perbedaan antara algoritma genetika dengan metode lain dan juga melakukan beberapa percobaan untuk memperkirakan efektivitas algoritma genetika.

Setiap permasalahan pada algoritma genetika membutuhkan fungsi kebugaran yang mengukur kualitas atas solusi menuju optimasi masalah.

B. Terminologi

Pada algoritma genetika, populasi dari solusi kandidat (phenotypes) dikembangkan ke arah solusi yang lebih baik dari masalah optimisasi. Setiap solusi kandidat diwakili oleh kromosom yang merupakan sekumpulan gen yang dapat mengubah mutasi dan crossover. Satu set kromosom baru, juga dikenal sebagai generasi yang dibentuk menggunakan tanggul seleksi.

Populasi: Jumlah individu hadir dengan kromosom yang sama panjang. Dengan kata lain, mereka adalah satu set solusi pasti untuk masalah optimisasi.

Genom: Bagian dari kromosom. Nilai masing-masing gen berpengaruh pada kualitas dari sebuah solusi.

Kromosom: Satu set genom. Kromosom merupakan solusinya dalam bentuk gen.

Selection: Populasi generasi berikutnya akan mempertahankan sebagian solusi terbaik pada generasi sebelumnya sehingga sifat-sifat terbaiknya akan dipertahankan.

Mutation: Mengubah genom dalam kromosom.

Crossover: Mencampur dua individu untuk menghasilkan pasangan baru keturunan yang memiliki sifat keduanya

C. Operator Genetik

Encoding dan Decoding

Teknik encoding sangat tergantung pada masalah. Secara umum, encoding adalah urutan setiap gen yang memiliki efek pada solusi. Decoding berfungsi menerjemahkan kromosom ke solusi masalah optimisasi. Encoding merupakan metode untuk membersihkan data sebelum memasukkannya ke dalam operator genetik.

Selection

Proses seleksi utamanya bertanggung jawab untuk memastikan kelangsungan hidup individu yang paling cocok. Solusi terbaik akan dipertahankan di generasi berikutnya.

Metode pemilihan roda roulette

Pemilihan proporsional kebugaran, juga dikenal sebagai pemilihan roda roulette, adalah operator genetik yang digunakan dalam algoritma genetika dengan memilih solusi secara potensial untuk rekombinasi. Dalam metode ini, setiap gen memiliki kemungkinan untuk dipilih sebagai generasi selanjutnya.

Metode pemilihan kebugaran terbaik

Dalam metode seleksi ini, individu-individu terbaik dengan kebugaran tertinggi dipilih. Metode ini merupakan pertukaran antara keanekaragaman populasi dan rata-rata kebugaran populasi dimana keragaman menurun dan kebugaran rata-rata meningkat dibandingkan dengan metode pemilihan roda roulette.

Mutation

Mutation digunakan untuk mempertahankan keragaman genetik dari satu generasi populasi kromosom ke generasi berikutnya. Hal ini merupakan analogi untuk mutasi biologis. Tujuan mutasi dalam GA adalah melestarikan dan memperkenalkan keragaman. Mutasi harus memungkinkan algoritma dapat keluar dari minimum lokal dengan mencegah populasi kromosom menjadi begitu mirip satu sama lain, sehingga dapat memperlambat atau bahkan menghentikan evolusi. Mutasi dapat dilakukan dengan rumus atau secara acak.

Crossover

Crossover betujuan memisahkan individu induk dan menggabungkannya kembali. Titik crossover dapat dipilih secara acak untuk meningkatkan keragaman populasi baru.

Multi-point crossover merupakan crossover sederhana dengan lebih dari satu posisi di mana proses crossover akan terjadi.

Selebihnya mengenai masalah tersebut dijelaskan pada code dan paper berikut.

  • Email
  • Facebook
  • Twitter
  • Pinterest
  • LinkedIn
Previous

Keamanan Data, Privasi, dan Pencurian Identitas

Next

Peran TIK dalam Meningkatkan Kemampuan Literasi Digital

The Author

Rifqi Fauzi Rahmadzani

Being someone who was able to contend with my interest and to learn new things both imaginative, intuitive, and communicative. The great hope of my ability can be beneficial to others.

  • facebook
  • twitter
  • instagram
  • linkedin

Leave A Comment Cancel reply

Recent Posts

Implementasi Metode Convolutional Neural Network Untuk Klasifikasi Teks

20 August 2019

Peran TIK dalam Meningkatkan Kemampuan Literasi Digital

1 August 2019

Membuat AI dalam Game Flappy Bird | Implementasi Algoritma Genetika dan Aplikasi Model Pelatihan Multilayer Perceptron

11 July 2019

Keamanan Data, Privasi, dan Pencurian Identitas

21 June 2019

Socio-Technical System: The Web of System Performance Levels

15 May 2019
author image

The Author

Rifqi Fauzi Rahmadzani

  • facebook
  • twitter
  • instagram

Being someone who was able to contend with my interest and to learn new things both imaginative, intuitive, and communicative. The great hope of my ability can be beneficial to others.

Logo

© 2019 Rifqifai.com. Developed by Rifqi Fauzi Rahmadzani