श्रीमती सॉल्वर सैट सॉल्वर + निर्णय प्रक्रिया है
एक सैट सॉल्वर एक निर्णय समस्या के लिए एक सॉल्वर है: सैट समस्या एक निर्णय समस्या है। इसके अतिरिक्त, यह निर्णय समस्या "स्व-निरंकुश" है:
सैट समस्या स्व-रिड्यूसबल है, अर्थात, प्रत्येक एल्गोरिथ्म जो सही ढंग से उत्तर देता है यदि सैट का एक उदाहरण हल करने योग्य है, एक संतोषजनक असाइनमेंट खोजने के लिए उपयोग किया जा सकता है
- ( विकिपीडिया )
इसका मतलब है कि एसएटी सॉल्वर समस्या को तय करने के अलावा संतोषजनक असाइनमेंट भी दे सकते हैं।
टीएल; डीआर एसएमटी सॉल्वर सिद्धांत में अनुमत प्रकार / बाधाओं के आधार पर एसएटी समस्या के एक सामान्यीकरण को हल करते हैं। इसके अलावा, वे एसएटी एन्कोडिंग अनुमति की तुलना में उच्च स्तर के प्रकार के संबंधों को एन्कोडिंग करने की भी अनुमति देते हैं।
( ए = बी ) ∧ ( बी = सी))⟹( ए = सी)
- बीवर एसएमटी सॉल्वर देखें, जो समतुल्य सैट समस्या को भी हल कर सकता है जिसे हल करने की आवश्यकता होगी।
जबकि QF_BV श्रीमती सॉल्वर का SAT सॉल्वर के ऊपर यह लाभ है, मुझे नहीं लगता कि यह एक जटिलता लाभ है: वे दोनों अनिवार्य रूप से समतुल्य हैं और अपनी सबसे खराब स्थिति की समस्याओं को हल करने के लिए घातांक समय लेते हैं। लेकिन व्यावहारिक रूप से, इस अतिरिक्त ज्ञान के कारण एक QF_BV श्रीमती सॉल्वर अधिक तेज हो सकता है। एसएमटी सॉल्वर्स की सीमाओं के बारे में मेरा जवाब देखें , "कठिन" माना जाने वाले कुछ उदाहरणों के लिए (वर्तमान) QF_BV एसएमटी सॉल्वर और सैट सॉल्वर दोनों ही घुट जाएंगे।
एसएमटी सॉल्वर भी हैं जो बूलियन संतुष्टि से भी कठिन समस्याओं को हल करने की कोशिश करते हैं (उदाहरण के लिए वास्तविक प्रकारों और बाधाओं की अनुमति देता है, या क्वांटिफायर की अनुमति देता है); स्पष्ट रूप से ये सैट सॉल्वर के रूप में सैद्धांतिक रूप से कम से कम धीमे हैं। ये एसएमटी सॉल्वर एसएटी समस्या के सामान्यीकरण को हल कर रहे हैं; बाइनरी चर का उपयोग करने के बजाय, प्रत्येक "सिद्धांत" विभिन्न डोमेन पर संबंधों / बाधाओं को अनुमति देता है, जैसे कि वास्तविक, या मात्राबद्ध (सभी के लिए) बाधाएं।
प्रमेय कहावत
पी= एनपी
लेकिन क्रांति में एनपी-पूर्ण समस्याओं को हल करने के लिए एक कुशल विधि की तुलना में इस तरह के बदलाव महत्व में आ सकते हैं। स्टीफन कुक के अनुसार, [19]
... यह किसी भी प्रमेय का एक औपचारिक प्रमाण खोजने की अनुमति देकर गणित को रूपांतरित कर देगा, जिसका एक उचित लंबाई का प्रमाण है, क्योंकि औपचारिक साक्ष्य को बहुपद समय में आसानी से पहचाना जा सकता है। उदाहरण की समस्याओं में अच्छी तरह से सभी CMI पुरस्कार समस्याएं शामिल हो सकती हैं।
- ( विकिपीडिया )
[१ ९]: कुक, स्टीफन (अप्रैल २०००)। पी बनाम एनपी समस्या। मिट्टी गणित संस्थान (पीडीएफ) ।
पी= एनपी
लेकिन अभी के लिए, स्वचालित प्रमेय ज्यादातर उत्तराधिकार या घातांक समय एल्गोरिदम का उपयोग करते हैं (लेकिन अभी भी सहायक हैं)।
बाधा सॉल्वर
ये आम तौर पर सैट / एसएमटी सॉल्वरों के अन्य भाषाओं में सुधार होते हैं। यदि आपने कभी किसी समस्या को हल करने के लिए किसी भी SAT / SMT सॉल्वर्स का उपयोग किया है, तो आप वास्तव में सॉल्वर्स की गैर-निर्धारक क्षमता से प्यार कर सकते हैं। यानी कंप्यूटर को कुछ करने का तरीका बताने के बजाय , आप उसे बताएं कि आप क्या चाहते हैं , यानी। क्या गुण आप चाहते हैं कि आउटपुट हो, और एक SAT-SMT सॉल्वर एक गैर-नियतात्मक "में इसे भरें", आपको कार्यान्वयन विवरण के साथ परेशान किए बिना। इस तरह की प्रोग्रामिंग प्रतिमान बहुत आकर्षक है, और इसे बाधा प्रोग्रामिंग कहा जाता है , और इसे चलाने के लिए, इसे एक बाधा सॉल्वर (जो बैकएंड में एसएटी / एसएमटी सॉल्वर का उपयोग कर सकता है, प्रकार और बाधाओं के आधार पर इसका उपयोग करने की अनुमति देता है) ।
लेकिन मैं देख रहा हूं कि लोग Z3 को एक प्रमेय कहावत कहते हैं। इसलिए मुझे नहीं पता कि उन शर्तों को कैसे पूरा किया जाए।
AFAIK, Z3 कई उपकरणों का एक सूट है, जिसमें एक एसएमटी सॉल्वर, कई प्रमेय साबित / मॉडल की जाँच करने वाली भाषाएँ, और बहुत कुछ शामिल है।
और उन सभी के लिए सबसे सामान्य शब्द क्या है?
मुझे लगता है कि संतुष्टि की समस्या का सामान्यीकरण सैटिसिबिलिटी मोडुलो थ्योरीज़ है , और इसलिए "एसएमटी सॉल्वर" इन सभी में सबसे सामान्य होगा। हालांकि, सभी वास्तविक एसएमटी सॉल्वर कार्यान्वयन सभी सिद्धांतों को हल नहीं करते हैं, इसलिए इसका मतलब यह नहीं है कि सभी एसएमटी सॉल्वर समान रूप से सामान्य हैं।