अमूर्त व्याख्या एक बहुत ही सामान्य अवधारणा है और जिस पर आप पूछते हैं उसके आधार पर, आप विभिन्न स्पष्टीकरण प्राप्त करेंगे क्योंकि बहुमुखी अवधारणाएं कई दृष्टिकोणों को स्वीकार करती हैं। इस उत्तर में दृश्य मेरा है और मैं यह नहीं मानूंगा कि यह सामान्य है।
एक प्रेरणा के रूप में कम्प्यूटेशनल कठोरता
आइए निर्णय समस्याओं से शुरू करते हैं, जिनके समाधान की संरचना इस प्रकार है:
अक्सर प्रक्रिया पर एक एनपी-हार्ड लोअर बाउंड होता है। कार्यक्रमों के शब्दार्थ गुणों की जाँच करना भी असाध्य है। हम क्या कर सकते है?
आइए दो अवलोकन करें। सबसे पहले, हम कभी-कभी सामान्य समस्या को हल नहीं कर सकते हैं, भले ही हम विशिष्ट समस्या उदाहरणों को हल कर सकते हैं। दूसरा, कंपाइलर ऑप्टिमाइज़ेशन जैसे एप्लिकेशन इस बात को सन्निकट करते हैं कि एक कंपाइलर कुछ को खत्म कर देता है, लेकिन अक्षमता के सभी स्रोतों के लिए उपयोगी नहीं है। इस अंतर्ज्ञान को सटीक बनाने के लिए, हमें उत्तर देना चाहिए:
- औपचारिक रूप से कुछ हल करने के लिए इसका क्या मतलब है, लेकिन सभी समस्याएँ नहीं हैं?
- निर्णय समस्या का एक अनुमानित समाधान क्या है?
सार व्याख्या आइडिया 1: समस्या कथन को बदलें
मेरे लिए, अमूर्त व्याख्या की एक प्रमुख अंतर्दृष्टि समस्या निर्माण को बदलना है ताकि हम हां / ना का जवाब मांगने के बजाय , हम हां / नहीं / शायद जवाब मांगें ।
नतीजतन, हर समस्या का एक तुच्छ, निरंतर समय समाधान (आउटपुट शायद ) है। अब हम एक प्रक्रिया है कि हमेशा उत्पादन नहीं करता है पाने के लिए हमारे ध्यान में बदलाव कर सकते हैं हो सकता है कि । उपरोक्त प्रश्नों पर लौटने के लिए, कुछ समस्याओं के समाधान के लिए काम करने वाला समाधान वह है जो रिटर्न करता है शायद समस्याओं पर यह हल नहीं कर सकता है। इसके अलावा, शायद हाँ और नहीं का एक अनुमान है क्योंकि हम निश्चित नहीं हैं कि इसका उत्तर क्या है।
यह विचार निर्णय की समस्याओं तक सीमित नहीं है। कार्यक्रमों से संबंधित इन समस्याओं पर विचार करें।
- कार्यक्रम में कोड की कौन सी लाइनें मृत हैं (कभी निष्पादित नहीं होंगी)?
- कार्यक्रम में कौन से चर में निरंतर मूल्य हैं?
- कार्यक्रम में किन दावों का उल्लंघन किया जाता है?
इन सभी स्थितियों में, हम एक सटीक समाधान से लगभग किसी अनिश्चितता के समाधान पर विचार कर सकते हैं।
- क्या है एक सेट कोड मर चुका है कि की लाइनों की?
- कार्यक्रम में चर का एक सेट है जिसमें निरंतर मान हैं?
- उस कार्यक्रम में मुखरता का एक सेट क्या है जिसका उल्लंघन नहीं किया जाता है?
उत्पादित सेट सबसे बड़ा नहीं होना चाहिए। यह विचार बेहद सामान्य है और उन समस्याओं पर लागू होता है जिनका कार्यक्रम विश्लेषण से बहुत कम लेना-देना है।
- और को जोड़ने के बजाय , हम एक सीमा लिए पूछ सकते हैं जिसमें योग निहित है।मn[ ए , बी ]
- इसके बजाय गुणा करने का से हम के लिए पूछ सकते हैं परिणाम के टुकड़े (विशिष्ट, सामान्य उदाहरण हस्ताक्षर या समता बिट कर रहे हैं)।मnक
- एक सूत्र को संतोषजनक कार्य के लिए पूछने के बजाय, हम एक सेट के लिए पूछ सकते हैं जिसमें संतोषजनक कार्य शामिल हैं।
ध्यान दें कि हमने न केवल समस्या को बदल दिया है, बल्कि इसे सख्ती से सामान्यीकृत किया है क्योंकि मूल समस्या का समाधान अभी भी संशोधित समस्या का समाधान है। अब बड़ा अनुत्तरित प्रश्न है: हम एक अनुमानित समाधान कैसे पा सकते हैं?
सार व्याख्या 2 आइडिया: मूल समाधान की निश्चित बिंदु विशेषता
दूसरा बड़ा विचार यह है कि कई समस्याओं के समाधान के लिए उम्मीदवार समाधानों की एक जाली में एक निश्चित बिंदु के रूप में एक लक्षण वर्णन है। उदाहरण के लिए, यदि आप एक ग्राफ है और आप जानना चाहते हैं, तो एक शीर्ष लगता है एक शीर्ष से पहुंचा जा सकता है । हम सेट खोजने में इस करना बंद कर सकता से प्राप्त किए सभी कोने का और उसके बाद पता चल सके कि इस सेट में है। हम आगे देख सकते हैं कि सबसे कम समाधान है:tsReach(s)stReach(s)
X={s}∪{w | v is in X and (v,w) is an edge}
एक निश्चित बिंदु लक्षण वर्णन का मूल्य यह है कि सटीक समाधान को श्रृंखलाओं की एक श्रृंखला की सीमा के रूप में देखा जा सकता है। इस उदाहरण में, श्रृंखला का -थ तत्व और सन्निकटन से चरणों में उपलब्ध ग्राफ़ लंब का सेट है जो इन शीर्षों का सबसेट है।nns
निश्चित बिंदु लक्षण वर्णन एक डिजाइन निर्णय है। समाधान के एक सेट के कई अलग-अलग लक्षण हैं। उनमें से प्रत्येक के अलग-अलग फायदे हो सकते हैं। प्रोग्रामिंग भाषाओं के मामले में, हमारे पास सिर्फ एक ग्राफ से निपटने की तुलना में अधिक संरचना है। निश्चित बिंदु समीकरण जिनकी हम परवाह करते हैं , उन्हें इनपुट प्रोग्राम की संरचना पर इंडक्शन द्वारा परिभाषित किया जा सकता है । यह विचार कार्यक्रमों के लिए विशिष्ट नहीं है। एक व्याकरण, तार्किक सूत्र, कार्यक्रम, अंकगणितीय अभिव्यक्ति आदि जैसे एक संरचित भाषा के तत्वों के लिए अमूर्त व्याख्या को लागू करते समय, हम कुछ वाक्यात्मक वस्तु की संरचना पर प्रेरण द्वारा निश्चित बिंदुओं को परिभाषित कर सकते हैं।
यह निश्चित बिंदु लक्षण वर्णन देकर, हम कंप्यूटिंग समाधानों के एक विशिष्ट तरीके के लिए प्रतिबद्ध हैं। हम वास्तव में इस निश्चित बिंदु की गणना नहीं करेंगे क्योंकि यह मूल समस्या को हल करने में कम से कम उतना ही कठिन है, जो हमें अगले चरण में लाता है।
सार व्याख्या विचार 3: निश्चित बिंदु अनुमोदन
एक जाली में एक फ़ंक्शन एक निश्चित बिंदु की गणना करने के बजाय, हम एक जाली में दूसरे फ़ंक्शन एक निश्चित बिंदु की गणना कर सकते हैं । बशर्ते कुछ शर्तों के संबंध में मुलाकात कर रहे हैं के लिए , एक समाधान गणना में समाधान के एक सन्निकटन होने की गारंटी है । यह अमूर्त व्याख्या के मूलभूत परिणामों में से एक है, जिसे आमतौर पर निश्चित बिंदु अंतरण प्रमेय कहा जाता है । साउंडनेस की स्थिति या तो गैलोज़ कनेक्शन द्वारा दी गई है, या कमजोर सेटिंग्स जिसमें एब्सट्रैक्शन या कॉन्सट्रैक्शन फंक्शन या साउंडनेस रिलेशन शामिल हैं।FLGMMLML
निश्चित बिंदु हस्तांतरण प्रमेय गारंटी देता है कि आपको यह साबित करने की आवश्यकता नहीं है कि आप हर बार जब आप एक अनुमानित विश्लेषण डिजाइन करते हैं, तो आप ध्वनि सन्निकटन की गणना कर रहे हैं। आपको केवल यह साबित करना होगा कि लैटिस (मूल समाधानों से युक्त) और (अंजीर युक्त) और फ़ंक्शन और कुछ बाधाओं को संतुष्ट करते हैं। यह एक बड़ी जीत है यदि आप एक विश्लेषण के डिजाइनर हैं और आप ध्वनि की परवाह करते हैं।LMFG
आप निश्चित बिंदु अंतरण के पीछे अंतर्ज्ञान पा सकते हैं। हम एक निश्चित बिंदु को तत्वों की एक (संभवतः ट्रांसफ़ेक्टेन) श्रृंखला की सीमा के रूप में सोच सकते हैं। इस सीमा को अनुमानित करने के लिए अनुमानित समाधान मात्राओं की गणना, जिसे हम श्रृंखला के तत्वों को अंजाम देकर कर सकते हैं।
सन्निकटन की धारणा आवेदन पर निर्भर करती है। आप ग्राफ गम्यता उपयोग कर रहे हैं एक यात्रा की योजना के लिए, आप एक सन्निकटन है जो आपको बताता है कि वहाँ के बीच कोई मार्ग है स्वीकार कर सकते हैं और एक रास्ता है, भले ही, लेकिन आप खुश करता है, तो एल्गोरिथ्म का कहना है वहाँ से एक मार्ग है नहीं होगा करने के लिए जहां कोई रास्ता नहीं है।stst
सार व्याख्या विचार 4: फिक्स्ड प्वाइंट अनुमोदन एल्गोरिदम
अब तक देखी गई हर चीज का गणितीय अस्तित्व परिणाम है। अंतिम चरण सन्निकटन की गणना करना है। जब सन्निकटन की जाली परिमित होती है (या आरोही / अवरोही श्रृंखला स्थिति पूरी होती है), हम एक सरल पुनरावृत्ति प्रक्रिया का उपयोग कर सकते हैं। यदि जाली अनंत है तो एक पुनरावृत्त प्रक्रिया पर्याप्त नहीं हो सकती है, हालांकि एक निश्चित बिंदु की गणना करना अभी भी निर्णायक हो सकता है। इस स्थिति में, समाधान को आगे बढ़ाने के लिए या भोले पुनरावृत्ति एल्गोरिथ्म की तुलना में तेजी से सटीक समाधान पर कूदने के लिए कई तकनीकों का उपयोग किया जाता है। किसी समाधान की गणना करने के संदर्भ में, आप व्यापक , संकीर्ण , रणनीति पुनरावृत्ति , त्वरण आदि जैसे शब्द सुनते हैं ।
सारांश
मेरी राय में, अमूर्त व्याख्या उसी तरह अमूर्त की धारणा के लिए एक गणितीय आधार प्रदान करती है जिस तरह से गणितीय तर्क तर्क के लिए एक गणितीय आधार प्रदान करता है। कई समस्याओं का समाधान हम निश्चित बिंदुओं के रूप में लक्षण वर्णन करते हैं। यह अवलोकन प्रोग्रामिंग भाषा की समस्याओं और यहां तक कि कंप्यूटर विज्ञान तक भी सीमित नहीं है। अनुमानित समाधानों को निश्चित बिंदुओं के सन्निकटन के रूप में चित्रित किया जा सकता है और विशेष एल्गोरिदम के साथ गणना की जाती है। ये लक्षण और एल्गोरिदम समस्या के उदाहरण की संरचना का फायदा उठाएंगे। कार्यक्रमों के मामले में, यह संरचना भाषा के वाक्य-विन्यास द्वारा दी गई है।
एक प्राकृतिक मीट्रिक नहीं होने वाली समस्याओं के लिए अनुमान लगाना कम्प्यूटर्स द्वारा लगातार विकसित और परिष्कृत एक कला है। इस कला के पीछे विज्ञान के लिए सार व्याख्या एक गणितीय सिद्धांत है।
सन्दर्भ
व्याख्या की व्याख्या पर कई अच्छे ट्यूटोरियल हैं जिन्हें आप पढ़ सकते हैं।
- सार व्याख्या , पैट्रिक कूसॉट (राधिया कूसोत के साथ संयुक्त कार्य), सिस्टम बायोलॉजी एंड फॉर्मल्स मैथड्स (SBFM'12) पर एक आकस्मिक परिचय।
- अमूर्त व्याख्या , पैट्रिक और राधिया कूसोट, मार्कट्रबॉर्फ समर स्कूल 2010 द्वारा कंप्यूटर सिस्टम के औपचारिक सत्यापन के लिए एक सौम्य परिचय ।
- व्याख्यान 13: अमूर्त भाग I , पैट्रिक कूसॉट, सार व्याख्या, एमआईटी पाठ्यक्रम।
- अमूर्त व्याख्या , सैमसन अब्रामस्की और क्रिस हैंकिन का परिचय , घोषणात्मक भाषाओं का सार व्याख्या, 1987।
- सार व्याख्या और तर्क कार्यक्रमों के लिए आवेदन , पैट्रिक और राडिया कूसॉट, 1992। पहले दो खंडों में कई उदाहरणों के साथ एक सामान्य, उच्च-स्तरीय अवलोकन है।