Apakah analisis yang dihaluskan menemukan jalannya ke dalam analisis aliran utama dari algoritma? Apakah biasa bagi perancang algoritma untuk menerapkan analisis yang diperhalus pada algoritme mereka?
algorithms
complexity-theory
algorithm-analysis
Gilles 'SANGAT berhenti menjadi jahat'
sumber
sumber
Jawaban:
Saya bisa saja salah, tetapi saya melihat analisis yang lancar sebagai cara untuk menjelaskan perilaku dalam praktik algoritma yang memiliki jaminan teoritis yang buruk (simpleks, k-means, dan sebagainya). Saya tidak yakin apa artinya menggunakan analisis yang dihaluskan dalam praktik, kecuali untuk membenarkan penggunaan heuristik tertentu dengan kinerja kasus terburuk yang buruk ("Heuristik saya memiliki bla-bla perilaku terburuk, tetapi analisis yang diperhalus menunjukkan bahwa itu akan lakukan dengan baik dalam latihan dll dll ")
sumber
Cara orang menganalisis algoritma di dunia nyata sangat berbeda dari akademisi. Sementara di dunia akademis tujuannya adalah untuk menemukan batas atas yang terbukti dapat dibuktikan pada waktu berjalan, dalam kehidupan nyata tujuannya adalah untuk memahami bagaimana algoritma bekerja, dan perubahan apa yang dapat meningkatkan waktu berjalan. Ada dua metode utama yang dilarang di dunia akademis tetapi digunakan dalam praktik:
Yang mengatakan, saya tidak berpikir bahwa itu sangat umum untuk menganalisis suatu algoritma dalam praktek, selain untuk menambahkan beberapa teks pengisi dalam publikasi akademik terkait. Fokusnya adalah pada rekayasa perangkat lunak atau pada optimasi tingkat rendah, tergantung pada subjeknya.
Akhirnya, analisis yang dihaluskan adalah heuristik yang dapat digunakan untuk menjelaskan mengapa algoritma bekerja lebih baik dalam praktik daripada yang disarankan oleh kasus terburuk mereka - yaitu karena beberapa input "acak" dalam arti tertentu. Heuristik ini dapat digunakan untuk memperkirakan perilaku algoritma jika seseorang menggunakan metode aproksimasi.
sumber