Watson's lemma: Difference between revisions

From formulasearchengine
Jump to navigation Jump to search
en>Helpful Pixie Bot
m ISBNs (Build KE)
 
en>A-R-Vargas
Proof: Simplified the proof by replacing the use of the Cauchy-Schwarz inequality with a change of variables.
Line 1: Line 1:
Hello! <br>I'm Vietnamese male ;=). <br>I really like Parkour!<br><br>Here is my web page :: [http://besiki.com.ve/profile/milestrang.html Size guaide mountain bike sizing.]
{{Cleanup|date=May 2010}}
 
'''Disjunct''' and '''separable matrices''' play a pivotal role in the mathematical area of non-adaptive [[group testing]]. This area investigates efficient designs and procedures to identify 'needles in haystacks' by conducting the tests on groups of items instead of each item alone. The main concept is that if there are very few special items (needles) and the groups are constructed according to certain combinatorial guidelines, then one can test the groups and find all the needles. This can reduce the cost and the labor associated with of large scale experiments.
 
The grouping pattern can be represented by a <math>t\times n</math> binary matrix, where each column represents an item and each row represents a pool. The symbol '1' denotes participation in the pool and '0' absence from a pool. The ''d''-disjunctness and the ''d''-separability of the matrix describe sufficient condition to identify ''d'' special items.
 
In a matrix that is ''d''-separable, the [[Boolean sum]] of every ''d'' columns is unique. In a matrix that is ''d''-disjunct the Boolean sum  of every ''d'' columns does not contain any other column in the matrix. Theoretically, for the same number of columns (items), one can construct ''d''-separable matrices with fewer rows (tests) than ''d''-disjunct. However, designs that are based on ''d''-separable are less applicable since the decoding time to identify the special items is exponential. In contrast, the decoding time for ''d''-disjunct matrices is polynomial.
 
==''d''-separable==
'''Definition:''' A <math>t\times n</math> matrix <math>M</math> is <math>d</math>-separable if and only if <math> \forall S_1 \neq S_2 \subseteq [n]</math> where <math>|S_1|,|S_2| \leq d</math> such that <math>\bigcup_{j \in S_1} M_j \neq \bigcup_{i \in S_2} M_i</math>
 
===Decoding algorithm===
First we will describe another way to look at the problem of group testing and how to decode it from a different notation. We can give a new interpretation of how group testing works as follows:
 
'''Group testing:''' Given input <math>M</math> and <math>\mathbf{r}</math> such that <math>\mathbf{r} = M \mathbf{x}</math> output <math>\mathbf{x}</math>
* Take <math> M_j </math> to be the <math> j^{th} </math> column of <math>M</math>
* Define <math> S_{M_j} \subseteq [t] </math> so that <math> M_j(i) = 1 </math> if and only if <math> i \in S_{M_j} </math>
* This gives that <math> S_\mathbf{r} = \bigcup_{j \in [n], \mathbf{x}_j = 1} S_{M_j} </math>
 
This formalizes the relation between <math>\mathbf{x}</math> and the columns of <math>M</math> and <math>\mathbf{r}</math> in a way more suitable to the thinking of <math>d</math>-separable and <math>d</math>-disjunct matrices. The algorithm to decode a <math>d</math>-separable matrix is as follows:
 
Given a <math>t\times n</math> matrix <math>M</math> such that <math>M</math> is <math>d</math>-separable:
# For each <math>T \subseteq [n]</math> such that <math>|T| \leq d</math> check if <math>S_\mathbf{r} = \bigcup_{j \in T} S_{M_j} </math>
This algorithm runs in time <math>n^{\mathcal{O}(d)}</math>.
 
==''d''-disjunct==
 
In literature disjunct matrices are also called super-imposed codes and ''d''-cover-free families.
 
'''Definition:''' A <math>t</math> x <math>n</math> matrix <math>M</math> is ''d-disjunct'' if <math>\forall S \subseteq [n]</math> such that <math>|S| \leq d</math>, <math>\forall j \notin S</math>  <math> \exists i</math> such that <math>M_{i,j} = 1</math> but <math>\forall k \in S, M_{i,k} = 0</math>.
Denoting <math> M_a </math> is the <math>a^{th}</math> column of <math>M</math> and <math>S_{M_a} \subseteq [t]</math> where <math> M_a(b) = 1 </math> if and only if <math> b \in S_{M_a} </math> gives that <math>M</math> is <math>d</math>-disjunct if and only if <math> S_{M_j} \subsetneq \cup_{k \in S} S_{M_k}</math>
<!--break-->
 
