Skip to main content
Log in

A new strongly competitive group testing algorithm with small sequentiality

  • Published:
Annals of Operations Research Aims and scope Submit manuscript

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.

This is a preview of subscription content, log in via an institution to check access.

Access this article

Price excludes VAT (USA)
Tax calculation will be finalised during checkout.

Instant access to the full article PDF.

Institutional subscriptions

Fig. 1
Fig. 2
Fig. 3
Fig. 4
Fig. 5
Fig. 6

Similar content being viewed by others

Notes

  1. 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).

  2. 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.

    Article  Google Scholar 

  • Alon, N., Moshkovitz, D., & Safra, S. (2006). Algorithmic construction of sets for k-restrictions. ACM Transactions on Algorithms, 2(2), 153–177.

    Article  Google Scholar 

  • Atia, G. K., & Saligrama, V. (2012). Boolean compressed sensing and noisy group testing. IEEE Transactions on Information Theory, 58(3), 1880–1901.

    Article  Google Scholar 

  • 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.

    Article  Google Scholar 

  • Bar-Noy, A., Hwang, F. K., Kessler, I., & Kutten, S. (1994). A new competitive algorithm for group testing. Discrete Applied Mathematics, 52, 29–38.

    Article  Google Scholar 

  • Barillot, E., Lacroix, B., & Cohen, D. (1991). Theoretical analysis of library screening using a \(n\)-dimensional pooling strategy. Nucleic Acids Research, 19, 6241–6247.

    Article  Google Scholar 

  • 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.

    Article  Google Scholar 

  • Cheng, Y., Du, D. Z., & Xu, Y. (2014). A zig-zag approach for competitive group testing. INFORMS Journal on Computing, 26(4), 677–689.

    Article  Google Scholar 

  • 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.

    Article  Google Scholar 

  • 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.

    Article  Google Scholar 

  • 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.

    Article  Google Scholar 

  • 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.

    Article  Google Scholar 

  • Dorfman, R. (1943). The detection of defective members of large populations. The Annals of Mathematical Statistics, 14, 436–440.

    Article  Google Scholar 

  • Du, D. Z., & Hwang, F. K. (1993). Competitive group testing. Discrete Applied Mathematics, 45(3), 221–232.

    Article  Google Scholar 

  • Du, D. Z., & Hwang, F. K. (2000). Combinatorial group testing and its applications (2nd ed.). Singapore: World Scientific.

    Google Scholar 

  • 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.

    Google Scholar 

  • Du, D. Z., & Park, H. (1994). On competitive group testing. SIAM Journal on Computing, 23(5), 1019–1025.

    Article  Google Scholar 

  • 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.

    Article  Google Scholar 

  • D’yachkov, A. G., Rykov, V. V., & Rashad, A. M. (1989). Superimposed distance codes. Problems Control Information Theory, 18, 237–250.

    Google Scholar 

  • 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.

    Article  Google Scholar 

  • 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.

    Article  Google Scholar 

  • Hong, E. H., & Ladner, R. E. (2002). Group testing for image compression. IEEE Transaction on Image Processing, 11, 901–911.

    Article  Google Scholar 

  • 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.

    Article  Google Scholar 

  • 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.

    Article  Google Scholar 

  • Kautz, W. H., & Singleton, R. C. (1964). Nonrandom binary superimposed codes. IEEE Transaction on Information Theory, 10, 363–377.

    Article  Google Scholar 

  • Li, C. H. (1962). A sequential method for screening experimental variables. Journal of the American Statistical Association, 57, 455–477.

    Article  Google Scholar 

  • Macula, A. J., & Popyack, L. J. (2004). A group testing method for finding patterns in data. Discrete Applied Mathematics, 144(1–2), 149–157.

    Article  Google Scholar 

  • 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.

    Article  Google Scholar 

  • 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.

    Google Scholar 

  • 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.

    Article  Google Scholar 

  • Sleator, D., & Tarjan, R. (1985). Amortized efficiency of list update and paging rules. Communications of the ACM, 28(2), 202–208.

    Article  Google Scholar 

  • Sobel, M., & Groll, P. A. (1959). Group testing to eliminate efficiently all defectives in a binomial sample. Bell System Technical Journal, 38, 1179–1252.

    Article  Google Scholar 

  • Van Weele, S., & Ramirez-Marquez, J. (2011). Optimization of container inspection strategy via a genetic algorithm. Annals of Operations Research, 187(1), 229–247.

    Article  Google Scholar 

  • Wein, L. M., & Zenios, S. A. (1996). Pooled testing for HIV screening: Capturing the dilution effect. Operations Research, 44(4), 543–569.

    Article  Google Scholar 

  • Wolf, J. (1985). Born again group testing: Multiaccess communications. IEEE Transaction on Information Theory, IT–31, 185–191.

    Article  Google Scholar 

  • Zenios, S. A., & Wein, L. M. (1998). Pooled testing for HIV prevalence estimation: Exploiting the dilution effect. Statistics in Medicine, 17(13), 1447–1467.

    Article  Google Scholar 

Download references

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

Authors

Corresponding author

Correspondence to Yongxi Cheng.

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\)

$$\begin{aligned} Seq(\text{ DP }, S)= \left\{ \begin{array}{ll} 1 + T(\text{ DIG }, S),&{} \text{ if } \; S'=\emptyset ; \\ 1 + T(\text{ DIG }, S)+1=2 + T(\text{ DIG }, S),&{} \text{ if } \; |S'|=1; \\ 1 + T(\text{ DIG }, S)+\max \big \{Seq(\text{ DP }, S_1), \,Seq(\text{ DP }, S_2)\big \},&{} \text{ if } \; |S'|>1. \end{array} \right. \end{aligned}$$
(5)

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

$$\begin{aligned} Seq(\text{ RBS }, S, *)= \left\{ \begin{array}{ll} 1,&{} \text{ if } \text{ the } \text{ test } \text{ result } \text{ of } S\, \text{(in } \text{ Step } \text{2) } \text{ is } \text{ pure }; \\ 1 +Seq(\text{ RBS }, S, 1),&{} \text{ otherwise. } \end{array} \right. \end{aligned}$$
(6)

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\)

$$\begin{aligned} Seq(\text{ RBS }, S, 1)= \left\{ \begin{array}{ll} 1+ T(\text{ DIG }, S_2)+Seq(\text{ RBS }, S_2', *),&{} \text{ if }\; S_1\; \hbox {is pure and}\; S_2\; \hbox {is} \\ &{} \text{ contaminated; } \\ 1+ T(\text{ DIG }, S_1)+Seq(\text{ RBS }, S_1', *),&{} \text{ if }\; S_1\; \hbox {is contaminated} \\ &{} \text{ and }\; S_2\; \hbox {is pure;} \\ 1+ \max \left\{ \begin{array}{l} Seq(\text{ RBS },\; S_1, 1) \\ Seq(\text{ RBS }, \;S_2, 1) \end{array} \right\} ,&{} \begin{array}{l} \text{ if } \text{ both } \;S_1\; \hbox {and}\; S_2\; \hbox {are} \\ \text{ contaminated. } \end{array} \end{array} \right. \end{aligned}$$
(7)

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

Reprints and permissions

About this article

Check for updates. Verify currency and authenticity via CrossMark

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

Download citation

  • Published:

  • Issue Date:

  • DOI: https://doi.org/10.1007/s10479-014-1766-4

Keywords

Navigation