SAFFRON: A fast, efficient, and robust framework for group testing based on sparse-graph codes
The group testing problem is to identify a population of K defective items from a set of n items by pooling groups of items. The result of a test for a group of items is positive if any of the items in the group is defective and negative otherwise. The goal is to judiciously group subsets of items such that defective items can be reliably recovered using the minimum number of tests, while also having a low-complexity decoder. We describe SAFFRON (sparse-graph codes framework for group testing), a non-adaptive group testing scheme that recovers at least a (1 - ε)-fraction (for any arbitrarily small ε > 0) of K defective items with high probability with m = 6C(ε)K log2 n tests, where C(ε) is a precisely characterized constant that depends only on o. For instance, it can provably recover at least (1 - 10-6)K defective items with m ≃ 68K log2 n tests. The computational complexity of the decoding algorithm is O(K log n), which is order-optimal. Further, we describe a systematic methodology to robustify SAFFRON such that it can reliably recover the set of K defective items even in the presence of erroneous or noisy test results. We also propose Singleton-Only-SAFFRON, a variant of SAFFRON, that recovers all the K defective items with m = 2e(1+α)K log K log2 n tests with probability 1 - O(1/Kα), where α > 0 is a constant. Our key intellectual contribution involves the pioneering use of powerful density-evolution methods of modern coding theory (e.g. sparse-graph codes) for efficient group testing design and performance analysis.