हमारे पास सेट A_1, .., A_n का संग्रह है। लक्ष्य प्रत्येक पुराने सेट के लिए नए सेट ढूंढना है।डुप्लिकेट के बिना tuples को पूरा किया जा सकता है कि सबसेट ढूँढना
newA_i = {a_i in A_i such that there exist (a_1,..,a_n) in (A1,..,An) with no a_k = a_j for all k and j}
तो शब्दों में यह है कि हम उस सेट से एक टपल (a_1, .. a_n) (A_1, .., a_n) ऐसी है कि बनाने के लिए इस्तेमाल नहीं किया जा सकता a_i से सभी तत्वों को दूर का कहना है टुपल में डुप्लीकेट नहीं होते हैं।
मेरा प्रश्न यह है कि इन नए सेटों की त्वरित गणना कैसे करें। यदि आप सभी संभावित वी उत्पन्न करके इस परिभाषा को लागू करते हैं तो यह घातीय समय लेगा। क्या आप एक बेहतर एल्गोरिदम जानते हैं?
संपादित करें: यहां एक उदाहरण है।
A_1 = {1,2,3,4}
A_2 = {2}.
लो अब नए सेट इस तरह दिखेगा:
newA_1 = {1,3,4}
newA_2 = {2}
2 A_1 से हटा दिया गया है अगर आप इसे चुनें टपल हमेशा होगा, क्योंकि (2,2) जो क्योंकि यह अमान्य है डुप्लीकेट शामिल है। दूसरी तरफ 1,3,4 मान्य हैं क्योंकि (1,2), (3,2) और (4,2) मान्य टुपल्स हैं।
एक और उदाहरण:
A_1 = {1,2,3}
A_2 = {1,4,5}
A_3 = {2,4,5}
A_4 = {1,2,3}
A_5 = {1,2,3}
अब नए सेट कर रहे हैं:
newA_1 = {1,2,3}
newA_2 = {4,5}
newA_3 = {4,5}
newA_4 = {1,2,3}
newA_5 = {1,2,3}
1 और 2 सेट 2 और 3 से निकाल दिए जाते हैं क्योंकि यदि आप चाहें तो 1 या 2 इन सेटों से आप सेट 1, 4 और 5 के लिए केवल 2 मान शेष होंगे, इसलिए आपके पास हमेशा (_,1,_,_,_)
या (_,_,2,_,_)
जैसा दिखने वाले टुपल्स में डुप्लिकेट होंगे।
यह समस्या मुश्किल लगती है, लेकिन यदि बहुपद समय एल्गोरिदम था तो यह बहुत अच्छा होगा।
यह देखने का एक और तरीका है सेट पर A_i सेट करें और दाईं ओर के मान, एक सेट को जोड़ने वाली रेखा के साथ और मान सेट में होने पर मान के साथ।
आप एक kakuro/सुडोकू solver लिख रहे हैं?यदि हां, तो क्या आपके पास संभावित मूल्यों पर संयम हैं, जैसे हमेशा 1 - 9, हमेशा 9 सेट पर रहते हैं, इस तरह की चीज? – clahey
अच्छा अनुमान :) यह sukodu के लिए नहीं है, लेकिन यह * एक प्रकार के तर्क पहेली सॉल्वर/जनरेटर के लिए है (यह जांचने के लिए कि कोई अद्वितीय समाधान है या नहीं)। सेट की संख्या या सेट में कितने तत्व हैं, पर कोई निश्चित सीमा नहीं है, लेकिन ये संख्या अभ्यास में छोटी होगी (20 से कम कहें)। लेकिन अभी भी 20^20 जांचने के लिए बड़ी संख्या में tuples है! – Jules
मुझे लगता है कि कई वैध समाधान हो सकते हैं? यदि ऐसा है, तो क्या आप कुछ समझ में कुछ इष्टतम समाधान की तलाश में हैं? – aioobe