In computer science, the cell-probe model is a model of computation similar to the random-access machine, except that all operations are free except memory access. This model is useful for proving lower bounds of algorithms for data structure problems.
The cell-probe model is a modification of the random-access machine model, in which computational cost is only assigned to accessing memory cells.
The model is intended for proving lower bounds on the complexity of data structure problems.One type of such problems has two phases: the preprocessing phase and the query phase. The input to the first phase, the preprocessing phase, is a set of data from which to build some structure from memory cells. The input to the second phase, the query phase, is a query parameter. The query has to consult the data structure in order to compute its result; for example, a query may be asked to determine if the query parameter was included in the original input data set. Another type of problem involves both update operations, that modify the data structure, and query operations. For example, an update may add an element to the structure, or remove one. In both cases, the cell-probe complexity of the data structure is characterized by the number of memory cells accessed during preprocessing, query and (if relevant) update.The cell probe complexity is a lower bound on the time complexity of the corresponding operations on a random-access machine, where memory transfers are part of the operations counted in measuring time.
An example of such a problem is the dynamic partial sum problem.[1] [2]
Andrew Yao's 1981 paper "Should Tables Be Sorted?"[3] is considered as the introduction of the cell-probe model. Yao used it to give a minimum number of memory cell "probes" or accesses necessary to determine whether a given query datum exists within a table stored in memory. In 1989, Fredman and Saks initiated the study of cell probe lower bounds for dynamic data-structure problems (i.e., involving updates and queries), and introduced the notation CPROBE(b) for the cell-probe model assuming that a memory cell (word) consists of b bits.[4]
Yao[3] considered a static data-structure problem where one has to build a data structure ("table") to represent a set
S
n
1,...,m
x\lem
x
m
m
\lceillog(n+1)\rceil
The dynamic partial sum problem defines two operations which sets the value in an array at index to be, and which returns the sum of the values in at indices through . A naïve implementation would take
O(1)
O(n)
Instead, values can be stored as leaves in a tree whose inner nodes store the sum over the subtree rooted at that node. In this structure requires
O(logn)
O(logn)
Improving on a result of Fredman and Saks, Mihai Pătraşcu used the cell-probe model and an information transfer argument to show that the partial sums problem requires
\Omega\left(logn\right)
b=\Omega(logn)
\delta=o(b)
In the disjoint-set data structure, the structure represents a collection of disjoint sets; there is an update operation, called Union, which unites two sets, and a query operation, called Find, which identifies the set to which a given element belongs. Fredman and Saks proved that in the model CPROBE(log n), any solution for this problem requires
\Omega(m\alpha(m,n))
n-1
m\gen
The exact nearest neighbor search problem is to determine the closest in a set of input points to a given query point. An approximate version of this problem is often considered since many applications of this problem are in very high dimension spaces and solving the problem in high dimensions requires exponential time or space with respect to the dimension.[6]
Chakrabarti and Regev proved that the approximate nearest neighbor search problem on the Hamming cube using polynomial storage and
dO(1)
\Omega\left( | loglogd |
logloglogd |
\right)
In the cell probe model, limiting the range of values that can be stored in a cell is paramount (otherwise one could encode the whole data structure in one cell). The idealized random access machine used as a computational model in Computer Science does not impose a limit on the contents of each cell (in contrast to the word RAM). Thus cell probe lower bounds apply to the word RAM, but do not apply to the idealized RAM. Certain techniques for cell-probe lower bounds can, however, be carried over to the idealized RAM with an algebraic instruction set and similar lower bounds result.[7]