이것은 열린 문제입니다.
아마도 약한 형태의 3SUM 경도는 Mihai Pătrașcu의 STOC 2010 논문 " 동적 문제에 대한 다항식 하한을 향하여 "의 결과를 조정함으로써 입증 될 수 있습니다 . 먼저 밀접하게 관련된 문제의 순서를 정의하겠습니다. 각 문제에 대한 입력 은 별개의 정수 로 정렬 된 배열 입니다.A [ 1 .. n ]
3SUM : 이 지표는 별개의인가 이되도록 [ I ] + [ J ] = [ K ] ?I , J , KA [ i ] + A [ j ] = A [ k ]
Convolution3SUM : A [ i ] + A [ j ] = A [ i + j ] 와 같은 인덱스 있습니까?나는 < jA[i]+A[j]=A[i+j]
평균 : A [ i ] + A [ j ] = 2 A [ k ] 와 같이 별개의 지수 있습니까?i,j,kA[i]+A[j]=2A[k]
ConvolutionAverage : A [ i ] + A [ j ] = 2 A [ ( i + j ) / 2 ] 와 같은 인덱스 있습니까? (이것은 당신이 요구하는 문제입니다.)i<jA[i]+A[j]=2A[(i+j)/2]
박사 학위 논문에서,이 4 가지 문제 모두 "Is α A [ i ] + β A [ j ] + γ 형식의 쿼리 만 허용하는 의사 결정 트리 모델에서 시간 이 필요하다는 것을 증명했습니다 [ K ] + δ 포지티브 또는 네거티브 제로? ", 여기서 α , β , γ , δ는 (입력에 의존하지 않음)의 실수이다. 특히,이 모델의 3SUM 알고리즘은 "Is A [ iΩ(n2)αA[i]+βA[j]+γA[k]+δα,β,γ,δ 더 크거나 작거나 같음 A [ k ] ? "최소 Ω ( n 2 ) 회.이 하한은보다 일반적인 계산 모델에서 2 차 알고리즘을 배제하지 않습니다. 가능합니다일부 로그 요인 면도다양한 정수 RAM 모델을. 그러나 아무도 종류의보다 일반적인 모델보다 크게 도움이 될 것을 모른다.A[i]+A[j]A[k]Ω(n2)
신중 해싱 감소 사용 Pǎtraşcu는 3SUM 필요한 경우 입증 예상 시간, 어떤 기능에 대한 F 다음 Convolution3SUM 필요한 Ω ( N 2 / f를 (2) ( N ⋅ F ( N은 ) ) ) 예상 시각. 따라서 Convolution3SUM이 "약한 3SUM 하드"라고 말하는 것이 합리적입니다. Convolution3SUM가 해결 될 수있는 경우, 예를 들어, O ( N 1.8 ) 시간 후 3SUM는 해결 될 수 O (Ω(n2/f(n))fΩ(n2/f2(n⋅f(n)))O(n1.8) 시간.O(n1.9)
세부 사항을 이해하지는 못했지만 평균에 예상 시간이 있으면 함수 f에 대해 ConvolutionAverage에 Ω ( n 2 / f가 필요하다는 것을 병렬 인수로 암시합니다 2 ( n ⋅ f ( n ) ) ) 예상 시간. 즉, ConvolutionAverage는 "약한 평균 수준"입니다.Ω(n2/f(n))fΩ(n2/f2(n⋅f(n)))
Ω(n2)Ω(n2)
KO(nlogn)
B[0..Kn]B[i]=1A[1]+iABO(KnlogKn)=O(nlogn)jA2A[1]+jA[i]+A[j]O(n)O(n)
그러나 Convolution3SUM 또는 ConvolutionAverage에 대한 비슷한 트릭을 모르겠습니다!