[논문 리뷰] Optimal Preprocessing for Answering On-Line Product Queries
논문은 semigroups에서 온라인 선형 및 트리 곱 쿼리를 답하기 위한 촘촘한 전처리 시간/공간 한계를 도출하여, 빠른 쿼리 시간(역 Ackermann/관련 함수 사용)과 CREW/CRCW PRAM에서의 최적 병렬 알고리즘을 달성한다.
We examine the amount of preprocessing needed for answering certain on-line queries as fast as possible. We start with the following basic problem. Suppose we are given a semigroup $(S,\circ )$. Let $s_1 ,\ldots, s_n$ be elements of $S$. We want to answer on-line queries of the form, ``What is the product $s_i \circ s_{i+1} \circ \cdots \circ s_{j-1} \circ s_j$?'' for any given $1\le i\le j\le n$. We show that a preprocessing of $Θ(n λ(k,n))$ time and space is both necessary and sufficient to answer each such query in at most $k$ steps, for any fixed $k$. The function $λ(k,\cdot)$ is the inverse of a certain function at the $\lfloor {k/2} floor$-th level of the primitive recursive hierarchy. In case linear preprocessing is desired, we show that one can answer each such query in $O( α(n))$ steps and that this is best possible. The function $α(n)$ is the inverse Ackermann function. We also consider the following extended problem. Let $T$ be a tree with an element of $S$ associated with each of its vertices. We want to answer on-line queries of the form, ``What is the product of the elements associated with the vertices along the path from $u$ to $v$?'' for any pair of vertices $u$ and $v$ in $T$. We derive results that are similar to the above, for the preprocessing needed for answering such queries. All our sequential preprocessing algorithms can be parallelized efficiently to give optimal parallel algorithms which run in $O(\log n)$ time on a CREW PRAM. These parallel algorithms are optimal in both running time and total number of operations. Our algorithms, especially for the semigroup of the real numbers with the minimum or maximum operations, have various applications in certain graph algorithms, in the utilization of communication networks and in Database retrieval.
연구 동기 및 목표
- 고정된 k에 대해 선형 Product 쿼리에 답하기 위해 필요한 전처리 시간과 공간을 결정한다.
- 고정된 k에 대해 2k 단계 이내로 Tree Product 쿼리에 답하기 위해 필요한 전처리 시간과 공간을 결정한다.
- 현실적인 계산 모델 하에서 쿼리 시간과 전처리 노력 간의 트레이드오프를 식별한다.
- 선형 전처리로 거의 상수 시간 쿼리(inverse Ackermann를 통해 가능)를 달성하고 이에 상응하는 하한을 증명한다.
- CREW/CRCW PRAM에서 최적의 시간과 프로세서 사용을 달성하는 병렬 알고리즘으로 결과를 확장한다.
제안 방법
- semigroups에서 Linear Product 및 Tree Product 쿼리를 정의한다.
- Linear Product 쿼리에 대해 n lambda(k,n)) 시간/공간을 달성하는 재귀적 분할 정복 전처리 스킴을 개발한다.
- lambda(k,n)를 원소 가계의 계층적 함수 A 및 B의 역함수로 사용하게 한다.
- Linear Product 쿼리에 대해 linear-time, O(alpha(n))-step 전처리 방법을 도출한다.
- Tree Product 쿼리에 대해서는 나누기-분할로 트리를 분리하고 다중 계층에서 보강 구조를 구축하는 방식으로 접근 방식을 적용한다.
- k-스텝 쿼리 답변에 필요한 Omega(n lambda(k,n)) 전처리 시간이 필요하다는 하한을 제시한다.
실험 결과
연구 질문
- RQ1고정된 k 이내로 Linear Product 쿼리에 답하기 위해 필요한 충분하고 필요한 전처리는 무엇인가?
- RQ2고정된 k 이내로 2k 단계의 Tree Product 쿼리에 답하기 위해 필요한 충분하고 필요한 전처리는 무엇인가?
- RQ3선형 시간 전처리와 서브로그 시간 쿼리를 목표로 할 때 이 한계는 어떻게 달라지는가?
- RQ4 sequential 전처리 스킴을 최적의 CREW/CRCW PRAM 알고리즘으로 효율적으로 병렬화할 수 있는가?
- RQ5그래프/네트워크 문제에서의 실용적 의미를 가지는 그래프의 실수 집합의 min/max 같은 준군에 대한 응용은 무엇인가?
주요 결과
- 고정된 k에 대해 Linear Product 쿼리에 답하기 위한 전처리 시간 및 공간이 Theta(n lambda(k,n))임이 필요하고 충분하다.
- 선형 시간 전처리 스킴은 Linear Product 쿼리를 O(alpha(n)) 단계로 답할 수 있게 하며, alpha(n)는 inverse Ackermann 함수이다.
- Tree Product 쿼리에 대해서는 전처리 Theta(n lambda(k,n))가 2k 단계 이내의 답변에 충분하고, 선형 전처리는 쿼리당 O(alpha(n))를 낳는다.
- 선형 전처리는 상수 배수까지 최적이며; O(alpha(n)) 쿼리 시간으로 선형 전처리를 달성하기 위한 Omega(alpha(n)) 하한이 적용된다.
- 병렬 알고리즘은 Linear Product 쿼리에 대해 CREW PRAM에서 n lambda(k,n)/log n 프로세서로 O(log n) 시간, 특정 경우(예: max/min)에 대해 CRCW PRAM에서도 유사한 최적성을 달성한다.
- 결과는 실수 수를 포함하는 준군과 같은 준대수에 적용 가능하며, 그래프 알고리즘, 네트워크, 데이터베이스 검색 등 실용적 응용이 있다.
더 나은 연구,지금 바로 시작하세요
연구 설계부터 논문 작성까지, 연구 시간을 획기적으로 줄여보세요.
카드 등록 없음 · 무료 플랜 제공
이 리뷰는 AI가 만들고, 인간 에디터가 검토했습니다.