बताई गई समस्या को edge-coloring problem के रूप में माना जा सकता है: आपके पास एक ग्राफ है जहां प्रत्येक ट्यूपल प्रविष्टि नोड है और किनारों को किनारों द्वारा दिया जाता है। समूहों में tuples क्लस्टरिंग तो किनारों के समूहों को खोजने के अनुरूप है जो एंडपॉइंट्स (मिलान) साझा नहीं करते हैं, जिसे एक किनारे रंग में एक ही रंग असाइन किया जा सकता है। दूसरे शब्दों में, प्रत्येक किनारे रंग आपको क्लस्टरिंग देता है और प्रत्येक क्लस्टरिंग आपको किनारे रंग देता है। दुर्भाग्यवश, यह एनपी -हार्ड सर्वश्रेष्ठ किनारे रंग खोजने के लिए है, इसलिए आपकी समस्या सामान्य में एनपी -हार्ड है। इस समस्या के लिए सन्निकटन एल्गोरिदम हैं जो स्थिर-कारक अनुमानों का उत्पादन करते हैं, लेकिन पी = एनपी कोई सटीक एल्गोरिदम नहीं है।
यदि आप प्रति समस्या को किसी भी प्रकार के तत्वों को अनुमति देने के लिए इस समस्या को सामान्यीकृत करते हैं, तो यह समस्या बहुत कठिन हो जाती है। इस समस्या का सामान्य संस्करण वास्तव में एनपी -हार्ड, और ग्राफ रंग से कमी से अनुमान लगाने के लिए वास्तव में कठिन है। मैं एक विशिष्ट मामले में कमी का एक उदाहरण दिखाऊंगा, लेकिन यह काफी अच्छी तरह से सामान्यीकृत करता है।
इस तरह का ग्राफ को देखते हुए:
A -- B -- C
| | |
D -- E -- F
हम tuples का एक सेट, प्रत्येक नोड, जहां टपल में प्रत्येक प्रविष्टि के उस नोड के लिए आसन्न किनारों का सेट है के लिए वह बना देंगे। उदाहरण के लिए, ऊपर ग्राफ में, हम इन tuples फार्म चाहते हैं:
(AB, AD)
(AB, BC, BE)
(CB, CF)
(AD, DE)
(BE, DE, EF)
(CF, EF)
अब, कल्पना है कि इन tuples के दो ओवरलैप नहीं। इसका मतलब है कि उन tuples से संबंधित दो नोड्स निकट नहीं होना चाहिए, क्योंकि यदि वे थे, तो उनके बीच का किनारा tuples में एक आम तत्व होगा और इसलिए उन्हें क्लस्टर नहीं किया जा सका। दूसरी तरफ, यदि दो नोड आसन्न नहीं हैं, तो उनके टुपल्स को एक ही क्लस्टर में एक साथ समूहीकृत किया जा सकता है, क्योंकि एक टुपल में कोई किनारा दूसरे में मौजूद नहीं होगा।
इस सेटअप को देखते हुए, मूल ग्राफ का कोई भी रंग tuples को क्लस्टर करने का एक तरीका देता है (एक ही रंग को उसी रंग में दिए गए नोड्स के लिए सभी tuples डाल दें; उनमें से कोई भी आसन्न नहीं है, इसलिए वे संघर्ष नहीं करते हैं) और tuples क्लस्टरिंग का कोई भी तरीका एक रंग देता है (एक क्लस्टर में एक ही रंग में प्रत्येक tuple के अनुरूप सभी नोड्स रंग)। इसलिए, क्लस्टर की न्यूनतम संख्या को ढूंढना मूल ग्राफ की रंगीन संख्या को ढूंढने के अनुरूप है, जो एनपी -हार्ड है और किसी भी सन्निकटन एल्गोरिदम को स्वीकार करने के लिए ज्ञात नहीं है जो वास्तविक मूल्य के करीब कहीं भी मिलता है।
क्या आप एक लंबा उदाहरण पोस्ट कर सकते हैं, या वास्तविक इनपुट के आकार का विचार दे सकते हैं? क्या डुप्लिकेट टुपल्स हो सकते हैं? क्या आप उम्मीद करते हैं कि प्रत्येक तत्व कम से कम बराबर संख्या में दिखाई दे? – m69
इनपुट का आकार सीमा 20-60 (जोड़े) में कहीं है।कोई डुप्लिकेट टुपल्स नहीं हैं यानी यदि (ए, बी) सेट में है, तो कोई अन्य (ए, बी) या (बी, ए) नहीं है। मेरे पास व्यक्तिगत तत्वों का कोई वितरण ज्ञान नहीं है (हालांकि अभ्यास में मुझे संदेह है कि कुछ तत्व दूसरों की तुलना में अधिक बार प्रकट होते हैं, मुझे समस्या के लिए यह मामला नहीं पता है - अगर समस्या के कुछ संभाव्य ज्ञान बेहतर औसत केस समाधान उत्पन्न करता है, मुझे बताएं और मैं इसे प्रदान करने का प्रयास कर सकता हूं) –
इनपुट में कितने अलग अक्षरों (या जो भी प्रतिनिधित्व करते हैं) कितने हैं? क्या आपने अपने ग्राफों और उनके [पूरक ग्राफ] (https: //en.wikipedia) के न्यूनतम-चरम-कवर-आकार का अनुमान लगाया है (https://en.wikipedia.org/wiki/Vertex_cover#Approximate_evaluation)। org/wiki/Complement_graph)? क्या आपने कोशिश की है [treewidth अनुमानित] (http://citeseerx.ist.psu.edu/viewdoc/download?doi=10.1.1.29.7198&rep=rep1&type=pdf) अपने ग्राफ के? –