स्थिति गणना: Difference between revisions
From Vigyanwiki
mNo edit summary |
No edit summary |
||
| (15 intermediate revisions by 3 users not shown) | |||
| Line 33: | Line 33: | ||
किसी भी कार्य को करने से पहले की स्थिति को सामान्य तौर पर {{tmath|S_0}} द्वारा दर्शाया जाता है और इसे प्रारंभिक स्थिति कहा जाता है। किसी क्रिया के निष्पादन से उत्पन्न नई स्थिति को फलन प्रतीक {{mvar|do}} का उपयोग करके दर्शाया जाता है और कुछ अन्य सन्दर्भ में {{mvar|result}} का भी प्रयोग किया जाता है। इस फलन प्रतीक में तर्क के रूप में एक स्थिति और एक क्रिया होती है, और परिणाम के रूप में एक स्थिति होती है, बाद वाली स्थिति वह स्थिति होती है जो दी गई स्थिति में दी गई कार्रवाई को करने के परिणामस्वरूप होती है। | किसी भी कार्य को करने से पहले की स्थिति को सामान्य तौर पर {{tmath|S_0}} द्वारा दर्शाया जाता है और इसे प्रारंभिक स्थिति कहा जाता है। किसी क्रिया के निष्पादन से उत्पन्न नई स्थिति को फलन प्रतीक {{mvar|do}} का उपयोग करके दर्शाया जाता है और कुछ अन्य सन्दर्भ में {{mvar|result}} का भी प्रयोग किया जाता है। इस फलन प्रतीक में तर्क के रूप में एक स्थिति और एक क्रिया होती है, और परिणाम के रूप में एक स्थिति होती है, बाद वाली स्थिति वह स्थिति होती है जो दी गई स्थिति में दी गई कार्रवाई को करने के परिणामस्वरूप होती है। | ||
तथ्य यह है कि परिस्थितियाँ क्रियाओं का क्रम हैं न कि अवस्थाएँ, | तथ्य यह है कि परिस्थितियाँ क्रियाओं का क्रम हैं न कि अवस्थाएँ, इसलिए अगर और केवल अगर <math>a=a'</math> और <math>s=s'</math> होता है तो <math>do(a,s)</math> के बराबर <math>do(a',s')</math> है यह इस सिद्धांत द्वारा लागू किया जाता है। यह सिद्धांत अर्थहीन है यदि स्थितियाँ ही अवस्था हों, क्योंकि दो अलग-अलग अवस्थाओं में निष्पादित दो अलग-अलग क्रियाओं का परिणाम एक ही अवस्था में हो सकता है। | ||
उदाहरण रोबोट की दुनिया में, यदि रोबोट की पहली क्रिया स्थान | उदाहरण रोबोट की दुनिया में, यदि रोबोट की पहली क्रिया स्थान<math>(2,3)</math> पर जाना है तो पहली क्रिया <math>move(2,3)</math> होगी और परिणामी स्थिति <math>do(move(2,3),S_{0})</math> होगी। यदि इसकी अगली क्रिया गेंद को उठाना है, तो परिणामी स्थिति <math>do(pickup(Ball),do(move(2,3),S_{0}))</math> होगी। स्थितियों के पद जैसे <math>do(move(2,3),S_{0})</math> और <math>do(pickup(Ball),do(move(2,3),S_{0}))</math> निष्पादित फलन के अनुक्रम को निरूपित करते है, न कि निष्पादन के परिणामस्वरूप होने वाली अवस्था का विवरण करते है। | ||
=== | === स्पष्टता === | ||
ऐसे कथन जिनका सत्य मान बदल सकता है, उन्हें संबंधपरक स्पष्टता, विधेय द्वारा प्रतिरूपित किया जाता है जो किसी स्थिति को अपने अंतिम तर्क के रूप में लेते हैं। ,यदि कोई फलन जो किसी स्थिति को अपने अंतिम तर्क के रूप में लेते हैं और स्थिति-आश्रित मान लौटाते हैं तो कार्यात्मक स्पष्टता भी संभव होती हैं। स्पष्टता को दुनिया का गुणधर्म माना जा सकता है। | |||
ऐसे कथन जिनका सत्य मान बदल सकता है, उन्हें संबंधपरक स्पष्टता, विधेय द्वारा प्रतिरूपित किया जाता है जो किसी स्थिति को अपने अंतिम तर्क के रूप में लेते हैं। | |||
उदाहरण में, | उदाहरण में, स्पष्टता <math>\textit{isCarrying}(o,s)</math> का उपयोग यह इंगित करने के लिए किया जा सकता है कि रोबोट किसी विशेष स्थिति में किसी विशेष वस्तु को ले जा रहा है। यदि रोबोट प्रारंभ में कुछ भी नहीं ले जाता है तो <math>\textit{isCarrying}(Ball,S_{0})</math> गलत है और <math>\textit{isCarrying}(Ball,do(pickup(Ball),S_{0}))</math> सही है। रोबोट के स्थान को एक कार्यात्मक स्पष्टता का उपयोग करके <math>location(s)</math> में प्रतिरूपित किया जा सकता है जो किसी विशेष स्थिति में रोबोट का स्थान<math>(x,y)</math> लौटाता है। | ||
==सूत्र== | ==सूत्र== | ||
एक गतिशील दुनिया का वर्णन तीन प्रकार के सूत्रों | एक गतिशील दुनिया का वर्णन तीन प्रकार के सूत्रों जैसे; फलन के बारे में सूत्र (पूर्वापेक्षा और प्रभाव), दुनिया की अवस्था के बारे में सूत्र, और मूलभूत सिद्धांत का उपयोग करके द्वितीय '''क्रम का तर्क''' में संकेतित्र किया गया है। | ||
=== | ===क्रिया पूर्वापेक्षा=== | ||
कुछ | कुछ क्रियांए किसी दी गई स्थिति में निष्पादन योग्य नहीं हो सकती हैं। उदाहरण के लिए, किसी वस्तु को तब तक नीचे रखना असंभव है जब तक कोई वास्तव में उसे उठा न रहा हो। फलन के निष्पादन पर प्रतिबंध प्रपत्र <math>\textit{Poss}(a,s)</math> के शाब्दिक अर्थों द्वारा प्रतिरूपित होते हैं, जहाँ {{mvar|a}} एक क्रिया है, {{mvar|s}} एक स्थिति, और {{mvar|Poss}} क्रियाओं की निष्पादन क्षमता को दर्शाने वाला एक विशेष द्विआधारी विधेय है। स्थिति के उदाहरण में, किसी वस्तु को गिराना केवल तभी संभव है जब कोई उसे ले जा रहा हो, इस स्थिति को इस प्रकार प्रतिरूपित किया गया है: | ||
: <math> | : <math> | ||
\textit{Poss}(drop(o),s)\leftrightarrow \textit{isCarrying}(o,s) | \textit{Poss}(drop(o),s)\leftrightarrow \textit{isCarrying}(o,s) | ||
</math> | </math> | ||
अधिक जटिल उदाहरण के रूप में, निम्नलिखित | अधिक जटिल उदाहरण के रूप में, निम्नलिखित प्रतिरूपण बताते हैं कि रोबोट एक समय में केवल एक ही वस्तु ले जा सकता है, और कुछ वस्तुएँ रोबोट के उठाने के लिए बहुत भारी हैं (विधेय भारी द्वारा दर्शाया गया है): | ||
: <math> | : <math> | ||
| Line 60: | Line 59: | ||
</math> | </math> | ||
'''<big>क्रिया प्रभाव</big>''' | |||
यह देखते हुए कि किसी स्थिति में कोई क्रिया संभव है तो स्पष्टता से उस क्रिया के प्रभाव को निर्दिष्ट करना होगा। यह क्रिया प्रभाव सिद्धांतों द्वारा किया जाता है। उदाहरण के लिए, यदि किसी वस्तु को रोबोट द्वारा उठाया गया है तो यह माना जाता है की रोबोट उसको लेकर जा रहे है उस स्थिति को इस प्रकार दर्शाया जा सकता है: | |||
यह देखते हुए कि किसी स्थिति में कोई | |||
: <math> | : <math> | ||
Poss(pickup(o),s)\rightarrow \textit{isCarrying}(o,do(pickup(o),s)) | Poss(pickup(o),s)\rightarrow \textit{isCarrying}(o,do(pickup(o),s)) | ||
</math> | </math> | ||
ऐसे प्रभाव हैं जो वर्तमान स्थिति पर निर्भर करते हैं उन प्रतिबन्ध प्रभावों को निर्दिष्ट करना भी संभव है। निम्नलिखित प्रतिरूपण बताते हैं कि कुछ वस्तुएं नाजुक होती है जिन्हे नाजुक विधेय द्वारा दर्शाया जाता है और उन्हें गिराने से वे टूट जाते हैं (विघटित स्पष्टता द्वारा इंगित)): | |||
: <math> | : <math> | ||
Poss(drop(o),s)\wedge fragile(o)\rightarrow broken(o,do(drop(o),s)) | Poss(drop(o),s)\wedge fragile(o)\rightarrow broken(o,do(drop(o),s)) | ||
</math> | </math> | ||
हालाँकि यह सूत्र क्रियाओं के प्रभाव का सही वर्णन करता है, लेकिन | हालाँकि यह सूत्र क्रियाओं के प्रभाव का सही वर्णन करता है, लेकिन तंत्र समस्या के कारण तर्क में क्रिया का सही वर्णन करने के लिए यह पर्याप्त नहीं है। | ||
=== | ===तंत्र समस्या=== | ||
हालाँकि उपरोक्त सूत्र फलन के प्रभावों के बारे में तर्क करने के लिए उपयुक्त प्रतीत होते हैं, लेकिन उनमें एक गंभीर | हालाँकि उपरोक्त सूत्र फलन के प्रभावों के बारे में तर्क करने के लिए उपयुक्त प्रतीत होते हैं, लेकिन उनमें एक गंभीर बाधा यह है की उनका उपयोग फलन के गैर-प्रभावों को प्राप्त करने के लिए नहीं किया जा सकता है। उदाहरण के लिए, यह निष्कर्ष निकालना संभव नहीं है कि किसी वस्तु को उठाने के बाद रोबोट का स्थान अपरिवर्तित रहता है। इसके लिए एक तथाकथित तंत्र सिद्धांत, एक सूत्र की आवश्यकता होती है: | ||
: <math> | : <math> | ||
Poss(pickup(o),s)\wedge location(s)=(x,y)\rightarrow location(do(pickup(o),s))=(x,y) | Poss(pickup(o),s)\wedge location(s)=(x,y)\rightarrow location(do(pickup(o),s))=(x,y) | ||
</math> | </math> | ||
तंत्र सिद्धांतों को निर्दिष्ट करने की आवश्यकता को सिद्धांतो की गतिशील दुनिया में एक समस्या के रूप में लंबे समय से पहचाना गया है, और इसे तंत्र समस्या के रूप में जाना जाता है। चूंकि सामान्य तौर पर ऐसे सिद्धांतों की बहुत बड़ी संख्या होती है, इसलिए डिजाइनर के लिए एक आवश्यक तंत्र सिद्धांत को छोड़ना, या दुनिया के विवरण में बदलाव करते समय सभी उपयुक्त सिद्धांतों को संशोधित करना या भूल जाना बहुत आसान होता है। | |||
=== | ===अनुक्रम स्थिति सिद्धांत=== | ||
अनुक्रम स्थिति सिद्धांत स्थिति गणना में | अनुक्रम स्थिति सिद्धांत स्थिति गणना में तंत्र समस्या को हल करते हैं। इस समाधान के अनुसार, डिज़ाइनर को प्रभाव सिद्धांतों के रूप में उन सभी तरीकों की गणना करनी चाहिए जिनसे किसी विशेष स्पष्टता का मान बदला जा सकता है। स्पष्टता के मान को प्रभावित करने वाले प्रभाव सिद्धांत <math>F(\overrightarrow{x},s)</math> इसे सामान्यीकृत रूप में धनात्मक और ऋणात्मक प्रभाव वाले सिद्धांत के रूप में लिखा जा सकता है: | ||
: <math> | : <math> | ||
| Line 94: | Line 92: | ||
Poss(a,s)\wedge\gamma_{F}^{-}(\overrightarrow{x},a,s)\rightarrow\neg F(\overrightarrow{x},do(a,s)) | Poss(a,s)\wedge\gamma_{F}^{-}(\overrightarrow{x},a,s)\rightarrow\neg F(\overrightarrow{x},do(a,s)) | ||
</math> | </math> | ||
सूत्र <math>\gamma_{F}^{+}</math> उन परिस्थितियों का वर्णन करता है जिनके | सूत्र <math>\gamma_{F}^{+}</math> उन परिस्थितियों का वर्णन करता है जिनके अंतर्गत अनुक्रम स्थिति <math>do(a,s)</math> सत्य होती है और जहाँ {{mvar|a}} क्रिया, {{mvar|s}} स्थिति, और {{mvar|F}} स्पष्टता को दर्शाता है। वैसे ही, <math>\gamma_{F}^{-}</math> उन परिस्थितियों का वर्णन करता है जिनके अंतर्गत अनुक्रम स्थिति असत्य होती है और जहाँ {{mvar|a}} क्रिया, {{mvar|s}} स्थिति, और {{mvar|F}} स्पष्टता को दर्शाता है। | ||
यदि सिद्धांतों की यह जोड़ी स्पष्टता सभी तरीकों का वर्णन करती है | यदि सिद्धांतों की यह जोड़ी, {{mvar|F}} स्पष्टता के सभी तरीकों का वर्णन करती है जो मान बदल सकते हैं, उन्हें एकल सिद्धांत के रूप में फिर से लिखा जा सकता है: | ||
: <math> | : <math> | ||
Poss(a,s)\rightarrow\left[F(\overrightarrow{x},do(a,s))\leftrightarrow\gamma_{F}^{+}(\overrightarrow{x},a,s)\vee\left(F(\overrightarrow{x},s)\wedge\neg\gamma_{F}^{-}(\overrightarrow{x},a,s)\right)\right] | Poss(a,s)\rightarrow\left[F(\overrightarrow{x},do(a,s))\leftrightarrow\gamma_{F}^{+}(\overrightarrow{x},a,s)\vee\left(F(\overrightarrow{x},s)\wedge\neg\gamma_{F}^{-}(\overrightarrow{x},a,s)\right)\right] | ||
</math> | </math> | ||
शब्दों में, यह सूत्र बताता है: यह | शब्दों में, यह सूत्र बताता है: यह कहना सत्य होगा कि, परिणामी स्थिति <math>do(a,s)</math> में {{mvar|s}} स्थिति में {{mvar|F}} स्पष्टता के साथ {{mvar|a}} क्रिया करना संभव है, यदि और केवल यदि स्थिति {{mvar|s}} में क्रिया {{mvar|a}} निष्पादित करने से इसे सत्य बना देगा, या यह स्थिति {{mvar|s}} में क्रिया {{mvar|a}} निष्पादित करने से {{mvar|s}} इसे असत्य नहीं बनाएंगे। | ||
उदाहरण के तौर पर, स्पष्टता का | उदाहरण के तौर पर, ऊपर प्रस्तुत विघटित स्पष्टता का मान निम्नलिखित अनुक्रम स्थिति सिद्धांत द्वारा दिया गया है: | ||
: <math> | : <math> | ||
| Line 111: | Line 109: | ||
प्रारंभिक या किसी अन्य स्थिति के गुणों को केवल सूत्रों के रूप में बताकर निर्दिष्ट किया जा सकता है। उदाहरण के लिए, प्रारंभिक अवस्था | '''<big>अवस्थाएँ</big>''' | ||
प्रारंभिक या किसी अन्य स्थिति के गुणों को केवल सूत्रों के रूप में बताकर निर्दिष्ट किया जा सकता है। उदाहरण के लिए, प्रारंभिक अवस्था <math>S_{0}</math>(जो एक अवस्था नहीं, बल्कि एक स्थिति है) के बारे में दृढता से किसी तथ्य को औपचारिक रूप दिया जाता है। निम्नलिखित कथनों से पता चलता है कि प्रारंभ में, रोबोट कुछ भी नहीं ले जाता है | |||
स्थान <math>(0,0)</math>, और कोई विघटित हुई वस्तु नहीं है: | |||
: <math> | : <math> | ||
| Line 126: | Line 126: | ||
</math> | </math> | ||
'''<big><br />मूलाधार सिद्धांत</big>''' | |||
स्थिति गणना के मूलभूत सिद्धांत इस विचार को औपचारिक बनाते हैं कि परिस्थितियाँ <math>do(a,s)=do(a',s') \iff a=a' \land s=s'</math> पूर्व समय की बात है, उनमें अन्य गुण जैसे स्थितियों पर दूसरे क्रम का प्रेरण भी सम्मिलित हैं। | |||
==समाश्रयण== | |||
समाश्रयण स्थिति गणना में परिणाम प्रमाणित करने के लिए एक तंत्र है। यह स्थिति <math>do(a,s)</math> को समाहित करने वाले एक सूत्र को व्यक्त करने पर आधारित है जहाँ {{mvar|a}} एक क्रिया है और {{mvar|s}} एक स्थिति , लेकिन <math>do(a,s)</math> स्थिति नहीं है। इस प्रक्रिया को दोहराकर, कोई व्यक्ति केवल प्रारंभिक स्थिति {{mvar|S_0}} वाले समकक्ष सूत्र के साथ समाप्त हो सकता है। मूल सूत्र की तुलना में इस सूत्र से परिणाम सिद्ध करना संभवतः अधिक सरल है। | |||
==गोलोग== | |||
GOLOG स्थिति गणना पर आधारित एक तर्क प्रोग्रामिंग भाषा है।<ref name=Lakemeyer2013>{{cite web|last1=Lakemeyer|first1=Gerhard|title=The Situation Calculus and Golog: A Tutorial|url=https://www.hybrid-reasoning.org/media/filer/2013/05/24/hybris-2013-05-sitcalc-slides.pdf|website=www.hybrid-reasoning.org|access-date=16 July 2014}}</ref><ref>{{cite web|title=GOLOG के बारे में प्रकाशन|url=http://bibbase.org/network/keyword/golog|access-date=16 July 2014}}</ref> | |||
'''<big>स्थिति गणना का मूल संस्करण</big>''' | |||
मैक्कार्थी और हेस द्वारा मूल स्थिति गणना और | मैक्कार्थी और हेस द्वारा की गयी मूल स्थिति गणना और वर्त्तमान में उपयोग में आने वाली गणना के बीच मुख्य अंतर स्थितियों की व्याख्या करता है। स्थितिजन्य गणना के आधुनिक संस्करण में, स्थिति क्रियाओं का एक क्रम है। मूल रूप से, स्थितियों को एक पल में ब्रह्मांड की पूर्ण अवस्था के रूप में परिभाषित किया गया है। यह शुरू से ही स्पष्ट था कि ऐसी स्थितियों का पूरी तरह से वर्णन नहीं किया जा सकता है इसलिए प्रारंभिक विचारधारा केवल स्थितियों के बारे में कुछ विवरण देने और उनसे परिणाम प्राप्त करने के लिए था। यह उस दृष्टिकोण से भी अलग है जहां एक स्थिति ज्ञात तथ्यों का एक संग्रह हो सकता है, यानी, ब्रह्मांड का संभवतः अधूरा विवरण जो स्पष्ट गणना द्वारा अपनाया जाता है। | ||
स्थिति गणना के मूल संस्करण में, | स्थिति गणना के मूल संस्करण में, स्पष्टताओं का निर्देशन नहीं किया जाता है। दूसरे शब्दों में, जो स्थितियाँ बदल सकती हैं उन्हें विधेय द्वारा दर्शाया जाता है फलन द्वारा नहीं। दरअसल, मैक्कार्थी और हेस ने स्पष्टता को एक ऐसे कार्य के रूप में परिभाषित किया जो स्थिति पर निर्भर करता है, लेकिन फिर वे स्पष्टता का प्रतिनिधित्व करने के लिए हमेशा विधेय का उपयोग करते हुए आगे बढ़े। उदाहरण के लिए, यह तथ्य कि {{mvar|x}} स्थान पर {{mvar|s}} स्थिति में बारिश हो रही है जिसको शाब्दिक रूप <math>raining(x,s)</math> से दर्शाया गया है। मैक्कार्थी द्वारा स्थिति गणना के 1986 संस्करण में, फलन स्पष्टता का उपयोग किया जाता है। उदाहरण के लिए, किसी वस्तु {{mvar|x}} की स्थिति {{mvar|s}} में <math>location(x,s)</math> के मान से दर्शाया जाता है, जहाँ लोकेशन एक फलन है। ऐसे फलन के बारे में विवरण, समानता का उपयोग करके दिए जा सकते हैं: <math>location(x,s)=location(x,s')</math> इसका अर्थ है कि वस्तु {{mvar|x}} का स्थान {{mvar|s}} और <math>s'</math> दोनों स्थितियों में समान है। | ||
क्रिया {{mvar|a}} का निष्पादन स्थिति {{mvar|s}} में स्थिति परिणाम <math>\textit{result}(a,s)</math> द्वारा परिणाम फलन के माध्यम से दर्शाया जाता है। क्रियाओं के प्रभाव को संबंधित स्पष्ट सूत्र स्थिति {{mvar|s}} में स्थिति <math>\textit{result}(a,s)</math> द्वारा व्यक्त किया जाता है। उदाहरण के लिए, दरवाज़ा खोलने की क्रिया के परिणामस्वरूप दरवाज़ा बंद न होने पर भी खुला रहता है, इसे निम्न द्वारा दर्शाया जाता है: | |||
:<math>\neg locked(door,s) \rightarrow open(door, \textit{result}(opens,s))</math> | :<math>\neg locked(door,s) \rightarrow open(door, \textit{result}(opens,s))</math> | ||
विधेय {{mvar|locked}} और {{mvar|open}} एक दरवाजे के क्रमशः बंद और खुले होने की स्थितियों का प्रतिनिधित्व करता है। चूँकि ये स्थितियाँ भिन्न-भिन्न हो सकती हैं, इसलिए इन्हें स्थिति तर्क के साथ विधेय द्वारा दर्शाया जाता है। सूत्र कहता है कि यदि किसी स्थिति में दरवाज़ा बंद नहीं है, तो खोलने की क्रिया निष्पादित करने के बाद दरवाज़ा खुला है, इस क्रिया को स्थिरांक | विधेय {{mvar|locked}} और {{mvar|open}} एक दरवाजे के क्रमशः बंद और खुले होने की स्थितियों का प्रतिनिधित्व करता है। चूँकि ये स्थितियाँ भिन्न-भिन्न हो सकती हैं, इसलिए इन्हें स्थिति तर्क के साथ विधेय द्वारा दर्शाया जाता है। सूत्र कहता है कि यदि किसी स्थिति में दरवाज़ा बंद नहीं है, तो खोलने की क्रिया निष्पादित करने के बाद दरवाज़ा खुला है, इस क्रिया को स्थिरांक {{mvar|opens}} द्वारा दर्शाया जाता है। | ||
ये सूत्र उन सभी चीज़ों को प्राप्त करने के लिए पर्याप्त नहीं हैं जिन्हें | ये सूत्र उन सभी चीज़ों को प्राप्त करने के लिए पर्याप्त नहीं हैं जिन्हें कल्पनीय माना जाता है। वास्तव में, विभिन्न स्थितियों में स्पष्टता केवल तभी संबंधित होते हैं यदि वे फलन की पूर्वापेक्षा और प्रभाव हों; यदि कोई स्पष्टता किसी क्रिया से प्रभावित नहीं होता है, तो यह निष्कर्ष निकालने का कोई तरीका नहीं है कि उसमें कोई परिवर्तन नहीं हुआ है। उदाहरण के लिए,<math>\neg locked(door,\textit{result}(opens,s))</math> से अनुसरण करता है <math>\neg locked(door,s)</math>, जिसकी कोई अपेक्षा कर सकता है (दरवाजा खोलकर उसे बंद नहीं किया जाता है) उपरोक्त सूत्र का यह अर्थ नहीं है । निष्क्रियता को बनाए रखने के लिए, तंत्र सिद्धांत नामक सूत्रों की आवश्यकता होती है। ये सूत्र क्रियाओं के सभी गैर-प्रभावों को निर्दिष्ट करते हैं: | ||
:<math>\neg locked(door,s) \rightarrow \neg locked(door, \textit{result}(opens,s))</math> | :<math>\neg locked(door,s) \rightarrow \neg locked(door, \textit{result}(opens,s))</math> | ||
स्थिति | |||