Чи згладжений аналіз знайшов свій шлях у аналізі алгоритмів основного потоку? Чи загально для дизайнерів алгоритмів застосовувати згладжений аналіз до своїх алгоритмів?
Чи згладжений аналіз знайшов свій шлях у аналізі алгоритмів основного потоку? Чи загально для дизайнерів алгоритмів застосовувати згладжений аналіз до своїх алгоритмів?
Відповіді:
Я можу помилятися, але я розглядаю згладжений аналіз як спосіб пояснити практичну поведінку алгоритмів, які мають погані теоретичні гарантії (симплекс, k-засоби тощо). Я не впевнений, що би означало використовувати згладжений аналіз на практиці, за винятком виправдання використання конкретного евристичного з поганими показниками («Моя евристика має найгіршу поведінку, але згладжений аналіз означає, що це буде добре на практиці тощо тощо ")
Те, як люди аналізують алгоритми в реальному світі, сильно відрізняється від наукових шкіл. Якщо в академічних цілях мета полягає в тому, щоб знайти доказово правильну верхню межу часу роботи, в реальному житті мета - зрозуміти, як працює алгоритм, і які зміни можуть покращити час роботи. Є два основні методи, які заборонені в наукових колах, але застосовуються на практиці:
З цього приводу я не думаю, що аналізувати алгоритм на практиці дуже часто, крім того, щоб додати якийсь текст наповнювача до пов’язаної академічної публікації. Основна увага приділяється або інженерії програмного забезпечення, або оптимізації низького рівня, залежно від теми.
Нарешті, згладжений аналіз є евристичним, який може бути використаний для пояснення того, чому алгоритми працюють на практиці краще, ніж це запропонував би їхній гірший випадок, а саме тому, що деякі вхідні дані в певному сенсі "випадкові". Цей евристичний характер може бути використаний для наближення поведінки алгоритму, якщо використовується метод наближення.