घटना गणना

घटना की गणना घटनाओं और उनके प्रभावों के बारे में प्रतिनिधित्व और तर्क करने के लिए एक तार्किक भाषा है जिसे पहली बार 1986 में रॉबर्ट कोवाल्स्की और मारेक सर्गोट द्वारा प्रस्तुत किया गया था। इसे 1990 के दशक में मुर्राय षनहं और रॉब मिलर (कंप्यूटर वैज्ञानिक) द्वारा विस्तारित किया गया था। परिवर्तन के बारे में तर्क के लिए अन्य भाषाओं के समतुल्य, घटना की गणना स्पष्टता पर क्रिया के प्रभावों का प्रतिनिधित्व करता है। हालाँकि, घटना की (कंप्यूटिंग) पद्वति के बाहर भी हो सकता है। घटना की गणना में, कोई कुछ निश्चित समय बिंदुओं पर स्पष्टता के मान, दिए गए समय बिंदुओं पर होने वाली घटनाओं और उनके प्रभावों को निर्दिष्ट कर सकता है।

स्पष्टता और घटना
घटना की गणना में, स्पष्ट पुनःकरण हैं। इसका अर्थ यह है कि उन्हें विधेय के माध्यम से नहीं बल्कि फलन के माध्यम से औपचारिक रूप दिया जाता है। एक अलग विधेय होल्ड्सएट का उपयोग यह बताने के लिए किया जाता है कि कौनसी स्पष्टता किसी निश्चित समय बिंदु पर उपलब्ध हैं। उदाहरण के लिए, $$\mathit{HoldsAt}(on(box,table),t)$$ इसका अर्थ है कि $t$ समय पर बॉक्स मेज पर है; इस सूत्र में, होल्ड्सएट एक विधेय है और ऑन एक फलन है।

घटनाओं को पदों के रूप में भी दर्शाया जाता है। घटनाओं का प्रभाव विधेय, आरंभ और समाप्ति का उपयोग करके दिया जाता है। विशेष रूप से, $$\mathit{Initiates}(e,f,t)$$ का अर्थ है कि, यदि घटना को $e$ पद द्वारा $t$ समय पर निष्पादित किया जाता है तो $t$ समय पर स्पष्टता $f$ सत्य होगी। समाप्ति विधेय का अर्थ आरंभ विधेय के समतुल्य ही होता है, केवल अंतर के साथ कि $t$ समय पर स्पष्टता $f$ असत्य होगी।

कार्यक्षेत्र-स्वतंत्र सिद्धांत
क्रियाओं का प्रतिनिधित्व करने के लिए अन्य भाषाओं की तरह, घटना की गणना एक स्वेच्छ क्रिया के बाद प्रत्येक स्पष्टता के मान को बताने वाले सूत्रों के माध्यम से स्पष्टता के सही विकास को औपचारिक बनाता है। घटना की गणना तंत्र समस्या को इस तरह से हल करता है जो स्थिति गणना के अनुक्रमित अवस्था सिद्धांत के समतुल्य है: $t$ समय पर स्पष्टता सत्य होती है यदि और केवल यदि इसे अतीत में सत्य बनाया गया हो और इस बीच असत्य नहीं बनाया गया हो।
 * $$\mathit{HoldsAt}(f,t) \leftarrow

[\mathit{Happens}(e,t_1) \wedge \mathit{Initiates}(e,f,t_1) \wedge (t_1<t) \wedge \neg \mathit{Clipped}(t_1,f,t)]$$ इस सूत्र का अर्थ है कि $t$ समय पर $f$ पद द्वारा दर्शायी गयी स्पष्टता सत्य है अगर:

एक समतुल्य सूत्र का उपयोग विपरीत स्थितियों को औपचारिक बनाने के लिए किया जाता है जिसमें एक निश्चित समय पर स्पष्टता असत्य होती है। किसी घटना की के प्रभावित होने से पहले स्पष्टता को उचित तरीके से औपचारिक बनाने के लिए अन्य सूत्रों की भी आवश्यकता होती है। ये सूत्र उपरोक्त के समतुल्य हैं, लेकिन $$\mathit{Happens}(e,t_1) \wedge \mathit{Initiates}(e,f,t_1)$$ को $$\mathit{HoldsAt}(f,t_1)$$ द्वारा प्रतिस्थापित किया गया है।
 * 1) $$\mathit{Happens}(e,t_1)$$; एक घटना $e$ घटित हुआ था,
 * 2) $$\mathit{t}_1<t$$; यह अतीत में हुआ था:
 * 3) $$\mathit{Initiates}(e,f,t_1)$$; इस घटना में प्रभाव के रूप में $f$ स्पष्टता है,
 * 4) $$\mathit{Clipped}(t_1,f,t)$$; इस बीच स्पष्टता को असत्य नहीं बनाया गया है

