Group Testing and Coding Theory Atri Rudra University at Buffalo, SUNY Or, A Theoretical Computer...
-
Upload
owen-converse -
Category
Documents
-
view
216 -
download
0
Transcript of Group Testing and Coding Theory Atri Rudra University at Buffalo, SUNY Or, A Theoretical Computer...
![Page 1: Group Testing and Coding Theory Atri Rudra University at Buffalo, SUNY Or, A Theoretical Computer Scientist’s (Biased) View of Group Testing.](https://reader036.fdocuments.in/reader036/viewer/2022062423/56649c975503460f949531f1/html5/thumbnails/1.jpg)
Group Testing and Coding Theory
Atri Rudra University at Buffalo, SUNY
Or, A Theoretical Computer Scientist’s (Biased) View of Group Testing
![Page 2: Group Testing and Coding Theory Atri Rudra University at Buffalo, SUNY Or, A Theoretical Computer Scientist’s (Biased) View of Group Testing.](https://reader036.fdocuments.in/reader036/viewer/2022062423/56649c975503460f949531f1/html5/thumbnails/2.jpg)
Group testing overview
Test soldier for a disease
WWII example: syphillis
2
![Page 3: Group Testing and Coding Theory Atri Rudra University at Buffalo, SUNY Or, A Theoretical Computer Scientist’s (Biased) View of Group Testing.](https://reader036.fdocuments.in/reader036/viewer/2022062423/56649c975503460f949531f1/html5/thumbnails/3.jpg)
Group testing overview
Test an army for a disease
WWII example: syphillis
What if only one soldier has the
disease?
What if only one soldier has the
disease?
3
Can we do
better?
Can we do
better?
![Page 4: Group Testing and Coding Theory Atri Rudra University at Buffalo, SUNY Or, A Theoretical Computer Scientist’s (Biased) View of Group Testing.](https://reader036.fdocuments.in/reader036/viewer/2022062423/56649c975503460f949531f1/html5/thumbnails/4.jpg)
4
Communicating with my 2 year oldC(x)
x
y = C(x)+error
x Give up
“Code” C“Akash English”
C(x) is a “codeword”
![Page 5: Group Testing and Coding Theory Atri Rudra University at Buffalo, SUNY Or, A Theoretical Computer Scientist’s (Biased) View of Group Testing.](https://reader036.fdocuments.in/reader036/viewer/2022062423/56649c975503460f949531f1/html5/thumbnails/5.jpg)
5
The setupC(x)
x
y = C(x)+error
x Give up
Mapping CError-correcting code or just code
Encoding: x C(x)
Decoding: y x
C(x) is a codeword
![Page 6: Group Testing and Coding Theory Atri Rudra University at Buffalo, SUNY Or, A Theoretical Computer Scientist’s (Biased) View of Group Testing.](https://reader036.fdocuments.in/reader036/viewer/2022062423/56649c975503460f949531f1/html5/thumbnails/6.jpg)
The fundamental tradeoff
Correct as many errors as possible with as little redundancy as possible
6
Can one achieve the “optimal” tradeoff with efficient encoding and decoding ?
![Page 7: Group Testing and Coding Theory Atri Rudra University at Buffalo, SUNY Or, A Theoretical Computer Scientist’s (Biased) View of Group Testing.](https://reader036.fdocuments.in/reader036/viewer/2022062423/56649c975503460f949531f1/html5/thumbnails/7.jpg)
The main message
7
Coding Theory
Group Testing
![Page 8: Group Testing and Coding Theory Atri Rudra University at Buffalo, SUNY Or, A Theoretical Computer Scientist’s (Biased) View of Group Testing.](https://reader036.fdocuments.in/reader036/viewer/2022062423/56649c975503460f949531f1/html5/thumbnails/8.jpg)
Asymptotic view
n!
10n2
n2
![Page 9: Group Testing and Coding Theory Atri Rudra University at Buffalo, SUNY Or, A Theoretical Computer Scientist’s (Biased) View of Group Testing.](https://reader036.fdocuments.in/reader036/viewer/2022062423/56649c975503460f949531f1/html5/thumbnails/9.jpg)
O() notation
≤ is O with glasses
poly(n) is O(nc) for some fixed c
![Page 10: Group Testing and Coding Theory Atri Rudra University at Buffalo, SUNY Or, A Theoretical Computer Scientist’s (Biased) View of Group Testing.](https://reader036.fdocuments.in/reader036/viewer/2022062423/56649c975503460f949531f1/html5/thumbnails/10.jpg)
Group testing overview
Test an army for a disease
WWII example: syphillis
What if only one soldier has the
disease?
What if only one soldier has the
disease?
Can pool blood samples and
check if at least one soldier has
the disease
Can pool blood samples and
check if at least one soldier has
the disease
10
![Page 11: Group Testing and Coding Theory Atri Rudra University at Buffalo, SUNY Or, A Theoretical Computer Scientist’s (Biased) View of Group Testing.](https://reader036.fdocuments.in/reader036/viewer/2022062423/56649c975503460f949531f1/html5/thumbnails/11.jpg)
Group testing
Set of items: (Unknown) vector x in {0,1}n
At most d positives: |x| ≤ d
Tests: a subset S of {1,..,n}
Result of a test: OR of xi’s such that i in S
Goal 1: Figure out x
Goal 2: Minimize the number of tests t
Non-adaptive tests: all tests are fixed a priori
1 2 3 n…………
1
2
3
t
.
.
.
1 0 0 1………….
0 0 1 0………….
0 0 0 1………….
1 1 1 0………….
.
.
.
t = O(d2log n) is possiblet = O(d2log n) is possible
Tons of applications
Tons of applications
Output + itemsOutput + items
11
![Page 12: Group Testing and Coding Theory Atri Rudra University at Buffalo, SUNY Or, A Theoretical Computer Scientist’s (Biased) View of Group Testing.](https://reader036.fdocuments.in/reader036/viewer/2022062423/56649c975503460f949531f1/html5/thumbnails/12.jpg)
The decoding step
1 2 3 n…………
1
2
3
t
.
.
.
1 0 0 1………….
0 0 1 0………….
0 0 0 1………….
1 1 1 0………….
.
.
.
x1
x2
x3
xn
.
.
.
.
.
.
r1
r2
r3
rt
.
.
.
unknownunknown
To be designedTo be designed
ObservedObserved
How fast can this step be done?
How fast can this step be done?
12
![Page 13: Group Testing and Coding Theory Atri Rudra University at Buffalo, SUNY Or, A Theoretical Computer Scientist’s (Biased) View of Group Testing.](https://reader036.fdocuments.in/reader036/viewer/2022062423/56649c975503460f949531f1/html5/thumbnails/13.jpg)
An application: heavy hitters
Stream items are numbers in the range {1,…,n}
Output all items that occur at least 1/d fraction of the times
One pass,poly log space,
poly log update,poly log report
time
One pass,poly log space,
poly log update,poly log report
time
13
![Page 14: Group Testing and Coding Theory Atri Rudra University at Buffalo, SUNY Or, A Theoretical Computer Scientist’s (Biased) View of Group Testing.](https://reader036.fdocuments.in/reader036/viewer/2022062423/56649c975503460f949531f1/html5/thumbnails/14.jpg)
Cormode-Muthukrishnan idea
Use group testing: maintain counters for each test
Heavy tail property: Total frequency of non-heavy items < 1/d
1 2 3 n…………
c1
c2
c3
ct
.
.
.
1 0 0 1………….
0 0 1 0………….
0 0 0 1………….
1 1 1 0………….
.
.
.
Maintain count of items in tests
Maintain total count m
ri = 1 iff ci ≥ m/d
xj = 1 iff j is a heavy item (|x| ≤ d)
r = M × x Reporting the heavy items is just decoding!
Reporting the heavy items is just decoding!
14
![Page 15: Group Testing and Coding Theory Atri Rudra University at Buffalo, SUNY Or, A Theoretical Computer Scientist’s (Biased) View of Group Testing.](https://reader036.fdocuments.in/reader036/viewer/2022062423/56649c975503460f949531f1/html5/thumbnails/15.jpg)
Requirements from group testing
1 2 3 n…………
c1
c2
c3
ct
.
.
.
1 0 0 1………….
0 0 1 0………….
0 0 0 1………….
1 1 1 0………….
.
.
.
Non-adaptiveness is crucial
Minimize t (space)
Strongly explicit matrix
Minimize decoding time (report time)
15
![Page 16: Group Testing and Coding Theory Atri Rudra University at Buffalo, SUNY Or, A Theoretical Computer Scientist’s (Biased) View of Group Testing.](https://reader036.fdocuments.in/reader036/viewer/2022062423/56649c975503460f949531f1/html5/thumbnails/16.jpg)
An overview of results
# tests (t) Decoding time
d is O(log n)d is O(log n)
O(d2 log n) poly(t) [INR10, NPR11]
O(d2 log n) O(nt) [DR82], [PR08]
O(d4 log n) O(t) [GI04]
O(d2 log2 n) poly(t) [GI04, implicit]
Big savings
Big savings
16
![Page 17: Group Testing and Coding Theory Atri Rudra University at Buffalo, SUNY Or, A Theoretical Computer Scientist’s (Biased) View of Group Testing.](https://reader036.fdocuments.in/reader036/viewer/2022062423/56649c975503460f949531f1/html5/thumbnails/17.jpg)
Tackling the first row
# tests (t) Decoding time
O(d2 log n) poly(t) [INR10, NPR11]
O(d2 log n) O(nt) [DR82], [PR08]
O(d4 log n) O(t) [GI04]
O(d2 log2 n) poly(t) [GI04, implicit]
17
![Page 18: Group Testing and Coding Theory Atri Rudra University at Buffalo, SUNY Or, A Theoretical Computer Scientist’s (Biased) View of Group Testing.](https://reader036.fdocuments.in/reader036/viewer/2022062423/56649c975503460f949531f1/html5/thumbnails/18.jpg)
d-disjunct matricesSufficient condition for group testing
d columns
1 0 0 0 …………….. 0Exists
True for every d subset of columns and a disjoint column
Set of positives
Test result=0
Every non-positive column has one 0 test
result
Every non-positive column has one 0 test
result
18
![Page 19: Group Testing and Coding Theory Atri Rudra University at Buffalo, SUNY Or, A Theoretical Computer Scientist’s (Biased) View of Group Testing.](https://reader036.fdocuments.in/reader036/viewer/2022062423/56649c975503460f949531f1/html5/thumbnails/19.jpg)
L columns
Naïve decoder for d-disjunct matrices
d columns
1 0 0 0 …………….. 0
Set of positives
If rj = 0 then for every column i that is in test j, set xi = 0
If xi=1 then all tests column i participates in will have a 1
If xi=1 then all tests column i participates in will have a 1
O(nt) timeO(Lt) time
19
![Page 20: Group Testing and Coding Theory Atri Rudra University at Buffalo, SUNY Or, A Theoretical Computer Scientist’s (Biased) View of Group Testing.](https://reader036.fdocuments.in/reader036/viewer/2022062423/56649c975503460f949531f1/html5/thumbnails/20.jpg)
What is known
d columns
1 0 0 0 …………….. 0
Set of positives O(nt) time
r1
r2
r3
rt
.
.
.
d-disjunct matrix
Strongly explicit d-disjunct matrix with t = O(d2 log2n) [Kautz-Singleton 1964]
Deterministic d-disjunct matrix with t = O(d2 log n) [Porat-Rothschild 2008]
Lower bound of Ω(d2 log n/log d) [Dyachkov-Rykov 1982]
20
Randomized d-disjunct matrix with t = O(d2 log n) [Dyachkov-Rykov 1982]
![Page 21: Group Testing and Coding Theory Atri Rudra University at Buffalo, SUNY Or, A Theoretical Computer Scientist’s (Biased) View of Group Testing.](https://reader036.fdocuments.in/reader036/viewer/2022062423/56649c975503460f949531f1/html5/thumbnails/21.jpg)
Up next
# tests (t) Decoding time
O(d2 log n) poly(t) [INR10, NPR11]
O(d2 log n) O(nt) [DR82], [PR08]
O(d4 log n) O(t) [GI04]
O(d2 log2 n) poly(t) [GI04, implicit]
21
![Page 22: Group Testing and Coding Theory Atri Rudra University at Buffalo, SUNY Or, A Theoretical Computer Scientist’s (Biased) View of Group Testing.](https://reader036.fdocuments.in/reader036/viewer/2022062423/56649c975503460f949531f1/html5/thumbnails/22.jpg)
Error-correcting codes
22
C(x)x
y
x Give up
Mapping C : km
Dimension k, block length m m≥ k
Rate R = k/m 1
Efficient means polynomial in mDecoding time complexity
![Page 23: Group Testing and Coding Theory Atri Rudra University at Buffalo, SUNY Or, A Theoretical Computer Scientist’s (Biased) View of Group Testing.](https://reader036.fdocuments.in/reader036/viewer/2022062423/56649c975503460f949531f1/html5/thumbnails/23.jpg)
Noise model
Errors are worst case (Hamming)error locationsarbitrary symbol changes
Limit on total number of errors
23
![Page 24: Group Testing and Coding Theory Atri Rudra University at Buffalo, SUNY Or, A Theoretical Computer Scientist’s (Biased) View of Group Testing.](https://reader036.fdocuments.in/reader036/viewer/2022062423/56649c975503460f949531f1/html5/thumbnails/24.jpg)
Hamming’s 60 yr old observation
24
≥ D
D/2
Large “distance” is good
Large “distance” is good
![Page 25: Group Testing and Coding Theory Atri Rudra University at Buffalo, SUNY Or, A Theoretical Computer Scientist’s (Biased) View of Group Testing.](https://reader036.fdocuments.in/reader036/viewer/2022062423/56649c975503460f949531f1/html5/thumbnails/25.jpg)
All you need to remember about Reed-Solomon codes– Part I
q is a prime power
qq/(d+1) vectors from [q]q where every two agree in < q/(d+1) positions
25
![Page 26: Group Testing and Coding Theory Atri Rudra University at Buffalo, SUNY Or, A Theoretical Computer Scientist’s (Biased) View of Group Testing.](https://reader036.fdocuments.in/reader036/viewer/2022062423/56649c975503460f949531f1/html5/thumbnails/26.jpg)
How do we get binary codes ?
26
Concatenation of codes [Forney 66]
C1: ({0,1}k)K ({0,1}k)M (Outer code)
C2: {0,1}k {0,1}m (Inner code)
C1° C2: {0,1}kK {0,1}mM
Typically k=O(log M)
x1 x2
wMw1 w2
xKx
C1(x)
C2(w1) C2(w2)C2(wM) C1° C2(x)
![Page 27: Group Testing and Coding Theory Atri Rudra University at Buffalo, SUNY Or, A Theoretical Computer Scientist’s (Biased) View of Group Testing.](https://reader036.fdocuments.in/reader036/viewer/2022062423/56649c975503460f949531f1/html5/thumbnails/27.jpg)
Disjunct matrices from RS codesn = qq/(d+1)
Column i gets ith codeword
Column i gets ith codeword
x 0 0 1…. …. 0x
x. q rows
t = q2 = O(d2 log2n)
d-disjunct matrix [Kautz,Singleton]
d-disjunct matrix [Kautz,Singleton]
Code Concatenation
Code Concatenation
q
27
![Page 28: Group Testing and Coding Theory Atri Rudra University at Buffalo, SUNY Or, A Theoretical Computer Scientist’s (Biased) View of Group Testing.](https://reader036.fdocuments.in/reader036/viewer/2022062423/56649c975503460f949531f1/html5/thumbnails/28.jpg)
A q=3 example
0
0
0
1
1
1
2
2
2
0
1
2
1
2
0
2
0
1
1
0
0
0
0
1
0
1
0
0
1
2
100
100
100
010
010
010
001
001
001
100
010
001
010
001
100
001
100
010
28
![Page 29: Group Testing and Coding Theory Atri Rudra University at Buffalo, SUNY Or, A Theoretical Computer Scientist’s (Biased) View of Group Testing.](https://reader036.fdocuments.in/reader036/viewer/2022062423/56649c975503460f949531f1/html5/thumbnails/29.jpg)
1-Agreement between two columns
0
0
0
1
1
1
2
2
2
0
1
2
1
2
0
2
0
1
1
0
0
0
0
1
0
1
0
0
1
2
100
100
100
010
010
010
001
001
001
100
010
001
010
001
100
001
100
010
≤ 1 agr
Agreement in binary = Agreement among RS codewords
< q/(d+1)
Agreement in binary = Agreement among RS codewords
< q/(d+1)29
![Page 30: Group Testing and Coding Theory Atri Rudra University at Buffalo, SUNY Or, A Theoretical Computer Scientist’s (Biased) View of Group Testing.](https://reader036.fdocuments.in/reader036/viewer/2022062423/56649c975503460f949531f1/html5/thumbnails/30.jpg)
d-disjunct matricesSufficient condition for group testing
d columns
1 0 0 0 …………….. 0Exists
True for every d subset of columns and a disjoint column
Set of positives
30
![Page 31: Group Testing and Coding Theory Atri Rudra University at Buffalo, SUNY Or, A Theoretical Computer Scientist’s (Biased) View of Group Testing.](https://reader036.fdocuments.in/reader036/viewer/2022062423/56649c975503460f949531f1/html5/thumbnails/31.jpg)
d-disjunctness of Kautz-Singleton
d columns
< q/(d+1) agr 11 11
< q/(d+1) agr 11 11
< q/(d+1) agr 11 11
1 >q- q*d/(d+1)>0 rows
0 0 0
31
![Page 32: Group Testing and Coding Theory Atri Rudra University at Buffalo, SUNY Or, A Theoretical Computer Scientist’s (Biased) View of Group Testing.](https://reader036.fdocuments.in/reader036/viewer/2022062423/56649c975503460f949531f1/html5/thumbnails/32.jpg)
Up next
# tests (t) Decoding time
O(d2 log n) poly(t) [INR10, NPR11]
O(d2 log n) O(nt) [DR82], [PR08]
O(d4 log n) O(t) [GI04]
O(d2 log2 n) poly(t) [GI04, implicit]
32
![Page 33: Group Testing and Coding Theory Atri Rudra University at Buffalo, SUNY Or, A Theoretical Computer Scientist’s (Biased) View of Group Testing.](https://reader036.fdocuments.in/reader036/viewer/2022062423/56649c975503460f949531f1/html5/thumbnails/33.jpg)
The basic idea
1 2 3 n…………
1
2
3
t
.
.
.
1 0 0 1………….
0 0 1 0………….
0 0 0 1………….
1 1 1 0………….
.
.
.
x1
x2
x3
xn
.
.
.
.
.
.
r1
r2
r3
rt
.
.
.
unknownunknown
Every column is a codeword
Every column is a codeword
ObservedObserved
Show is same as
`decoding’ the code
Show is same as
`decoding’ the code
33
n= # codewords = exp(m)
t = poly(m)
![Page 34: Group Testing and Coding Theory Atri Rudra University at Buffalo, SUNY Or, A Theoretical Computer Scientist’s (Biased) View of Group Testing.](https://reader036.fdocuments.in/reader036/viewer/2022062423/56649c975503460f949531f1/html5/thumbnails/34.jpg)
DecodingC(x) sent, y received
x k, y m
How much of y must be correct to recover x ?At least k symbols must be correctAt most (m-k)/m = 1-R fraction of errors1-R is the information-theoretic limit
: the fraction of errors decoder can handleInformation theoretic limit implies 1-R
34
x C(x)
yR = k/m
![Page 35: Group Testing and Coding Theory Atri Rudra University at Buffalo, SUNY Or, A Theoretical Computer Scientist’s (Biased) View of Group Testing.](https://reader036.fdocuments.in/reader036/viewer/2022062423/56649c975503460f949531f1/html5/thumbnails/35.jpg)
Can we get to the limit or 1-R ?
35
Not if we always want to uniquely recover the original message
Limit for unique decoding, (1-R)/2
(1-R)/2 (1-R)/2
1-R
c1
c2
r
R 1-R
(1-R)/2
![Page 36: Group Testing and Coding Theory Atri Rudra University at Buffalo, SUNY Or, A Theoretical Computer Scientist’s (Biased) View of Group Testing.](https://reader036.fdocuments.in/reader036/viewer/2022062423/56649c975503460f949531f1/html5/thumbnails/36.jpg)
36
List decoding [Elias57, Wozencraft58]
Always insisting on unique codeword is restrictiveThe “pathological” cases are rare
“Typical” received word can be decoded beyond (1-R)/2
Better Error-Recovery ModelOutput a list of answersList Decoding Example: Spell Checker
(1-R)/2
Almost all the space in higher dimension.
All but an exponential (in m) fraction
![Page 37: Group Testing and Coding Theory Atri Rudra University at Buffalo, SUNY Or, A Theoretical Computer Scientist’s (Biased) View of Group Testing.](https://reader036.fdocuments.in/reader036/viewer/2022062423/56649c975503460f949531f1/html5/thumbnails/37.jpg)
Information theoretic limit
• < 1 - R– Information-
theoretic limit
• Can handle twice as many errors
37Rate (R)
Unique decoding
Inf. theoretic limit
Fra
c. o
f Err
ors
()
Achievable by random codes.
NOT ALGORITHMIC!
Achievable by random codes.
NOT ALGORITHMIC!
![Page 38: Group Testing and Coding Theory Atri Rudra University at Buffalo, SUNY Or, A Theoretical Computer Scientist’s (Biased) View of Group Testing.](https://reader036.fdocuments.in/reader036/viewer/2022062423/56649c975503460f949531f1/html5/thumbnails/38.jpg)
38
Other applications of list decoding
CryptographyCryptanalysis of certain block-ciphers [Jakobsen98]Efficient traitor tracing scheme [Silverberg, Staddon, Walker 03]
Complexity TheoryHardcore predicates from one way functions [Goldreich,Levin 89; Impagliazzo
97; Ta-Shama, Zuckerman 01]Worst-case vs. average-case hardness [Cai, Pavan, Sivakumar 99; Goldreich, Ron,
Sudan 99; Sudan, Trevisan, Vadhan 99; Impagliazzo, Jaiswal, Kabanets 06]
Other algorithmic applicationsIP Traceback [Dean,Franklin,Stubblefield 01; Savage, Wetherall, Karlin, Anderson 00] Guessing Secrets [Alon,Guruswami,Kaufman,Sudan 02; Chung, Graham, Leighton 01]
![Page 39: Group Testing and Coding Theory Atri Rudra University at Buffalo, SUNY Or, A Theoretical Computer Scientist’s (Biased) View of Group Testing.](https://reader036.fdocuments.in/reader036/viewer/2022062423/56649c975503460f949531f1/html5/thumbnails/39.jpg)
Algorithmic list decoding results
1- R - > 0 Folded RS codes[Guruswami, R. 06]
39
Unique decoding
Inf. theoretic limit
Guruswami-Sudan 98
Parvaresh-Vardy 05
Fra
c. o
f Err
ors
()
Rate (R)
Folded RS
![Page 40: Group Testing and Coding Theory Atri Rudra University at Buffalo, SUNY Or, A Theoretical Computer Scientist’s (Biased) View of Group Testing.](https://reader036.fdocuments.in/reader036/viewer/2022062423/56649c975503460f949531f1/html5/thumbnails/40.jpg)
Concatenated codes
40
Concatenation of codes [Forney 66]
C1: ({0,1}k)K ({0,1}k)M (Outer code)
C2: {0,1}k {0,1}m (Inner code)
C1° C2: {0,1}kK {0,1}mM
Typically k=O(log M)
x1 x2
wMw1 w2
xKx
C1(x)
C2(w1) C2(w2)C2(wM) C1° C2(x)
Brute force decoding for inner code
![Page 41: Group Testing and Coding Theory Atri Rudra University at Buffalo, SUNY Or, A Theoretical Computer Scientist’s (Biased) View of Group Testing.](https://reader036.fdocuments.in/reader036/viewer/2022062423/56649c975503460f949531f1/html5/thumbnails/41.jpg)
41
List decoding C1° C2
y1 y2 yM
How do we “list decode” from lists ?
in {0,1}m
S1 S2 SM
in {0,1}k
![Page 42: Group Testing and Coding Theory Atri Rudra University at Buffalo, SUNY Or, A Theoretical Computer Scientist’s (Biased) View of Group Testing.](https://reader036.fdocuments.in/reader036/viewer/2022062423/56649c975503460f949531f1/html5/thumbnails/42.jpg)
List recovery
.
.
.
..
.
.
S1 S2 S3 SM
………………………Si subset of [q]
………………………c1 c2 c3 cM
|Si| ≤ d
42
![Page 43: Group Testing and Coding Theory Atri Rudra University at Buffalo, SUNY Or, A Theoretical Computer Scientist’s (Biased) View of Group Testing.](https://reader036.fdocuments.in/reader036/viewer/2022062423/56649c975503460f949531f1/html5/thumbnails/43.jpg)
All you need to remember about (Reed-Solomon) codes-- Part II
q is a prime power
qq/(d+1) vectors from [q]q where every two agree in < q/(d+1) positions
poly(q) time algorithm for list recovery
.
.
.
..
.
.
S1 S2 S3 Sq
………………………Si subset of [q]
………………………c1 c2 c3 cq
|Si| ≤ d
43
![Page 44: Group Testing and Coding Theory Atri Rudra University at Buffalo, SUNY Or, A Theoretical Computer Scientist’s (Biased) View of Group Testing.](https://reader036.fdocuments.in/reader036/viewer/2022062423/56649c975503460f949531f1/html5/thumbnails/44.jpg)
Back to the example
0
0
0
1
1
1
2
2
2
0
1
2
1
2
0
2
0
1
1
0
0
0
0
1
0
1
0
0
1
2
100
100
100
010
010
010
001
001
001
100
010
001
010
001
100
001
100
010
101
001
011
+ items+ items ResultvectorResultvector
{1,2}
{2}
{0,2}
44
![Page 45: Group Testing and Coding Theory Atri Rudra University at Buffalo, SUNY Or, A Theoretical Computer Scientist’s (Biased) View of Group Testing.](https://reader036.fdocuments.in/reader036/viewer/2022062423/56649c975503460f949531f1/html5/thumbnails/45.jpg)
All you ever needed to know about (Reed-Solomon) codes…at least for this talk
q is a prime power
qq/(d+1) vectors from [q]q where every two agree in < q/(d+1) positions
poly(q) time algorithm for list recovery
.
.
.
..
.
.
S1 S2 S3 Sq
………………………
Si subset of [q]
………………………c1 c2 c3 cq
|Si| ≤ d
45
![Page 46: Group Testing and Coding Theory Atri Rudra University at Buffalo, SUNY Or, A Theoretical Computer Scientist’s (Biased) View of Group Testing.](https://reader036.fdocuments.in/reader036/viewer/2022062423/56649c975503460f949531f1/html5/thumbnails/46.jpg)
d2 columns
What does this imply?
d columns
1 0 0 0 …………….. 0
Set of positives
r1
r2
r3
rt
.
.
.
KS matrixpoly(t) time
O(d2t) time
t = O(d2 log2 n) Implicit in [Guruswami-
Indyk 04]
Implicit in [Guruswami-
Indyk 04]
46
![Page 47: Group Testing and Coding Theory Atri Rudra University at Buffalo, SUNY Or, A Theoretical Computer Scientist’s (Biased) View of Group Testing.](https://reader036.fdocuments.in/reader036/viewer/2022062423/56649c975503460f949531f1/html5/thumbnails/47.jpg)
Up next
# tests (t) Decoding time
O(d2 log n) poly(t) [INR10, NPR11]
O(d2 log n) O(nt) [DR82], [PR08]
O(d4 log n) O(t) [GI04]
O(d2 log2 n) poly(t) [GI04, implicit]
47
![Page 48: Group Testing and Coding Theory Atri Rudra University at Buffalo, SUNY Or, A Theoretical Computer Scientist’s (Biased) View of Group Testing.](https://reader036.fdocuments.in/reader036/viewer/2022062423/56649c975503460f949531f1/html5/thumbnails/48.jpg)
L columns
Filter-evaluate decoding paradigm
d columns
1 0 0 0 …………….. 0
Set of positives
r1
r2
r3
rt
.
.
.
d-disjunct matrix
“Filtering” matrix
y1
y2
y3
yt’
.
.
.poly(t’)time
O(Lt) time 48
![Page 49: Group Testing and Coding Theory Atri Rudra University at Buffalo, SUNY Or, A Theoretical Computer Scientist’s (Biased) View of Group Testing.](https://reader036.fdocuments.in/reader036/viewer/2022062423/56649c975503460f949531f1/html5/thumbnails/49.jpg)
So all we need to do
o(d2 log n/log d) tests
49
[Indyk, Ngo, R. 10]
[Ngo, Porat, R. 11]
![Page 50: Group Testing and Coding Theory Atri Rudra University at Buffalo, SUNY Or, A Theoretical Computer Scientist’s (Biased) View of Group Testing.](https://reader036.fdocuments.in/reader036/viewer/2022062423/56649c975503460f949531f1/html5/thumbnails/50.jpg)
Overview of the results
# tests (t) Decoding time
O(d2 log n) poly(t) [INR10, NPR11]
O(d2 log n) O(nt) [DR82], [PR08]
O(d4 log n) O(t) [GI04]
O(d2 log2 n) poly(t) [GI04, implicit]
50
![Page 51: Group Testing and Coding Theory Atri Rudra University at Buffalo, SUNY Or, A Theoretical Computer Scientist’s (Biased) View of Group Testing.](https://reader036.fdocuments.in/reader036/viewer/2022062423/56649c975503460f949531f1/html5/thumbnails/51.jpg)
The main message
51
Coding Theory
Group Testing
![Page 52: Group Testing and Coding Theory Atri Rudra University at Buffalo, SUNY Or, A Theoretical Computer Scientist’s (Biased) View of Group Testing.](https://reader036.fdocuments.in/reader036/viewer/2022062423/56649c975503460f949531f1/html5/thumbnails/52.jpg)
Open Questions
Close the gap between upper and lower bounds
Other applications of group testing? Complexity Theory?
Strongly explicit construction of optimal disjunct matrices ?
52
![Page 53: Group Testing and Coding Theory Atri Rudra University at Buffalo, SUNY Or, A Theoretical Computer Scientist’s (Biased) View of Group Testing.](https://reader036.fdocuments.in/reader036/viewer/2022062423/56649c975503460f949531f1/html5/thumbnails/53.jpg)
More on Coding Theory
53
http://www.cse.buffalo.edu/~atri/courses/coding-theory/book/index.html
![Page 54: Group Testing and Coding Theory Atri Rudra University at Buffalo, SUNY Or, A Theoretical Computer Scientist’s (Biased) View of Group Testing.](https://reader036.fdocuments.in/reader036/viewer/2022062423/56649c975503460f949531f1/html5/thumbnails/54.jpg)
Questions?
54
![Page 55: Group Testing and Coding Theory Atri Rudra University at Buffalo, SUNY Or, A Theoretical Computer Scientist’s (Biased) View of Group Testing.](https://reader036.fdocuments.in/reader036/viewer/2022062423/56649c975503460f949531f1/html5/thumbnails/55.jpg)
d+L columns
The filtering matrix
New* object: (d,L)-list disjunct matrix
d columns
Set of positives
Running naïve decoderreturns ≤ L bogus columns
Independently considered by
[Cheraghchi 09]
Independently considered by
[Cheraghchi 09]
(d,d)-list disjunct matricesexists with O(d log n) tests
55
![Page 56: Group Testing and Coding Theory Atri Rudra University at Buffalo, SUNY Or, A Theoretical Computer Scientist’s (Biased) View of Group Testing.](https://reader036.fdocuments.in/reader036/viewer/2022062423/56649c975503460f949531f1/html5/thumbnails/56.jpg)
Reed-Solomon codes
56
Message: (x0,x1,…,xk-1) Fk
View as poly. f(Y) = x0+x1Y+…+xk-1Yk-1
Encoding, RS(f) = ( f(1),f(2),…,f(m) ) F ={ 1,2,…,m}
f(1) f(2) f(3) f(4) f(m)
Alphabet size is at least m
Alphabet size is at least m
![Page 57: Group Testing and Coding Theory Atri Rudra University at Buffalo, SUNY Or, A Theoretical Computer Scientist’s (Biased) View of Group Testing.](https://reader036.fdocuments.in/reader036/viewer/2022062423/56649c975503460f949531f1/html5/thumbnails/57.jpg)
r
Revisiting the decoding algorithm
.
.
.
.
1
2
j
q
.
.
.
.
.
.
...
.
.
.
.
.
.
1x x ………… Sj
.
.
|Sj|≤ d
1 3 q21
11
……….……….……….
.
.
.
2
1
1
3
q
d-disjunct matrix
Naïve decoderNaïve decoder
Works but hits
a d3 barrier
Works but hits
a d3 barrier
57
![Page 58: Group Testing and Coding Theory Atri Rudra University at Buffalo, SUNY Or, A Theoretical Computer Scientist’s (Biased) View of Group Testing.](https://reader036.fdocuments.in/reader036/viewer/2022062423/56649c975503460f949531f1/html5/thumbnails/58.jpg)
r
Connection to List Recovery
x 0 0 1…. …. 0x
.
.
.
.
1
2
j
q
.
.
.
.
.
.
...
.
.
.
.
.
.
Decoding: Output all codewords that match the test results
1x x ………… Sj
.
.
.
………… S1
………… S2
………… Sq
List recover from S1,…,St to get the positive
codewords
List recover from S1,…,St to get the positive
codewords
|Sj|≤ d
58
![Page 59: Group Testing and Coding Theory Atri Rudra University at Buffalo, SUNY Or, A Theoretical Computer Scientist’s (Biased) View of Group Testing.](https://reader036.fdocuments.in/reader036/viewer/2022062423/56649c975503460f949531f1/html5/thumbnails/59.jpg)
r
Revisiting the decoding algorithm-II
.
.
.
.
1
2
j
q
.
.
.
.
.
.
...
.
.
.
.
.
.
1x x ………… Sj
.
.
|Sj|≤ 2d
1 3 q2
(d,d)-list disjunct
Naïve decoderNaïve decoder
Need to change the parameters
of the Reed-
Solomon codes a bit.
Need to change the parameters
of the Reed-
Solomon codes a bit.
59
![Page 60: Group Testing and Coding Theory Atri Rudra University at Buffalo, SUNY Or, A Theoretical Computer Scientist’s (Biased) View of Group Testing.](https://reader036.fdocuments.in/reader036/viewer/2022062423/56649c975503460f949531f1/html5/thumbnails/60.jpg)
http://www.impawards.com/2007/are_we_done_yet.html60
![Page 61: Group Testing and Coding Theory Atri Rudra University at Buffalo, SUNY Or, A Theoretical Computer Scientist’s (Biased) View of Group Testing.](https://reader036.fdocuments.in/reader036/viewer/2022062423/56649c975503460f949531f1/html5/thumbnails/61.jpg)
How we get our hands on…
.
.
.
.
1
2
j
q
.
.
.
.
.
.
...
.
.
.
.
.
.
1 3 q2
(d,d)-list disjunct
n ~ qq/d
RS codeword
d log qrows
t = q X (d log q)
~ (d X log n/ log q) X (d log q)
= d2 log n 61
![Page 62: Group Testing and Coding Theory Atri Rudra University at Buffalo, SUNY Or, A Theoretical Computer Scientist’s (Biased) View of Group Testing.](https://reader036.fdocuments.in/reader036/viewer/2022062423/56649c975503460f949531f1/html5/thumbnails/62.jpg)
Solution 1 [Indyk, Ngo, R. 10]
1 3 q2
(d,d)-list disjunctd log qrows
Pick “inner” codes at random
62
![Page 63: Group Testing and Coding Theory Atri Rudra University at Buffalo, SUNY Or, A Theoretical Computer Scientist’s (Biased) View of Group Testing.](https://reader036.fdocuments.in/reader036/viewer/2022062423/56649c975503460f949531f1/html5/thumbnails/63.jpg)
Solution 2 [Ngo, Porat, R. 10]
1 3 q2
(d,d)-list disjunctd log qrows
Use explicit expanders!
Some comments:
Left degree of the expander not important
d1+o(1) log q rows possible [GUV 07, Cheraghchi 09]
Use PV codes instead of RS codes63