Обчислення зусиль алгоритмів


9

Розглянемо суворо випуклу задачу оптимізації О: =хвхRнf(х).Нехай позначає його унікальні мінімуми, а - задане початкове наближення доМи будемо називати вектор у близьке рішення , якщо хоптх0хопт.хϵ-О

||х-хопт||2||х0-хопт||2ϵ.

Припустимо, що існує два ітеративних алгоритми та щоб знайти близьке рішення з такими властивостями:А1А2ϵ-О

  1. Для будь-якого загальне обчислювальне зусилля, тобто зусилля, необхідні за ітерацію загальну кількість ітерацій, щоб знайти рішення однакове для обох алгоритмів.ϵ>0,×ϵ-
  2. Намагання на ітерацію для дорівнює скажімо, тоді як єА1О(н),А2О(н2).

Чи бувають ситуації, коли один віддає перевагу одному алгоритму над іншим? Чому?

Відповіді:


14

Як правило, дуже важко, якщо не неможливо, реалізувати паралельну версію ітеративного алгоритму, що паралелізує всі ітерації. Завершення однієї ітерації є природним пунктом послідовності. Якщо один алгоритм вимагає меншої кількості ітерацій, але більше роботи на ітерацію, то більш ймовірно, що цей алгоритм може бути ефективно реалізований паралельно.

Прикладом цього є лінійне програмування, де метод первинно-подвійний бар'єр (внутрішня точка), як правило, використовує лише кілька десятків ітерацій навіть для дуже великих проблем, але робота за ітерацію досить велика. У порівнянні різні версії симплексного методу зазвичай вимагають набагато більше ітерацій, але робота на ітерацію менша. На практиці паралельна реалізація методів внутрішніх точок показала набагато кращу паралельну ефективність, ніж паралельна реалізація симплексного методу.


7

Я можу придумати деякі можливості:

Якщо обидва алгоритми монотонно зменшують помилку з кожною ітерацією, то, можливо, дехто може мати більше, більш дешеві ітерації, оскільки це дає більше варіантів, коли зупинити ітерацію.

Якщо А1 є О(н) робота та час, але О(нк) пам’яті, ви могли б віддати перевагу А2 якщо к великий. к=2 може бути навіть досить великим, щоб зробити ваш вибір А2 оскільки використання пам'яті швидше заважає вам тут.

Це, мабуть, стосується того, чи говоримо ми про оптимізацію чи будь-який інший ітераційний клас.


Я згоден з вами щодо обмежень у просторі. Мені було цікаво, чи можна скласти справу лише на основі часової складності.
Суреш
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.