घटना गणना: Difference between revisions
(Created page with "{{Short description|Language for reasoning and representing events}} इवेंट कैलकुलस घटनाओं और उनके प्रभावों क...") |
mNo edit summary |
||
Line 1: | Line 1: | ||
{{Short description|Language for reasoning and representing events}} | {{Short description|Language for reasoning and representing events}} | ||
इवेंट | इवेंट गणना घटनाओं और उनके प्रभावों के बारे में प्रतिनिधित्व और [[तर्क]] करने के लिए एक तार्किक भाषा है जिसे पहली बार 1986 में [[रॉबर्ट कोवाल्स्की]] और [[मारेक सर्गोट]] द्वारा प्रस्तुत किया गया था।<ref>{{Cite journal|last1=Kowalski|first1=Robert|last2=Sergot|first2=Marek|date=1986-03-01|title=घटनाओं की तर्क-आधारित गणना|url=https://doi.org/10.1007/BF03037383|journal=New Generation Computing|language=en|volume=4|issue=1|pages=67–95|doi=10.1007/BF03037383|s2cid=7584513|issn=1882-7055}}</ref> इसे 1990 के दशक में [[मुर्राय षनहं]] और रॉब मिलर (कंप्यूटर वैज्ञानिक) द्वारा विस्तारित किया गया था।<ref>{{Citation|last1=Miller|first1=Rob|title=Some Alternative Formulations of the Event Calculus|date=2002|url=https://doi.org/10.1007/3-540-45632-5_17|work=Computational Logic: Logic Programming and Beyond: Essays in Honour of Robert A. Kowalski Part II|pages=452–490|editor-last=Kakas|editor-first=Antonis C.|series=Lecture Notes in Computer Science|place=Berlin, Heidelberg|publisher=Springer|language=en|doi=10.1007/3-540-45632-5_17|isbn=978-3-540-45632-2|access-date=2020-10-05|last2=Shanahan|first2=Murray|editor2-last=Sadri|editor2-first=Fariba}}</ref> परिवर्तन के बारे में तर्क के लिए अन्य भाषाओं के समान, इवेंट गणना स्पष्टता (कृत्रिम बुद्धिमत्ता) पर क्रिया (कृत्रिम बुद्धिमत्ता) के प्रभावों का प्रतिनिधित्व करता है। हालाँकि, [[ घटना (कंप्यूटिंग) | घटना (कंप्यूटिंग)]] पद्वति के बाहर भी हो सकता है। इवेंट गणना में, कोई कुछ निश्चित समय बिंदुओं पर स्पष्टता के मान, दिए गए समय बिंदुओं पर होने वाली घटनाओं और उनके प्रभावों को निर्दिष्ट कर सकता है। | ||
== | ==स्पष्टता और घटनाएँ== | ||
इवेंट | इवेंट गणना में, फ़्लुएंट्स रीफ़िकेशन (ज्ञान प्रतिनिधित्व) हैं। इसका मतलब यह है कि उन्हें [[विधेय (गणित)]] के माध्यम से नहीं बल्कि [[फ़ंक्शन (गणित)|फलन (गणित)]] के माध्यम से औपचारिक रूप दिया जाता है। एक अलग विधेय {{mvar|HoldsAt}} का उपयोग यह बताने के लिए किया जाता है कि कौन से स्पष्टता किसी निश्चित समय बिंदु पर मौजूद हैं। उदाहरण के लिए, <math>\mathit{HoldsAt}(on(box,table),t)</math> इसका मतलब है कि बॉक्स समय पर टेबल पर है {{mvar|t}}; इस सूत्र में, {{mvar|HoldsAt}} एक विधेय समय है {{mvar|on}} एक फलन है. | ||
घटनाओं को शब्दों के रूप में भी दर्शाया जाता है। घटनाओं का प्रभाव विधेय का उपयोग करके दिया जाता है {{mvar|Initiates}} और {{mvar|Terminates}}. विशेष रूप से, <math>\mathit{Initiates}(e,f,t)</math> मतलब कि, | घटनाओं को शब्दों के रूप में भी दर्शाया जाता है। घटनाओं का प्रभाव विधेय का उपयोग करके दिया जाता है {{mvar|Initiates}} और {{mvar|Terminates}}. विशेष रूप से, <math>\mathit{Initiates}(e,f,t)</math> मतलब कि, | ||
यदि घटना को शब्द द्वारा दर्शाया गया है {{mvar|e}} समय पर निष्पादित किया जाता है {{mvar|t}}, | यदि घटना को शब्द द्वारा दर्शाया गया है {{mvar|e}} समय पर निष्पादित किया जाता है {{mvar|t}}, | ||
फिर | फिर स्पष्टता {{mvar|f}} बाद में सच हो जाएगा {{mvar|t}}. वह {{mvar|Terminates}} विधेय का एक समान अर्थ होता है, केवल अंतर के साथ | ||
वह रहने से {{mvar|f}} बाद में गलत होगा {{mvar|t}}. | वह रहने से {{mvar|f}} बाद में गलत होगा {{mvar|t}}. | ||
== | ==कार्यक्षेत्र-स्वतंत्र सिद्धांत== | ||
क्रियाओं का प्रतिनिधित्व करने के लिए अन्य भाषाओं की तरह, ईवेंट | क्रियाओं का प्रतिनिधित्व करने के लिए अन्य भाषाओं की तरह, ईवेंट गणना एक मनमानी कार्रवाई के बाद प्रत्येक स्पष्टता के मान को बताने वाले सूत्रों के माध्यम से स्पष्टता के सही विकास को औपचारिक बनाता है। इवेंट गणना फ्रेम समस्या को इस तरह से हल करता है जो स्थिति गणना के [[उत्तराधिकारी राज्य स्वयंसिद्ध|अनुक्रमित अवस्था सिद्धांत]] के समान है: समय पर एक स्पष्टता सत्य होता है {{mvar|t}} यदि और केवल यदि इसे अतीत में सत्य बनाया गया हो और इस बीच असत्य नहीं बनाया गया हो। | ||
:<math>\mathit{HoldsAt}(f,t) \leftarrow | :<math>\mathit{HoldsAt}(f,t) \leftarrow | ||
[\mathit{Happens}(e,t_1) \wedge \mathit{Initiates}(e,f,t_1) | [\mathit{Happens}(e,t_1) \wedge \mathit{Initiates}(e,f,t_1) | ||
\wedge (t_1<t) \wedge \neg \mathit{Clipped}(t_1,f,t)]</math> | \wedge (t_1<t) \wedge \neg \mathit{Clipped}(t_1,f,t)]</math> | ||
इस सूत्र का अर्थ है कि | इस सूत्र का अर्थ है कि स्पष्टता शब्द द्वारा दर्शाया गया है {{mvar|f}} समय पर सत्य है {{mvar|t}} अगर: | ||
# एक घटना {{mvar|e}} हो गया: <math>\mathit{Happens}(e,t_1)</math>; | # एक घटना {{mvar|e}} हो गया: <math>\mathit{Happens}(e,t_1)</math>; | ||
# यह अतीत में हुआ था: <math>\mathit{t}_1<t</math>; | # यह अतीत में हुआ था: <math>\mathit{t}_1<t</math>; | ||
#इस घटना में | #इस घटना में स्पष्टता है {{mvar|f}} प्रभाव के रूप में: <math>\mathit{Initiates}(e,f,t_1)</math>; | ||
# इस बीच | # इस बीच स्पष्टता को गलत नहीं बनाया गया है: <math>\mathit{Clipped}(t_1,f,t)</math> | ||
एक समान सूत्र का उपयोग विपरीत | एक समान सूत्र का उपयोग विपरीत स्थितियों को औपचारिक बनाने के लिए किया जाता है जिसमें एक निश्चित समय पर स्पष्टता गलत होता है। किसी घटना के प्रभाव होने से पहले स्पष्टता को सही ढंग से औपचारिक बनाने के लिए अन्य सूत्रों की भी आवश्यकता होती है। ये सूत्र उपरोक्त के समान हैं, लेकिन <math>\mathit{Happens}(e,t_1) \wedge \mathit{Initiates}(e,f,t_1)</math> द्वारा प्रतिस्थापित किया जाता है <math>\mathit{HoldsAt}(f,t_1)</math>. {{mvar|Clipped}ed}} विधेय, जिसमें कहा गया है कि एक अंतराल के दौरान एक स्पष्टता को असत्य बना दिया गया है, इसे सिद्धांत किया जा सकता है, या बस शॉर्टहैंड के रूप में लिया जा सकता है, इस प्रकार: | ||
:<math>\mathit{Clipped}(t_1,f,t_2) \equiv | :<math>\mathit{Clipped}(t_1,f,t_2) \equiv | ||
Line 31: | Line 31: | ||
== | ==कार्यक्षेत्र-निर्भर सिद्धांत== | ||
उपरोक्त सिद्धांत विधेय के | उपरोक्त सिद्धांत विधेय के मान से संबंधित हैं {{mvar|HoldsAt}}, {{mvar|Initiates}} और {{mvar|Terminates}}, लेकिन यह निर्दिष्ट न करें कि कौन से स्पष्टता सत्य माने जाते हैं और कौन सी घटनाएँ वास्तव में स्पष्टता को सत्य या गलत बनाती हैं। यह कार्यक्षेत्र-निर्भर सिद्धांतों के एक समूह का उपयोग करके किया जाता है। स्पष्टता के ज्ञात मानों को सरल शाब्दिक रूप में बताया गया है <math>\mathit{HoldsAt}(f,t)</math>. घटनाओं के प्रभावों को उनकी पूर्व शर्तों के साथ घटनाओं के प्रभावों से संबंधित सूत्रों द्वारा बताया जाता है। उदाहरण के लिए, यदि घटना {{mvar|open}} स्पष्टता बनाता है {{mvar|isopen}} सत्य है, परंतु केवल यदि {{mvar|haskey}} वर्तमान में सत्य है, घटना गणना में संबंधित सूत्र है: | ||
:<math>\mathit{Initiates}(e,f,t) \equiv | :<math>\mathit{Initiates}(e,f,t) \equiv | ||
[ e=open \wedge f=isopen \wedge \mathit{HoldsAt}(haskey, t)] \vee \cdots | [ e=open \wedge f=isopen \wedge \mathit{HoldsAt}(haskey, t)] \vee \cdots | ||
</math> | </math> | ||
इस तुल्यता की दाहिनी ओर की अभिव्यक्ति एक विच्छेद से बनी है: प्रत्येक घटना और | इस तुल्यता की दाहिनी ओर की अभिव्यक्ति एक विच्छेद से बनी है: प्रत्येक घटना और स्पष्टता के लिए जिसे घटना द्वारा सच किया जा सकता है, वहां एक विच्छेद कहा गया है कि {{mvar|e}} वास्तव में वह घटना है, वह {{mvar|f}} वास्तव में वह स्पष्टता है, और यह कि घटना की पूर्व शर्त पूरी हो गई है। | ||
उपरोक्त सूत्र सत्य मान निर्दिष्ट करता है <math>\mathit{Initiates}(e,f,t)</math> हर संभव घटना और | उपरोक्त सूत्र सत्य मान निर्दिष्ट करता है <math>\mathit{Initiates}(e,f,t)</math> हर संभव घटना और स्पष्टता के लिए। परिणामस्वरूप, सभी घटनाओं के सभी प्रभावों को एक सूत्र में संयोजित करना होगा। यह एक समस्या है, क्योंकि किसी नए ईवेंट को जोड़ने के लिए नए जोड़ने के बजाय मौजूदा सूत्रों को संशोधित करने की आवश्यकता होती है। इस समस्या को सूत्रों के एक समूह पर [[परिधि (तर्क)]] के अनुप्रयोग द्वारा हल किया जा सकता है, जिनमें से प्रत्येक एक घटना के एक प्रभाव को निर्दिष्ट करता है: | ||
: <math>\mathit{Initiates}(open, isopen, t) \leftarrow \mathit{HoldsAt}(haskey, t)</math> | : <math>\mathit{Initiates}(open, isopen, t) \leftarrow \mathit{HoldsAt}(haskey, t)</math> | ||
: <math>\mathit{Initiates}(break, isopen, t) \leftarrow \mathit{HoldsAt}(hashammer, t)</math> | : <math>\mathit{Initiates}(break, isopen, t) \leftarrow \mathit{HoldsAt}(hashammer, t)</math> | ||
: <math>\mathit{Initiates}(break, broken, t) \leftarrow \mathit{HoldsAt}(hashammer, t)</math> | : <math>\mathit{Initiates}(break, broken, t) \leftarrow \mathit{HoldsAt}(hashammer, t)</math> | ||
ये सूत्र उपरोक्त सूत्र की तुलना में सरल हैं, क्योंकि प्रत्येक घटना के प्रत्येक प्रभाव को अलग से निर्दिष्ट किया जा सकता है। कौन सी घटना बता रहा है एक सूत्र {{mvar|e}} और | ये सूत्र उपरोक्त सूत्र की तुलना में सरल हैं, क्योंकि प्रत्येक घटना के प्रत्येक प्रभाव को अलग से निर्दिष्ट किया जा सकता है। कौन सी घटना बता रहा है एक सूत्र {{mvar|e}} और स्पष्टता {{mvar|f}} निर्माण <math>\mathit{Initiates}(e,f,t)</math> ट्रू को छोटे सूत्रों के एक समूह से बदल दिया गया है, जिनमें से प्रत्येक एक स्पष्टता पर किसी घटना के प्रभाव को बताता है। | ||
हालाँकि, ये सूत्र उपरोक्त सूत्र के समतुल्य नहीं हैं। दरअसल, वे केवल इसके लिए पर्याप्त शर्तें निर्दिष्ट करते हैं <math>\mathit{Initiates}(e,f,t)</math> सत्य होने के लिए, जिसे इस तथ्य से पूरा किया जाना चाहिए {{mvar|Initiates}} अन्य सभी मामलों में गलत है। इस तथ्य को केवल विधेय को सीमित करके औपचारिक रूप दिया जा सकता है {{mvar|Initiates}} उपरोक्त सूत्र में। यह ध्यान रखना महत्वपूर्ण है कि यह परिनियम केवल निर्दिष्ट सूत्रों पर ही किया जाता है {{mvar|Initiates}} और | हालाँकि, ये सूत्र उपरोक्त सूत्र के समतुल्य नहीं हैं। दरअसल, वे केवल इसके लिए पर्याप्त शर्तें निर्दिष्ट करते हैं <math>\mathit{Initiates}(e,f,t)</math> सत्य होने के लिए, जिसे इस तथ्य से पूरा किया जाना चाहिए {{mvar|Initiates}} अन्य सभी मामलों में गलत है। इस तथ्य को केवल विधेय को सीमित करके औपचारिक रूप दिया जा सकता है {{mvar|Initiates}} उपरोक्त सूत्र में। यह ध्यान रखना महत्वपूर्ण है कि यह परिनियम केवल निर्दिष्ट सूत्रों पर ही किया जाता है {{mvar|Initiates}} और कार्यक्षेत्र-स्वतंत्र सिद्धांतों पर नहीं। विधेय {{mvar|Terminates}} को उसी तरह निर्दिष्ट किया जा सकता है {{mvar|Initiates}} है। | ||
के लिए एक समान दृष्टिकोण अपनाया जा सकता है {{mvar|Happens}} विधेय. इस विधेय का | के लिए एक समान दृष्टिकोण अपनाया जा सकता है {{mvar|Happens}} विधेय. इस विधेय का मानांकन सूत्रों द्वारा लागू किया जा सकता है जो न केवल यह निर्दिष्ट करता है कि यह कब सत्य है और कब गलत है: | ||
:<math>\mathit{Happens}(e,t) \equiv | :<math>\mathit{Happens}(e,t) \equiv | ||
Line 57: | Line 57: | ||
:<math>\mathit{Happens}(open, 0)</math> | :<math>\mathit{Happens}(open, 0)</math> | ||
:<math>\mathit{Happens}(exit, 1)</math> | :<math>\mathit{Happens}(exit, 1)</math> | ||
विधेय की परिधि करना {{mvar|Happens}}, यह विधेय उन सभी बिंदुओं पर गलत होगा जहां इसे स्पष्ट रूप से सत्य होने के लिए निर्दिष्ट नहीं किया गया है। यह परिच्छेद अन्य सूत्रों के परिच्छेद से अलग करना पड़ता है। दूसरे शब्दों में, यदि {{mvar|F}} प्रकार के सूत्रों का समूह है <math>\mathit{Initiates}(e,f,t) \leftarrow \cdots</math>, {{mvar|G}} सूत्रों का समूह है <math>\mathit{Happens}(e, t)</math>, और {{mvar|H}} | विधेय की परिधि करना {{mvar|Happens}}, यह विधेय उन सभी बिंदुओं पर गलत होगा जहां इसे स्पष्ट रूप से सत्य होने के लिए निर्दिष्ट नहीं किया गया है। यह परिच्छेद अन्य सूत्रों के परिच्छेद से अलग करना पड़ता है। दूसरे शब्दों में, यदि {{mvar|F}} प्रकार के सूत्रों का समूह है <math>\mathit{Initiates}(e,f,t) \leftarrow \cdots</math>, {{mvar|G}} सूत्रों का समूह है <math>\mathit{Happens}(e, t)</math>, और {{mvar|H}} कार्यक्षेत्र स्वतंत्र सिद्धांत हैं, कार्यक्षेत्र का सही सूत्रीकरण है: | ||
:<math>\mathit{Circ}(F; \mathit{Initiates}, \mathit{Terminates}) \wedge | :<math>\mathit{Circ}(F; \mathit{Initiates}, \mathit{Terminates}) \wedge | ||
Circ(G; Happens) \wedge H</math> | Circ(G; Happens) \wedge H</math> | ||
'''<big><br />एक तर्क कार्यक्रम के रूप में घटना गणना</big>''' | |||
इवेंट गणना को मूल रूप से विफलता के रूप में नकार के साथ संवर्धित [[सींग उपवाक्य]] के एक समूह के रूप में तैयार किया गया था और इसे [[प्रोलॉग]] प्रोग्राम के रूप में चलाया जा सकता था। | |||
इवेंट | |||
वास्तव में, परिधि कई शब्दार्थों में से एक है जिसे नकार को विफलता के रूप में दिया जा सकता है, और पूर्णता शब्दार्थ से निकटता से संबंधित है (जिसमें यदि की व्याख्या यदि और केवल यदि के रूप में की जाती है - [[तर्क प्रोग्रामिंग]] देखें)। | वास्तव में, परिधि कई शब्दार्थों में से एक है जिसे नकार को विफलता के रूप में दिया जा सकता है, और पूर्णता शब्दार्थ से निकटता से संबंधित है (जिसमें यदि की व्याख्या यदि और केवल यदि के रूप में की जाती है - [[तर्क प्रोग्रामिंग]] देखें)। | ||
== | ==विस्तार और अनुप्रयोग== | ||
कोवाल्स्की और सर्गोट का मूल इवेंट | कोवाल्स्की और सर्गोट का मूल इवेंट गणना पेपर डेटाबेस नवीनीकरण और आख्यानों के अनुप्रयोगों पर केंद्रित था।<ref>{{Cite journal|last=Kowalski|first=Robert|date=1992-01-01|title=इवेंट कैलकुलस में डेटाबेस अपडेट|journal=The Journal of Logic Programming|language=en|volume=12|issue=1|pages=121–146|doi=10.1016/0743-1066(92)90041-Z|issn=0743-1066|doi-access=free}}</ref> इवेंट गणना के विस्तार से गैर-नियतात्मक क्रियाएं, समवर्ती क्रियाएं, विलंबित प्रभाव वाली क्रियाएं, क्रमिक परिवर्तन, अवधि वाली क्रियाएं, निरंतर परिवर्तन और गैर-निष्क्रिय स्पष्टता को भी औपचारिक रूप दिया जा सकता है। | ||
केव एशघी ने दिखाया कि इवेंट | केव एशघी ने दिखाया कि इवेंट गणना का उपयोग योजना बनाने के लिए कैसे किया जा सकता है,<ref>{{Cite journal|last=Eshghi|first=Kave|year=1988|title=घटना गणना के साथ अपहरण की योजना|url=https://www.researchgate.net/publication/220986211|journal=Iclp/SLP|pages=562–579}}</ref> प्राधिग्रहण तर्क प्रोग्रामिंग में काल्पनिक घटनाओं को उत्पन्न करने के लिए [[अपहरण (तर्क)]] का उपयोग करना। वैन लैम्बलजेन और हैम ने दिखाया कि कैसे घटना गणना का उपयोग प्राकृतिक भाषा में काल और पहलू को एल्गोरिदमिक शब्दार्थ देने के लिए भी किया जा सकता है।<ref>{{Cite book|last=Lambalgen, Hamm|url=https://www.worldcat.org/oclc/212129657|title=घटनाओं का उचित उपचार|date=2005|publisher=Blackwell Pub|isbn=978-0-470-75925-7|location=Malden, MA|oclc=212129657}}</ref> [[बाधा तर्क प्रोग्रामिंग]] का उपयोग करना। | ||
इवेंट | इवेंट गणना के अन्य उल्लेखनीय विस्तारों में मार्कोव लॉजिक नेटवर्क-आधारित,<ref>{{Cite journal|last1=Skarlatidis|first1=Anastasios|last2=Paliouras|first2=Georgios|last3=Artikis|first3=Alexander|last4=Vouros|first4=George A.|date=2015-02-17|title=घटना पहचान के लिए संभाव्य घटना कैलकुलस|url=https://doi.org/10.1145/2699916|journal=ACM Transactions on Computational Logic|volume=16|issue=2|pages=11:1–11:37|doi=10.1145/2699916|arxiv=1207.3270|s2cid=6389629|issn=1529-3785}}</ref> [[संभावना]],<ref>{{Cite journal|last1=Skarlatidis|first1=Anastasios|last2=Artikis|first2=Alexander|last3=Filippou|first3=Jason|last4=Paliouras|first4=Georgios|date=March 2015|title=एक संभाव्य तर्क प्रोग्रामिंग इवेंट कैलकुलस|journal=Theory and Practice of Logic Programming|language=en|volume=15|issue=2|pages=213–245|doi=10.1017/S1471068413000690|issn=1471-0684|doi-access=free|s2cid=5701272}}</ref> ज्ञानमीमांसा<ref>{{Cite journal|last1=Ma|first1=Jiefei|last2=Miller|first2=Rob|last3=Morgenstern|first3=Leora|last4=Patkos|first4=Theodore|date=2014-07-28|title=अतीत, वर्तमान और भविष्य के ज्ञान के बारे में एएसपी-आधारित तर्क के लिए एक ज्ञानमीमांसा घटना कैलकुलस|url=https://easychair.org/publications/paper/sJ7|journal=EPiC Series in Computing|language=en-US|publisher=EasyChair|volume=26|pages=75–87|doi=10.29007/zswj|doi-access=free}}</ref> वेरिएंट और उनके संयोजन.<ref>{{Cite journal|last1=D'Asaro|first1=Fabio Aurelio|last2=Bikakis|first2=Antonis|last3=Dickens|first3=Luke|last4=Miller|first4=Rob|date=2020-10-01|title=ज्ञानमीमांसीय क्रिया कथाओं के बारे में संभाव्य तर्क|url=https://www.sciencedirect.com/science/article/abs/pii/S0004370219300906|journal=Artificial Intelligence|language=en|volume=287|pages=103352|doi=10.1016/j.artint.2020.103352|s2cid=221521535 |issn=0004-3702}}</ref> | ||
==तर्क उपकरण== | ==तर्क उपकरण== | ||
प्रोलॉग और इसके वेरिएंट के अलावा, इवेंट | प्रोलॉग और इसके वेरिएंट के अलावा, इवेंट गणना का उपयोग करके तर्क करने के लिए कई अन्य उपकरण भी उपलब्ध हैं: | ||
* [http://www.doc.ic.ac.uk/~mpsha/planners.html अपहरण घटना | * [http://www.doc.ic.ac.uk/~mpsha/planners.html अपहरण घटना गणना प्लानर्स] | ||
* [http://decreasoner.sourceforge.net/ असतत घटना | * [http://decreasoner.sourceforge.net/ असतत घटना गणना रीज़नर] | ||
* [http://reasoning.eas.asu.edu/ecasp/ इवेंट | * [http://reasoning.eas.asu.edu/ecasp/ इवेंट गणना उत्तर समूह प्रोग्रामिंग] | ||
* [https://www.inf.unibz.it/~montali/tools.html रिएक्टिव इवेंट | * [https://www.inf.unibz.it/~montali/tools.html रिएक्टिव इवेंट गणना] | ||
* [https://github.com/aartikis/RTEC रन-टाइम इवेंट | * [https://github.com/aartikis/RTEC रन-टाइम इवेंट गणना (RTEC)] | ||
==यह भी देखें== | ==यह भी देखें== |
Revision as of 19:25, 9 August 2023
इवेंट गणना घटनाओं और उनके प्रभावों के बारे में प्रतिनिधित्व और तर्क करने के लिए एक तार्किक भाषा है जिसे पहली बार 1986 में रॉबर्ट कोवाल्स्की और मारेक सर्गोट द्वारा प्रस्तुत किया गया था।[1] इसे 1990 के दशक में मुर्राय षनहं और रॉब मिलर (कंप्यूटर वैज्ञानिक) द्वारा विस्तारित किया गया था।[2] परिवर्तन के बारे में तर्क के लिए अन्य भाषाओं के समान, इवेंट गणना स्पष्टता (कृत्रिम बुद्धिमत्ता) पर क्रिया (कृत्रिम बुद्धिमत्ता) के प्रभावों का प्रतिनिधित्व करता है। हालाँकि, घटना (कंप्यूटिंग) पद्वति के बाहर भी हो सकता है। इवेंट गणना में, कोई कुछ निश्चित समय बिंदुओं पर स्पष्टता के मान, दिए गए समय बिंदुओं पर होने वाली घटनाओं और उनके प्रभावों को निर्दिष्ट कर सकता है।
स्पष्टता और घटनाएँ
इवेंट गणना में, फ़्लुएंट्स रीफ़िकेशन (ज्ञान प्रतिनिधित्व) हैं। इसका मतलब यह है कि उन्हें विधेय (गणित) के माध्यम से नहीं बल्कि फलन (गणित) के माध्यम से औपचारिक रूप दिया जाता है। एक अलग विधेय HoldsAt का उपयोग यह बताने के लिए किया जाता है कि कौन से स्पष्टता किसी निश्चित समय बिंदु पर मौजूद हैं। उदाहरण के लिए, इसका मतलब है कि बॉक्स समय पर टेबल पर है t; इस सूत्र में, HoldsAt एक विधेय समय है on एक फलन है.
घटनाओं को शब्दों के रूप में भी दर्शाया जाता है। घटनाओं का प्रभाव विधेय का उपयोग करके दिया जाता है Initiates और Terminates. विशेष रूप से, मतलब कि, यदि घटना को शब्द द्वारा दर्शाया गया है e समय पर निष्पादित किया जाता है t, फिर स्पष्टता f बाद में सच हो जाएगा t. वह Terminates विधेय का एक समान अर्थ होता है, केवल अंतर के साथ वह रहने से f बाद में गलत होगा t.
कार्यक्षेत्र-स्वतंत्र सिद्धांत
क्रियाओं का प्रतिनिधित्व करने के लिए अन्य भाषाओं की तरह, ईवेंट गणना एक मनमानी कार्रवाई के बाद प्रत्येक स्पष्टता के मान को बताने वाले सूत्रों के माध्यम से स्पष्टता के सही विकास को औपचारिक बनाता है। इवेंट गणना फ्रेम समस्या को इस तरह से हल करता है जो स्थिति गणना के अनुक्रमित अवस्था सिद्धांत के समान है: समय पर एक स्पष्टता सत्य होता है t यदि और केवल यदि इसे अतीत में सत्य बनाया गया हो और इस बीच असत्य नहीं बनाया गया हो।
इस सूत्र का अर्थ है कि स्पष्टता शब्द द्वारा दर्शाया गया है f समय पर सत्य है t अगर:
- एक घटना e हो गया: ;
- यह अतीत में हुआ था: ;
- इस घटना में स्पष्टता है f प्रभाव के रूप में: ;
- इस बीच स्पष्टता को गलत नहीं बनाया गया है:
एक समान सूत्र का उपयोग विपरीत स्थितियों को औपचारिक बनाने के लिए किया जाता है जिसमें एक निश्चित समय पर स्पष्टता गलत होता है। किसी घटना के प्रभाव होने से पहले स्पष्टता को सही ढंग से औपचारिक बनाने के लिए अन्य सूत्रों की भी आवश्यकता होती है। ये सूत्र उपरोक्त के समान हैं, लेकिन द्वारा प्रतिस्थापित किया जाता है . Clipped}ed विधेय, जिसमें कहा गया है कि एक अंतराल के दौरान एक स्पष्टता को असत्य बना दिया गया है, इसे सिद्धांत किया जा सकता है, या बस शॉर्टहैंड के रूप में लिया जा सकता है, इस प्रकार:
कार्यक्षेत्र-निर्भर सिद्धांत
उपरोक्त सिद्धांत विधेय के मान से संबंधित हैं HoldsAt, Initiates और Terminates, लेकिन यह निर्दिष्ट न करें कि कौन से स्पष्टता सत्य माने जाते हैं और कौन सी घटनाएँ वास्तव में स्पष्टता को सत्य या गलत बनाती हैं। यह कार्यक्षेत्र-निर्भर सिद्धांतों के एक समूह का उपयोग करके किया जाता है। स्पष्टता के ज्ञात मानों को सरल शाब्दिक रूप में बताया गया है . घटनाओं के प्रभावों को उनकी पूर्व शर्तों के साथ घटनाओं के प्रभावों से संबंधित सूत्रों द्वारा बताया जाता है। उदाहरण के लिए, यदि घटना open स्पष्टता बनाता है isopen सत्य है, परंतु केवल यदि haskey वर्तमान में सत्य है, घटना गणना में संबंधित सूत्र है:
इस तुल्यता की दाहिनी ओर की अभिव्यक्ति एक विच्छेद से बनी है: प्रत्येक घटना और स्पष्टता के लिए जिसे घटना द्वारा सच किया जा सकता है, वहां एक विच्छेद कहा गया है कि e वास्तव में वह घटना है, वह f वास्तव में वह स्पष्टता है, और यह कि घटना की पूर्व शर्त पूरी हो गई है।
उपरोक्त सूत्र सत्य मान निर्दिष्ट करता है हर संभव घटना और स्पष्टता के लिए। परिणामस्वरूप, सभी घटनाओं के सभी प्रभावों को एक सूत्र में संयोजित करना होगा। यह एक समस्या है, क्योंकि किसी नए ईवेंट को जोड़ने के लिए नए जोड़ने के बजाय मौजूदा सूत्रों को संशोधित करने की आवश्यकता होती है। इस समस्या को सूत्रों के एक समूह पर परिधि (तर्क) के अनुप्रयोग द्वारा हल किया जा सकता है, जिनमें से प्रत्येक एक घटना के एक प्रभाव को निर्दिष्ट करता है:
ये सूत्र उपरोक्त सूत्र की तुलना में सरल हैं, क्योंकि प्रत्येक घटना के प्रत्येक प्रभाव को अलग से निर्दिष्ट किया जा सकता है। कौन सी घटना बता रहा है एक सूत्र e और स्पष्टता f निर्माण ट्रू को छोटे सूत्रों के एक समूह से बदल दिया गया है, जिनमें से प्रत्येक एक स्पष्टता पर किसी घटना के प्रभाव को बताता है।
हालाँकि, ये सूत्र उपरोक्त सूत्र के समतुल्य नहीं हैं। दरअसल, वे केवल इसके लिए पर्याप्त शर्तें निर्दिष्ट करते हैं सत्य होने के लिए, जिसे इस तथ्य से पूरा किया जाना चाहिए Initiates अन्य सभी मामलों में गलत है। इस तथ्य को केवल विधेय को सीमित करके औपचारिक रूप दिया जा सकता है Initiates उपरोक्त सूत्र में। यह ध्यान रखना महत्वपूर्ण है कि यह परिनियम केवल निर्दिष्ट सूत्रों पर ही किया जाता है Initiates और कार्यक्षेत्र-स्वतंत्र सिद्धांतों पर नहीं। विधेय Terminates को उसी तरह निर्दिष्ट किया जा सकता है Initiates है।
के लिए एक समान दृष्टिकोण अपनाया जा सकता है Happens विधेय. इस विधेय का मानांकन सूत्रों द्वारा लागू किया जा सकता है जो न केवल यह निर्दिष्ट करता है कि यह कब सत्य है और कब गलत है:
परिधि इस विनिर्देश को सरल बना सकती है, क्योंकि केवल आवश्यक शर्तें ही निर्दिष्ट की जा सकती हैं:
विधेय की परिधि करना Happens, यह विधेय उन सभी बिंदुओं पर गलत होगा जहां इसे स्पष्ट रूप से सत्य होने के लिए निर्दिष्ट नहीं किया गया है। यह परिच्छेद अन्य सूत्रों के परिच्छेद से अलग करना पड़ता है। दूसरे शब्दों में, यदि F प्रकार के सूत्रों का समूह है , G सूत्रों का समूह है , और H कार्यक्षेत्र स्वतंत्र सिद्धांत हैं, कार्यक्षेत्र का सही सूत्रीकरण है:
एक तर्क कार्यक्रम के रूप में घटना गणना
इवेंट गणना को मूल रूप से विफलता के रूप में नकार के साथ संवर्धित सींग उपवाक्य के एक समूह के रूप में तैयार किया गया था और इसे प्रोलॉग प्रोग्राम के रूप में चलाया जा सकता था। वास्तव में, परिधि कई शब्दार्थों में से एक है जिसे नकार को विफलता के रूप में दिया जा सकता है, और पूर्णता शब्दार्थ से निकटता से संबंधित है (जिसमें यदि की व्याख्या यदि और केवल यदि के रूप में की जाती है - तर्क प्रोग्रामिंग देखें)।
विस्तार और अनुप्रयोग
कोवाल्स्की और सर्गोट का मूल इवेंट गणना पेपर डेटाबेस नवीनीकरण और आख्यानों के अनुप्रयोगों पर केंद्रित था।[3] इवेंट गणना के विस्तार से गैर-नियतात्मक क्रियाएं, समवर्ती क्रियाएं, विलंबित प्रभाव वाली क्रियाएं, क्रमिक परिवर्तन, अवधि वाली क्रियाएं, निरंतर परिवर्तन और गैर-निष्क्रिय स्पष्टता को भी औपचारिक रूप दिया जा सकता है।
केव एशघी ने दिखाया कि इवेंट गणना का उपयोग योजना बनाने के लिए कैसे किया जा सकता है,[4] प्राधिग्रहण तर्क प्रोग्रामिंग में काल्पनिक घटनाओं को उत्पन्न करने के लिए अपहरण (तर्क) का उपयोग करना। वैन लैम्बलजेन और हैम ने दिखाया कि कैसे घटना गणना का उपयोग प्राकृतिक भाषा में काल और पहलू को एल्गोरिदमिक शब्दार्थ देने के लिए भी किया जा सकता है।[5] बाधा तर्क प्रोग्रामिंग का उपयोग करना।
इवेंट गणना के अन्य उल्लेखनीय विस्तारों में मार्कोव लॉजिक नेटवर्क-आधारित,[6] संभावना,[7] ज्ञानमीमांसा[8] वेरिएंट और उनके संयोजन.[9]
तर्क उपकरण
प्रोलॉग और इसके वेरिएंट के अलावा, इवेंट गणना का उपयोग करके तर्क करने के लिए कई अन्य उपकरण भी उपलब्ध हैं:
- अपहरण घटना गणना प्लानर्स
- असतत घटना गणना रीज़नर
- इवेंट गणना उत्तर समूह प्रोग्रामिंग
- रिएक्टिव इवेंट गणना
- रन-टाइम इवेंट गणना (RTEC)
यह भी देखें
- प्रथम-क्रम तर्क
- फ़्रेम समस्या
- स्थिति गणना
संदर्भ
- ↑ Kowalski, Robert; Sergot, Marek (1986-03-01). "घटनाओं की तर्क-आधारित गणना". New Generation Computing (in English). 4 (1): 67–95. doi:10.1007/BF03037383. ISSN 1882-7055. S2CID 7584513.
- ↑ Miller, Rob; Shanahan, Murray (2002), Kakas, Antonis C.; Sadri, Fariba (eds.), "Some Alternative Formulations of the Event Calculus", Computational Logic: Logic Programming and Beyond: Essays in Honour of Robert A. Kowalski Part II, Lecture Notes in Computer Science (in English), Berlin, Heidelberg: Springer, pp. 452–490, doi:10.1007/3-540-45632-5_17, ISBN 978-3-540-45632-2, retrieved 2020-10-05
- ↑ Kowalski, Robert (1992-01-01). "इवेंट कैलकुलस में डेटाबेस अपडेट". The Journal of Logic Programming (in English). 12 (1): 121–146. doi:10.1016/0743-1066(92)90041-Z. ISSN 0743-1066.
- ↑ Eshghi, Kave (1988). "घटना गणना के साथ अपहरण की योजना". Iclp/SLP: 562–579.
- ↑ Lambalgen, Hamm (2005). घटनाओं का उचित उपचार. Malden, MA: Blackwell Pub. ISBN 978-0-470-75925-7. OCLC 212129657.
- ↑ Skarlatidis, Anastasios; Paliouras, Georgios; Artikis, Alexander; Vouros, George A. (2015-02-17). "घटना पहचान के लिए संभाव्य घटना कैलकुलस". ACM Transactions on Computational Logic. 16 (2): 11:1–11:37. arXiv:1207.3270. doi:10.1145/2699916. ISSN 1529-3785. S2CID 6389629.
- ↑ Skarlatidis, Anastasios; Artikis, Alexander; Filippou, Jason; Paliouras, Georgios (March 2015). "एक संभाव्य तर्क प्रोग्रामिंग इवेंट कैलकुलस". Theory and Practice of Logic Programming (in English). 15 (2): 213–245. doi:10.1017/S1471068413000690. ISSN 1471-0684. S2CID 5701272.
- ↑ Ma, Jiefei; Miller, Rob; Morgenstern, Leora; Patkos, Theodore (2014-07-28). "अतीत, वर्तमान और भविष्य के ज्ञान के बारे में एएसपी-आधारित तर्क के लिए एक ज्ञानमीमांसा घटना कैलकुलस". EPiC Series in Computing (in English). EasyChair. 26: 75–87. doi:10.29007/zswj.
- ↑ D'Asaro, Fabio Aurelio; Bikakis, Antonis; Dickens, Luke; Miller, Rob (2020-10-01). "ज्ञानमीमांसीय क्रिया कथाओं के बारे में संभाव्य तर्क". Artificial Intelligence (in English). 287: 103352. doi:10.1016/j.artint.2020.103352. ISSN 0004-3702. S2CID 221521535.
अग्रिम पठन
- Brandano, S. (2001) "The Event Calculus Assessed," IEEE TIME Symposium: 7-12.
- R. Kowalski and F. Sadri (1995) "Variants of the Event Calculus," ICLP: 67-81.
- Mueller, Erik T. (2015). Commonsense Reasoning: An Event Calculus Based Approach (2nd Ed.). Waltham, MA: Morgan Kaufmann/Elsevier. ISBN 978-0128014165. (Guide to using the event calculus)
- Shanahan, M. (1997) Solving the frame problem: A mathematical investigation of the common sense law of inertia. MIT Press.
- Shanahan, M. (1999) "The Event Calculus Explained" Springer Verlag, LNAI (1600): 409-30.