Efficient Greedy Algorithms with Accuracy Guarantees for Combinatorial Restrictions - Colbourn, Charles J. (SN computer science, 2024)
The effective construction of covering arrays for interaction testing relies on fast, practical algorithms. Such algorithms are needed to directly construct covering arrays and variants such as covering perfect hash families. However, they are also needed for a broader class of combinatorial arrays defined by combinatorial restrictions, such as perfect, separating, and distributing hash families. For moderate-to-large construction problems, greedy algorithms offer fast techniques that are general and flexible. Consequently they yield the best-known explicit construction for a wide variety of array parameters. Among the greedy algorithms, one-column-at-a-time methods (such as IPO) appear to provide the most efficient techniques. For some restrictions, however, one-row-at-a-time methods guarantee the construction of an array whose size matches that of a strong probabilistic bound. Despite the practical merits of the IPO-like algorithms, this accuracy guarantee has been lacking. In this paper, a framework for greedy algorithms for a broad class of combinatorial restrictions is developed. A one-selection-at-a-time algorithm chooses the entries of the array in arbitrary order while guaranteeing to meet the probabilistic bound. It is time-efficient and uses minimal storage, but entails substantial recomputation. By storing intermediate results, the method is specialized to obtain a general one-row-at-a-time method that is faster. Finally, it is specialized to a general one-column-at-a-time and to an IPO method that consume both less time and less storage than the one-row-at-a-time approach. Crucially, each method guarantees to meet the probabilistic bound for each of the combinatorial restrictions studied.