11.08.2023
Rumah / Internet / Jaringan saraf, algoritma genetika dan sistem fuzzy. Jaringan saraf, algoritme genetik, dan sistem fuzzy (500,00 rubel). Logika fuzzy dalam pengontrol PID

Jaringan saraf, algoritma genetika dan sistem fuzzy. Jaringan saraf, algoritme genetik, dan sistem fuzzy (500,00 rubel). Logika fuzzy dalam pengontrol PID

1

Artikel ini menjelaskan varian membangun struktur algoritma genetika, serta kemungkinan menggunakan algoritma tersebut dalam masalah pembelajaran. jaringan saraf. Artikel ini menganalisis dan menyoroti keunggulan algoritma genetika dalam mencari solusi optimal dibandingkan dengan metode klasik. Skema untuk membangun setiap langkah dari algoritma genetik dijelaskan secara rinci, termasuk pengoperasian berbagai operasi mutasi, seperti mutasi berbasis inkremen dan operator mutasi klasik. Selain itu, diusulkan operator baru mutasi, yang mencakup algoritme operasi operator mutasi yang dijelaskan di atas. Juga, skema untuk merepresentasikan data jaringan saraf tiruan dalam bentuk materi genetik diberikan untuk kemungkinan pemrosesan data lebih lanjut menggunakan algoritme genetik, termasuk skema untuk mengubah data yang disimpan dalam matriks menjadi satu kromosom, yang mengurangi jumlah iterasi dalam proses pelatihan jaringan.

algoritma genetika

pelatihan jaringan saraf

1. Aksenov S.V., Novoseltsev V.B. Organisasi dan penggunaan jaringan saraf (metode dan teknologi) / ed. ed. V.B. Novoseltsev. - Tomsk: Rumah Penerbitan NTL, 2006. - 128 hal.

2. Batyrshin I.Z. Sistem hibrida kabur. Teori dan praktek / ed. N.G. Yarushkina. - M. : FIZMATLIT, 2007. - 208 hal.

3. Gladkov L.A. Algoritma genetika / L.A. Gladkov, V.V. Kureichik, V.M. Kureichik. - M. : FIZMATLIT, 2006. - 320 hal.

4. Osovsky S. Neural network untuk pemrosesan informasi / per. dari Polandia I.D. Rudinsky. - M. : Keuangan dan statistik, 2002. - 344 hal.

Algoritma genetika dapat dianggap sebagai cara yang paling dapat diterima untuk menyesuaikan koefisien bobot jaringan syaraf tiruan. Hal ini disebabkan pada tahap awal sama sekali tidak ada informasi tentang arah pergerakan dalam hal pengaturan bobot matriks. Dalam kondisi ketidakpastian, metode evolusi, termasuk algoritme genetika, memiliki peluang tertinggi untuk mencapai hasil yang diinginkan. Algoritma genetika klasik beroperasi dengan sistem bilangan biner, meskipun akhir-akhir ini sering ditemukan pekerjaan dimana operator algoritma genetika melakukan operasi pada sekumpulan bilangan real. Ini memungkinkan Anda untuk memperluas kemungkinan menggunakan algoritme yang dijelaskan secara signifikan.

Pertimbangkan model matematika dari masalah yang diajukan. Dan vektor X dengan dimensi 256, yang merupakan gambar yang disandikan dari karakter yang dapat dikenali. Ada juga vektor Y dengan dimensi 10, yang mencerminkan hasil pengenalan yang diperlukan, yang menunjukkan bahwa simbol tersebut milik sampel referensi. Kita perlu menemukan matriks bobot W, yang elemennya adalah bilangan real di segmen tersebut sehingga berlaku persamaan:

X* W=Y (1)

Perlu untuk menyesuaikan matriks bobot W menggunakan algoritma genetika. Dalam kerangka soal yang dipecahkan, matriks yang ditinjau memiliki dimensi sebagai berikut: banyaknya baris adalah 10, yaitu semua karakter yang menggambarkan angka Arab; jumlah kolom ditentukan oleh ukuran keakraban yang dialokasikan untuk setiap karakter, 256 kolom.

Dari segi kejelasan dan kemudahan pemahaman, setiap kolom matriks bobot harus dianggap sebagai kromosom, yang akan mengarah pada keberadaan 256 kromosom, yang bersama-sama akan mencerminkan setiap individu. Namun, dalam implementasi praktis, lebih nyaman menggunakan lebih banyak struktur sederhana, meskipun kurang jelas. Hal ini disebabkan oleh fakta bahwa agak sulit untuk mengimplementasikan operasi persilangan dan mutasi dengan adanya beberapa kromosom. Setiap individu dalam algoritma genetika yang dikembangkan dapat direpresentasikan hanya sebagai satu kromosom, yang sangat menyederhanakan implementasi perangkat lunak pada komputer. Ini dapat dicapai dengan cara berikut. Kromosom akan dimulai dari kolom pertama matriks bobot, dan setiap kolom berikutnya hanya akan ditambahkan ke ujung kromosom "tunggal" yang sudah ada. Metode ini diilustrasikan pada Gambar 1.

Beras. 1. Transformasi matriks bobotW ke vektor beratay.

Algoritma genetika klasik terdiri dari sejumlah langkah terpenting. Padahal, tahapan-tahapan tersebut dapat disusun secara kronologis.

  1. INISIALISASI - pembentukan populasi awal.
  2. PENILAIAN KEBUGARAN - perhitungan fungsi kebugaran untuk setiap individu (dalam kasus kami, kromosom).
  3. SELEKSI - seleksi berdasarkan penilaian kebugaran kromosom terkuat, yang akan diberikan hak untuk berpartisipasi dalam operasi persilangan.
  4. CROSSINGOVER - persilangan dua individu.
  5. MUTASI - perubahan artifisial yang disengaja dari gen tertentu dalam kromosom individu.
  6. PEMBENTUKAN POPULASI BARU - pengurangan jumlah individu berdasarkan penilaian kebugaran, bersamaan dengan pemilihan individu "terbaik".
  7. MEMERIKSA KRITERIA BERHENTI DARI ALGORITMA - jika kondisi pencarian yang diperlukan tercapai - keluar, jika tidak - lanjutkan ke langkah No.3.
  8. EKSTRAKSI SOLUSI TERBAIK - individu dengan nilai fungsi kebugaran maksimum dianggap sebagai solusi terbaik.

Semua tahapan yang dijelaskan benar-benar adil dalam kerangka masalah yang sedang diselesaikan. Implementasi praktis dari langkah pertama dari setiap algoritma genetika dalam banyak kasus tidak lebih dari inisialisasi acak. Setiap gen dari setiap kromosom diberi nilai acak dari interval nilai yang diperbolehkan. Dengan demikian, saat menyesuaikan matriks bobot W, setiap gen akan menerima informasi genetik berupa nilai acak dalam interval . Implementasi perangkat lunak dari metode inisialisasi ini adalah yang paling sederhana dan memiliki kelebihan dan kekurangannya sendiri. Keuntungannya adalah sebagai berikut.

  • Tidak diperlukan algoritme tambahan.
  • Inisialisasi cepat dan tidak memuat komputer.
  • Mengurangi kemungkinan mencapai optimal lokal.

Sebagai kerugian, kami dapat mencatat kurangnya akumulasi pengetahuan tentang koefisien yang dapat disesuaikan dalam algoritme yang dikembangkan. Dengan demikian, sebagai hasil dari tahap inisialisasi, terdapat populasi solusi yang siap pakai. Terlepas dari absurditasnya, kita dapat berbicara tentang keberadaan solusi pada tahap pertama. Setelah mendapatkan populasi awal, dilakukan transisi ke tahap kedua - penilaian kebugaran.

