Ch. Hafner 's Generalized Genetik Program (GGP)

Ikhtisar

Download dan jalankan

Contoh standar 

Analisis grafik dan prediksi nilai saham

Beberapa hasil

 

Ikhtisar

Pendekatan dan ekstrapolasi dari fungsi sederhana dan sangat menuntut pada saat yang sama. Terkenal ekspansi seri (seri Fourier, seri listrik, dll) memungkinkan untuk secara efisien perkiraan banyak fungsi yang dihadapi oleh para insinyur, tetapi mereka benar-benar berguna untuk ekstrapolasi hampir semua fungsi yang dikenal dalam selang waktu. Algoritma Genetika (GA), Programming genetik (GP), dan Evolusi Strategi (ES) pada dasarnya didasarkan pada pengamatan bahwa alam melakukan beberapa optimasi dengan beberapa strategi yang menarik. Meskipun algoritma GP asli John Koza ini memungkinkan untuk menemukan formula yang 1) sesuai dengan data dari fungsi yang diberikan cukup baik dan bahwa 2) memungkinkan ekstrapolasi, algoritma ini tidak kuat atau efisien.

Bersama dengan Jürg Fröhlich (Extended Pemrograman Genetik dan teknik optimasi lainnya) dan Hansueli Gerber ( Java dan Oberon versi dari algoritma GP tradisional), saya mengembangkan kode Generalized GP yang efisien dan kuat. Ide utama kode ini adalah perkiraan fungsi yang diberikan oleh ekspansi seri dengan sewenang-wenang fungsi dasar yang mengandung setidaknya satu parameter.Dengan demikian, kita memiliki 1) satu set parameter linear (amplitudo fungsi dasar) yang dapat dengan mudah dihitung dengan metode matriks, 2) satu set parameter nonlinier (terkandung dalam fungsi dasar) yang dapat dioptimalkan dengan teknik optimasi diketahui , 3) satu set fungsi dasar yang dipilih dan ditingkatkan dengan operasi genetik.

Salah satu fitur yang paling menarik dari GGP adalah kemampuannya untuk menemukan perkiraan dari suatu kumpulan data yang diberikan yang juga memungkinkan untuk memperoleh ekstrapolasi baik.Hal ini memungkinkan seseorang untuk sering mendapatkan baik prediksi time series , bahkan ketika masalah ini sakit-diajukan. Time series prediksi memiliki banyak aplikasi menarik dalam fisika, teknik, ekonomi, dll

 

Download dan jalankan

Download Demo Versi 1.2 Program Genetik Generalized (GGP) untuk platform Intel di bawah Windows NT / 95, yang terkandung dalam file terkompresi GGP-DEMO.ZIP (ukuran 579k). Ketika Anda uncompress GGP-DEMO dengan WinZip , Anda akan mendapatkan file GGP.EXE executable (ukuran 1.57M). Anda dapat menempatkan GGP.EXE dalam direktori apapun dan menjalankannya sebagai file EXE. 

Untuk menjalankan GGP, menggunakan "Komputer saya" atau "Explorer" untuk menavigasi ke GGP.EXE dan klik ganda itu. Anda juga dapat membuat shortcut dan klik dua kali ikon shortcut. GGP berisi jendela grafis dengan fungsi untuk dianalisis dan jendela info yang berisi beberapa informasi tentang prosedur standar untuk menggunakan versi GGP Demo. Ikuti petunjuk di jendela info. Untuk deskripsi singkat, tetapi lebih rinci (termasuk cara untuk memprediksi NASDAQ, indeks lainnya, dan nilai-nilai saham), klik di sini .

Untuk informasi lebih lanjut, Anda juga dapat men-download makalah tentang GGP dan setara metode ( dokumen Word GGPPAPER.DOC, ukuran 3750k, yang terkandung dalam GGPPAPER.ZIP file zip, ukuran 218k atau PostScript file yang ggppaper.ps, ukuran 7808k, yang terkandung dalam zip mengajukan GGPPS.ZIP, ukuran 519k).

Default e xample

John Koza telah disajikan contoh berikut: Fungsi yang diberikan adalah y1=x*x/2. fungsi ini didekati dengan formula yang terdiri dari operasi dasar +,-,*,/, dua jenis terminal, variabel x dan konstanta acak. Karena fungsi yang diberikan sangat sederhana, maka tidak mengherankan bahwa algoritma GP Koza ini menemukannya.

