Manufaktur industri
Industri Internet of Things | bahan industri | Pemeliharaan dan Perbaikan Peralatan | Pemrograman industri |
home  MfgRobots >> Manufaktur industri >  >> Manufacturing Equipment >> Robot industri

Menjelajahi Kekuatan dan Batasan Algoritma Genetika

Pada titik ini dalam serangkaian pemrograman genetik (GP), kita telah mempelajari apa itu pemrograman genetik dan bagaimana ia mewakili informasi, bagaimana operator genetik bekerja dalam algoritma evolutif, dan bekerja melalui pengembangan program pengurutan melalui regresi simbolik.

Di sini, kita akan melihat tingkat tinggi apa yang dapat dicapai teknologi ini seiring berkembangnya.

 

Pertimbangan Praktis Pemrograman Genetik

Untuk memahami bab akhir dari seri ini, mari kita ingat contoh XOR yang kita bahas di bagian pertama seri ini:

 

Solusi sempurna untuk masalah XOR yang ditemukan oleh GP:
(defun program ()
  (AND (OR X1 X2)
 (NOT (AND X1 X2) )
 )
)

Listing 1. Hasil XOR.

 

Mari kita juga lihat kembali contoh regresi simbolik dari artikel sebelumnya:

 

Aproksimasi polinomial untuk sin(x) dalam interval (0 <= x <= pi/2)

(defun program ()
 (+ (* (* (* X X) X)
 (* 0.2283 -0.6535))
 X)
)

Menyederhanakan program di atas menghasilkan persamaan setara berikut:

polysin(x) = -.1492 x3 + x

Hasil:

 

x sin(x) polysin(x)
0.000 0.000 0.000
0.078 0.077 0.077
0.156 0.155 0.155
0.234 0.231 0.232
0.312 0.306 0.307
0.390 0.380 0.381
0.468 0.451 0.452
0.546 0.519 0.521
0.624 0.584 0.587
0.702 0.645 0.650
0.780 0.703 0.709
0.858 0.756 0.763
0.936 0.805 0.813
1.014 0.848 0.858
1.092 0.887 0.897
1.170 0.920 0.931
1.248 0.948 0.957
1.326 0.970 0.978
1.404 0.986 0.991
1.482 0.996 0.996
1.560 0.999 0.993

Listing 4. Regresi simbolik.

 

Perhatikan bahwa baik contoh XOR maupun regresi simbolik yang disajikan di sini mengembalikan satu nilai saat dievaluasi.

Karakteristik ini tidak perlu menjadi batasan karena tentu mungkin untuk suatu fungsi atau terminal untuk memiliki efek samping saat dieksekusi. Ini sering terjadi untuk program pengurutan, yang berisi fungsi dengan potensi efek samping menukar pasangan elemen dalam vektor. Dalam praktiknya, umum bagi efek samping untuk hadir. Beberapa contoh tambahan efek samping yang berguna adalah menetapkan satu variabel ke variabel lain atau mengubah arah robot menghadap.

Kumpulan fungsi kami dapat mencakup fungsi bersyarat yang memberikan program yang berevolusi kemampuan untuk membuat keputusan. Fungsi bersyarat secara selektif mengevaluasi argumen mereka. Sebagai contoh, pertimbangkan fungsi, dengan arity tiga, seperti (if arg1 arg2 arg3). Fungsi dievaluasi dengan mengevaluasi argumen pertama dan jika hasilnya benar, argumen kedua dievaluasi; jika tidak, argumen ketiga dievaluasi. Konstruksi iteratif juga mungkin, karena suatu fungsi dapat mengevaluasi salah satu argumen mereka beberapa kali. Kompleksitas tambahan diperkenalkan, namun, oleh kebutihan untuk membatasi jumlah iterasi dan tingkat bersarang sehingga menghindari situasi di mana evaluasi individu dapat memakan waktu yang berlebihan. Beberapa pekerjaan telah dilakukan untuk memungkinkan formulasi rekursif, meskipun keberhasilan di area ini terbilang terbatas.

Meskipun hasil sistem GP cenderung menjadi program seperti LISP, sistem GP tidak perlu diimplementasikan dalam LISP. Banyak sistem diimplementasikan dalam C atau C++. Representasi linearisasi dari pohon program dapat digunakan dan biaya overhead memori dinamis bersama dengan pengumpulan sampah yang mahal dapat dihindari. Efisiensi fungsi kebugaran layak mendapat perhatian khusus karena sering menjadi hambatan karena jumlah besar kali ia dipanggil selama setiap generasi. Sebuah makalah yang bagus yang membahas berbagai teknik implementasi dapat ditemukan di Advances in Genetic Programming (dikutip di bagian Bacaan Disarankan di bawah ini).

