Структура даних для мінімальних точкових запитів продукту


19

Rn,mv1,v2,,vmxRnПро ( п т ) п = 2 O ( увійти 2 м )minix,viO(nm)n=2O(log2m)

Єдине, що я можу придумати, - це наступне. Безпосереднім наслідком леми Джонсона-Лінденштраусса є те, що для кожного і розподілу на існує лінійне відображення (який можна оцінити за час ) таким чином, що . Отже, за часом O ((n + m) \ log m) ми можемо обчислитиD R n f : R nR O ( журнал m )ε>0DRnf:RnRO(logm)O(nlogm)PrxD[ix,viε(x+vi)2f(x),f(vi)x,vi+ε(x+vi)2]1εO((n+m)logm)щось, яке в деякому сенсі близьке до minix,vi для більшості x (принаймні, якщо норми x та vi малі).

UPD Вищезазначене обмеження може бути дещо заточене до часу запиту O(n+m) якщо ми використовуємо хеш-чутливість до місцевості. Точніше, ми вибираємо k:=O(1ε2) незалежні гауссові вектори r1,r2,,rk . Тоді ми відображаємо Rn до {0,1}k так: v(r1,v0,r2,v0,,rk,v0) . Тоді ми можемо оцінити кут між двома векторами в межах додаткової помилки ε , 1 у зображенні цього відображення. Таким чином, ми можемо оцінити крапкові продукти в межах помилки добавкиεxviв O(1ε2) час.



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

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

який параметр вам більше цікавий? зазвичай, якщо ви хочете отримати підлінійку в m, ви почнете отримувати експоненціальну в n.
Суреш Венкат

@Suresh Ну добре було б зрозуміти різні можливі компроміси. Приблизна версія теж цікава.
ilyaraz

Швидка примітка: для випадку n = 2 двійковий пошук на опуклому корпусі дає час запиту . O(logn)
Джеффрі Ірвінг

Відповіді:


16

Розглянемо особливий випадок, коли ви просто хочете визначити, чи ваш запит вектор ортогональний деякому вектору вашої попередньо обробленої колекції. (Тобто ви хочете визначити, чи , де вектори, що обговорюються, мають негативні коефіцієнти.) Цей випадок вже дуже цікавий.minix,vi=0

Припустимо, ви можете відповідати на запити в час для деякого , з попередньою (the градуси полінома не повинні залежати від або або ).nO(1)m1δδ>0mO(1)nO(1)mnδ

У статті "Новий алгоритм оптимального задоволення 2 обмежень та його наслідки" я зауважив, що така структура даних фактично дозволить вам вирішити CNF-SAT за час протягом деякого , де - кількість змінних. Це спростувало б "Гіпотезу сильного експоненціального часу", що k-SAT вимагає по суті часу для необмеженого .2αvα<1v2nk

Щоб зрозуміти, чому, припустимо, час попередньої обробки обмежений . Розглянемо формулу CNF з змінними і пропозиціями. Ми розділили набір змінних на дві частини і розміром і відповідно. Перерахуйте всі можливі присвоєння змінним у частинах (отримання та призначення відповідно). Пов’яжіть кожне з цих часткових призначень з вектором де якщо(nm)cFvnP1P2v(11/(2c))v/(2c)2v(11/(2c))2v/(2c)Ainwiwi[j]=1jй розділ не задовольняє . Отже, у нас є два списки експоненціально багатьох бітових векторів.FAi

Зауважте, що є задоволеним, якщо є вектор з призначення на і вектор з призначення на таким, що .Fw1P1w2P2w1,w2=0

Тепер нехай і попередньо обробляє передбачувану структуру даних з усіма векторами з частини . Це вимагає часу, за припущенням. Запустіть алгоритм запиту на всіх векторах із завдань по частині . За припущенням, це займе . Нехай .m=2v/(2c)P2n2v/2P12v(11/(2c))nO(1)m1δ=nO(1)2vδv/(2c)α=1δ/(2c)

Можливо, можливо отримати ефективну попередню обробку і час запитів за допомогою існуючих методів. Найбільш відомі алгоритми CNF-SAT не виключають цього. (Вони отримують щось на зразок .) Але для обчислення є дещо сильнішим - у цій установці це було б як рішення MAX CNF-SAT.nO(1)m11/(loglogm)2nn/lognminix,vi


Дивовижно! Але це не виключає приблизних структур даних, а також часу запитів, таких як , що також було б дуже цікаво. O(mpoly(logn))
ilyaraz

До речі, чи не можна сказати щось на кшталт "якби навіть була приблизна структура даних із швидким часом запиту, то MAX-SAT була б приблизною".
ilyaraz

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

ilyaraz: Так, навіть приблизні структури даних означали б приблизний MAX-SAT. Цуйосі: Дякую за ваше розуміння
Райан Вільямс

6

Ось одна ідея на точну відповідь, на яку я підозрюю, що Чао Сю може натякнутись. По-перше, зауважте, що ми можемо нормалізувати , як вказує Чао. Тепер розглянемо гіперплощину нормі до напрямку . Мета - знайти точку, найближчу до цієї гіперплани. За подвійністю це відповідає запиту зйомки променями в розташуванні гіперпланів, щоб знайти найближчу площину "вище" точки запиту. Оскільки це можна заздалегідь обробити, головна складність полягає у розташуванні точки, і тому ваша проблема зводиться до складності здійснення точки розташування в розташуванні гіперплощин. Використовуючи живці, це можна зробити за час у просторі.xhxO(logn)nd


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