Теоретичні програми алгоритмів апроксимації


21

Останнім часом я почав вивчати алгоритми апроксимації для важких задач NP, і мені було цікаво теоретичні причини їх вивчення. (Питання не має бути запальним - мені просто цікаво).

З вивчення алгоритмів наближення вийшла якась справді прекрасна теорія - зв’язок між теоремою PCP і твердістю наближення, гіпотеза UGC, алгоритм наближення Гомана-Вільямсона тощо.

Мені було цікаво, хоча з точки зору вивчення алгоритмів наближення для таких проблем, як подорожуючий продавець, асиметричний мандрівний продавець та інші варіанти, різні проблеми в проектуванні механізмів (наприклад, на комбінаторних аукціонах) тощо. Чи були такі алгоритми наближення корисні в інших частинах теорії в минулому чи їх вивчали суто заради себе?

Примітка: я не запитую жодного практичного застосування, оскільки, наскільки я знаю, в реальному світі застосовуються переважно евристики, а не алгоритми наближення, а евристика рідко інформується будь-яким розумінням, отриманим при вивченні алгоритмів наближення для проблема.


4
Я не впевнений, що розумію питання. Які "теоретичні причини" для вивчення будь-якого теоретичного предмету?
Jeffε

1
Я думаю, що він означає "заповнити і т.д." у пункті 2
Гек Беннетт

2
Чи не так, якщо це я роблю, і я ніколи не задавав собі питання? Я тільки хоч Алгоритми наближення виглядали круто!
Гопі

1
Я думаю, що мотивація така ж, як і мотивація до вивчення твердості наближення: зрозуміти точну складність різних проблем. Алгоритм Goemans-Williamson йде рука об руку з унікальною твердістю в іграх, що робить краще, ніж коефіцієнт наближення GW.
Аарон Рот

1
Я не впевнений, чи справедливий ваш останній абзац. Наближені алгоритми цікаві тим , що вони запропонували спосіб боротьби з важкою проблемою , як TSP. Може статися так, що багато з них не використовуються безпосередньо на практиці в оригінальному вигляді, але вони корисні знати, що спробувати. Можна сказати те саме про точні алгоритми, багато з них ніколи не використовуються безпосередньо на практиці, є багато інженерних проблем, які потрібно враховувати при використанні будь-якого алгоритму на практиці. Багато проблем на практиці не потребують точних алгоритмів, і користувачі будуть цілком задоволені
Kaveh

Відповіді:


21

Я остаточно не згоден з останнім абзацом. Такі заяви не корисні. Якщо ви подивитеся на документи у багатьох системних областях, таких як мережа, бази даних, AI тощо, ви побачите, що на практиці використовується безліч алгоритмів наближення. Є деякі проблеми, на які хочеться дуже точних відповідей; Наприклад, скажімо, авіакомпанія цікава в оптимізації її планування флоту. У таких випадках люди використовують різні евристики, які вимагають значного часу на обчислення, але отримують кращі результати, ніж може дати загальний алгоритм наближення.

Тепер з деяких теоретичних причин вивчення алгоритмів наближення. По-перше, чим пояснюється той факт, що рюкзак на практиці дуже простий, тоді як забарвлення графіків досить складна? Обидва є NP-Hard і багаторазово зводяться один до одного. По-друге, вивчаючи алгоритми наближення для особливих випадків проблеми, можна точно вказати, які класи екземплярів можуть бути легкими чи важкими. Наприклад, ми знаємо, що багато проблем допускають ПТСС в плоских та мінорних вільних графах, тоді як у довільних загальних графіках вони набагато складніші. Ідея наближення пронизує сучасний дизайн алгоритму. Наприклад, люди використовують алгоритми потокової передачі даних, і без об'єктива наближення важко зрозуміти / розробити алгоритми, тому що навіть прості проблеми неможливо вирішити точно.



9

Я також не погоджуюся з "заміткою", принаймні викладеною в цій загальності. Зв'язане з цим, хто-небудь знає, чи є десь доступні розмови про нагороду Kanellakis Девіда Джонсона?

Крім того, як тільки ми зрозуміємо, що всі важкі проблеми NP рівноцінні щодо найгіршої складності точних рішень, дуже природно запитати про складність пошуку приблизних рішень. І Чандра вказує на зміну точки зору, яку алгоритми наближення приводять до проектування алгоритмів.

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


8

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

Тож вивчення алгоритмів наближення насправді полягає в розумінні того, які евристики гарантовані алгоритмами наближення. Сподіваємось, що дослідження алгоритмів наближення створюють два види перехресного запліднення:

  • Перемістіть ідеї, що працюють з евристики, в інструменти розробки алгоритмів. Аналогічно перемістіть ідеї з розробки алгоритмів в евристику / алгоритми, які добре працюють на практиці.
  • перехресне запліднення між людиною, яка щойно закінчила, і посадою.

Коротше кажучи, світ не точний, вхідні дані не точні, цільові функції, оптимізовані різними проблемами алгоритму, не точні і в кращому випадку являють собою нечітке наближення до того, що хочеться, а обчислення не точні. Чому б хтось навчився точним алгоритмам? (Відповідь: Тому що точні алгоритми - це справді хороші алгоритми наближення.)

У реальному світі є дуже мало точних алгоритмів - вам потрібно використовувати наближення, щоб бути віддаленими релевантними ...


4

Справа з проблемами з безперервними змінними дуже дратує точні алгоритми. Наприклад, що означає задавати ваги крайового екземпляра екземпляра TSP з точними реальними числами?

Коли ми дозволяємо алгоритми FPTAS для цих проблем, ми можемо квантувати ці параметри до цілих чисел. Це робить проблему набагато кращою для поведінки (може використовувати стандартні машини Тьюрінга), але має невелику помилку.

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