'''Claim:''' <math>M</math> is <math>d</math>-disjunct implies <math>M</math> is <math>d</math>-separable
 
''Proof: (by contradiction)'' Let <math>M</math> be a <math>t</math> x <math>n</math> <math>d</math>-disjunct matrix. Assume for contradiction that <math>M</math> is not <math>d</math>-separable. Then there exists <math>T_1, T_2 \in [n]</math> and <math>T_1 \neq T_2</math> with <math>|T_1|,|T_2| \leq d</math> such that <math>\bigcup_{i \in T_1} M_i = \cup_{i \in T_2} S_{M_i}</math>. This implies that <math> \exists j \in T_2 \setminus T_1 </math> such that <math> S_{M_j} \subseteq \bigcup_{k \in T_1} T_{M_k}</math>. This contradicts the fact that <math>M</math> is <math>d</math>-disjunct. Therefore <math>M</math> is <math>d</math>-separable. <math>\Box </math>
 
===Decoding algorithm===
The algorithm for <math>d</math>-separable matrices was still a polynomial in <math>n</math>. The following will give a nicer algorithm for <math>d</math>-disjunct matrices which will be a <math>d</math> multiple instead of raised to the power of <math>d</math> given our bounds for <math>t</math>. The algorithm is as follows in the proof of the following lemma:
 
'''Lemma 1:''' There exists an <math>\mathcal{O}(nt)</math> time decoding for any <math>d</math>-disjunct <math>t</math> x <math>n</math> matrix.
*'''Observation 1:''' For any matrix <math>M</math> and given <math>M\mathbf{x} = \mathbf{r}</math> if <math>\mathbf{r}_i = 1 </math> it implies <math> \exists j </math> such that <math> M_{i,j} = 1 </math> and <math> \mathbf{x}_j = 1 </math> where <math> 1 \leq i \leq t </math> and <math> 1 \leq j \leq n </math>. The opposite is also true. If <math>\mathbf{r}_i = 0 </math> it implies <math> \forall j </math> if <math> M_{i,j} = 1 </math> then <math> \mathbf{x}_j = 0 </math>. This is the case because <math>\mathbf{r}</math> is generated by taking all of the logical or of the <math> \mathbf{x}_j</math>'s where <math> M_{i,j} = 1 </math>.
*'''Observation 2:''' For any <math>d</math>-disjunct matrix and every set <math> T = \{j | \mathbf{x}_j = 1\} </math> where <math> |T| \leq d </math> and for each <math> j \notin T </math> where <math> 1 \leq j \leq n </math> there exists some <math>i</math> where <math> 1 \leq i \leq t </math> such that <math> M_{i,j} = 1</math> but <math> M_{i,l} = 0 \text{ }\forall l \in T</math>. Thus, if <math>\mathbf{r}_i = 0 </math> then <math>\mathbf{x}_j = 0</math>.
 
''Proof of Lemma 1:'' Given as input <math> \mathbf{r} \in \{0,1\}^t, M </math> use the following algorithm:
# For each <math> j \in [n] </math> set <math>\mathbf{x}_j = 1 </math>
# For <math> i = 1 \ldots t </math>, if <math> \mathbf{r}_i = 0 </math> then for all <math> j \in [n] </math>, if <math> M_{i,j} = 1 </math> set <math> \mathbf{x}_j = 0 </math>
By Observation 1 we get that any position where <math>\mathbf{r}_i = 0 </math> the appropriate <math> \mathbf{x}_j </math>'s will be set to 0 by step 2 of the algorithm. By Observation 2 we have that there is at least one <math>i</math> such that if <math> \mathbf{x}_j</math> is supposed to be 1 then <math> M_{i,j} = 1 </math> and, if <math> \mathbf{x}_j</math> is supposed to be 1, it can only be the case that <math> \mathbf{r}_i = 1 </math> as well. Therefore step 2 will never assign <math> \mathbf{x}_j </math> the value 0 leaving it as a 1 and solving for <math>\mathbf{x}</math>. This takes time <math> \mathcal{O}(nt) </math> overall. <math>\Box</math>
 