Penilaian kebugaran individu dalam suatu populasi terdiri dari menghitung nilai fungsi kebugaran untuk setiap anggota populasi. Dan semakin tinggi nilai ini, semakin individu tersebut memenuhi persyaratan dari masalah yang sedang dipecahkan. Dalam kerangka masalah yang dipecahkan, matriks bobot merupakan bagian dari jaringan saraf yang melakukan pengenalan pola. Dan karenanya, algoritme genetik dijalankan pada tahap pelatihan jaringan saraf. Dengan kata lain, perlu membawa matriks bobot ke bentuk di mana kesalahan pengenalan gambar referensi akan minimal. Dengan demikian, fungsi fitness mengevaluasi error pengenalan dari setiap gambar referensi, dan semakin kecil error, semakin tinggi nilai fungsi fitness. Tugasnya adalah meminimalkan kesalahan pengenalan. Untuk melakukan ini, Anda perlu membandingkan vektor yang dihasilkan Y′ dengan sampel referensi Y.

Tahap seleksi melibatkan pemilihan individu-individu yang materi genetiknya akan berpartisipasi dalam pembentukan populasi solusi berikutnya, yaitu. dalam menciptakan generasi penerus. Pilihan yang dijelaskan dibuat berdasarkan prinsip seleksi alam, yang karenanya individu dengan nilai fungsi kebugaran tertinggi memiliki peluang maksimum. Ada cukup banyak metode seleksi. Salah satu yang paling terkenal dan sering digunakan adalah metode “rolet”. Nama ini secara intuitif membantu untuk memahami prinsip-prinsipnya. Setiap individu menerima sektor tertentu pada "roda", yang ukurannya secara langsung bergantung pada nilai fungsi kebugaran.

Ini menyiratkan bahwa semakin tinggi nilai fungsi kebugaran, semakin besar ukuran sektor pada "roda roulette". Jelas, semakin besar sektornya, semakin tinggi kemungkinan "memenangkan" individu yang bersangkutan. Dan akibatnya, probabilitas untuk memilih individu tertentu ternyata sebanding dengan nilai fungsi fitnessnya. Penggunaan metode "rolet" sering mengarah pada konvergensi algoritme yang prematur, yang berarti bahwa individu terbaik mulai mendominasi populasi, tetapi bukan yang optimal. Setelah beberapa generasi, populasi hampir seluruhnya terdiri dari salinan individu-individu terbaik. Namun, sangat tidak mungkin solusi yang dicapai akan optimal, karena populasi awal dihasilkan secara acak dan hanya mewakili sebagian kecil dari ruang pencarian. Untuk mencegah konvergensi prematur dari algoritma genetik, penskalaan fungsi kebugaran digunakan. Penskalaan fungsi kebugaran memungkinkan untuk mengecualikan situasi ketika rata-rata dan individu terbaik mulai membentuk jumlah keturunan serupa yang sama di generasi berikutnya, yang merupakan fenomena yang sangat tidak diinginkan. Perlu dicatat bahwa penskalaan juga mencegah kasus ketika, terlepas dari heterogenitas populasi yang signifikan, nilai rata-rata fungsi kebugaran sedikit berbeda dari maksimum. Jadi, penskalaan fungsi kebugaran tidak lain adalah transformasi bentuknya. Ada tiga transformasi utama: linear, power dan sigma-cut. Algoritma yang dikembangkan menggunakan transformasi sigma-cutoff.

, (2)

Di mana A- sejumlah kecil, biasanya dari 1 sampai 5; - nilai rata-rata fungsi fitness untuk populasi; δ - deviasi standar populasi. Jika nilai yang diperoleh dari fungsi yang ditransformasikan negatif, nilainya disamakan dengan 0.

Dimungkinkan juga untuk memodifikasi metode seleksi ini sampai batas tertentu atau membangun seleksi berdasarkan sintesis beberapa metode sekaligus.

Langkah selanjutnya dalam algoritma genetika adalah rekombinasi atau pindah silang. Setiap bagian dari kromosom individu mengandung muatan informasi tertentu. Tujuan dari rekombinasi adalah untuk mendapatkan kombinasi celah kromosom sedemikian rupa sehingga individu tersebut akan mewakili solusi terbaik yang mungkin dengan materi genetik saat ini. Akibatnya, tugas utama operasi persilangan adalah untuk mendapatkan fitur paling fungsional yang ada di set solusi awal. Mekanisme serupa untuk memecahkan masalah optimisasi, berbeda dengan metode yang ada, tidak mengganti satu solusi dengan yang lain, tetapi memperoleh solusi baru yang mungkin melalui pertukaran informasi di antara mereka.

Crossover adalah operator paling penting dari algoritma genetika, karena dengan bantuan operator crossover informasi dipertukarkan antar solusi. Keturunannya mengandung kombinasi ciri-ciri khusus dari kedua orang tuanya. Efisiensi algoritma genetika berbanding lurus dengan efisiensi operasi crossover. Selain itu, kinerja algoritma genetika bergantung pada keberhasilan persilangan di tempat pertama. Dalam kerangka masalah yang dipecahkan, operator crossover yang dipesan diimplementasikan. Persilangan terurut melakukan transformasi rutin langkah demi langkah dari materi genetik, mendekati solusi optimal.

Pada ara. 2 menunjukkan proses mendapatkan individu baru dengan menggunakan persilangan terurut. Ada dua kromosom parental: Vw1 dan Vw2. Materi genetiknya adalah bilangan real dari 0 sampai 1. Persilangan terurut bekerja sebagai berikut. Awalnya, "titik potong" ditentukan secara acak. Pada tahap selanjutnya, anak pertama dari New_Vw1 mewarisi bagian kiri dari kromosom induk Vw1. Pengisian gen yang tersisa dari kromosom baru dilakukan karena informasi yang disimpan oleh induk kedua Vw2. Algoritme memindai kromosom Vw2 sejak awal dan mengekstraksi gen yang berbeda dari gen yang sudah ada dalam keturunan lebih dari e = 0,02. Nilai kecil e ditentukan dalam algoritme untuk menentukan "keterkaitan" gen. Dengan setiap langkah selanjutnya, dan terutama pada tahap akhir algoritme, masuk akal untuk mengurangi nilai dari nilai ini untuk mencapai hasil yang lebih akurat. Prosedur serupa dilakukan saat mendapatkan anak kedua dari New_Vw2. Anak kedua New_Vw2 mewarisi sisi kiri dari kromosom induk Vw2. Pengisian gen yang tersisa dari kromosom yang dihasilkan dilakukan karena informasi yang ada di induk kedua Vw1.

Beras. 2. Prinsip operasi perintah penyeberangan.

Algoritme menganalisis kromosom Vw1 dari gen pertama dan melakukan ekstraksi gen berurutan yang berbeda dari gen yang sudah ada di keturunan lebih dari e = 0,02. Sebagai hasil kerja setiap operator penyeberangan, muncul dua individu baru dalam populasi. Faktor crossover digunakan untuk mengontrol jumlah operasi crossover. Kk, yang menentukan proporsi anak yang dihasilkan pada setiap iterasi. Jumlah keturunan ditentukan dengan rumus berikut:

Hitung p =bulat(Ukuran hal* Kk)*2, (3)

Di mana Ukuran hal- ukuran populasi, Hitung p- jumlah keturunan yang dihasilkan, bulat adalah operasi pembulatan.

