-
Notifications
You must be signed in to change notification settings - Fork 93
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
- Loading branch information
Showing
12 changed files
with
106 additions
and
44 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file was deleted.
Oops, something went wrong.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
53 changes: 53 additions & 0 deletions
53
codes/classical/properties/block/distributed_storage/info_retrieval/batch.yml
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,53 @@ | ||
####################################################### | ||
## This is a code entry in the error correction zoo. ## | ||
## https://github.com/errorcorrectionzoo ## | ||
####################################################### | ||
|
||
code_id: batch | ||
|
||
name: 'Batch code' | ||
introduced: '\cite{doi:10.1145/1007352.1007396}' | ||
|
||
description: | | ||
Binary code designed for minimizing the total amount of storage and the worst-case maximal load on any devices in a distributed system. | ||
An \((n,N,k,m,t)\) batch code encodes a length-\(n\) string \(x_1,\cdots,x_n\) into an \(m\)-tuple of strings of total length \(N\) (are also called buckets), such that for each \(k\)-tuple of distinct indices \(i_1,i_2,...,i_k\), the entries \(x_{i_1},...,x_{i_k}\) can be decoded by reading at most \(t\) symbols from each bucket. | ||
If each bucket of a batch code contains a single symbol, then the \((n,N,k,m)\) batch code is \textit{primitive}. | ||
If, for any multiset \(i_1, i_2, ..., i_k \in [n]\), there is a partition of buckets into subsets \(S_1, ..., S_k \subset [m]\) such that each \(x_{i_j}\) can be recovered by reading at most one symbol from each bucket in \(S_j\), then the \((n, N, k, m)\) code is a \textit{multiset batch code}. | ||
properties: | | ||
The Gadget Lemma states that any \((n,N,k,m)\) batch code at \(t=1\) can be transformed into a multiset \((rn,rN,k,m)\) for any positive integer \(r\) \cite{doi:10.1109/TIT.2016.2524007}. | ||
Combining two batch codes \(C_1\) and \(C_2\), which are \((n_1,N_1,k_1,m_1)\) and \((n_2,N_2,k_2,m_2)\) batch codes respectively, yields a composite batch code \(C_1\otimes C_2\), which is an \((n_1, m_1N_2, k_1 k_2, m_1 m_2)\) batch code. | ||
notes: | ||
- 'See Ref. \cite{doi:10.1017/9781009283403}.' | ||
|
||
relations: | ||
parents: | ||
- code_id: q-ary_digits_into_q-ary_digits | ||
cousins: | ||
- code_id: locally_recoverable | ||
detail: 'A systematic batch code with restricted size of reconstruction sets can recover any query of \(t\) information symbols with recovery sets of size \(r\) \cite{doi:10.1007/978-3-319-70293-3_16,doi:10.1109/TIT.2021.3131620}.' | ||
- code_id: ldc | ||
detail: 'Batch codes and LDCs are related \cite{doi:10.1145/1007352.1007396,doi:10.1515/popets-2016-0036}\cite[Ch. 10.3]{doi:10.1017/9781009283403}.' | ||
- code_id: hamming | ||
detail: 'Hamming codes can be used to construct batch codes \cite{arxiv:1710.07386}\cite[Exam. 10.9]{doi:10.1017/9781009283403}.' | ||
- code_id: generalized_reed_muller | ||
detail: 'GRM codes can be used to construct batch codes \cite{arxiv:1710.07386}.' | ||
- code_id: multiplicity | ||
detail: 'Multiplicity codes can be used to construct batch codes \cite{arxiv:1701.07206}.' | ||
|
||
|
||
# Begin Entry Meta Information | ||
_meta: | ||
# Change log - most recent first | ||
changelog: | ||
- user_id: VictorVAlbert | ||
date: '2024-08-18' | ||
- user_id: VictorVAlbert | ||
date: '2022-07-07' | ||
- user_id: YijiaXu | ||
date: '2022-04-25' |
39 changes: 39 additions & 0 deletions
39
codes/classical/properties/block/distributed_storage/info_retrieval/pir.yml
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,39 @@ | ||
####################################################### | ||
## This is a code entry in the error correction zoo. ## | ||
## https://github.com/errorcorrectionzoo ## | ||
####################################################### | ||
|
||
code_id: pir | ||
|
||
name: 'Private information retrieval (PIR) code' | ||
short_name: 'PIR' | ||
introduced: '\cite{doi:10.1145/293347.293350,doi:10.5555/795662.796270}' | ||
|
||
description: | | ||
A code used to obtain information from several servers privately, i.e., without the servers knowing what information was obtained. | ||
A \(k\)\textit{-server PIR code} is a block code for which one can recover any coordinate of a codeword from \(k\) disjoint sets of coordinates of the codeword \cite{arxiv:1505.06241}. | ||
notes: | ||
- 'See Ref. \cite{doi:10.1017/9781009283403,doi:10.5555/795662.796270}.' | ||
|
||
relations: | ||
parents: | ||
- code_id: q-ary_digits_into_q-ary_digits | ||
cousins: | ||
- code_id: multiplicity | ||
detail: 'Multiplicity codes can be used to construct PIR codes \cite{arxiv:1701.07206}.' | ||
- code_id: batch | ||
detail: 'Batch and PIR codes are related \cite{doi:10.1515/popets-2016-0036,arxiv:1611.09914}.' | ||
- code_id: locally_recoverable | ||
detail: 'LRCs and PIR codes are related \cite{arxiv:1505.06241,arxiv:1611.09914}: LRCs are designed to recover a codeword coordinate from a small set of other codeword coordinates, while PIR codes are designed to recover from many disjoint sets of arbitrary size \cite{arxiv:1505.06241}.' | ||
- code_id: ldc | ||
detail: 'Any \textit{smooth} LDC yields a PIR scheme \cite{arxiv:1701.02708}; see also Ref. \cite{doi:10.1007/978-3-642-14358-8}.' | ||
|
||
|
||
# Begin Entry Meta Information | ||
_meta: | ||
# Change log - most recent first | ||
changelog: | ||
- user_id: VictorVAlbert | ||
date: '2024-08-18' |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters