최소 내적 제품 쿼리에 대한 데이터 구조


19

표준 도트 곱 및 벡터 ( 장착 된 고려하십시오 . 주어진 출력 형식의 쿼리를 허용하는 데이터 구조를 구축하려고합니다 . 사소한 O (nm) 쿼리 시간을 넘어 설 수 있습니까? 예를 들어, n = 2 인 경우 즉시 O (\ log ^ 2 m) 를 얻습니다 .Rn,mv1,v2,,vmxRnminix,viO(nm)n=2O(log2m)

내가 올 수있는 유일한 것은 다음과 같습니다. Johnson-Lindenstrauss lemma의 모든 결과는 모든 ε>0\ mathbb {R} ^ n 에 대한 \ mathcal {D} 분포 에 대해 선형 매핑 f \ colon \ mathbb {R} ^ n \ to \ mathbb {R} ^ {O (\ 로그 m)} (될 수있는 계산(O n \ 로그 m) 회)되도록 \ mathrm는 {잠} _ {X \ SIM \ mathcal {D}}이 \ 왼쪽 [ \ forall i \ quad \ langle x, v_i \ rangle-\ varepsilon (\ | x \ | + \ | v_i \ |) ^ 2 \ leq \ langle f (x), f (v_i) \ rangle \ leq \ langle x v_i \ rangle + \ varepsilon (\ | x \ | + \ | v_i \ |) ^ 2 \ right] \ geq 1-\ varepsilon . 따라서 시간 O ((n + m) \ log m)에서 우리는 계산할 수 있습니다DRnf: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 의 (규범 적어도 경우 xvi 작).

UPD 로컬에 민감한 해싱을 사용하는 경우 위에서 언급 한 범위는 쿼리 시간 O (n + m) 으로 다소 선명해질 수 있습니다 O(n+m). 보다 정확하게는 k:=O(1ε2) 독립 가우스 벡터 r1,r2,,rk 합니다. 그런 다음 Rn 을 다음과 같이 \ {0,1 \} ^ k에 매핑 {0,1}k합니다. v(r1,v0,r2,v0,,rk,v0) . 그런 다음 이 매핑의 이미지에서 \ ell_1 -distance를 계산 하여 추가 오차 \ varepsilon 내의 두 벡터 사이의 각도를 추정 할 수 있습니다 . 따라서 가산 오차 내에서 내적을 추정 할 수 있습니다ε1εxvi에서 O(1ε2) 시간.



이것이 작동하는지 또는 도움이되는지 확실하지 않지만 v_i의 부호를 최대화로 변환 한 후의 문제는 Voronoi 다이어그램과 관련이 있습니다. Voronoi 다이어그램의 알고리즘을이 문제로 수정하는 것이 가능할 수도 있지만 가능하더라도 작은 n에만 유용 할 것입니다.
이토 쓰요시

이것이 동일한 관측인지는 모르겠습니다 ... 모든 는 단위 벡터로 정규화 될 수 있고 결과를 변경하지 않으며, 우리는 원점을 중심으로 단위 n- 큐브에서 모든 것을 할 수 있습니다. 각 에 대해 를 사용하여 내적을 최소화하는 큐브의 영역을 찾으십시오 (각 영역은 폴리 토프 여야 함). 폴리 토프 수에는 제한이 없습니다. 에서 지수보다 작 으면 n 차원 점 위치 쿼리를 수행하여 보다 더 나은 것을 얻을 수 있습니다. xviinmO(nm)
Chao Xu

어떤 매개 변수에 더 관심이 있습니까? 일반적으로 m에서 sublinear를 얻으려면 n에서 지수를 얻기 시작할 것입니다.
Suresh Venkat

@Suresh 글쎄, 다른 가능한 트레이드 오프를 이해하는 것이 좋을 것입니다. 대략적인 버전도 흥미 롭습니다.
ilyaraz

빠른 참고 : n = 2의 경우 볼록 껍질의 이진 검색은 쿼리 시간을 제공합니다. O(logn)
Geoffrey Irving

답변:


16

쿼리 벡터가 사전 처리 된 컬렉션의 일부 벡터와 직교인지 확인하려는 특수한 경우를 고려하십시오. (즉, 논의중인 벡터가 음이 아닌 계수를 갖는 인지 확인하려고합니다 .)이 경우는 이미 매우 흥미 롭습니다.minix,vi=0

당신이 질의에 응답 할 수 있다고 가정 일부 시간 으로 (전처리를 다항식의 차수는 또는 또는 에 의존해서는 안됩니다 .nO(1)m1δδ>0mO(1)nO(1)mnδ

논문 "최적의 2- 제약 만족도 및 그 의미에 대한 새로운 알고리즘"논문에서, 그러한 데이터 구조는 실제로 시간에 CNF-SAT를 해결할 수 있다는 것을 관찰했습니다 . 여기서 는 변수 수입니다. 이것은 k-SAT가 무한한 대해 시간을 필요로한다는 "강한 지수 시간 가설"을 반박 할 것이다 .2αvα<1v2nk

이유를 확인하기 위해 전처리 시간이 제한되어 있다고 가정합니다 . 변수와 절을 가진 CNF 공식 를 고려하십시오 . 변수 세트를 각각 크기 및 두 부분 및 로 나눕니다 . 파트의 변수에 가능한 모든 지정을 나열하십시오 (각각 및 지정). 이러한 부분 할당 각각을 비트 벡터 와 연관 시키십시오 여기서 iff the(nm)cFvnP1P2v(11/(2c))v/(2c)2v(11/(2c))2v/(2c)Ainwiwi[j]=1j th 절은 의해 충족되지 않습니다 . 따라서 우리는 지수 적으로 많은 비트 벡터 목록을 가지고 있습니다.FAi

공지 사항 것을 벡터가 IFF에 만족할 것입니다 에 할당에서 와 벡터 에 할당에서 등이 .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에 가깝습니다. 츠요시 : 통찰력에 감사드립니다
Ryan Williams

6

Chao Xu가 암시한다고 생각하는 정확한 답변에 대한 한 가지 아이디어가 있습니다. 먼저 Chao가 지적했듯이 정규화 할 수 있음을 관찰하십시오 . 이제 방향에 수직 인 초평면 고려하십시오 . 목표는이 초평면에 가장 가까운 지점을 찾는 것입니다. 이중성으로, 이것은 쿼리 포인트 "위"에 가장 가까운 평면을 찾기 위해 초평면 배열의 광선 촬영 쿼리에 해당합니다. 이것이 전처리 될 수 있기 때문에, 주요 복잡성은 점 위치이며, 따라서 문제는 이제 초평면 배열에서 점 위치를 수행하는 복잡성으로 감소되었습니다. 절단을 사용하면 공간 에서 시간 안에 수행 할 수 있습니다 .xhxO(logn)nd


1
또한 치수가 느리면 합리적인 전처리 시간에 관심이 있음을 언급해야합니다.
ilyaraz
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.