==Upper bounds for non-adaptive group testing ==
The results for these upper bounds rely mostly on the properties of <math>d</math>-disjunct matrices. Not only are the upper bounds nice, but from Lemma 1 we know that there is also a nice decoding algorithm for these bounds. First the following lemma will be proved since it is relied upon for both constructions:
 
'''Lemma 2:''' Given <math> 1 \leq d \leq n </math> let <math> M </math> be a <math>t\times n</math> matrix and:
# <math> \forall j \in [n] \text{, } |S_{M_j}| \geq w_\min </math>
# <math> \forall i \neq j \in [n], |S_{M_i} \cap S_{M_j}| \leq a_\max </math>
for some integers <math>a_\max \leq w_\min \leq t </math> then <math>M</math> is <math>\geq d' \left\lfloor \frac{w_\min - 1}{a_\max} \right\rfloor </math>-disjunct.
 
''Note:'' these conditions are stronger than simply having a subset of size <math>d</math> but rather applies to any pair of columns in a matrix. Therefore no matter what column <math>i</math> that is chosen in the matrix, that column will contain at least <math>w_\min</math> 1's and the total number of shared 1's by any two columns is <math>a_\max</math>.
 
''Proof of Lemma 2:'' Fix an arbitrary <math> S \subseteq [n], |S| \leq d, j \notin S </math> and a matrix <math> M </math>. There exists a match between <math>i \in S \text{ and } j \notin S</math> if column <math>i</math> has a 1 in the same row position as in column <math>j</math>. Then the total number of matches is  <math> \leq a_\max \cdot d \leq a_\max \cdot (\frac{w_\min - 1}{a_\max}) = w_\min - 1 < \text{ } w_\min </math>, i.e. a column <math>j</math> has a fewer number of matches than the number of ones in it. Therefore there must be a row with all 0s in <math>S</math> but a 1 in <math>j</math>. <math>\Box </math>
 
We will now generate constructions for the bounds.
 
=== Randomized construction ===
This first construction will use a probabilistic argument to show the property wanted, in particular the [[Chernoff bound]]. Using this randomized construction gives that <math> t(d,n) \leq \mathcal{O}(d^2 \log n) </math>. The following lemma will give the result needed.
 
'''Theorem 1:''' There exists a random <math>d</math>-disjunct matrix with <math>\mathcal{O}(d^2 \log n) </math> rows.
 
