Abstract
In many fault detection problems, we want to identify all defective items from a sample set of items using the minimum number of tests. Group testing is for the scenario where each test is performed on a subset of items, and tells whether the subset contains at least one defective item or not. In practice, the number of defective items in the sample set is usually unknown. In this paper, we investigate new algorithms for the group testing problem with unknown number of defective items. We consider the scenario where the performance of a group testing algorithm is measured by two criteria: the primary criterion is the number of tests performed, which measures the total cost spent; and the secondary criterion is the number of stages the algorithm works in, which is referred to as the sequentiality of the algorithm in this paper and measures the minimum amount of time required by using the algorithm to identify all the defective items. We present a new algorithm Recursive Binary Splitting (RBS) for the above group testing problem with unknown number of defective items, and prove an upper bound on the number of tests required by RBS. The computational results show that RBS exhibits very good practical performance, measured in terms of both the above two criteria.
Similar content being viewed by others
Notes
It may look like that this change is minor, in fact the new algorithm RBS obtained by doing so is very different from DP, as we will illustrate next and discuss in particular in Sect. 5 (the fourth paragraph).
Recently, Cheng et al. (2014) developed a strongly competitive group testing algorithm \(Z\) based on a zig zag approach, which uses less number of tests than both DP and RBS, as indicated by computational experiments. However, due to the zig zag approach adopted in Algorithm \(Z\), it seems very difficult to make Algorithm \(Z\) work in an effectively parallel way, and the current sequentiality of Algorithm \(Z\) is just equal to the total number of tests used by \(Z\) (the same as Procedure DIG), which is very much larger than the sequentialities of DP and RBS.
References
Abolnikov, L., & Dukhovny, A. (2003). Optimization in HIV screening problems. Journal of Applied Mathematics and Stochastic Analysis, 16(4), 361–374.
Alon, N., Moshkovitz, D., & Safra, S. (2006). Algorithmic construction of sets for k-restrictions. ACM Transactions on Algorithms, 2(2), 153–177.
Atia, G. K., & Saligrama, V. (2012). Boolean compressed sensing and noisy group testing. IEEE Transactions on Information Theory, 58(3), 1880–1901.
Bar-Lev, S. K., Parlar, M., Perry, D., Stadje, W., & Schouten, F. A. V. D. D. (2007). Applications of bulk queues to group testing models with incomplete identification. European Journal of Operational Research, 183, 226–237.
Bar-Noy, A., Hwang, F. K., Kessler, I., & Kutten, S. (1994). A new competitive algorithm for group testing. Discrete Applied Mathematics, 52, 29–38.
Barillot, E., Lacroix, B., & Cohen, D. (1991). Theoretical analysis of library screening using a \(n\)-dimensional pooling strategy. Nucleic Acids Research, 19, 6241–6247.
Bruno, W. J., Balding, D. J., Knill, E. H., Bruce, D., Whittaker, C., Doggett, N., et al. (1995). Design of efficient pooling experiments. Genomics, 26, 21–30.
Cheng, Y., Du, D. Z., & Xu, Y. (2014). A zig-zag approach for competitive group testing. INFORMS Journal on Computing, 26(4), 677–689.
Claeys, D., Walraevens, J., Laevens, K., & Bruneel, H. (2010). A queueing model for general group screening policies and dynamic item arrivals. European Journal of Operational Research, 207, 827–835.
Concho, A., & Ramirez-Marquez, J. (2012). Optimal design of container inspection strategies considering multiple objectives via an evolutionary approach. Annals of Operations Research, 196(1), 167–187.
Cormode, G., & Muthukrishnan, S. (2005). What’s hot and what’s not: tracking most frequent items dynamically. ACM Transactions on Database Systems, 30(1), 249–278.
Damaschke, P., Sheikh Muhammad, A. (2012). Randomized group testing both query-optimal and minimal adaptive. In: Proceedings of the 38th international conference on current trends in theory and practice of computer science (SOFSEM 2012). Lecture notes in computer science (Vol. 7147, pp. 214–225). Berlin: Springer.
De Bonis, A., Gasieniec, L., & Vaccaro, U. (2005). Optimal two-stage algorithms for group testing problems. SIAM Journal on Computing, 34, 1253–1270.
Dorfman, R. (1943). The detection of defective members of large populations. The Annals of Mathematical Statistics, 14, 436–440.
Du, D. Z., & Hwang, F. K. (1993). Competitive group testing. Discrete Applied Mathematics, 45(3), 221–232.
Du, D. Z., & Hwang, F. K. (2000). Combinatorial group testing and its applications (2nd ed.). Singapore: World Scientific.
Du, D. Z., & Hwang, F. K. (2006). Pooling design and nonadaptive group testing: important tools for DNA sequencing. Series on applied mathematics (Vol. 18). Singapore: World Scientific.
Du, D. Z., & Park, H. (1994). On competitive group testing. SIAM Journal on Computing, 23(5), 1019–1025.
Du, D. Z., Xue, G. L., Sun, S. Z., & Cheng, S. W. (1994). Modifications of competitive group testing. SIAM Journal on Computing, 23, 82–96.
D’yachkov, A. G., Rykov, V. V., & Rashad, A. M. (1989). Superimposed distance codes. Problems Control Information Theory, 18, 237–250.
Eppstein, D., Goodrich, M. T., & Hirschberg, D. S. (2007). Improved combinatorial group testing algorithms for real-world problem sizes. SIAM Journal on Computing, 36, 1360–1375.
Gilbert, A. C., Iwen, M. A., & Strauss, M. J. (2008). Group testing and sparse signal recovery. In Proceedings of the 42nd Asilomar conference on signals, systems and computers (pp. 1059–1063). Pacific Grove, CA, Oct. 26–29.
Goodrich, M. T., & Hirschberg, D. S. (2008). Improved adaptive group testing algorithms with applications to multiple access channels and dead sensor diagnosis. Journal of Combinatorial Optimization, 15(1), 95–121.
Hong, E. H., & Ladner, R. E. (2002). Group testing for image compression. IEEE Transaction on Image Processing, 11, 901–911.
Hong, Y. W., & Scaglione, A. (2004). On multiple access for distributed dependent sources: A content-based group testing approach. In Proceedings of the IEEE information iheory workshop, San Antonio, Texas, Oct. 24–29, 298–303.
Hwang, F. K. (1972). A method for detecting all defective members in a population by group testing. Journal of the American Statistical Association, 67, 605–608.
Indyk, P., Ngo, H. Q., & Rudra, A. (2010). Efficiently decodable non-adaptive group testing. In Proceedings 21st annual ACM-SIAM symposium on discrete algorithms, pp. 1126–1142.
Kahng, A. B., & Reda, S. (2006). New and improved BIST diagnosis methods from combinatorial group testing theory. IEEE Transactions on Computer-Aided Design of Integrated Circuits and Systems, 25(3), 533–543.
Kautz, W. H., & Singleton, R. C. (1964). Nonrandom binary superimposed codes. IEEE Transaction on Information Theory, 10, 363–377.
Li, C. H. (1962). A sequential method for screening experimental variables. Journal of the American Statistical Association, 57, 455–477.
Macula, A. J., & Popyack, L. J. (2004). A group testing method for finding patterns in data. Discrete Applied Mathematics, 144(1–2), 149–157.
Manasse, M., McGeoch, L. A., & Sleator, D. (1988). Competitive algorithms for on-line problems. In Proceedings of the 20th annual ACM symposium on theory of computing (pp. 322–333). New York: ACM.
Mezard, M., & Toninelli, C. (2011). Group testing with random pools: Optimal two-stage algorithms. IEEE Transactions on Information Theory, 57(3), 1736–1745.
Ngo, H. Q., & Du, D. Z. (2000). A survey on combinatorial group testing algorithms with applications to DNA library screening. DIMACS Series Discrete Mathematics and Theoretical Computer Science, 55, 171–182.
Ngo, H.Q., Porat, E., & Rudra, A. (2011). Efficiently decodable error-correcting list disjunct matrices and applications. In Proceedings of the 38th international colloquium on automata, languages and programming, pp. 557–568.
Porat, E., & Rothschild, A. (2008). Explicit non-adaptive combinatorial group testing schemes. In Proceedings of the 35th international colloquium on automata, languages and programming, pp. 748–759.
Schlaghoff, J., & Triesch, E. (2005). Improved results for competitive group testing. Combinatorics, Probability and Computing, 14, 191–202.
Sleator, D., & Tarjan, R. (1985). Amortized efficiency of list update and paging rules. Communications of the ACM, 28(2), 202–208.
Sobel, M., & Groll, P. A. (1959). Group testing to eliminate efficiently all defectives in a binomial sample. Bell System Technical Journal, 38, 1179–1252.
Van Weele, S., & Ramirez-Marquez, J. (2011). Optimization of container inspection strategy via a genetic algorithm. Annals of Operations Research, 187(1), 229–247.
Wein, L. M., & Zenios, S. A. (1996). Pooled testing for HIV screening: Capturing the dilution effect. Operations Research, 44(4), 543–569.
Wolf, J. (1985). Born again group testing: Multiaccess communications. IEEE Transaction on Information Theory, IT–31, 185–191.
Zenios, S. A., & Wein, L. M. (1998). Pooled testing for HIV prevalence estimation: Exploiting the dilution effect. Statistics in Medicine, 17(13), 1447–1467.
Acknowledgments
This work was partially supported by the National Natural Science Foundation of China under Grant Nos. 11101326 and 71172189, the Program for New Century Excellent Talents in University (NCET-12-0824), and the Fundamental Research Funds for the Central Universities.
Author information
Authors and Affiliations
Corresponding author
Appendices
Appendix 1: Calculating the sequentiality of Algorithm DP
From the description of Algorithm DP (following Lemma 2.1) in Sect. 2, for an input set \(S\), if \(|S|=1\) or \(S\) is tested to be pure, then clearly \(Seq(\text{ DP }, S)=1\). If \(|S|>1\) and \(S\) is tested to be contaminated, then Procedure DIG is applied to \(S\), to identify and remove one defective item and an unspecified number of good items from \(S\). We use \(S'\) to denote the resulting set obtained from \(S\) after the removal. Then, \(S'\) is bisected into two subsets \(S_1\) and \(S_2\) (if \(|S'|>1\)), and the two subsets \(S_1\) and \(S_2\) are processed independently in the same way as set \(S\) (i.e. procedures DP(\(S_1\)) and DP(\(S_2\)) are recursively called). Since the callings of DP(\(S_1\)) and DP(\(S_2\)) are independent with each other, they can be performed in parallel. Thus, we have the following recursive formula, for calculating the sequentiality of Algorithm DP on a contaminated input set \(S\) with \(|S|>1\)
For any input set \(S, Seq(\text{ DP }, S)\) can be calculated by using the recursive formula in Equ. (5), together with the formulae given above for the base cases where \(|S|=1\) or \(S\) is pure.
Appendix 2: Calculating the sequentiality of Algorithm RBS
The sequentiality of Algorithm RBS can be analyzed in a similar way as Algorithm DP. For an input set \(S\) of items and a status indicator \(c\in \{1,*\}\) on \(S\), we use \(Seq(\text{ RBS }, S, c)\) to denote the sequentiality of Algorithm RBS on input \((S,c)\). Trivially, if \(S=\emptyset \), we let \(Seq(\text{ RBS }, S, c)=0\) for any \(c\in \{1,*\}\). If \(|S|=1\), then clearly \(Seq(\text{ RBS }, S, 1)=0\) and \(Seq(\text{ RBS }, S, *)=1\). For inputs \(|S|>1\) and \(c=*\), from Algorithm RBS we have
For inputs \(|S|>1\) and \(c=1\), from Algorithm RBS, \(S\) is partitioned into two subsets \(S_1\) and \(S_2\). We have the following three possibilities on the test results of \(S_1\) and \(S_2\) in Step 4:
Case 1. The test result is pure for \(S_1\), and is contaminated for \(S_2\). In this case, according to Step 4(a), Procedure DIG is applied to \(S_2\), to identify and remove one defective item and an unspecified number of good items from \(S_2\). We use \(S_2'\) to denote the resulting subset obtained from \(S_2\) after the removal, then RBS\((S_2',*)\) is recursively called after Procedure DIG.
Case 2. The test result is contaminated for \(S_1\), and is pure for \(S_2\). Similarly, according to Step 4(b), in this case Procedure DIG is applied to \(S_1\), to identify and remove one defective item and an unspecified number of good items from \(S_1\). We use \(S_1'\) to denote the resulting subset obtained from \(S_1\) after the removal, then RBS\((S_1',*)\) is recursively called after Procedure DIG.
Case 3. The test results are contaminated for both \(S_1\) and \(S_2\). Then, according to Step 4(c), RBS\((S_1,1)\) and RBS\((S_2,1)\) are recursively called. The callings of RBS\((S_1,1)\) and RBS\((S_2,1)\) are independent with each other, and so they can be performed in parallel.
From the above three cases, and since the two tests on \(S_1\) and \(S_2\) in Step 4 can be performed in parallel, we have the following recursive formula for calculating the sequentiality of Algorithm RBS with inputs \(|S|>1\) and \(c=1\)
By combining the above, for any inputs \(S\) and \(c\in \{1,*\}, Seq(\text{ RBS }, S, c)\) can be calculated by using the recursive formulae in Eqs. (6) and (7), together with the formulae for the base cases \(|S|\le 1\) given above.
Rights and permissions
About this article
Cite this article
Cheng, Y., Du, DZ. & Zheng, F. A new strongly competitive group testing algorithm with small sequentiality. Ann Oper Res 229, 265–286 (2015). https://doi.org/10.1007/s10479-014-1766-4
Published:
Issue Date:
DOI: https://doi.org/10.1007/s10479-014-1766-4