Bu sorun yazılım testlerinden kaynaklanmıştır. Sorunu açıklamak biraz zor. Önce bir örnek vereceğim, sonra sorunu genelleştirmeye çalışacağım.
A'dan J'ye kadar test edilecek 10 öğe ve aynı anda 3 öğeyi test edebilen bir test aracı vardır. Test aracındaki öğelerin sırası önemli değildir. Tabii ki, kapsamlı testler için öğe kombinasyonuna ihtiyacımız var.
Sorun daha karmaşık. Bir çift öğenin birlikte test edilmesinden sonra, aynı çiftin tekrar test edilmesine gerek olmadığı ek bir koşul vardır.
Örneğin, aşağıdaki üç testi gerçekleştirdikten sonra:
ABC
ADE
BDF
yürütmek zorunda değiliz:
ABD
çünkü A, B çifti birinci test vakası tarafından, A, D ikincisi tarafından ve B, D üçüncüsü tarafından kapsanmıştır.
Sorun şu ki, tüm çiftlerin test edildiğinden emin olmak için ihtiyaç duyduğumuz minimum test vakası sayısı nedir?
Genelleştirmek için, n öğemiz varsa, s aynı anda test edilebilir ve olası tüm t-tüllerin test edildiğinden emin olmamız gerekir (s> t gibi), ihtiyacımız olan minimum test vakası sayısı nedir? n, s ve t terimleri?
Son olarak, gerekli test senaryolarını oluşturmak için iyi bir algoritma ne olurdu?