Rasio crossover yang tinggi Kk memungkinkan Anda untuk menambah jumlah area ruang pencarian dan mengurangi risiko jatuh ke optimal lokal, namun, nilai yang terlalu besar dari parameter ini akan menyebabkan peningkatan waktu kerja algoritme, serta berlebihan eksplorasi area yang tidak menjanjikan dari ruang pencarian.

Langkah selanjutnya dalam algoritma genetika adalah mutasi. Mutasi adalah perubahan yang mengarah pada manifestasi sifat-sifat baru secara kualitatif dari materi genetik. Mutasi terjadi secara acak dan menyebabkan perubahan mendadak pada struktur genotipe.

Sebagai bagian dari pemecahan masalah pengoptimalan, mutasi gen adalah yang paling penting, yang dalam banyak kasus memengaruhi satu atau lebih gen. Mutasi dapat terlihat dengan cara apa pun, apakah itu pertukaran gen dengan posisinya atau menyalin nilai gen lain, dll. Dalam setiap algoritma genetika, perlu ditentukan pilihan jenis mutasinya. Dalam algoritme genetika yang sedang dipertimbangkan, gen mengandung bilangan real dari 0 hingga 1. Menurut ini, operator mutasi harus membuat perubahan spesifik pada materi genetik, yaitu. mengubah nilai gen tertentu tanpa bergantung pada gen yang sudah ada. Inti dari operator mutasi yang dikembangkan adalah sebagai berikut. Dalam kromosom yang dipelajari, sejumlah gen acak juga diisolasi secara acak. Tingkat mutasi Km menentukan intensitas mutasi. Ini menentukan proporsi gen yang bermutasi dalam iterasi saat ini, berdasarkan jumlah totalnya. Jika tingkat mutasi terlalu rendah, maka akan muncul situasi di mana banyak gen yang berguna tidak akan ada dalam populasi. Pada saat yang sama, penggunaan nilai koefisien mutasi yang besar akan menyebabkan banyak gangguan acak dan secara signifikan meningkatkan waktu pencarian. Keturunan tidak akan lagi menyerupai induknya, algoritme tidak lagi dapat belajar berdasarkan pelestarian sifat turun-temurun. Transformasi diterapkan pada gen yang dipilih, yang menyebabkan nilai gen saat ini berubah dalam jumlah kecil. Nilai dipilih sedemikian rupa setelah mengubah nilai Saya- gen, dia berada di segmen tersebut.

Beras. 3. Kenaikan berdasarkan mutasi acak.

Pada ara. 3 menunjukkan bagaimana mutasi dilakukan dengan menggunakan inkremen. Gen dengan nomor 2 dan 45 berhasil mendapatkan nilai baru, yang akan menyebabkan perubahan indikasi fungsi fitness dari individu yang bermutasi. Sedangkan mutasi gen nomor 6 tidak dapat diterima dan karenanya diabaikan. Penggunaan mutasi β-increment memungkinkan untuk memperkenalkan materi genetik baru ke dalam populasi. Ini akan mengarah pada peningkatan ruang pencarian, yang diperlukan untuk pencarian yang efisien untuk yang optimal. Tentu saja, masuk akal untuk menggunakan operator mutasi klasik, yang didasarkan pada perubahan urutan gen secara acak. Ini juga mengarah pada hasil yang cukup baik pada tahap awal algoritma genetika. Saat memecahkan masalah yang sedang dipertimbangkan, operator mutasi multipoint juga digunakan. Algoritma secara acak memilih beberapa gen sesuai dengan faktor intensitas mutasi, yang nilainya kemudian berubah dengan nilai gen tetangga. Pekerjaan operator mutasi multipoint klasik ditunjukkan pada gambar. 4.

Penggunaan beberapa jenis operator mutasi dalam satu algoritma sekaligus memungkinkan untuk dilakukan pencarian yang efisien solusi optimal. Hal ini memungkinkan untuk mendapatkan hasil yang baik dalam waktu singkat, serta untuk mengidentifikasi "lingkungan solusi" yang paling cocok untuk dipelajari.

Operator mutasi diterapkan pada keturunan individu yang diperoleh setelah operasi persilangan. Individu dengan mutasi tetap berada dalam populasi sampai dimulainya tahap "pembentukan populasi baru". Jumlah individu yang bermutasi ditentukan oleh rumus:

,

Di mana Kmk- koefisien mutasi klasik; K m δ- tingkat mutasi berdasarkan δ- offset; Km- tingkat mutasi total; Hitung m- jumlah individu yang mengalami mutasi; Hitung p- jumlah keturunan; bulat adalah operasi pembulatan.

Beras. 4. Operator mutasi multipoint klasik.

Dapat dilihat dari rumus bahwa algoritma memungkinkan, dalam persentase, untuk mengatur keseimbangan antara operator mutasi multipoint klasik dan mutasi berdasarkan D- kenaikan. Dengan menggunakan fungsi ini, Anda dapat menyesuaikan algoritme dengan kondisi masalah tertentu. Dengan peningkatan proporsi menggunakan operator mutasi klasik, ketelitian pencarian di sekitar solusi terbaik berdasarkan materi genetik saat ini meningkat, dan dengan peningkatan proporsi mutasi berdasarkan -increment, pencarian total ruang bertambah sesuai dan komposisi gen populasi diperbarui.

Tahap selanjutnya dari algoritma genetika yang dikembangkan adalah pembentukan populasi baru. Berapa banyak populasi telah tumbuh ditentukan oleh tingkat mutasi keseluruhan Km dan rasio silang Kk. Secara umum, jumlah populasi saat ini dihitung dengan menggunakan rumus berikut:

Ukuran p =Ukuran P+Hitung +Hitung m, (5)

Di mana Hitung p- jumlah keturunan Hitung m- jumlah individu yang diperoleh sebagai hasil mutasi, dan Ukuran hal- ukuran populasi.

Tahap pembentukan populasi baru dirancang untuk mengembalikan populasi ke nilai aslinya. Signifikansi fungsi kebugaran individu - orang tua yang sudah ada dalam populasi diketahui. Algoritma mengevaluasi kesesuaian individu – keturunan yang diperoleh sebagai hasil dari operasi pindah silang, serta penilaian individu yang diperoleh sebagai hasil dari operator mutasi. Berdasarkan nilai fungsi fitness yang diperoleh untuk setiap individu populasi baru, maka individu dengan nilai fungsi fitness terendah akan dihilangkan. Algoritma mengimplementasikan tugas ini dengan penghapusan berurutan individu dari nilai minimal fungsi fitness sampai populasi kembali ke nilai awalnya. Jumlah individu yang "mati" dihitung dengan rumus:

Hitung d =Hitung +Hitung m, (6)

Di mana Hitung d- jumlah individu yang "mati", Hitung p- jumlah keturunan yang diterima, Hitung m- jumlah individu yang diperoleh dengan menggunakan operator mutasi.

Pada tahap pembentukan populasi baru juga dilakukan pencarian solusi terbaik- individu dengan nilai maksimum dari fungsi fitness. Operasi ini dilakukan setelah ukuran populasi diatur ke nilai awal. Setelah memilih individu terbaik, algoritme mentransfer kendali proses ke tahap berikutnya - memeriksa penghentian algoritme.

