The group testing problem concerns discovering a small number of defective items within a large population by performing tests on pools of items. A test is positive if the pool contains at least one defective, and negative if it contains no defectives. This is a sparse inference problem with a combinatorial flavour, with applications in medical testing, biology, telecommunications, information technology, data science, and more.In this monograph, we survey recent developments in the group testing problem from an information-theoretic perspective. We cover several related developments: efficient algorithms with practical storage and computation requirements, achievability bounds for optimal decoding methods, and algorithmindependent converse bounds. We assess the theoretical guarantees not only in terms of scaling laws, but also in terms of the constant factors, leading to the notion of the rate of group testing, indicating the amount of information learned per test. Considering both noiseless and noisy settings, we identify several regimes where existing algorithms are provably optimal or near-optimal, as well as regimes where there remains greater potential for improvement.In addition, we survey results concerning a number of variations on the standard group testing problem, including partial recovery criteria, adaptive algorithms with a limited number of stages, constrained test designs, and sublineartime algorithms.S 0 , S 1 partition of the defective set (Equation (4.4)) ı information density (Equation (4.6)) X 0,τ , X 1,τ sub-matrices of X corresponding to (S 0 , S 1 ) with |S 0 | = τ (Equation (4.14))τ ) (Equation (4.16)) 2. If the preceding test is negative, A contains no defective items, and we halt. If the test is positive, continue. 3. If A consists of a single item, then that item is defective, and we halt. Otherwise, pick half of the items in A, and call this set B. Perform a single test of the pool B. 4. If the test is positive, set A := B. If the test is negative, set A := A \ B. Return to Step 3.
A BRIEF REVIEW OF ZERO-ERROR GROUP TESTINGObserve that S(i) is the set of tests containing item i, while S(K) is the set of positive tests when the defective set is K.Definition 1.10. A matrix X is called k-separable if the support unions S(L) are distinct over all subsets L ⊆ {1, 2, . . . , n} of size |L| = k.A matrix X is calledk-separable if the support unions S(L) are distinct over all subsets L ⊆ {1, 2, . . . , n} of size |L| ≤ k.Clearly, using a k-separable matrix as a test design ensures that group testing will provide different outcomes for each possible defective set of size k; thus,