Алгоритми наближення для задач на P


34

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

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

Три питання: чи щось мені не вистачає, що робить це, очевидно, поганою ідеєю? Чи проводяться дослідження щодо розробки теорії цих алгоритмів? Якщо ні, принаймні, хтось знайомий з окремими прикладами таких алгоритмів?


8
Обчислювальна геометрія (наприклад, -мережі) та числова лінійна алгебра (наприклад, різні ітераційні методи) дають безліч прикладів алгоритмів наближення для задач, які тривіально знаходяться в P, але точні алгоритми поліноміального часу можуть бути надзвичайно дорогими для величезного реального світу набори даних ϵ
Юкка Суомела

Відповіді:


20

Як зазначає Юкка, обчислювальна геометрія - це багате джерело проблем, які можна вирішити за багаточлен, але ми хочемо отримати швидкі наближення. Класичним результатом "ідеалу" є "LTAS" (схема лінійного наближення часу), час роботи якого має форму - зазвичай вони отримуються шляхом вилучення константи (poly ( 1 / ϵ )) розміром ядра з даних та запуску дорогого алгоритму на цьому ядрі, гарантуючи, що точне рішення на ядрі є приблизним рішенням для всього вводу.O(n+poly(1/ϵ))1/ϵ

Існує низка хитрощів, скорочень та принципів, і нова книга Саріель Хар-Пелед наповнена ними. Я не думаю, що існує така теорія багатої складності.


Я думаю, що це найближче до "теорії", яку можна було б отримати. Я ретельно погляну на книгу. Спасибі!
aelguindy

15

Невичерпний перелік останніх праць, які знаходять приблизний варіант вирішення проблем у P

1) Проводиться велика робота над наближеними рішеннями лінійних рівнянь (симетричних діагонально домінуючих) за майже лінійний час O(npolylog(n))

(перелік робіт) http://cs-www.cs.yale.edu/homes/spielman/precon/precon.html

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

2) Орієнтовні рішення для min / max скорочень / потоків http://people.csail.mit.edu/madry/docs/maxflow.pdfst

3) Пошук розрідженого наближення перетворення Фур'є сигналу в підлінійний час http://arxiv.org/pdf/1201.2501v1.pdf

4) Пошук приблизного головного компонента матриці http://www.stanford.edu/~montanar/RESEARCH/FILEPAP/GossipPCA.pdf


11

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

G=(V,E)n=|V|m=|E|s,tV

1O(1)O(m+nlogn)

k

Для розріджених графіків можна показати більш загальний компроміс-час наближення до простору та часу .


11

Ми часто шукаємо приблизні рішення простих задач, таких як пошук найкоротшого шляху в графіку, пошук кількості унікальних елементів у наборі. Тут обмеження полягає в тому, що вхід великий, і ми хочемо вирішити проблему приблизно за допомогою одного проходу над даними. Існує кілька алгоритмів «потокового», призначених для досягнення приблизних рішень у лінійний / майже лінійний час.

O(nm)nm




8

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

Ви можете почати з матеріалу на цій сторінці і з цього .


8

ϵϵ. Існує ряд робіт з вирішення особливих випадків задач лінійного програмування, таких як багатокомпонентні потоки (і загалом, упаковка та покриття LP) приблизно. Не існує окремої теорії апроксимації для задач у Р проти задач, які знаходяться в НП (ми не знаємо, чи Р дорівнює NP чи ні). Можна говорити про певну техніку, застосовну для певного класу проблем. Наприклад, існують загальні методи, відомі для вирішення проблеми упаковки та покриття лінійних програм, а також деякі варіанти.


4

Димитріс згадує наближення перетворень фур'є. широко використовується це для стиснення зображення, наприклад, в алгоритмі JPEG. [1] хоча я не бачив статті, яка наголошує на цьому, у деякому сенсі здається, що стиснення втрат [2] (з вихідними межами) також може сприйматися як алгоритм наближення P-часу. аспекти наближення є високорозвиненими та уточненими / спеціалізованими в тому сенсі, що вони оптимізовані так, що їх неможливо сприйняти людським зором, тобто сприйняття людиною артефактів кодування (приблизно визначається як різниця між наближенням і стисненням без втрат) зводиться до мінімуму.

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

так, стиснення щільно поєднане з наближенням. у JPEG перетворення фур'є наближається до DCT, дискретного косинусного перетворення [3]. подібні принципи застосовуються для декількох кадрів для стандарту MPEG для відеопресування MPEG. [4]

[1] Стиснення jpeg, wikipedia

[2] стиснення втрат, вікіпедія

[3] DCT, дискретна косинусна трансформація, wikipedia

[4] MPEG, wikipedia


1

Можливо, це не зовсім відповідає на ваше запитання, тому що наразі я можу просто запам'ятати деякі евристики, але я впевнений, що є деякі наближення, тому що я їх бачив і раніше.

O(f(k)|G|α)f(k) проблема та її пізніші наближення / евристика (простий google показує результати у 2010, 2011 рр.), або алгоритми пошуку деревного розкладання графіків.


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