क्लिप्ड विधेय, जिसमें कहा गया है कि एक अंतराल के दौरान स्पष्टता को असत्य बना दिया जाता है, इसे स्वयंसिद्ध किया जा सकता है या बस संकेतलिपि के रूप में लिया जा सकता है, इस प्रकार:


 * $$\mathit{Clipped}(t_1,f,t_2) \equiv

\exists e,t [\mathit{Happens}(e,t) \wedge (t_1 \leq t < t_2) \wedge \mathit{Terminates}(e,f,t)]$$

 कार्यक्षेत्र-निर्भर सिद्धांत 

उपरोक्त सिद्धांत विधेय होल्ड्सएट, इनिशियेट्स और टर्मिनेट्स के मान से संबंधित हैं लेकिन यह निर्दिष्ट नहीं करता है कि कौन से स्पष्टता सत्य मानी जाती है और कौन सी घटनायें वास्तव में स्पष्टता को सत्य या असत्य बनाती हैं। यह क्रिया कार्यक्षेत्र-निर्भर सिद्धांतों के एक समूह का उपयोग करके की जाती है। स्पष्टता के ज्ञात मानों को सरल शाब्दिक $$\mathit{HoldsAt}(f,t)$$ के रूप में बताया गया है। घटनाओं के प्रभावों को उनकी पूर्वापेक्षा के साथ घटनाओं के प्रभावों से संबंधित सूत्रों द्वारा बताया जाता है। उदाहरण के लिए, यदि हैस्की वर्तमान में सत्य है तो घटना $open$ स्पष्टता $isopen$ को सत्य बनाता है, घटना की गणना में संबंधित सूत्र है:


 * $$\mathit{Initiates}(e,f,t) \equiv

[ e=open \wedge f=isopen \wedge \mathit{HoldsAt}(haskey, t)] \vee \cdots $$ इस तुल्यता की दाहिनी ओर की अभिव्यक्ति एक विच्छेद से बनी है: यहाँ एक वियोजन है जो दर्शाता है कि, $e$ वास्तव में वह घटना है और $f$  वास्तव में वह स्पष्टता है जिससे यहाँ घटना की पूर्वापेक्षा पूरी हो गई है, इसलिए प्रत्येक घटना और स्पष्टता जिसे घटना द्वारा सत्य किया जा सकता है।

उपरोक्त सूत्र प्रत्येक संभव घटना और स्पष्टता के लिए $$\mathit{Initiates}(e,f,t)$$ के सत्य मान निर्दिष्ट करता है। परिणामस्वरूप, सभी घटनाओं के सभी प्रभावों को एक सूत्र में संयोजित किया जा सकता है। यह एक समस्या है, क्योंकि किसी नए घटना को जोड़ने के लिए नए सूत्रों की अपेक्षा उपलब्ध सूत्रों को संशोधित करने की आवश्यकता होती है। इस समस्या को सूत्रों के एक समूह पर परिधि (तर्क) के अनुप्रयोग द्वारा हल किया जा सकता है, जो एक घटना के एक प्रभाव को निर्दिष्ट करता है:


 * $$\mathit{Initiates}(open, isopen, t) \leftarrow \mathit{HoldsAt}(haskey, t)$$
 * $$\mathit{Initiates}(break, isopen, t) \leftarrow \mathit{HoldsAt}(hashammer, t)$$
 * $$\mathit{Initiates}(break, broken, t) \leftarrow \mathit{HoldsAt}(hashammer, t)$$

ये सूत्र उपरोक्त सूत्र की तुलना में सरल हैं, क्योंकि प्रत्येक घटना के प्रत्येक प्रभाव को अलग से निर्दिष्ट किया जा सकता है। एकल सूत्र बताता है कि कौनसी घटना $e$ और $f$  स्पष्टता $$\mathit{Initiates}(e,f,t)$$ की सत्यता को छोटे सूत्रों के एक समूह से बदल दिया गया है, जो प्रत्येक स्पष्टता पर किसी घटना के प्रभाव को बताता है। हालाँकि, ये सूत्र उपरोक्त सूत्र के समतुल्य नहीं हैं। दरअसल, वे केवल $$\mathit{Initiates}(e,f,t)$$ सत्य होने के लिए पर्याप्त शर्तें निर्दिष्ट करते हैं और इसे इस तथ्य से पूरा किया जाता है कि इनिशियेट्स अन्य सभी स्थितियों में असत्य है। उपरोक्त सूत्र में, इस तथ्य को केवल विधेय इनिशियेट्स को सीमित करके औपचारिक रूप दिया जा सकता है। यह ध्यान रखना महत्वपूर्ण है कि यह प्रतिबंध कार्यक्षेत्र-स्वतंत्र सिद्धांतों की अपेक्षा केवल इनिशियेट्स निर्दिष्ट सूत्रों पर ही किया जा सकता है। विधेय टर्मिनेट्स को इनिशियेट्स की तरह ही निर्दिष्ट किया जा सकता है।