Penentuan kriteria penghentian untuk algoritma genetika secara langsung bergantung pada kekhususan masalah yang dipecahkan dan informasi yang tersedia tentang objek pencarian. Dalam kebanyakan masalah optimasi, dimana nilai optimal dari fungsi fitness diketahui, algoritma dapat dihentikan ketika individu terbaik mencapai nilai ini, mungkin dengan beberapa kesalahan. Masalah yang dipecahkan sebenarnya tidak memiliki informasi tentang nilai optimal dari fungsi fitness. Dengan kata lain, algoritme berupaya memaksimalkan fungsi kebugaran, mengingat kesalahan pengenalan cenderung nol. Oleh karena itu, algoritme yang dibuat mengimplementasikan mekanisme penghentian pencarian, berdasarkan tidak adanya perubahan fungsi fitness dari individu terbaik selama sejumlah iterasi tertentu, yang ditetapkan sebagai parameter algoritme genetika. Selain itu, algoritme menyediakan penghentian pekerjaannya setelah sejumlah iterasi tertentu, yang juga ditetapkan sebagai parameter. Jika kondisi berhenti terpenuhi, maka keluaran algoritma sebagai solusi optimal yang diwakili oleh individu terbaik ditentukan pada tahap pembentukan populasi baru. Jika kondisi tidak terpenuhi, maka algoritma mentransfer kontrol ke tahap pemilihan.

Jadi, sebagai hasil kerja algoritme genetika, diperoleh sekumpulan koefisien bobot yang memastikan operasi jaringan saraf yang benar. Perlu juga dicatat fakta bahwa penggunaan operator mutasi khusus memungkinkan untuk mengurangi waktu pelatihan jaringan. Satu set pelatihan dari 180 elemen dipilih untuk pelatihan. Waktu pelatihan pada set ini menggunakan algoritma genetika yang dijelaskan menggunakan mutasi berbasis inkremen, jaringan fuzzy Wang-Mendel adalah 2 menit. 50 detik, pelatihan menggunakan algoritme menggunakan operator mutasi multipoin klasik berlangsung selama 3 menit. 10 detik, dan penggunaan operator mutasi hibrida memungkinkan untuk mengurangi waktu pelatihan menjadi 1 menit. 20 detik. Dengan demikian, algoritma genetika yang diperoleh memungkinkan untuk mengurangi waktu pencarian solusi terbaik dalam kerangka tugas.

CROSSINGOVER - persilangan dua individu.

Tautan bibliografi

Mishchenko V.A., Korobkin A.A. PENGGUNAAN ALGORITMA GENETIK DALAM MENGAJAR JARINGAN SYARAF SYARAF // Masalah sains dan pendidikan modern. - 2011. - No.6.;
URL: http://science-education.ru/ru/article/view?id=5138 (tanggal akses: 23/03/2020). Kami menyampaikan kepada Anda jurnal-jurnal yang diterbitkan oleh penerbit "Academy of Natural History"

Pengontrol PID yang dijelaskan di atas memiliki indikator kinerja yang buruk saat mengontrol sistem non-linear dan kompleks, serta saat tidak ada cukup informasi tentang objek kontrol. Karakteristik pengontrol dalam beberapa hal dapat diperbaiki dengan menggunakan metode logika fuzzy, jaringan syaraf tiruan dan algoritma genetika. Metode yang terdaftar disebut "soft-computing" di luar negeri, menekankan perbedaannya dari "hard-computing", yang terdiri dari kemampuan untuk beroperasi dengan data yang tidak lengkap dan tidak akurat. Kombinasi dari metode-metode di atas (pengontrol fuzzy-PID, neuro-PID, neuro-fuzzy-PID dengan algoritma genetika) dapat digunakan dalam satu pengontrol.

Kerugian utama dari pengontrol jaringan fuzzy dan saraf adalah kompleksitas konfigurasinya (menciptakan basis aturan fuzzy dan melatih jaringan saraf).

5.7.1. Logika fuzzy dalam pengontrol PID

Inferensi fuzzy dilakukan sebagai berikut. Mari kita asumsikan bahwa area perubahan kesalahan dibagi menjadi set , area perubahan tindakan kontrol - menjadi set, dan dengan bantuan seorang ahli dimungkinkan untuk merumuskan aturan berikut untuk pengoperasian pengontrol [Astrom]:

Aturan 1: jika = dan = , maka =

Aturan 2: jika = dan = , maka =

Aturan 3: jika = dan = , maka =

Aturan 4: jika = dan = , maka =

Aturan 5: jika = dan = , maka =

Aturan 6: jika = dan = , maka =

Aturan 7: jika = dan = , maka =

Aturan 8: jika = dan = , maka =

Aturan 9: jika = dan = , maka = .

Aturan ini sering ditulis dalam bentuk tabel yang lebih kompak (Gambar 5.91).

Dengan menggunakan aturan, Anda bisa mendapatkan nilai variabel kontrol pada keluaran pengontrol fuzzy. Untuk melakukannya, Anda perlu mencari fungsi keanggotaan dari variabel ke himpunan yang terbentuk sebagai hasil dari melakukan operasi inferensi pada himpunan yang termasuk dalam sistem aturan (5.118).

e

Beras. 5.91. Representasi aturan fuzzy dalam bentuk tabel

Operasi "DAN" dalam aturan (5.118) sesuai dengan perpotongan himpunan, dan hasil penerapan semua aturan sesuai dengan operasi penyatuan himpunan [Rutkovskaya]. Fungsi keanggotaan untuk irisan dua himpunan, misalnya, dan (lihat Aturan 1) ditemukan sebagai [Rutkovskaya]

Fungsi keanggotaan yang diperoleh dengan irisan atau gabungan dari himpunan dapat didefinisikan cara yang berbeda, tergantung pada arti dari masalah yang sedang dipecahkan. Dalam pengertian ini, teori himpunan fuzzy itu sendiri juga kabur. [Rutkowska] memberikan 10 definisi yang berbeda dari fungsi keanggotaan untuk perpotongan himpunan, tetapi tidak menyebutkan mana yang harus dipilih untuk memecahkan masalah tertentu. Secara khusus, mereka menggunakan operasi yang lebih mudah dipahami untuk menemukan fungsi keanggotaan dalam kasus irisan dan gabungan himpunan, yang memiliki analogi dengan aturan perkalian dan penambahan probabilitas:

Namun, penggunaan dua metode pertama untuk mencari fungsi keanggotaan biasanya lebih disukai, karena sambil mempertahankan sebagian besar aturan yang dikembangkan untuk set biasa [Uskov].

Fungsi keanggotaan untuk setiap himpunan yang termasuk dalam variabel fuzzy dalam aturan (5.118) diperoleh dalam bentuk [Rutkovskaya]

Di sini masing-masing dari 9 persamaan sesuai dengan salah satu aturan (5.118). Fungsi keanggotaan yang dihasilkan dari tindakan kontrol , diperoleh setelah menerapkan semua 9 aturan, ditemukan sebagai gabungan dari fungsi keanggotaan semua aturan:

Sekarang fungsi keanggotaan yang dihasilkan dari tindakan kontrol telah diperoleh, muncul pertanyaan, nilai spesifik apa dari tindakan kontrol yang harus dipilih. Jika kita menggunakan interpretasi probabilistik dari teori himpunan fuzzy, maka menjadi jelas bahwa nilai tersebut dapat diperoleh dengan analogi dengan ekspektasi matematis dari aksi kontrol dalam bentuk:

.

Metode defuzzifikasi ini adalah yang paling umum, tetapi bukan satu-satunya.

Untuk membangun kontroler fuzzy, hukum kontrol P, I, PI dan PD PD+I, PI+D dan PID biasanya digunakan [Mann ]. Sinyal error, kenaikan error, kuadrat error, dan integral error [Mann ] digunakan sebagai sinyal input untuk sistem inferensi fuzzy. Implementasi kontroler PID fuzzy menimbulkan masalah karena harus memiliki tabel aturan tiga dimensi sesuai dengan tiga suku dalam persamaan kontroler PID, yang sangat sulit untuk diselesaikan menggunakan jawaban pakar. Sejumlah besar struktur pengontrol fuzzy mirip PID dapat ditemukan di artikel [Mann].

Penyetelan akhir dari pengontrol fuzzy atau penyetelan yang mendekati optimal masih merupakan tugas yang sulit. Untuk melakukan ini, algoritme pembelajaran style="color:red"> dan metode pencarian genetik digunakan, yang membutuhkan sumber daya komputasi dan waktu yang besar.

Menggunakan Logika Fuzzy untuk Menyesuaikan Penguatan PID

Penyesuaian pengontrol yang dilakukan dengan metode yang dijelaskan di bagian "Perhitungan parameter" dan "Penyetelan dan adaptasi otomatis" tidak optimal dan dapat ditingkatkan dengan penyetelan lebih lanjut. Penyetelan dapat dilakukan oleh operator berdasarkan aturan (lihat bagian "Penalaan manual berdasarkan aturan") atau secara otomatis, menggunakan blok logika fuzzy (Gbr. 5.92). Blok logika fuzzy (fuzzy block) menggunakan dasar aturan penyesuaian dan metode inferensi fuzzy. Fuzzy tuning mengurangi overshoot, mengurangi settling time, dan meningkatkan kekokohan pengontrol PID [Yesil ].

Proses penyetelan otomatis pengontrol menggunakan blok logika fuzzy dimulai dengan pencarian perkiraan awal koefisien pengontrol. Ini biasanya dilakukan dengan metode Ziegler-Nichols, berdasarkan periode osilasi alami dalam sistem tertutup dan gain loop. Selanjutnya, kami merumuskan fungsi kriteria yang diperlukan untuk pencarian nilai optimal menyetel parameter dengan metode optimisasi.

Beberapa langkah [Hsuan ] digunakan dalam proses penyetelan pengontrol. Pertama, rentang sinyal input dan output dari unit autotuning, bentuk fungsi keanggotaan dari parameter yang diinginkan, aturan inferensi fuzzy, mekanisme inferensi, metode defuzzifikasi, dan rentang faktor skala yang diperlukan untuk mengubah variabel tegas menjadi yang kabur dipilih.

Pencarian parameter pengontrol dilakukan dengan metode optimasi. Untuk melakukan ini, fungsi tujuan dipilih sebagai integral dari jumlah kuadrat kesalahan kontrol dan waktu penyelesaian. Laju perubahan tegangan dari variabel keluaran objek terkadang ditambahkan ke kriteria minimisasi.

Sebagai parameter yang diinginkan (parameter yang akan ditemukan), posisi maksimum dari fungsi keanggotaan (lihat Gambar 5.90) ​​​​dan faktor skala pada input dan output dari blok fuzzy dipilih. Untuk masalah optimisasi, pembatasan ditambahkan pada rentang perubahan posisi fungsi keanggotaan. Optimalisasi fungsi kriteria dapat dilakukan, misalnya menggunakan algoritma genetika.

Perlu dicatat bahwa dalam kasus di mana ada cukup informasi untuk mendapatkan model matematika objek yang akurat, pengontrol tradisional akan selalu lebih baik daripada pengontrol fuzzy, karena data awal diberikan kira-kira saat mensintesis pengontrol fuzzy.

5.7.2. Jaringan syaraf tiruan

Jaringan saraf, seperti logika fuzzy, digunakan dalam pengontrol PID dengan dua cara: membangun pengontrol itu sendiri dan membangun blok untuk menyetel koefisiennya. Jaringan saraf memiliki kemampuan untuk "belajar", yang memungkinkan Anda menggunakan pengalaman seorang ahli untuk melatih jaringan saraf dalam seni menyesuaikan koefisien pengontrol PID. Pengontrol jaringan saraf mirip dengan pengontrol berbasis tabel (lihat "Kontrol Tabular">), tetapi berbeda metode khusus pengaturan ("pelatihan") yang dikembangkan untuk jaringan saraf dan metode interpolasi data.

Tidak seperti pengontrol fuzzy, di mana seorang pakar harus merumuskan aturan penyetelan dalam variabel linguistik, saat menggunakan jaringan saraf, pakar tidak perlu merumuskan aturan - cukup baginya untuk menyesuaikan pengontrol beberapa kali dalam proses pembelajaran jaringan saraf. ".

Jaringan saraf diusulkan pada tahun 1943 oleh McCulloch dan Pitts sebagai hasil studi aktivitas saraf dan neuron biologis. saraf buatan adalah blok fungsional dengan satu output dan input yang mengimplementasikan dalam kasus umum transformasi non-linear , dimana - koefisien bobot (parameter) untuk variabel input ; - perpindahan konstan; -" fungsi aktivasi"neuron, misalnya, dari bentuk (fungsi sigmoid), di mana beberapa parameter. Jaringan saraf (Gbr. 5.93) terdiri dari banyak neuron yang saling berhubungan, jumlah koneksi bisa ribuan. Karena nonlinier fungsi aktivasi dan jumlah yang besar koefisien yang dapat dikonfigurasi ([Kato] menggunakan 35 neuron di lapisan input dan 25 di lapisan output, sedangkan jumlah koefisien adalah 1850), jaringan saraf dapat melakukan pemetaan non-linier dari beberapa sinyal input ke beberapa sinyal output.

Struktur tipikal dari sistem kontrol otomatis dengan pengontrol PID dan jaringan saraf sebagai unit penyetelan otomatis ditunjukkan pada gambar. 5.94 [Kawafuku, Kato]. Jaringan saraf dalam struktur ini memainkan peran sebagai konverter fungsional, yang untuk setiap rangkaian sinyal menghasilkan koefisien pengontrol PID. Metode lain untuk menemukan minimum juga digunakan, termasuk algoritma genetika, metode simulasi anil, metode kuadrat terkecil.

Proses pelatihan neural network adalah sebagai berikut (Gambar 5.95). Pakar diberi kesempatan untuk menyesuaikan parameter regulator dalam sistem kontrol otomatis loop tertutup dengan berbagai input. Diasumsikan bahwa ahli tersebut mampu melakukannya dengan kualitas yang memadai untuk praktik. Diagram waktu (oscillograms) dari variabel yang diperoleh dalam sistem yang disesuaikan oleh seorang ahli dicatat dalam arsip dan kemudian diumpankan ke jaringan saraf yang terhubung ke pengontrol PID (Gbr. 5.95

Beras. 5.95. Skema pelatihan jaringan saraf di blok autotuning

Lamanya proses pembelajaran menjadi kendala utama meluasnya penggunaan metode neural network pada kontroler PID [Uskov]. Kerugian lain dari jaringan saraf adalah ketidakmungkinan memprediksi kesalahan kontrol untuk tindakan input yang tidak termasuk dalam rangkaian sinyal pelatihan; tidak adanya kriteria untuk memilih jumlah neuron dalam jaringan, durasi pelatihan, jangkauan dan jumlah pengaruh pelatihan. Tidak ada publikasi yang menyelidiki ketahanan atau margin stabilitas regulator.

5.7.3. Algoritma Genetika

1. Pemilihan populasi awal kromosom berukuran N.

2. Evaluasi kebugaran kromosom dalam populasi.

3. Memeriksa kondisi berhenti dari algoritma.

4. Pemilihan kromosom.

5. Penerapan operator genetik.

6. Pembentukan populasi baru.

7. Lanjutkan ke langkah 2.

Agar algoritme dapat berfungsi, perlu untuk menetapkan batas bawah dan atas dari perubahan parameter yang diinginkan, probabilitas persilangan, probabilitas mutasi, ukuran populasi, dan jumlah generasi maksimum.

Populasi awal kromosom dihasilkan secara acak. Kebugaran kromosom dinilai menggunakan fungsi objektif dalam bentuk kode. Selanjutnya, kromosom dengan kebugaran terbaik dirangkai menjadi satu kelompok, di mana operasi persilangan atau mutasi genetik dilakukan. Persilangan memungkinkan Anda mendapatkan keturunan yang menjanjikan dari kedua orang tua. Operator mutasi membuat perubahan pada kromosom. Dalam kasus pengkodean biner, mutasi terdiri dari perubahan bit acak dalam kata biner.

Beras. 5.97), kemudian terjadi pertukaran informasi genetik yang terletak di sebelah kanan posisi yang dipilih [Fleming ].

