यहाँ एक अनोखा -सैट उदाहरण उत्पन्न करने का एक तरीका है , जिसे SAT उदाहरण जिसे आप जानते हैं कि यह संतोषजनक है। द्वारा दिए गए सूत्र पर विचार करेंφ ψ ( एक्स )kφψ(x)
φ(x)∧h(x)=y,
जहां एक हैश समारोह है कि एक काम के नक्शे है के लिए एक -बिट मूल्य (के कुछ छोटे मूल्य के लिए ), और एक यादृच्छिक है -बिट मूल्य। यदि में लगभग संतोषजनक कार्य हैं, तो (हेयुरेटिक रूप से) हम मानते हैं कि एक पूर्णतया संतोषजनक कार्य (निरंतर संभावना के साथ) होगा। हम परीक्षण कर सकते हैं कि क्या यह सैट सॉल्वर (अर्थात् परीक्षण करें कि क्या संतोषजनक है? यदि यह है, और एक संतोषजनक कार्य है, तो परीक्षण करें कि क्या संतोषजनक है)। अगरएक्स कश्मीर कश्मीर y कश्मीर φ 2 कश्मीर ψ ψ एक्स 0 ψ ( एक्स ) ∧ x ≠ एक्स 0 कश्मीर कश्मीर कश्मीर = 1 , 2 , ... , एन एन एक्सhxkkykφ2kψψx0ψ(x)∧x≠x0kज्ञात नहीं है, आप द्विआधारी खोज का उपयोग करके प्राप्त कर सकते हैं या बस प्रत्येक उम्मीदवार मान (जहां बूलियन चर की संख्या ) का उपयोग करके।kk=1,2,…,nnx
आप हैश फ़ंक्शन को स्वतंत्र रूप से चुन सकते हैं। आप शायद इसे यथासंभव सरल बनाना चाहेंगे। एक अत्यंत सरल निर्माण है के एक यादृच्छिक सबसेट चुन से बिट्स । एक थोड़ा और अधिक परिष्कृत निर्माण है की वें सा से दो अनियमित रूप से चुने बिट्स की XOR हो (प्रत्येक के लिए थोड़ा पदों की एक अलग जोड़ी चुनने , स्वतंत्र रूप से)। रखते हुए सरल रखना होगा अपेक्षाकृत सरल।कश्मीर एक्स मैं ज ( एक्स ) एक्स मैं ज ψhkxih(x)xihψ
इस तरह के परिवर्तन का उपयोग कभी-कभी किया जाता है / सुझाव दिया जाता है, एक सूत्र को संतोषजनक कार्य की संख्या का अनुमान लगाने के लिए एक योजना के भाग के रूप में ; मैंने इसे आपकी विशेष आवश्यकता के लिए अनुकूलित किया है।φ
आप इंटरनेट पर SAT उदाहरणों के कई परीक्षण पा सकते हैं, और आप उन सभी के लिए इस परिवर्तन को लागू कर सकते हैं, जो अद्वितीय -सैट उदाहरणों का संग्रह प्राप्त कर सकते हैं ।k
एक और संभावना क्रिप्टोग्राफी से अद्वितीय एसएटी उदाहरण उत्पन्न करने के लिए होगी । उदाहरण के लिए, मान लीजिए एक क्रिप्टोग्राफ़िक एक-तरफ़ा क्रमांकन है। आज्ञा देना एक बेतरतीब ढंग से चुना तत्व , और । तब द्वारा दिया गया सूत्र एक विशिष्ट -SAT उदाहरण है। एक अन्य उदाहरण के रूप में, दो बड़े अभाज्य संख्या अनियमित रूप से उठाओ , और । फिर द्वारा दिया गया सूत्रच : { 0 , 1 } n → { 0 , 1 } एन एक्स { 0 , 1 } n y = च ( एक्स ) φ ( एक्स ) च ( एक्स ) = y कश्मीर पी , क्यू n = पी क्ष φ ( एक्स , y ) एक्स ⋅ y = n ∧ एक्स >kf:{0,1}n→{0,1}nx{0,1}ny=f(x)φ(x)f(x)=ykp,qn=pqφ(x,y)x⋅y=n∧x>1∧y>1∧x≤y(बिट-स्ट्रिंग्स और पूर्णांकों के बीच स्पष्ट पत्राचार के साथ) एक अनूठा -सैट उदाहरण है। हालाँकि, ये निर्माण बेंचमार्क को बेंचमार्क या ऑप्टिमाइज़ करने के लिए एक उपयोगी तरीका नहीं है। उन सभी के पास एक विशेष संरचना है, और यह मानने का कोई कारण नहीं है कि यह संरचना वास्तविक दुनिया की समस्याओं का प्रतिनिधि है। विशेष रूप से, क्रिप्टोग्राफ़िक समस्याओं से तैयार सैट उदाहरणों को बहुत कठिन, सैट सॉल्वर्स के कई अन्य वास्तविक दुनिया अनुप्रयोगों से खींचे गए सैट उदाहरणों की तुलना में बहुत कठिन माना जाता है, इसलिए वे आपके सॉल्वर को बेंचमार्क करने के लिए बहुत अच्छा आधार नहीं हैं।k
सामान्य तौर पर, तकनीक इस जवाब में वर्णित सभी दोष यह है कि वे अद्वितीय उत्पन्न है एक विशेष संरचना के साथ -SAT उदाहरणों, इसलिए वे नहीं हो सकता है कि आप क्या ढूंढ रहे हैं - या कम से कम, आप भरोसा करने के लिए नहीं चाहते हो सकता है पूरी तरह से इस तरह से उत्पन्न सूत्रों पर। एक बेहतर तरीका यह होगा कि आप अनूठे -SAT के अनुप्रयोगों की पहचान करें (जो आपको लगता है कि आपके सॉल्वर का उपयोग करने जा रहा है, और किस उद्देश्य के लिए?), और फिर उन एप्लिकेशन डोमेन से कुछ यथार्थवादी उदाहरण प्राप्त करने का प्रयास करें।कश्मीरkk
संबंधित विषय के लिए, दिलचस्प कॉम्बीनेटरियल ऑप्टिमाइज़ेशन समस्याएं उत्पन्न करना भी देखें