''Proof of Theorem 1:'' Begin by building a random <math>t\times n</math> matrix <math> M </math> with <math> t = cd^2 \log n </math> (where <math>c</math> will be picked later). It will be shown that <math>M </math> is <math>\Omega(d)</math>-disjunct. First note that <math>M_{i,j} \in \{0,1\}</math> and let <math>M_{i,j} = 1</math> independently with probability <math>\frac{1}{d}</math> for <math>i \in [t] </math> and <math>j \in [n] </math>. Now fix <math> j \in [n] </math>. Denote the <math>j^{th}</math> column of <math>M</math> as <math>T_j \subseteq [t] </math>. Then the expectancy is <math>\mathbb{E}[|T_j|] = \frac{t}{d}</math>. Using the Chernoff bound, with <math>\mu = \frac{1}{2} </math>, gives <math> \mathrm{Pr}[ |T_j| < \frac{t}{2d}] \leq e^{\frac{-t}{12d}} = e^{\frac{-cd\log n}{12}} \leq n^{-2d} [</math>if <math> c \geq 24 ]</math>. Taking the [[Boole's inequality|union bound]] over all columns gives <math> \mathrm{Pr}[\exists j</math>, <math> |T_j| < \frac{t}{2d}] \leq n \cdot n^{-2d} \leq n^{-d}</math>. This gives <math> \mathrm{Pr}[\forall j </math>, <math> |T_j| \geq \frac{t}{2d}] \geq 1 - n^{-d}</math>. Therefore <math> w_\min \geq \frac{t}{2d} </math> with probability <math> \geq 1 - n^{-d} </math>.
 
Now suppose <math>j \neq k \in [n] </math> and <math> i \in [t]</math> then <math>\mathrm{Pr} [M_{i,j} = M_{i,k} = 1] = \frac{1}{d^2} </math>. So <math>\mathbb{E}[|T_j \cap T_k|] = \frac{t}{d^2}</math>. Using the Chernoff bound on this gives <math>\mathrm{Pr}[ |T_j \cap T_k| > \frac{2t}{d^2}] \leq e^{\frac{-t}{3d^2}} = e^{-2\log n} \leq n^{-4} [</math>if <math> c \geq 12 ]</math>. By the union bound over <math>(j,k) </math> pairs <math> \mathrm{Pr}[\exists (j,k) </math> such that <math> |T_j \cap T_k| > \frac{2t}{d^2}] \leq n^2 \cdot n^{-4} = n^{-2}</math>. This gives that <math> a_\max \leq \frac{2t}{d^2} </math> and <math>w_\min \geq \frac{t}{2d} </math> with probability <math> \geq 1 - n^{-d} - n^{-2} \geq 1 - \frac{1}{n} </math>. Note that by changing <math> c </math> the probability <math>1 - \frac{1}{n}</math> can be made to be <math>1 - \frac{1}{poly(n)}</math>. Thus <math> d' = \lfloor\frac{\frac{t}{2d} - 1}{\frac{2t}{d^2}}\rfloor \approx \frac{d}{4} </math>. By setting <math> d </math> to be <math> 4d </math>, the above argument shows that <math> M</math> is <math>d</math>-disjunct.
 
Note that in this proof <math> t = d^2\log n </math> thus giving the upper bound of <math> t(d,n) \leq \mathcal{O}(d^2 \log n) </math>. <math>\Box </math>
 
=== Strongly explicit construction ===
It is possible to prove a bound of <math> t(d,n) \leq \mathcal{O}(d^2\log^2{n}) </math> using a strongly explicit code. Although this bound is worse by a <math> \log n </math> factor, it is preferable because this produces a strongly explicit construction instead of a randomized one.
 
'''Theorem 2:''' There exists a strongly explicit <math>d</math>-disjunct matrix with <math>\mathcal{O}(d^2\log^2{n}) </math> rows.
 
This proof will use the properties of [[concatenated code]]s along with the properties of disjunct matrices to construct a code that will satisfy the bound we are after.
 
''Proof of Theorem 2:''
Let <math> C \subseteq \{0,1\}^t, |C| = n </math> such that <math> C = \{\mathbf{c}_1,\ldots,\mathbf{c}_n\} </math>. Denote <math>M_C</math> as the matrix with its <math>i^{th}</math> column being <math>\mathbf{c}_i</math>. If <math>C^*</math> can be found such that
# <math> \forall i \in C^* \text{, } |\mathbf{c}_i| \geq w_\min </math>
# <math> \forall \mathbf{c}^1 \neq \mathbf{c}^2 \in C^* \text{, } |\{i  | \mathbf{c}^1_i = \mathbf{c}^2_i = 1\}| \leq a_\max </math>,
then <math> M_{C^*} </math> is <math> \lfloor \frac{w_\min - 1}{a_\max} \rfloor </math>-disjunct. To complete the proof another concept must be introduced. This concept uses code concatenation to obtain the result we want.
 
'''Kautz-Singleton '64'''
 
Let <math>C^* = C_{out} \circ C_{in}</math>. Let <math>C_{out}</math> be a <math>[q,k]_q</math>-[[Reed-solomon codes|Reed&ndash;Solomon code]]. Let <math>C_{in} = [q] \rightarrow \{0,1\}^q</math> such that for <math>i \in [q]</math>, <math>c_{in}(i) = (0,\ldots,0,1,0,\ldots,0)</math> where the 1 is in the <math>i^{th}</math> position. Then <math>n = q^k</math>, <math>t = q^2</math>, and <math>w_\min = q</math>.
 
---
 
''Example:'' Let <math>k = 1, q = 3, C_{out} = \{(0,0,0), (1,1,1), (2,2,2)\}</math>. Below, <math>M_C</math> denotes the matrix of codewords for <math>C_{out}</math> and <math>M_{C^*}</math> denotes the matrix of codewords for <math>C^* = C_{out} \circ C_{in}</math>, where each column is a codeword. The overall image shows the transition from the outer code to the concatenated code.
 
<math>M_C=\begin{bmatrix}0&1&2\\0&1&2\\0&1&2\end{bmatrix}\quad\Rightarrow\quad M_{C^*}=\begin{bmatrix}0&0&1\\0&1&0\\1&0&0\\0&0&1\\0&1&0\\1&0&0\\0&0&1\\0&1&0\\1&0&0\end{bmatrix}</math>
 
---
 
Divide the rows of <math>M_{C^*}</math> into sets of size <math>q</math> and number them as <math>(i,j) \in [q] \times [q]</math> where <math>i</math> indexes the set of rows and <math>j</math> indexes the row in the set. If <math>M_{(i,j),k_1} = M_{(i,j),k_2} = 1</math> then note that <math>\mathbf{c}_{k_1}(i) = \mathbf{c}_{k_2}(i) = j</math> where <math>\mathbf{c}_{k_1}, \mathbf{c}_{k_2} \in C_{out} </math>. So that means <math>|M_{k_1} \cap M_{k_2}| = q - \Delta(\mathbf{c}_{k_1}, \mathbf{c}_{k_2})</math>. Since <math> \Delta(\mathbf{c}_{k_1}, \mathbf{c}_{k_2}) \geq q - k + 1</math> it gives that <math>|M_{k_1} \cap M_{k_2}| \leq k - 1</math> so let <math>a_\max = k - 1</math>. Since <math>t = q^2</math>, the entries in each column of <math>M_{C^*}</math> can be looked at as <math>q</math> sets of <math>q</math> entries where only one of the entries is nonzero (by definition of <math>C_{in}</math>) which gives a total of <math>q</math> nonzero entries in each column. Therefore <math>w_\min = q </math> and <math>d =_{def} \lfloor \frac{w_\min - 1}{a_\max} \rfloor</math> (so <math>M_{C^*}</math> is <math>d</math>-disjunct).
 
Now pick <math>q</math> and <math>k</math> such that <math>\lfloor \frac{q-1}{k-1}\rfloor = d</math> (so <math>\lfloor \frac{q}{k}\rfloor \approx d</math>). Since <math>q^k = n</math> we have <math>k = \frac{\log n}{\log q} \leq \log n</math>. Since <math>q \approx kd</math> and <math>t = q^2</math> it gives that <math>t = q^2 \approx (kd)^2 \leq (d \log n)^2</math>. <math>\Box</math>
 
Thus we have a strongly explicit construction for a code that can be used to form a group testing matrix and so <math>t(d,n) \leq (d \log n)^2</math>.
 
For non-adaptive testing we have shown that <math>\Omega(d\log n) \leq t(d,n)</math> and we have that (''i'') <math>t(d,n) \leq \mathcal{O}(d^2\log^2{n})</math> (strongly explicit) and (''ii'') <math>t(d,n) \leq \mathcal{O}(d^2\log n)</math> (randomized). As of recent work by Porat and Rothscheld, they presented an explicit method construction (i.e. deterministic time but not strongly explicit) for <math>t(d,n) \leq \mathcal{O}(d^2\log n)</math>,<ref>Porat, E., & Rothschild, A. (2008). Explicit Non-adaptive Combinatorial Group Testing Schemes. In Proceedings of the 35th International Colloquium on Automata, Languages and Programming (ICALP) (pp. 748&ndash;759).</ref> however it is not shown here. There is also a lower bound for disjunct matrices of <math>t(d,n) \geq \Omega(\frac{d^2}{\log d}\log n)</math><ref>Dýachkov, A. G., & Rykov, V. V. (1982). Bounds on the length of disjunctive codes. ''Problemy Peredachi Informatsii'' [Problems of Information Transmission], 18(3), 7&ndash;13.</ref><ref>Dýachkov, A. G., Rashad, A. M., & Rykov, V. V. (1989). ''Superimposed distance codes. Problemy Upravlenija i Teorii Informacii'' [Problems of Control and Information Theory], 18(4), 237&ndash;250.</ref><ref>Zoltan Furedi, On r-Cover-free Families, ''Journal of Combinatorial Theory, Series A'', Volume 73, Issue 1, January 1996, Pages 172&ndash;173, ISSN 0097-3165, {{doi|10.1006/jcta.1996.0012}}. (http://www.sciencedirect.com/science/article/B6WHS-45NJMVF-39/2/172ef8c5c4aee2d85d1ddd56b107eef3)</ref> which is not shown here either.
 
==Examples==
Here is the 2-disjunct matrix <math>M_{9 \times 12} </math>:
 
<math>
M_{9 \times 12} = \left[
\begin{array}{cccccccccccc}
0 & 0 & 0 & 0 & 0 & 0 & 1 & 1 & 1 & 1 & 0 & 0 \\
0 & 0 & 0 & 1 & 1 & 1 & 0 & 0 & 0 & 1 & 0 & 0 \\
1 & 1 & 1 & 0 & 0 & 0 & 0 & 0 & 0 & 1 & 0 & 0 \\
0 & 0 & 1 & 0 & 0 & 1 & 0 & 0 & 1 & 0 & 1 & 0 \\
0 & 1 & 0 & 0 & 1 & 0 & 0 & 1 & 0 & 0 & 1 & 0 \\
1 & 0 & 0 & 1 & 0 & 0 & 1 & 0 & 0 & 0 & 1 & 0 \\
0 & 1 & 0 & 1 & 0 & 0 & 0 & 0 & 1 & 0 & 0 & 1 \\
0 & 0 & 1 & 0 & 1 & 0 & 1 & 0 & 0 & 0 & 0 & 1 \\
1 & 0 & 0 & 0 & 0 & 1 & 0 & 1 & 0 & 0 & 0 & 1
\end{array}
\right]
</math>
 
== See also ==
* [[Group testing]]
* [[Concatenated code]]
* [[Compressed sensing]]
 
== References ==
{{Reflist}}
 
== Notes ==
# Atri Rudra's course on Error Correcting Codes: Combinatorics, Algorithms, and Applications (Spring 2010), Lectures [http://www.cse.buffalo.edu/~atri/courses/coding-theory/spr10/lectures/lect28.pdf  28], [http://www.cse.buffalo.edu/~atri/courses/coding-theory/spr10/lectures/lect29.pdf  29]. (These notes have mathematically misleading typographical errors.)
 
{{DEFAULTSORT:Disjunct Matrix}}
[[Category:Combinatorics]]

Revision as of 02:13, 19 July 2013

Template:Cleanup

Disjunct and separable matrices play a pivotal role in the mathematical area of non-adaptive group testing. This area investigates efficient designs and procedures to identify 'needles in haystacks' by conducting the tests on groups of items instead of each item alone. The main concept is that if there are very few special items (needles) and the groups are constructed according to certain combinatorial guidelines, then one can test the groups and find all the needles. This can reduce the cost and the labor associated with of large scale experiments.

The grouping pattern can be represented by a t×n binary matrix, where each column represents an item and each row represents a pool. The symbol '1' denotes participation in the pool and '0' absence from a pool. The d-disjunctness and the d-separability of the matrix describe sufficient condition to identify d special items.

In a matrix that is d-separable, the Boolean sum of every d columns is unique. In a matrix that is d-disjunct the Boolean sum of every d columns does not contain any other column in the matrix. Theoretically, for the same number of columns (items), one can construct d-separable matrices with fewer rows (tests) than d-disjunct. However, designs that are based on d-separable are less applicable since the decoding time to identify the special items is exponential. In contrast, the decoding time for d-disjunct matrices is polynomial.

d-separable

Definition: A t×n matrix M is d-separable if and only if S1S2[n] where |S1|,|S2|d such that jS1MjiS2Mi

Decoding algorithm

First we will describe another way to look at the problem of group testing and how to decode it from a different notation. We can give a new interpretation of how group testing works as follows:

Group testing: Given input M and 𝐫 such that 𝐫=M𝐱 output 𝐱

This formalizes the relation between 𝐱 and the columns of M and 𝐫 in a way more suitable to the thinking of d-separable and d-disjunct matrices. The algorithm to decode a d-separable matrix is as follows:

Given a t×n matrix M such that M is d-separable:

  1. For each T[n] such that |T|d check if S𝐫=jTSMj

This algorithm runs in time n𝒪(d).

d-disjunct

In literature disjunct matrices are also called super-imposed codes and d-cover-free families.

Definition: A t x n matrix M is d-disjunct if S[n] such that |S|d, jS i such that Mi,j=1 but kS,Mi,k=0. Denoting Ma is the ath column of M and SMa[t] where Ma(b)=1 if and only if bSMa gives that M is d-disjunct if and only if SMjkSSMk

Claim: M is d-disjunct implies M is d-separable

Proof: (by contradiction) Let M be a t x n d-disjunct matrix. Assume for contradiction that M is not d-separable. Then there exists T1,T2[n] and T1T2 with |T1|,|T2|d such that iT1Mi=iT2SMi. This implies that jT2T1 such that SMjkT1TMk. This contradicts the fact that M is d-disjunct. Therefore M is d-separable.

Decoding algorithm

The algorithm for d-separable matrices was still a polynomial in n. The following will give a nicer algorithm for d-disjunct matrices which will be a d multiple instead of raised to the power of d given our bounds for t. The algorithm is as follows in the proof of the following lemma:

Lemma 1: There exists an 𝒪(nt) time decoding for any d-disjunct t x n matrix.

Proof of Lemma 1: Given as input 𝐫{0,1}t,M use the following algorithm:

  1. For each j[n] set 𝐱j=1
  2. For i=1t, if 𝐫i=0 then for all j[n], if Mi,j=1 set 𝐱j=0

By Observation 1 we get that any position where 𝐫i=0 the appropriate 𝐱j's will be set to 0 by step 2 of the algorithm. By Observation 2 we have that there is at least one i such that if 𝐱j is supposed to be 1 then Mi,j=1 and, if 𝐱j is supposed to be 1, it can only be the case that 𝐫i=1 as well. Therefore step 2 will never assign 𝐱j the value 0 leaving it as a 1 and solving for 𝐱. This takes time 𝒪(nt) overall.

Upper bounds for non-adaptive group testing

The results for these upper bounds rely mostly on the properties of d-disjunct matrices. Not only are the upper bounds nice, but from Lemma 1 we know that there is also a nice decoding algorithm for these bounds. First the following lemma will be proved since it is relied upon for both constructions:

Lemma 2: Given 1dn let M be a t×n matrix and:

  1. j[n]|SMj|wmin
  2. ij[n],|SMiSMj|amax

for some integers amaxwmint then M is dwmin1amax-disjunct.

Note: these conditions are stronger than simply having a subset of size d but rather applies to any pair of columns in a matrix. Therefore no matter what column i that is chosen in the matrix, that column will contain at least wmin 1's and the total number of shared 1's by any two columns is amax.

Proof of Lemma 2: Fix an arbitrary S[n],|S|d,jS and a matrix M. There exists a match between iS and jS if column i has a 1 in the same row position as in column j. Then the total number of matches is amaxdamax(wmin1amax)=wmin1< wmin, i.e. a column j has a fewer number of matches than the number of ones in it. Therefore there must be a row with all 0s in S but a 1 in j.

We will now generate constructions for the bounds.

Randomized construction

This first construction will use a probabilistic argument to show the property wanted, in particular the Chernoff bound. Using this randomized construction gives that t(d,n)𝒪(d2logn). The following lemma will give the result needed.

Theorem 1: There exists a random d-disjunct matrix with 𝒪(d2logn) rows.

Proof of Theorem 1: Begin by building a random t×n matrix M with t=cd2logn (where c will be picked later). It will be shown that M is Ω(d)-disjunct. First note that Mi,j{0,1} and let Mi,j=1 independently with probability 1d for i[t] and j[n]. Now fix j[n]. Denote the jth column of M as Tj[t]. Then the expectancy is 𝔼[|Tj|]=td. Using the Chernoff bound, with μ=12, gives Pr[|Tj|<t2d]et12d=ecdlogn12n2d[if c24]. Taking the union bound over all columns gives Pr[j, |Tj|<t2d]nn2dnd. This gives Pr[j, |Tj|t2d]1nd. Therefore wmint2d with probability 1nd.

Now suppose jk[n] and i[t] then Pr[Mi,j=Mi,k=1]=1d2. So 𝔼[|TjTk|]=td2. Using the Chernoff bound on this gives Pr[|TjTk|>2td2]et3d2=e2lognn4[if c12]. By the union bound over (j,k) pairs Pr[(j,k) such that |TjTk|>2td2]n2n4=n2. This gives that amax2td2 and wmint2d with probability 1ndn211n. Note that by changing c the probability 11n can be made to be 11poly(n). Thus d=t2d12td2d4. By setting d to be 4d, the above argument shows that M is d-disjunct.

Note that in this proof t=d2logn thus giving the upper bound of t(d,n)𝒪(d2logn).

Strongly explicit construction

It is possible to prove a bound of t(d,n)𝒪(d2log2n) using a strongly explicit code. Although this bound is worse by a logn factor, it is preferable because this produces a strongly explicit construction instead of a randomized one.

Theorem 2: There exists a strongly explicit d-disjunct matrix with 𝒪(d2log2n) rows.

This proof will use the properties of concatenated codes along with the properties of disjunct matrices to construct a code that will satisfy the bound we are after.

Proof of Theorem 2: Let C{0,1}t,|C|=n such that C={𝐜1,,𝐜n}. Denote MC as the matrix with its ith column being 𝐜i. If C can be found such that

  1. iC|𝐜i|wmin
  2. 𝐜1𝐜2C|{i|𝐜i1=𝐜i2=1}|amax,

then MC is wmin1amax-disjunct. To complete the proof another concept must be introduced. This concept uses code concatenation to obtain the result we want.

Kautz-Singleton '64

Let C=CoutCin. Let Cout be a [q,k]q-Reed–Solomon code. Let Cin=[q]{0,1}q such that for i[q], cin(i)=(0,,0,1,0,,0) where the 1 is in the ith position. Then n=qk, t=q2, and wmin=q.

---

Example: Let k=1,q=3,Cout={(0,0,0),(1,1,1),(2,2,2)}. Below, MC denotes the matrix of codewords for Cout and MC denotes the matrix of codewords for C=CoutCin, where each column is a codeword. The overall image shows the transition from the outer code to the concatenated code.

MC=[012012012]MC=[001010100001010100001010100]

---

Divide the rows of MC into sets of size q and number them as (i,j)[q]×[q] where i indexes the set of rows and j indexes the row in the set. If M(i,j),k1=M(i,j),k2=1 then note that 𝐜k1(i)=𝐜k2(i)=j where 𝐜k1,𝐜k2Cout. So that means |Mk1Mk2|=qΔ(𝐜k1,𝐜k2). Since Δ(𝐜k1,𝐜k2)qk+1 it gives that |Mk1Mk2|k1 so let amax=k1. Since t=q2, the entries in each column of MC can be looked at as q sets of q entries where only one of the entries is nonzero (by definition of Cin) which gives a total of q nonzero entries in each column. Therefore wmin=q and d=defwmin1amax (so MC is d-disjunct).

Now pick q and k such that q1k1=d (so qkd). Since qk=n we have k=lognlogqlogn. Since qkd and t=q2 it gives that t=q2(kd)2(dlogn)2.

Thus we have a strongly explicit construction for a code that can be used to form a group testing matrix and so t(d,n)(dlogn)2.

For non-adaptive testing we have shown that Ω(dlogn)t(d,n) and we have that (i) t(d,n)𝒪(d2log2n) (strongly explicit) and (ii) t(d,n)𝒪(d2logn) (randomized). As of recent work by Porat and Rothscheld, they presented an explicit method construction (i.e. deterministic time but not strongly explicit) for t(d,n)𝒪(d2logn),[1] however it is not shown here. There is also a lower bound for disjunct matrices of t(d,n)Ω(d2logdlogn)[2][3][4] which is not shown here either.

Examples

Here is the 2-disjunct matrix M9×12:

M9×12=[000000111100000111000100111000000100001001001010010010010010100100100010010100001001001010100001100001010001]

See also

References

43 year old Petroleum Engineer Harry from Deep River, usually spends time with hobbies and interests like renting movies, property developers in singapore new condominium and vehicle racing. Constantly enjoys going to destinations like Camino Real de Tierra Adentro.

Notes

  1. Atri Rudra's course on Error Correcting Codes: Combinatorics, Algorithms, and Applications (Spring 2010), Lectures 28, 29. (These notes have mathematically misleading typographical errors.)
  1. Porat, E., & Rothschild, A. (2008). Explicit Non-adaptive Combinatorial Group Testing Schemes. In Proceedings of the 35th International Colloquium on Automata, Languages and Programming (ICALP) (pp. 748–759).
  2. Dýachkov, A. G., & Rykov, V. V. (1982). Bounds on the length of disjunctive codes. Problemy Peredachi Informatsii [Problems of Information Transmission], 18(3), 7–13.
  3. Dýachkov, A. G., Rashad, A. M., & Rykov, V. V. (1989). Superimposed distance codes. Problemy Upravlenija i Teorii Informacii [Problems of Control and Information Theory], 18(4), 237–250.
  4. Zoltan Furedi, On r-Cover-free Families, Journal of Combinatorial Theory, Series A, Volume 73, Issue 1, January 1996, Pages 172–173, ISSN 0097-3165, 21 year-old Glazier James Grippo from Edam, enjoys hang gliding, industrial property developers in singapore developers in singapore and camping. Finds the entire world an motivating place we have spent 4 months at Alejandro de Humboldt National Park.. (http://www.sciencedirect.com/science/article/B6WHS-45NJMVF-39/2/172ef8c5c4aee2d85d1ddd56b107eef3)