Setelah algoritma genetik dijalankan, decoding dilakukan representasi biner ke dalam besaran teknik.

Penilaian kesesuaian kromosom dalam suatu populasi untuk memperkirakan koefisien pengontrol PID dapat dipilih, misalnya sebagai

,

di mana adalah nilai kesalahan kontrol saat ini, adalah waktu.

Pemilihan kromosom dilakukan dengan metode roulette. Ada sektor pada roda roulette, dan lebar sektor sebanding dengan fungsi kebugaran. Oleh karena itu, semakin besar nilai fungsi ini, semakin besar kemungkinan pemilihan kromosom yang bersesuaian dengannya.

ISBN 978-5-9912-0320-3 Situs web penerbit: www.techbook.ru Jaringan saraf, algoritme genetik, dan kusut sistem <...> saraf jaringan, algoritma genetika dan kusut sistem: Per. dari bahasa Polandia.<...>BBK 30.17 Alamat Internet Penerbit www.techbook.ru Publikasi ilmiah Rutkowska Danuta, Pilinski Maciej, Rutkowski Leszek SYARAF JARINGAN, ALGORITMA GENETIKA DAN SISTEM FUZZY edisi ke-2, stereotip Editor A.S.<...> Adaptif berbobot linier penambah dengan keluaran sigmoid.<...> Contoh pengoptimalan <...> Contoh pengoptimalan fungsi dengan menggunakan program Evolver . <...>Memecahkan masalah kombinatorial menggunakan program Evolver . <...> Contoh pengoptimalan fungsi menggunakan program FlexTool.<...> Contoh pengoptimalan fungsi dengan menggunakan program Evolver . <...>Berikut ini adalah dua algoritma algoritma balik penyebaran kesalahan algoritma <...>Berikut ini adalah dua algoritma mempelajari jaringan saraf multilayer: klasik dan paling umum digunakan algoritma balik penyebaran kesalahan, serta jauh lebih cepat algoritma, berdasarkan metode kuadrat terkecil berulang.<...> algoritma melatih jaringan ini: algoritma balik penyebaran kesalahan dan berulang algoritma <...>Oleh karena itu, pada bab ini akan kita bahas terlebih dahulu elemen dasar jaringan saraf multilayer - sistem tipe perceptron dan Adaline (dengan keluaran linier dan non-linier), setelah itu kami mendefinisikan dua algoritma melatih jaringan ini: algoritma balik penyebaran kesalahan dan berulang algoritma metode kuadrat terkecil.<...>Perceptron 23 Hyperplane<...>

Neural_networks,_genetic_algorithms_and_fuzzy_systems.pdf

D. Rutkovskaya M. Pilinskiy L. Rutkovskiy Jaringan Saraf Tiruan, Algoritma Genetika, dan Sistem Fuzzy Hotline- Telekomunikasi WYDAWNICTWO NAUKOWE PWN Edisi ke-2

Halaman 1

Neural_networks,_genetic_algorithms_and_fuzzy_systems_(1).pdf

edisi ke-2

Halaman 3

UDC 681.322 LBC 30.17 P90 Rutkovskaya D., Pilinsky M., Rutkovsky L. P90 Jaringan saraf, algoritme genetika, dan sistem fuzzy: Per. dari bahasa Polandia. I.D. Rudinsky. - edisi ke-2, stereotip. - M.: Hotline - Telecom, 2013. - 384 hal.: sakit. ISBN 978-5-9912-0320-3. Buku ini dikhususkan untuk masalah "komputasi cerdas". Ini berisi pengetahuan dasar tentang algoritma genetika, pemrograman evolusioner, sistem fuzzy, serta tentang koneksi area ini dengan jaringan saraf. Untuk pekerja ilmiah dan teknik di bidang informatika dan teknologi komputer yang terlibat dalam pembuatan dan penggunaan sistem cerdas, serta mahasiswa pascasarjana dan mahasiswa dari berbagai spesialisasi di bidang teknologi komputer. BBK 30.17 Alamat penerbit di Internet www.techbook.ru Edisi Ilmiah Danuta Rutkowska, Maciej Pilinski, Jaringan Syaraf Tiruan Leszek Rutkowski, ALGORITMA GENETIKA DAN SISTEM FUZZY Edisi ke-2, stereotip Editor A. S. Popov Tata letak komputer oleh T. S. Levykina Sampul artis V. G. Sitnikova Ditandatangani untuk publikasi di 09.01.2013. Format 60×90/16. Digital printing Uch.-red. l. 24. Edaran 200 eksemplar. Ed. 13320 ISBN 978-5-9912-0320-3 © Rutkovskaya D., Pilinsky M., Rutkovsky L. 1997, 2013 © Wydawnictwo Naukowe PWN, 1997, 1999, 2004 © Rudinsky I.D., diterjemahkan dari bahasa Polandia, 2004, 2013 © Rumah Penerbitan "Hot Line-Telecom", 2004, 2013

Halaman 4

Daftar Isi Kata Pengantar. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9 Kata pengantar untuk edisi Rusia. . . . . . . . . . . . . . . . . . . . . . . 12 1. Pendahuluan. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14 Referensi. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16 2. Jaringan syaraf tiruan dan algoritma pembelajaran 18 2.1. Perkenalan. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18 2.2. Neuron dan modelnya. . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18 2.3. Perceptron. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21 2.4. Sistem tipe Adaline. . . . . . . . . . . . . . . . . . . . . . . . . . . 25 2.4.1. Penambah berbobot linier. . . . . . . . . . . . . . . 26 2.4.2. Penambah berbobot linier adaptif. . . . . 30 2.4.3. Penambah tertimbang linier adaptif dengan output sigmoid. . . . . . . . . . . . . . . . . . . . . . . 31 2.5. algoritma backpropagation. . . . . . . . . . 33 2.6. Penerapan metode kuadrat terkecil berulang untuk melatih jaringan saraf. . . . . . . . . . . . . . . . . . . . . 37 Referensi. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 43 3. Himpunan kabur dan inferensi kabur. . . . . . . . . . . . . . . . 45 3.1. Perkenalan. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 45 3.2. Konsep dasar dan definisi teori himpunan fuzzy. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 45 3.3. Operasi pada himpunan fuzzy. . . . . . . . . . . . . . . . . . . 56 3.4. prinsip ekspansi. . . . . . . . . . . . . . . . . . . . . . . . . . . . . 64 3.5. Angka kabur. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 68 3.6. aturan segitiga . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 75 3.7. Relasi fuzzy dan propertinya. . . . . . . . . . . . . . . . . . 78 3.8. Kesimpulan kabur. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 83 3.8.1. Aturan dasar inferensi dalam logika biner. . . . . . 83 3.8.2. Aturan dasar inferensi dalam logika fuzzy. . . . . . 84 3.8.2.1. Modus ponens aturan fuzzy umum. . . 84 3.8.2.2. Generalized fuzzy rule modus tollens. . . 87 3.8.3. Aturan implikasi kabur. . . . . . . . . . . . . . . . . . 88

Halaman 5

