एसएटी सॉल्वर एक क्वांटिफायर के साथ बूलियन फॉर्मूला की वैधता की जांच करने का एक शक्तिशाली तरीका देते हैं।
उदाहरण के लिए, की वैधता की जांच करने के लिए , हम निर्धारित करने के लिए एक सैट solver उपयोग कर सकते हैं φ ( एक्स ) तृप्तियोग्य है। की वैधता की जांच करने के लिए ∀ एक्स । φ ( एक्स ) , हम निर्धारित करने के लिए एक सैट solver उपयोग कर सकते हैं ¬ φ ( एक्स ) तृप्तियोग्य है। (यहाँ एक्स = ( एक्स 1 , ... , एक्स एन ) एक है n बूलियन चर के -vector, और φ एक बुलियन फॉर्मूला है।)
QBF सॉल्वरों को एक बूलियन फॉर्मूला की वैधता की जांच करने के लिए डिज़ाइन किया गया है, जो कि क्वांटिफायर की एक मनमानी संख्या है।
क्या होगा अगर हमारे पास दो क्वांटिफायर के साथ एक सूत्र है? क्या वे वैधता की जाँच के लिए कोई कुशल एल्गोरिदम हैं: जो कि QBF के लिए जेनेरिक एल्गोरिदम का उपयोग करने से बेहतर हैं? अधिक विशिष्ट होना करने के लिए मैं के रूप में एक सूत्र है (या ∃ एक्स । ∀ y । ψ ( एक्स , वाई ) ), और इसकी वैधता की जांच करना चाहते। क्या इसके लिए कोई अच्छा एल्गोरिदम है? 4/8 को संपादित करें: मैंने सीखा कि सूत्रों का यह वर्ग कभी-कभी 2QBF के रूप में जाना जाता है, इसलिए मुझे 2QBF के लिए अच्छे एल्गोरिदम की तलाश है।
आगे विशेषता: मेरे विशेष मामले में, मैं के रूप में एक सूत्र है जिसकी वैधता मैं जांचना चाहता हूं, जहां f , g ऐसे फ़ंक्शंस हैं जो k -bit आउटपुट का उत्पादन करते हैं। क्या इस विशेष प्रकार के फार्मूले की वैधता की जांच के लिए कोई एल्गोरिदम हैं, क्यूबीएफ के लिए जेनेरिक एल्गोरिदम की तुलना में अधिक कुशलता से?
पुनश्च मैं सबसे खराब स्थिति कठोरता के बारे में नहीं पूछ रहा हूं, जटिलता सिद्धांत में। मैं व्यावहारिक रूप से उपयोगी एल्गोरिदम के बारे में पूछ रहा हूं (आधुनिक सैट सॉल्वर व्यावहारिक रूप से कई समस्याओं पर उपयोगी होते हैं, भले ही सैट एनपी-पूर्ण हो)।