We present two constant-time dynamic data-structures that support insertions, deletions, and queries with one-sided errors: a space-efficient dynamic (key-only) filter and a compact dynamic data-structure that combines retrieval and filtering (called a key-value filter). A one-sided error occurs when a query for a key not in the dataset is issued and the outcome is wrong, i.e., a “yes” in a filter or a non-null in the key-value filter. The response to a query with a key in the dataset always returns the correct answer, i.e., a “yes” in a filter and the correct value in a key-value filter. The probability of the one-sided error in our data-structures is \(\varOmega (1/\textsf{poly}(\log n))\) , where n is the maximum cardinality of the dataset, and the probability space is over the random bits of the data-structure (i.e., random choice of hash function). The computational framework is the Word RAM model. We differentiate between accesses to non-modifiable memory (i.e., read-only memory that stores the program instructions, hash function seed or tables, etc.) and accesses to modifiable memory (i.e., read-write memory that stores the representation of the dataset). We are not aware of previous works that make this distinction in the context of data-structures. Our dynamic filter design requires only a single access to the modifiable memory per operation in the worst-case. We also present a dynamic key-value filter for values of \(O(\log \log n)\) bits that requires \(1+o(1)\) accesses to the modifiable memory per operation in expectation. Previous dynamic filter designs require, in the worst case, at least two accesses to modifiable memory for queries with keys not in the dataset. Previous dynamic retrieval data-structure designs always require two dictionary accesses for queries with keys not in the dataset even for single bit values. We prove bounds on the number of balls that overflow in a dynamic balls-into-bins random process for a range of bin capacities that extends the Iceberg Lemma of [Bender et al., JACM 2023]. The correctness of the key-value filter is based on the previously unstudied natural case of unit-capacity bins with more bins than balls. Finally, we observe that the splitting technique for achieving succinct representation of hash functions is not necessary for our data-structures.

错误:搜索内容不能为空,请输入英文关键词
错误:关键词超出字数限制,请精简
高级检索

Dynamic Filter and Retrieval with One Access to Modifiable Memory

  • Ioana O. Bercea,
  • Guy Even,
  • Tomer Even,
  • Gabriel Marques Domingues

摘要

We present two constant-time dynamic data-structures that support insertions, deletions, and queries with one-sided errors: a space-efficient dynamic (key-only) filter and a compact dynamic data-structure that combines retrieval and filtering (called a key-value filter). A one-sided error occurs when a query for a key not in the dataset is issued and the outcome is wrong, i.e., a “yes” in a filter or a non-null in the key-value filter. The response to a query with a key in the dataset always returns the correct answer, i.e., a “yes” in a filter and the correct value in a key-value filter. The probability of the one-sided error in our data-structures is \(\varOmega (1/\textsf{poly}(\log n))\) , where n is the maximum cardinality of the dataset, and the probability space is over the random bits of the data-structure (i.e., random choice of hash function). The computational framework is the Word RAM model. We differentiate between accesses to non-modifiable memory (i.e., read-only memory that stores the program instructions, hash function seed or tables, etc.) and accesses to modifiable memory (i.e., read-write memory that stores the representation of the dataset). We are not aware of previous works that make this distinction in the context of data-structures. Our dynamic filter design requires only a single access to the modifiable memory per operation in the worst-case. We also present a dynamic key-value filter for values of \(O(\log \log n)\) bits that requires \(1+o(1)\) accesses to the modifiable memory per operation in expectation. Previous dynamic filter designs require, in the worst case, at least two accesses to modifiable memory for queries with keys not in the dataset. Previous dynamic retrieval data-structure designs always require two dictionary accesses for queries with keys not in the dataset even for single bit values. We prove bounds on the number of balls that overflow in a dynamic balls-into-bins random process for a range of bin capacities that extends the Iceberg Lemma of [Bender et al., JACM 2023]. The correctness of the key-value filter is based on the previously unstudied natural case of unit-capacity bins with more bins than balls. Finally, we observe that the splitting technique for achieving succinct representation of hash functions is not necessary for our data-structures.