सॉफ्टवेयर परीक्षण से यह समस्या उत्पन्न हुई। समस्या को समझाना थोड़ा मुश्किल है। मैं पहले एक उदाहरण दूंगा, फिर समस्या को सामान्य करने का प्रयास करूंगा।
A से J तक 10 वस्तुओं का परीक्षण किया जाना है, और एक परीक्षण उपकरण है जो एक ही समय में 3 वस्तुओं का परीक्षण कर सकता है। परीक्षण उपकरण में वस्तुओं का क्रम मायने नहीं रखता है। बेशक, संपूर्ण परीक्षण के लिए, हमें 10 सी 3 आइटमों के संयोजन की आवश्यकता है ।
समस्या अधिक जटिल है। एक अतिरिक्त स्थिति यह है कि एक बार एक जोड़ी वस्तुओं का एक साथ परीक्षण किया गया है, उसी जोड़ी की तुलना में फिर से परीक्षण करने की आवश्यकता नहीं है।
उदाहरण के लिए, एक बार हमने निम्नलिखित तीन परीक्षणों को अंजाम दिया:
एबीसी
एडीई
BDF
हमें निष्पादित नहीं करना है:
एबीडी
क्योंकि जोड़ी A, B को पहले परीक्षण मामले द्वारा कवर किया गया था, A, D को दूसरे द्वारा कवर किया गया था, और B, D को तीसरे द्वारा कवर किया गया था।
तो समस्या यह है कि परीक्षण के मामलों की न्यूनतम संख्या क्या है जो हमें यह सुनिश्चित करने की आवश्यकता है कि सभी जोड़ों का परीक्षण किया जाए?
सामान्यीकृत करने के लिए, यदि हमारे पास n आइटम हैं, तो एक ही समय में परीक्षण किया जा सकता है, और हमें यह सुनिश्चित करने की आवश्यकता है कि सभी संभावित टी ट्यूपल्स का परीक्षण किया जाता है (जैसे कि s> t), हमें उन मामलों की न्यूनतम संख्या क्या है जो हमें चाहिए n, s और t की शर्तें?
और अंत में, आवश्यक परीक्षण मामलों को उत्पन्न करने के लिए एक अच्छा एल्गोरिथ्म क्या होगा?