Знайдіть приблизний аргмакс, використовуючи лише приблизні максимальні запити


10

Розглянемо наступну проблему.

нv1,,vнRS{1,,н}максiSvi

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

У моєму дослідженні з’явилася наступна галаслива версія цієї проблеми.

Існує невідомих значень . До них можна отримати запити, в яких задається набір і повертається зразок з . Мета - визначити таким, що використовуючи якомога менше запитів. (Очікування закінчується вибором , що залежить як від монет алгоритму, так і від галасливих запитів.)v 1 , , v n S { 1 , , n } N ( max i S v i , 1 ) i { 1 , , n } E [ v i ] max i v i - 1 i нv1,,vнS{1,,н}N(максiSvi,1)i{1,,н}Е[vi]максivi-1i

Припустимо, ми намагаємося вирішити це, використовуючи ту ж саму стратегію пошуку, як і раніше (але з галасливими відповідями). Досить легко показати, що це досягає і що це в найгіршому випадку. Ми можемо зменшити помилку до потрібної , повторивши кожен запит разів та використовуючи середнє значення (яке зменшує дисперсію). Це дає алгоритм, що використовує запитів.1 O ( log 2 n ) O ( log 3 n )Е[vi]максivi-О(журналн)1О(журнал2н)О(журнал3н)

Чи є кращий алгоритм? Я припускаю, що запитів достатньо. І я вважаю, що можу довести нижню межу . Крім того, проблема стає легкою - тобто запити за допомогою двійкового пошуку - під обіцянкою, що між найбільшим значенням та другим за величиною значенням існує розрив . Якщо це допомагає, ви можете припустити, що всі значення знаходяться між і .Ω ( log 2 n ) ˜ O (О(журнал2н)Ω(журнал2н)Ω ( 1 ) 0 O ( log n )О~(журналн)Ω(1)0О(журналн)


А як щодо двійкового пошуку, який на кожному рівні робить O (log n) пар запитів (один для максимуму лівої сторони, один для максимуму правої частини) та реєструє, хто виграє. Потім, після кругообігу O (log n) алгоритм протікає рекурсивно на стороні, яка "вигравала" більшість разів. Короткий підрахунок в моїй голові, здавалося, вказує на те, що це працювало з ймовірністю в налаштуваннях, коли один вхід а всі інші ... я, можливо, не вдасться. 2 01-1/нc20
daniello

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

Зауважте до себе: прочитайте все питання, перш ніж коментувати
daniello

Відповіді:


1

Розширений коментар ідеї чи двох до нижньої межі. Нехай , скажіть (хоча найкращий вибір може бути різним), і нехай { v 1 , ,Б=Θ(журналн). Подумайте про те, щоб намалювати дані, вибравши перестановку цих значень рівномірно випадково.{v1,,vн}={1нБ,,н-1нБ,Б}

Ідея повинна полягати в тому, що якщо ми фіксуємо індекси всіх значень, крім значень Б і , тоді ми повинні бути в змозі показати різницю у ймовірності вибору одного алгоритму один проти іншого дуже малий: відстань варіації між результатами запитів алгоритмів дуже мала, враховуючи розподіл 50-50 на завдання цих значення для двох доступних індексів та результатів будь-якої послідовності запитів.н-1нБ

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

Я не міг покращити із вищевказаним підходом, але я думаю, що ви можете отримати ( log n ) 2, якщо зможете скористатися тим фактом, що запити не можуть допомогти з кількома кроками одночасно. Тобто, якщо запит змінюється, коли ми переміщуємо найвище значення до іншого індексу, то в один із тих випадків він не змінюється, коли ми переміщуємо будь-яке інше значення до іншого індексу.журналн(журналн)2

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

Вибачте, що це напівфабрикат, але сподіваюся, що це може бути корисно!


Я насправді не дуже думав про нижню межу, оскільки сподіваюся на верхню межу. :) утримується навіть у безшумному корпусі. Я думаю, що ми повинні мати можливість довести нижню межу Ω ( log 2 n ) . Ω(журналн)Ω(журнал2н)
Томас

ДОБРЕ. У мене ескіз нижньої межі , але це трохи складніше. Ω(журнал2н)
Томас
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.