Perbedaan antara anil simulasi dan serakah ganda

8

Saya mencoba untuk memahami apa perbedaan antara anil simulasi dan menjalankan beberapa algoritma mendaki bukit serakah.

Pada pemahaman saya, algoritma serakah akan mendorong skor ke maksimum lokal, tetapi jika kita mulai dengan beberapa konfigurasi acak dan menerapkan serakah untuk semuanya, kita akan memiliki beberapa maksimum lokal. Lalu kami memilih maks mereka.

Apakah ini akan mereproduksi sama dengan anil simulasi?

Bernardo Braga
sumber

Jawaban:

7

Metode yang Anda gambarkan disebut restart bukit secara acak (atau kadang-kadang mendaki bukit senapan ), dan itu adalah algoritma yang berbeda dari anil simulasi.

Ya, umumnya sebagai jumlah iterasi k meningkatkan kedua metode pada akhirnya akan memberikan lokasi wsaya yang mencapai optimal global w. Ini karena alasan sederhana bahwa keduanya menggabungkan pencarian acak. Yaitu, restart acak (mendaki bukit) atau gerakan acak (simulasi anil) dapat berubah bertepatan dengan global optimal. Namun demikian, berikut adalah dua perbedaan penting:

  1. restart acak panjat tebing selalu bergerak ke lokasi acak wsaya setelah beberapa iterasi tetap k. Dalam anil simulasi, pindah ke lokasi acak tergantung pada suhuT.
  2. restart secara acak mendaki bukit akan pindah ke lokasi terbaik di lingkungan dalam fase pendakian. Dalam simulasi anil, lokasi dipilih secara acak, Anda selalu bergerak jika lebih baik dari lokasi Anda saat ini tetapi dengan beberapa kemungkinan terkait denganT Anda dapat bergerak meskipun lebih buruk.

Simulated annealing adalah algoritma yang agak lebih rumit, dan tergantung pada jadwal suhu yang menentukan T di iterasi k. Jika suhunyaTdiatur ke nilai konstan yang sangat kecil maka anil yang disimulasikan menjadi seperti pemanjatan bukit stokastik. JikaTdiatur ke nilai konstan yang sangat besar, kemudian anil disimulasikan menjadi seperti pencarian acak. Cara Anda memilih jadwal suhu menentukan bagaimana Anda menavigasi antara dua jenis perilaku yang berbeda ini.

tldr: ini adalah algoritma yang berbeda, tetapi mereka menggunakan ide yang sama untuk memasukkan pengambilan sampel acak ke dalam pencarian.

MesinEpsilon
sumber
1
Perbedaan utama (dalam strategi) antara pencarian serakah dan simulasi anil adalah bahwa pencarian serakah akan selalu memilih proposal terbaik, di mana anil simulasi memiliki probabilitas (menggunakan distribusi Boltzman) untuk menolak ini dan memilih proposal yang lebih buruk. Ini membantu algoritma menemukan optimum global dengan melompat keluar dari optimal lokal. Temp dan parameter lainnya hanyalah keuntungan sekunder (atau kerugian) dari SA.
Jon