Вимоги до зберігання для медіанного відбору (два алгоритми проходження)


18

У класичному документі Манро та Патерсон вивчають проблему, скільки потрібно зберігання для алгоритму, щоб знайти медіану у випадково відсортованому масиві. Зокрема, вони зосереджуються на наступній моделі:

вхід зчитується зліва направо протягом декількох Р разів.

Показано, що комірок пам'яті достатньо, але відповідна нижня межа відома лише для P = 1. Я не бачив жодного результату для P> 1. Хтось знає про такі нижчі межі? О(н12П)

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

Відповіді:


14

Спробуйте цей документ від Чана в нещодавньому SODA: http://portal.acm.org/citation.cfm?id=1721842&dl=ACM .

Швидкий пошук Google також знайшов такий документ, який виглядає, можливо, актуальним, але я не прочитав його: http://portal.acm.org/citation.cfm?id=1374470 .


Дякую, другий документ, здається, дає часткову відповідь на моє запитання. Такої відповіді немає в попередніх працях, про які мені було відомо.
MassimoLauria

18

Першим документом, який підтвердив межі більше ніж 1 пропуск, був мій документ з Jayram та Amit від SODA'08. Потім є папір, про яку згадав Уоррен, яка покращує межі більш чіткими доказами.

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

Більш інтригуюче питання полягає в тому, чи можна довести нижню межу програми розгалуження. Чи може бути, що навіть для алгоритму обмеженого простору, який може отримати доступ до пам’яті за власним бажанням, найкращою стратегією є просто зробити багатопотокове потокове передавання?

Відповідь здається ствердною, і ми маємо певний частковий прогрес у її доведенні.


5
Я думаю, що багатопрохідне потокове передача є природною моделлю для таких експериментів: Ви використовуєте рандомізований вибірковий вибір для статистичного тестування (наприклад, тестування перестановки). Ви проводите мільярди експериментів; кожен експеримент отримує випадкові числа з PRNG і виробляє деякі вихідні значення. Потім потрібно обчислити медіани, гістограми тощо з цих значень. У вас немає ефективного випадкового доступу до потоку виходів і у вас немає пам'яті, щоб зберігати все. Однак ви можете повторно відтворити потік; просто скиньте PRNG з тим же насінням та повторно запустіть свій алгоритм.
Jukka Suomela

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