Jika kita mengganti y1 dengan rumus y2 lebih sederhana = 2.1, algoritma GP menjadi sangat tidak efisien karena memiliki kesulitan untuk membangun jumlah 2.1 dengan angka acak dan operasi dasar.Masalah ini dapat dengan mudah dihapus dengan menerapkan parameter p nonlinear sebagai jenis terminal ketiga. Jika p terkandung dalam formula, nilainya harus ditentukan oleh algoritma optimasi parameter nonlinier.

y3=sin(3.1416*x)/(3.1416*x) tidak jauh lebih rumit dari y1 dan y2, tetapi memiliki beberapa sifat yang dapat menyesatkan untuk algoritma GP. Pertama-tama, fungsi dosa harus ditambahkan ke operasi dasar dari algoritma GP karena membangun dosa menggunakan +,-,*,/ terlalu rumit. Jika Anda menonton di y3 dalam interval x=-1...+1, Anda mendapatkan kesan bahwa cos (3.1416*x) tidak jauh.Tentu saja, Anda perlu tahu hasilnya, wen Anda memutuskan untuk hanya menambah dosa dengan fungsi dasar. Jika tidak, Anda mungkin lebih suka cos. Jika Anda menambahkan kedua, cos dan sin, cos lebih bugar daripada dosa karena memiliki simetri yang sama y3. Selain itu, divisi di y3 menyebabkan masalah numerik x mendekati nol. masalah ini dihindari dengan pelaksanaan operasi dilindungi. Namun, kedua divisi dan fakta bahwa y3 terlihat lebih seperti cos daripada seperti dosa yang menyesatkan - bahkan untuk algoritma GP diperpanjang yang mencakup optimasi parameter. Dengan C++ pelaksanaan algoritma GP Koza, kami tidak dapat menemukan y3 (didefinisikan dalam interval x = 0 ... 2) dengan populasi 500 orang (formula) dalam 200 generasi. Kode GGP bekerja dengan populasi hanya 100 individu, menggantikan hanya 50 dari mereka untuk menghasilkan generasi baru, dan menemukan hasil yang bermanfaat dalam 10-30 generasi, bahkan jika hanya 3-5 perhitungan kebugaran dilakukan untuk optimasi parameter. Tergantung pada awal (random) populasi dan parameter sistem, GGP perlu 500-5000 perhitungan kebugaran, sedangkan GP asli membutuhkan mungkin jauh lebih dari 100'000 perhitungan kebugaran. Perhatikan bahwa kode tidak menemukan apa y3, tetapi perkiraan yang sangat baik yang memungkinkan ekstrapolasi sangat baik bahkan untuk x menuju tak terhingga. Tiga solusi yang khas adalah:

7.9513E3*sin(sin(e*1.4727E-5)*sin(Pi*x))/x)
-87.339*sin(sin(2*1.5702)*sin(Pi*x))/(sin(1.5702*e)*x/e)
1.0004*sim(3.1389*x)/(Pi*x)

Perhatikan bahwa semua solusi ini lebih rumit daripada y3 itu sendiri. Meskipun demikian, ini adalah perkiraan yang sangat baik dan ekstrapolasi bahkan untuk x besar. 

y3 adalah fungsi default untuk dianalisis dengan Demo Version 1.2 dari GGP. Perhatikan bahwa versi ini memungkinkan Anda untuk grafis menonton pencarian GGP, tetapi tidak memungkinkan Anda untuk memvisualisasikan formula yang dibuat oleh GGP dan juga tidak memungkinkan Anda untuk mengubah pengaturan parameter pencarian GGP.

Analisis grafik dan prediksi nilai saham

Perhatikan bahwa analisis grafik adalah tugas yang rumit untuk spesialis. GGP mungkin membantu karena tidak menderita dari harapan dan emosi lainnya, tetapi sering grafik tidak sederhana tidak memberikan informasi yang cukup dengan akurasi yang cukup untuk memperoleh prediksi yang baik. Secara teoritis, GGP dapat digunakan untuk jangka pendek maupun untuk prediksi jangka panjang, tetapi tampaknya ada lebih banyak suara pada grafik jangka pendek dari pada grafik jangka panjang. Oleh karena itu, GGP prediksi jangka panjang biasanya jauh lebih dapat diandalkan. Untuk penjelasan singkat bagaimana memprediksi NASDAQ, indeks lainnya, dan nilai-nilai saham, klik di sini .

Beberapa hasil

Anda dapat menonton beberapa plot yang menunjukkan bagaimana GGP bekerja .

Kembali ke Ch. Halaman rumah Hafner ini

Kembali ke halaman rumah elektromagnetik Kode Desainer