6 Daftar isi 3.9. Kontrol kabur. . . . . . . . . . . . . . . . . . . . . . . . . . . . . 91 3.9.1. Modul kontrol fuzzy klasik. . . . . . 92 3.9.1.1. Basis aturan. . . . . . . . . . . . . . . . . . . . . . . . . . . . . 92 3.9.1.2. Blok fuzzifikasi. . . . . . . . . . . . . . . . . . . . . . 94 3.9.1.3. Blok keputusan. . . . . . . . . . . . . . . . . . 94 3.9.1.4. blok defuzzifikasi. . . . . . . . . . . . . . . . . . . . . 105 3.9.2. metode kontrol fuzzy Takagi-Sugeno. . . . . . . 106 3.10. Merancang basis aturan fuzzy berdasarkan data numerik. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 109 3.10.1. Konstruksi aturan fuzzy. . . . . . . . . . . . . . . . . 110 3.10.2. Tantangan parkir truk. . . . . . . . . . . . . . . . . . . 115 3.10.3. Catatan. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 118 Referensi. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 122 4. Algoritma Genetika. . . . . . . . . . . . . . . . . . . . . . . . . . . . . 124 4.1. Perkenalan. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 124 4.2. Algoritma genetika dan metode optimasi tradisional. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 125 4.3. Konsep dasar algoritma genetika. . . . . . . . . . 126 4.4. Algoritma genetika klasik. . . . . . . . . . . . . . . . 130 4.5. Ilustrasi eksekusi algoritma genetika klasik. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 136 4.6. Pengodean parameter masalah pada algoritma genetika 139 4.7. Teorema utama tentang algoritma genetika. . . . . . . . . 144 4.8. Modifikasi Algoritma Genetika Klasik. . . 157 4.8.1. metode seleksi. . . . . . . . . . . . . . . . . . . . . . . . . . . 157 4.8.2. Prosedur reproduksi khusus. . . . . . . . . . . . . . . 160 4.8.3. Operator genetik. . . . . . . . . . . . . . . . . . . . . . 161 4.8.4. Metode pengkodean. . . . . . . . . . . . . . . . . . . . . . . . . 163 4.8.5. Penskalaan fungsi kebugaran. . . . 164 4.8.6. Ceruk dalam algoritma genetika. . . . . . . . . . . . . . . . 166 4.8.7. Algoritma genetika untuk optimasi multiobjektif. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 167 4.8.8. mikroalgoritma genetik. . . . . . . . . . . . . . . . . . 169 4.9. Contoh pengoptimalan fungsi menggunakan program FlexTool. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 170 4.10. algoritma evolusioner. . . . . . . . . . . . . . . . . . . . . . . . 206 4.11. Aplikasi algoritma evolusioner. . . . . . . . . . . . . . 213

Halaman 6

Daftar Isi 7 4.11.1. Contoh optimalisasi fungsi menggunakan program Evolver. . . . . . . . . . . . . . . . . . . . . . . . . 214 4.11.2. Memecahkan masalah kombinatorial menggunakan program Evolver. . . . . . . . . . . . . . . . . . . . . . . . . 246 4.12. Algoritma evolusioner dalam jaringan saraf. . . . . . . . 250 4.12 1. Aplikasi independen algoritma genetika dan jaringan saraf. . . . . . . . . . . . . . . . . . . . . . . . . 252 4.12.2. Jaringan saraf untuk mendukung algoritma genetika. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 252 4.12.3. Algoritma genetika untuk mendukung jaringan saraf. . . . . . . . . . . . . . . . . . . . . . . . . . 253 4.12.4. Penerapan algoritma genetika untuk pelatihan jaringan saraf. . . . . . . . . . . . . . . . . . . 256 4.12.5. Algoritma genetika untuk memilih topologi jaringan saraf. . . . . . . . . . . . . . . . . . . . . . . . . . 256 4.12.6. Sistem interaksi adaptif. . . . . . 257 4.12.7. Siklus evolusi yang khas. . . . . . . . . . . . . . . . . . . . . 257 4.12.7.1. Evolusi bobot ikatan. . . . . . . . . . . . . . . . . . . 259 4.12.7.2. Evolusi arsitektur jaringan. . . . . . . . . . . . . . . 261 4.12.7.3. Evolusi aturan belajar. . . . . . . . . . . . . . . 264 4.13. Contoh pemodelan algoritma evolusioner dalam aplikasi ke jaringan saraf. . . . . . . . . . . . . . . . . . 266 4.13.1. Program Evolver dan BrainMaker. . . . . . . . . . . . . . 268 4.13.2. program GTO. . . . . . . . . . . . . . . . . . . . . . . . . . . 274 Referensi. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 303 5. Modul kontrol fuzzy-neural. . . . . . . . . . . . . . . . 307 5.1. Modul kontrol fuzzy dengan struktur yang ditentukan dalam proses defuzzifikasi. . . . . . . . . . . 308 5.1.1. Perkenalan. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 308 5.1.2. Desain modul. . . . . . . . . . . . . . . . . . . . . . . . . 309 5.1.3. Struktur modul. . . . . . . . . . . . . . . . . . . . . . . . . . . 311 5.1.4. Menggunakan algoritma backpropagation. . . . . . . . . . . . . . . . . . . . . 313 5.1.5. Modifikasi modul. . . . . . . . . . . . . . . . . . . . . . . 320 5.1.6. Penerapan modul kontrol fuzzy untuk memprediksi deret waktu acak. . . . 322 5.1.7. Penerapan modul kontrol fuzzy untuk mengatasi masalah parkir truk. . . . . . . . . . . . . 326 5.1.8. Catatan. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 330

Halaman 7

8 Daftar Isi 5.2. Representasi modul kontrol fuzzy dalam bentuk jaringan saraf standar. . . . . . . . . . . . . . . . . . . . . . . 330 5.3. Modul kontrol fuzzy dengan jaringan saraf untuk melakukan defuzzifikasi. . . . . . . . . . . . . . . . . . . . . . 333 5.3.1. Perkenalan. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 333 5.3.2. Desain modul. . . . . . . . . . . . . . . . . . . . . . . . . 334 5.3.3. Struktur modul. . . . . . . . . . . . . . . . . . . . . . . . . . . 335 5.3.4. Algoritma pembelajaran modul. . . . . . . . . . . . . . . . . . 337 5.3.5. Solusi dari masalah stabilisasi pendulum terbalik. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 342 5.3.6. Catatan. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 348 5.4. Modul kontrol fuzzy dengan kemampuan mengoreksi aturan. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 348 5.4.1. Perkenalan. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 348 5.4.2. Tahap belajar berdasarkan self-organization. . . . . . 349 5.4.3. fase belajar dengan seorang guru. . . . . . . . . . . . . . . . . . . . 354 5.4.4. Catatan. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 356 5.5. Modul Kontrol Fuzzy Tipe Takagi-Sugeno: Kasus Variabel Linguistik Independen. . . . . . 356 5.5.1. Perkenalan. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 356 5.5.2. Implementasi saraf dari fungsi keanggotaan. . 357 5.5.3. Modul Takagi-Sugeno. . . . . . . . . . . . . . . . . . . . . . . 359 5.5.4. Implementasi kondisi. . . . . . . . . . . . . . . . . . . . . . . . . 359 5.5.5. Implementasi kesimpulan. . . . . . . . . . . . . . . . . . . . . . 361 5.5.6. Catatan. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 365 5.6. Modul Kontrol Fuzzy Tipe Takagi-Sugeno: Kasus Variabel Dependen Linguistik. . . . . . . 365 5.6.1. Perkenalan. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 365 5.6.2. Jaringan saraf untuk inferensi fuzzy. . . . . . . . . . 366 5.6.3. Struktur sistem. . . . . . . . . . . . . . . . . . . . . . . . . . 368 5.6.4. Cara belajar. . . . . . . . . . . . . . . . . . . . . . . . . . . . 372 5.6.5. Memecahkan masalah parkir truk. . . . . . . . . . . . 374 5.6.6. Catatan. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 378 Referensi. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 379 Indeks subjek. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 381

