यह एक विशेष रूप से चालाक एल्गोरिथ्म नहीं है, लेकिन यह बहुपद है, और मुझे लगता है कि इसे काम करना चाहिए। कोई भी सेट लें। इस सेट में प्रत्येक तत्व के लिए, शेष सेटों की संख्या को गिनें जिनमें यह शामिल नहीं है और याद रखें कि किन सेटों में यह शामिल है। तत्व को उच्चतम गणना के साथ चुनें, और शेष तत्वों के लिए मायने रखता है, उन सेटों को अनदेखा करना जिनमें आपके द्वारा चुने गए तत्व की कमी है। तब तक जारी रखें जब तक कि सभी शेष सेट विचार से समाप्त नहीं हो जाते।
उदाहरण: , B = { 2 , 3 , 4 } , C = { 2 , 4 , 6 } , और D = { 1 , 3 , 5 } । फिर हमारे पास c 1 = 2 , c 2 = 1 , और c 3 = 1 हैए = { १ , २ , ३ }बी = { २ , ३ , ४ }सी= { २ , ४ , ६ }डी = { १ , ३ , ५ }सी1= २सी2= 1सी3= 1। हम 1 चुनते हैं, सेट और सी को नष्ट करते हैं जिसमें यह शामिल नहीं था; गिनती को फिर से करना, हमारे पास सी 2 = 1 और सी 3 = 0 है । हम अगले तत्व के रूप में 2 चुनते हैं, और डी को विचार से हटा देते हैं । अब हम कर रहे हैं, और हमारे "फिंगरप्रिंट" सेट { 1 , 2 } है । EDIT: उदाहरण पूरा करने के लिए, आपको { 3 , 4 } , { 6 } , और { 5 } के रूप में बाहर आने के लिए अन्य फिंगरप्रिंट सेट प्राप्त करने चाहिए ।बीसीसी2= 1सी3= 0डी{ १ , २ }{ ३ , ४ }{ ६ }{ ५ }
मैंने इसे बहुत सोचा नहीं है, लेकिन सहज रूप से, ऐसा लगता है कि इसे काम करना चाहिए। विचार यह है कि लालची को फिंगरप्रिंट के अगले तत्व के रूप में लेना है जो उस आइटम को सेट करता है जो सबसे अधिक खुला सेट को कवर करता है।