AI-For-Beginners/translations/ms/lessons/6-Other/21-GeneticAlgorithms
localizeflow[bot] f2a27efc74 chore(i18n): sync translations with latest source changes (chunk 1/1, 205 changes) 2026-01-30 02:22:28 +00:00
..
Diophantine.ipynb 🌐 Update translations via Co-op Translator 2025-08-29 16:53:37 +00:00
Genetic.ipynb 🌐 Update translations via Co-op Translator 2025-08-29 16:53:37 +00:00
README.md chore(i18n): sync translations with latest source changes (chunk 1/1, 205 changes) 2026-01-30 02:22:28 +00:00

README.md

Algoritma Genetik

Kuiz pra-kuliah

Algoritma Genetik (GA) berasaskan pendekatan evolusi dalam AI, di mana kaedah evolusi populasi digunakan untuk mendapatkan penyelesaian optimum bagi sesuatu masalah. Ia dicadangkan pada tahun 1975 oleh John Henry Holland.

Algoritma Genetik berasaskan idea berikut:

  • Penyelesaian yang sah untuk masalah boleh diwakili sebagai gen
  • Crossover membolehkan kita menggabungkan dua penyelesaian untuk mendapatkan penyelesaian baru yang sah
  • Pemilihan digunakan untuk memilih penyelesaian yang lebih optimum menggunakan beberapa fungsi kecergasan
  • Mutasi diperkenalkan untuk mengganggu pengoptimuman dan mengelakkan kita terperangkap dalam minimum tempatan

Jika anda ingin melaksanakan Algoritma Genetik, anda memerlukan perkara berikut:

  • Mencari kaedah untuk mengekod penyelesaian masalah menggunakan gen g∈Γ
  • Pada set gen Γ, kita perlu mentakrifkan fungsi kecergasan fit: Γ→R. Nilai fungsi yang lebih kecil menunjukkan penyelesaian yang lebih baik.
  • Mentakrifkan mekanisme crossover untuk menggabungkan dua gen bersama-sama untuk mendapatkan penyelesaian baru yang sah crossover: Γ2→Γ.
  • Mentakrifkan mekanisme mutasi mutate: Γ→Γ.

Dalam banyak kes, crossover dan mutasi adalah algoritma yang agak mudah untuk memanipulasi gen sebagai jujukan angka atau vektor bit.

Pelaksanaan spesifik algoritma genetik boleh berbeza-beza mengikut kes, tetapi struktur keseluruhannya adalah seperti berikut:

  1. Pilih populasi awal G⊂Γ
  2. Pilih secara rawak salah satu operasi yang akan dilakukan pada langkah ini: crossover atau mutasi
  3. Crossover:
  • Pilih secara rawak dua gen g1, g2 ∈ G
  • Kira crossover g=crossover(g1,g2)
  • Jika fit(g)<fit(g1) atau fit(g)<fit(g2) - gantikan gen yang sepadan dalam populasi dengan g.
  1. Mutasi - pilih gen rawak g∈G dan gantikannya dengan mutate(g)
  2. Ulang dari langkah 2, sehingga kita mendapat nilai fit yang cukup kecil, atau sehingga had pada bilangan langkah tercapai.

Tugas Tipikal

Tugas yang biasanya diselesaikan oleh Algoritma Genetik termasuk:

  1. Pengoptimuman jadual
  2. Pembungkusan optimum
  3. Pemotongan optimum
  4. Mempercepatkan pencarian menyeluruh

✍️ Latihan: Algoritma Genetik

Teruskan pembelajaran anda dalam buku nota berikut:

Pergi ke buku nota ini untuk melihat dua contoh penggunaan Algoritma Genetik:

  1. Pembahagian harta yang adil
  2. Masalah 8 Permaisuri

Kesimpulan

Algoritma Genetik digunakan untuk menyelesaikan banyak masalah, termasuk logistik dan masalah pencarian. Bidang ini diilhamkan oleh penyelidikan yang menggabungkan topik dalam Psikologi dan Sains Komputer.

🚀 Cabaran

"Algoritma genetik mudah dilaksanakan, tetapi tingkah lakunya sukar difahami." sumber Lakukan sedikit penyelidikan untuk mencari pelaksanaan algoritma genetik seperti menyelesaikan teka-teki Sudoku, dan terangkan bagaimana ia berfungsi dalam bentuk lakaran atau carta alir.

Kuiz pasca-kuliah

Ulasan & Kajian Kendiri

Tonton video hebat ini yang membincangkan bagaimana komputer boleh belajar bermain Super Mario menggunakan rangkaian neural yang dilatih oleh algoritma genetik. Kita akan belajar lebih lanjut tentang pembelajaran komputer untuk bermain permainan seperti itu dalam bahagian seterusnya.

Tugasan: Persamaan Diofantin

Matlamat anda adalah untuk menyelesaikan apa yang dipanggil persamaan Diofantin - persamaan dengan akar integer. Sebagai contoh, pertimbangkan persamaan a+2b+3c+4d=30. Anda perlu mencari akar integer yang memenuhi persamaan ini.

Tugasan ini diilhamkan oleh catatan ini.

Petunjuk:

  1. Anda boleh mempertimbangkan akar dalam julat [0;30]
  2. Sebagai gen, pertimbangkan untuk menggunakan senarai nilai akar

Gunakan Diophantine.ipynb sebagai titik permulaan.