Halaman 8

Kata Pengantar Abad ke-20 diakhiri dengan revolusi dalam pemrosesan informasi. Kami telah menyaksikan peningkatan pesat dalam jumlah data yang tersedia, serta peningkatan kecepatan pemrosesan dan transfer, serta peningkatan kapasitas penyimpanan. Terlihat jelas bahwa fenomena tersebut tidak hanya saling berhubungan, tetapi juga saling menguatkan. Dalam situasi peningkatan volume informasi dan daya komputasi yang seperti longsoran salju, pertanyaan yang jelas muncul: bagaimana kita dapat meningkatkan kemampuan kita untuk memahami dunia di sekitar kita, memiliki kemampuan teknis yang begitu besar dan terus berkembang? Bantuan datang dari metode matematika klasik yang telah terbukti yang diciptakan oleh karya Newton, Leibniz, Euler, dan para jenius lainnya di masa lalu, yang meletakkan dasar bagi algoritme komputasi modern. Berkat mereka, kami memiliki prosedur komputasi khusus untuk pengenalan gambar dan ucapan, untuk mengontrol sistem dari berbagai kelas dan memecahkan masalah serupa lainnya. Penelitian di bidang kecerdasan buatan yang independen dari arah ini telah mengarah pada penciptaan sistem pakar dan prediksi berdasarkan pemrosesan simbolik dan penggunaan basis aturan. Namun, semua pendekatan yang tercantum di atas melibatkan penggunaan teknik komputasi yang sangat terspesialisasi atau basis pengetahuan khusus, paling sering terlampir dalam korset logika biner yang kaku. Keterbatasan lain dalam penggunaan metode ini terkait dengan fakta bahwa mereka tidak memungkinkan solusi langsung dari masalah saat menggunakan sistem komputasi dengan arsitektur universal yang umum untuk sebagian besar aplikasi praktis. Jadi, kita sampai pada asal dan esensi teknologi komputasi yang menjadi pokok bahasan buku ini. Teknologi ini, digabungkan dalam literatur berbahasa Inggris dengan nama Kecerdasan Komputasi, memungkinkan untuk mendapatkan solusi berkelanjutan atau terpisah sebagai hasil dari pelatihan pada data yang tersedia. Salah satu subkelas dari kelompok metode yang dibahas adalah jaringan saraf yang menggunakan algoritme stokastik untuk melatih model dengan guru atau dengan pengaturan mandiri. Mereka dirancang untuk memproses data digital yang berisik, yang menurutnya algoritma pembelajaran membangun model proses searah atau berulang yang menarik bagi kami. Pola-pola ini dicirikan oleh struktur teratur yang terdiri dari elemen nonlinier, disatukan oleh jaringan koneksi linier yang luas dan sering kali dilengkapi dengan umpan balik lokal atau global. Saat memodelkan proses, kemampuan jaringan saraf dapat ditingkatkan melalui penggunaan teknologi pemrosesan informasi berdasarkan himpunan fuzzy dan inferensi fuzzy. Metode ini terkait dengan pendugaan fungsi keanggotaan dari elemen-elemen ke himpunan dengan menggunakan operator logika fuzzy. Pendekatan yang diusulkan tidak hanya melemahkan persyaratan akurasi data dalam proses konstruksi

Halaman 9

10 Pendahuluan model, tetapi juga memungkinkan Anda untuk mendeskripsikan sistem kompleks menggunakan variabel yang nilainya ditentukan pada tingkat intuitif. Paradigma yang dihasilkan dari pemodelan, manajemen, pengambilan keputusan, dll. mengarah pada pembentukan argumen linguistik fungsi logis. Fungsi-fungsi yang menggambarkan objek nyata dapat disempurnakan dalam proses pembelajaran menggunakan data yang tersedia. Pendekatan lainnya adalah dengan membentuk aturan inferensi secara langsung dalam proses pembelajaran. Ini menentukan interpenetrasi dan saling melengkapi model dan sistem saraf berdasarkan logika fuzzy. Operator linguistik yang kita gunakan dalam komunikasi sehari-hari dan proses pembelajaran iteratif bersama-sama mengarah pada model aljabar logis-cerdas yang didefinisikan oleh konsep Kecerdasan Komputasi ( teknologi komputasi). Kecerdasan dalam hal ini dipahami sebagai kemampuan untuk menerapkan pengetahuan yang terkumpul dalam proses pembelajaran, sebagai kemampuan untuk menghasilkan aturan inferensi dan sebagai kemampuan untuk menggeneralisasi informasi. Algoritma evolusioner dianggap sebagai kelas penting dari algoritma pembelajaran yang telah memperkaya teknologi saraf dan fuzzy. Mereka beroperasi pada populasi kromosom, diperkirakan oleh fungsi kebugaran, dan menggunakan pengkondisian evolusioner dan genetik dari perubahan urutan bit atau angka. Dengan demikian, ruang dieksplorasi secara efektif solusi yang memungkinkan. Solusi optimal dicari dalam serangkaian perkiraan argumen berturut-turut dengan nilai terbaik dari fungsi kebugaran yang dihasilkan sebagai hasil mutasi dan persilangan kromosom. Penulis catatan ini, dalam kapasitasnya sebagai Ketua Komite Kecerdasan Komputasi: Simposium Kehidupan Meniru, yang diadakan di Orlando pada tahun 1994, berada di garis depan perpaduan tiga bidang ilmiah ini dan munculnya cabang pengetahuan baru yang tidak terpisahkan. Dia dengan senang hati menyambut Neural Networks, Genetic Algorithms, dan Fuzzy Systems, sebuah buku perintis di pasar penerbitan Polandia. Selain membahas elemen dasar jaringan saraf, menggambarkan sistem fuzzy dan algoritma genetika evolusioner, karya ini juga memuat hasil ilmiah asli penulis. Buku ini memberikan rincian tentang implementasi tertentu solusi teknis, termasuk berbagai prosesor dan sistem pembelajaran berdasarkan logika fuzzy. Banyak perhatian diberikan pada masalah penggunaan praktis beberapa paket aplikasi. Secara tematis, buku ini terkait dengan arahan ilmiah dari konferensi Seluruh Polandia tentang jaringan saraf dan aplikasinya, yang diselenggarakan oleh Profesor L. Rutkowski dan Asosiasi Jaringan Neural Polandia pada tahun 1994 dan 1996. Publikasi ini di bawah bimbingan Profesor L. Rutkovsky sangat relevan, berharga, dan unik. Ini mengisi ceruk yang luas di pasar ilmiah dan teknis Polandia yang luas. Buku ini akan sangat berguna bagi para insinyur dari berbagai spesialisasi, ekonom, fisikawan, matematikawan, dan ilmuwan komputer, serta pelajar.

Halaman 10

Pendahuluan 11 dari ini dan bidang pengetahuan terkait. Para penulis harus mengucapkan selamat atas pencapaian besar dalam bentuk karya ilmiah yang sangat baik ini. Buku ini seharusnya tidak hanya meningkatkan pengakuan atas jasa mereka, tetapi juga menarik para peminat baru dari disiplin ilmu yang menarik ini. Juli 1996 Jacek Zurada Anggota IEEE. Universitas Louisville, AS