हैपन्स विधेय के लिए एक समतुल्य दृष्टिकोण अपनाया जा सकता है। इस विधेय का मानांकन सूत्रों द्वारा लागू किया जा सकता है जो न केवल यह निर्दिष्ट करता है कि यह कब सत्य है और कब असत्य है:


 * $$\mathit{Happens}(e,t) \equiv

(e=open \wedge t=0) \vee (e=exit \wedge t=1) \vee \cdots$$ प्रतिबंध इस विनिर्देश को सरल बना सकती है, क्योंकि केवल आवश्यक शर्तें ही निर्दिष्ट की जा सकती हैं:


 * $$\mathit{Happens}(open, 0)$$
 * $$\mathit{Happens}(exit, 1)$$

हैपन्स विधेय को प्रतिबंधित करना, यह विधेय उन सभी बिंदुओं पर असत्य होगा जहां इसे स्पष्ट रूप से सत्य होने के लिए निर्दिष्ट नहीं किया गया है। इस प्रतिबंध को अन्य सूत्रों के प्रतिबंध से अलग करना पड़ता है। दूसरे शब्दों में, यदि $F$ $$\mathit{Initiates}(e,f,t) \leftarrow \cdots$$, प्रकार के सूत्रों का समूह है, $G$ $$\mathit{Happens}(e, t)$$ सूत्रों का समूह है और $H$ कार्यक्षेत्र स्वतंत्र सिद्धांत हैं तो कार्यक्षेत्र का सही सूत्रीकरण है;


 * $$\mathit{Circ}(F; \mathit{Initiates}, \mathit{Terminates}) \wedge

Circ(G; Happens) \wedge H$$

 एक तर्क प्रोग्राम के रूप में घटना की गणना 

घटना की गणना को मूल रूप से विफलता के रूप में निषेधन के साथ संवर्धित हॉर्न उपवाक्य के एक समूह के रूप में तैयार किया गया था और इसे प्रोलॉग प्रोग्राम के रूप में चलाया जा सकता था।

वास्तव में, प्रतिबंध कई शब्दार्थों में से एक है जिसे निषेधन को विफलता के रूप में दिया जा सकता है, और पूर्णता शब्दार्थ से निकटता से संबंधित है जिसमें यदि की व्याख्या यदि और केवल यदि के रूप में की जाती है।

विस्तार और अनुप्रयोग
कोवाल्स्की और सर्गोट का मूल घटना की गणना कागजी डेटाबेस नवीनीकरण और आख्यानों के अनुप्रयोगों पर केंद्रित था। घटना की गणना के विस्तार से गैर-नियतात्मक क्रियाएं, समवर्ती क्रियाएं, विलंबित प्रभाव वाली क्रियाएं, क्रमिक परिवर्तन, अवधि वाली क्रियाएं, निरंतर परिवर्तन और गैर-निष्क्रिय स्पष्टता को भी औपचारिक रूप दिया जा सकता है।

केव एशघी ने दर्शाया कि प्राधिग्रहण तर्क प्रोग्रामिंग में काल्पनिक घटनाओं को उत्पन्न करने के लिए, प्राधिग्रहण का उपयोग करके घटना की गणना का उपयोग योजना बनाने के लिए कैसे किया जा सकता है। वैन लैम्बलजेन और हैम ने दर्शाया कि बाधा तर्क प्रोग्रामिंग का उपयोग करके कैसे घटना की गणना का उपयोग प्राकृतिक भाषा में घटना और स्वरूप को एल्गोरिदमिक शब्दार्थ देने के लिए भी किया जा सकता है।

घटना की गणना के अन्य उल्लेखनीय विस्तारों में मार्कोव लॉजिक नेटवर्क-आधारित, संभावना, ज्ञानात्मक प्रकार और उनके संयोजन सम्मिलित है।

 तर्क उपकरण 

प्रस्तावना और इसके प्रकार के अतिरिक्त, घटना की गणना का उपयोग करके तर्क करने के लिए कई अन्य उपकरण भी उपलब्ध हैं:
 * प्राधिग्रहण घटना की गणना प्लानर्स
 * असतत घटना की गणना रीज़नर
 * घटना की गणना उत्तर समूह प्रोग्रामिंग
 * रिएक्टिव घटना की गणना
 * रन-टाइम घटना की गणना (RTEC)

यह भी देखें

 * प्रथम-क्रम तर्क
 * फ़्रेम समस्या
 * स्थिति गणना

अग्रिम पठन

 * 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.