ऐसा लगता है कि आप आकार k के एक हाइपरग्राफ ट्रांसवर्सल की गणना करने की कोशिश कर रहे हैं । यानी, { T 1 , … , T m } आपका हाइपरग्राफ है, और S आपका ट्रांसवर्सल है। एक मानक अनुवाद क्लॉस को व्यक्त करना है जैसा कि आपके पास है, और फिर लंबाई प्रतिबंध का कार्डिनलिटी बाधा में अनुवाद करें।k{T1,…,Tm}S
तो अपने मौजूदा एन्कोडिंग, यानी उपयोग करते हैं, और फिर एन्कोडिंग शर्तें जोड़ें Σ 1 ≤ मैं ≤ n x मैं ≤ k ।⋀1≤j≤m⋁i∈Tjxi∑1≤i≤nxi≤k
एक प्रमुखता बाधा। सैट में विभिन्न विभिन्न कार्डिनैलिटी बाधा अनुवाद हैं।∑1≤i≤nxi≤k
सबसे सरल बल्कि बड़ी प्रमुखता बाधा अनुवाद है बस । इस तरह प्रत्येक अलगाव का प्रतिनिधित्व करता है बाधा ¬ ⋀ मैं ∈ एक्स एक्स मैं - सभी सबसेट के लिए एक्स की { 1 , ... , n }⋀एक्स⊆ { 1 , ... , n } , | एक्स| =के+१⋁मैं ∈ एक्स¬ xमैं¬ ⋀मैं ∈ एक्सएक्समैंएक्स{ 1 , ... , n }का आकार k + 1। यही है, हम यह सुनिश्चित करते हैं कि ऐसा कोई तरीका नहीं है कि k से अधिक चर सेट किए जा सकें। ध्यान दें कि यह k में बहुपद का आकार नहीं हैक
और अधिक स्थान की कुशल प्रमुखता बाधा अनुवाद पर कागजात के लिए कुछ लिंक जिसमें बहुपद आकार के होते हैं क :
- एसएटी में निकोडे ईलेन और निकलास सोरेंसन, जेएसएटी खंड 2 (2006), पृष्ठ 1-26 (एक अच्छा सर्वेक्षण) में छद्म-बूलियन बाधाओं का अनुवाद करना ।
- बूलियन कार्डिनैलिटी बाधाओं के कुशल CNF एन्कोडिंग - ओलिवियर बाइल्यूक्स और यासीन बूफखड, प्रोसीडिंग्स ऑफ प्रिंसिपल्स एंड प्रैक्टिस ऑफ कॉन्सट्रेंट प्रोग्रामिंग 2003, एलएनसीएस वॉल्यूम 2833, पृष्ठ 108-122 (अनुवाद को लागू करने के लिए एक अच्छा, काफी आसान)।
- बूलियन कार्डिनलिटी की कमी के एक इष्टतम CNF एन्कोडिंग की ओर - कार्स्टन सिनज़ - सिद्धांतों की कार्यवाही और कांस्ट्रेक्ट प्रोग्रामिंग 2005 का अभ्यास, LNCS 3709, पृष्ठ 827-831।
- कार्डिनैलिटी बाधाओं के रोबस्ट सीएनएफ एन्कोडिंग्स की ओर - जोआ मार्केस-सिल्वा और इनस लिनस, प्रोसीडिंग्स ऑफ प्रिन्सिपल्स एंड प्रैक्टिस ऑफ कॉन्सट्रेंट प्रोग्रामिंग 2007, एलएनसीएस 4741, पीजी 483-497।
यदि आप वास्तव में इस तरह की समस्याओं को हल करने में रुचि रखते हैं, तो शायद उन्हें छद्म-बूलियन समस्याओं के रूप में तैयार करना बेहतर है ( स्यूडो-बूलियन समस्याओं पर विकी लेख देखें ) और स्यूडो-बूलियन सॉल्वर का उपयोग करें (देखें छद्म-बूलियन प्रतियोगिता )। इस तरह से कार्डिनैलिटी की बाधाएं सिर्फ छद्म बूलियन बाधाएं हैं और भाषा का हिस्सा हैं - उम्मीद है कि छद्म बूलियन सॉल्वर तब सीधे उन्हें संभालता है और इसलिए अधिक कुशलता से।