Seperti dalam paradigma pembelajaran mesin lain, seperti jaringan saraf, potensi untuk overfit pada data pelatihan (kasus uji GP) ada. Overfitting dapat terjadi ketika solusi secara efektif “menghafal” data, sehingga memberikan lebih sedikit dari tabel pencarian yang rumit. Cara sederhana untuk membantu menahan efek ini adalah melalui penggunaan faktor kesederhanaan. Faktor kesederhanaan biasanya merupakan pecahan kecil yang dikalikan dengan jumlah simpul dalam pohon program, hasilnya diintegrasikan ke dalam fungsi kebugaran. Ideanya adalah memberikan hadiah pada solusi yang lebih kecil, yang presumed lebih umum. Selain itu, Anda didorong untuk menggunakan teknik desain eksperimen yang tepat. Misalnya, jika Anda mencoba mengembangkan model untuk prediksi, ide bagus untuk membatasi evaluasi kebugaran pada subset data yang tersedia. Dengan cara ini, data yang tersisa dapat mengukur kinerja prediktif model yang dihasilkan.

Seperti yang terjadi dengan algoritma evolutif, GP tidak memberikan jaminan untuk menemukan solusi yang tepat atau bahkan solusi yang dapat diterima. Hasil dapat bervariasi sangat dari satu run ke run lain. Seringkali, proses secara premature konvergen pada minimum lokal. Kinerja sangat tergantung pada kompleksitas masalah, representasinya yang ditentukan oleh pilihan fungsi dan terminal, dan properti fungsi kebugaran.

 

Aplikasi untuk Pemrograman Genetik

Pemrograman genetik telah berhasil diterapkan untuk masalah yang muncul di area seperti:

 

Arah Masa Depan untuk Pemrograman Genetik

Bergantung pada kompleksitas masalah, beberapa run GP mungkin diperlukan untuk menemukan solusi yang dapat diterima, jika ada yang dapat ditemukan. Secara ideal, kita ingin GP “skala up” seiring bertambahnya kompleksitas masalah. Menemukan cara yang baik untuk mencapai tujuan ini adalah area penelitian yang aktif. Seperti dalam pemrograman konvensional, gagasan membangun representasi tingkat yang lebih tinggi melalui subrutin adalah satu cara untuk mendekati masalah ini. Di Genetic Programming II, Koza membahas metode yang dapat menemukan subrutin yang dapat digunakan kembali dan menyajikan hasil yang mendukung kemampuan program hierarkis, modular untuk menyelesaikan masalah yang lebih kompleks.

Seperti yang kita lihat, GP menggabungkan karakteristik swa-organisasi algoritma genetika dengan kekuatan representasi dan generalisasi S-expression. Keanggunan pendekatan ini menyederhanakan spesifikasi masalah menjadi menyediakan fungsi kebugaran spesifik domain dan kumpulan fungsi serta terminal yang tepat. Berlaku untuk berbagai masalah yang beragam, GP terus menjadi tanah subur untuk penelitian.

Masih dalam tahap awal, breakthrough di masa depan mungkin membawa kita satu langkah lebih dekat ke Graal Suci dari sistem yang mampu menulis program mereka sendiri.

 

Bacaan Disarankan


Robot industri

  1. Legako Tungsten-Tembung: Sifat Utama, Manufaktur, dan Aplikasi
  2. Tantalum: Sifat Utama dan Aplikasi Industri Beragam
  3. Titanium: Sifat Utama dan Aplikasi Dunia Nyata
  4. Kawat Titanium: Jenis, Sifat, dan Aplikasi Industri
  5. Kapasitor Tantalum: Karakteristik Utama & Aplikasi
  6. 13 Jenis Bahan Refraktori dan Aplikasi Industri Utama
  7. Molibdenum dan Legasi-nya: Aplikasi Utama dalam Pemrosesan Bahan
  8. Oksida Hafnium (HfO₂): Struktur, Sifat, dan Aplikasi Kunci
  9. Prototipe Cepat: Mempercepat Desain, Menghemat Biaya, dan Mendorong Inovasi
  10. Rem Industri Dijelaskan: Tujuan, Aplikasi, dan Pemeliharaan