लेन-देन तर्क

From Vigyanwiki

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

लेन-देन तर्क मूल रूप से एंथोनी बोनर और माइकल किफ़र द्वारा प्रस्तावित किया गया था [1]और बाद में और अधिक विस्तार में वर्णित [2] किया गया था।[3] सबसे व्यापक विवरण में दिखाई देता है।[4]

बाद के वर्षों में, लेन-देन तर्क को विभिन्न प्रकार से विस्तारित किया गया, जिसमें समवर्ती,[5] असफल तर्क,[6] आंशिक रूप से परिभाषित क्रियाएं,[7] और अन्य विशेषताएं सम्मलित हैं।[8][9]

2013 में, लेन-देन तर्क पर मूल लेख [1]ने [1] तर्क क्रमादेशन के लिए संयोजन के 20-वर्षीय समय का परीक्षण पुरस्कार जीता है, जो पिछले 20 वर्षों में ICLP 1993 सम्मेलन की कार्यवाही से सबसे प्रभावशाली लेख है।

उदाहरण

आरेख रंगना

यहाँ tinsert लेन-देन सम्मिलन के प्राथमिक अद्यतन संचालन को दर्शाता है। संयोजक को क्रमिक संयोजन कहा जाता है।

colorNode <-  // color one node correctly
    node(N) ⊗ ¬ colored(N,_) ⊗ color(C)
    ⊗ ¬(adjacent(N,N2) ∧ colored(N2,C))
    ⊗ tinsert(colored(N,C)).
colorGraph <- ¬uncoloredNodesLeft.
colorGraph <- colorNode ⊗ colorGraph.

पिरामिड स्टैकिंग

प्राथमिक अद्यतन tdelete लेन देन संबंधी डिलीट संचालन का प्रतिनिधित्व करता है।

stack(N,X) <- N>0 ⊗ move(Y,X) ⊗ stack(N-1,Y).
stack(0,X).
move(X,Y) <- pickup(X) ⊗ putdown(X,Y).
pickup(X) <- clear(X) ⊗ on(X,Y) ⊗
             ⊗ tdelete(on(X,Y)) ⊗ tinsert(clear(Y)).
putdown(X,Y) <-  wider(Y,X) ⊗ clear(Y) 
                 ⊗ tinsert(on(X,Y)) ⊗ tdelete(clear(Y)).

काल्पनिक निष्पादन

यहाँ <> संभावना का मोडल संचालक है: यदि action1 और action2 दोनों संभव हैं, तो action1 निष्पादित करें। अन्यथा, यदि केवल action2 संभव है, तो इसे निष्पादित करें।

execute <- <>action1 ⊗ <>action2 ⊗ action1.
execute <- ¬<>action1 ⊗ <>action2 ⊗ action2.

भोजन दार्शनिक

यहाँ | समवर्ती लेन-देन तर्क के समानांतर संयोजन का तार्किक संबंध है।[5]

diningPhilosophers <- phil(1) | phil(2) | phil(3) | phil(4).

कार्यान्वयन

लेन-देन तर्क के कई कार्यान्वयन उपस्तिथ हैं:

  • मूल कार्यान्वयन।[10]
  • समवर्ती लेन-देन तर्क का कार्यान्वयन।[11]
  • लेन-देन तर्क प्रस्तावित के साथ बढ़ाया गया हैं। फ्लोरा-2 ज्ञान प्रतिनिधित्व और तर्क प्रणाली के भाग के रूप में लेनदेन तर्क का कार्यान्वयन भी सम्मलित किया गया है।[12]

ये सभी कार्यान्वयन मुक्त स्रोत हैं।

संदर्भ

  1. 1.0 1.1 A.J. Bonner and M. Kifer (1993), Transaction Logic Programming, International Conference on Logic Programming (ICLP), 1993.
  2. A.J. Bonner and M. Kifer (1994), An Overview of Transaction Logic, Theoretical Computer Science, 133:2, 1994.
  3. A.J. Bonner and M. Kifer (1998), Logic Programming for Database Transactions in Logics for Databases and Information Systems, J. Chomicki and G. Saake (eds.), Kluwer Academic Publ., 1998.
  4. A.J. Bonner and M. Kifer (1995), Transaction Logic Programming (or A Logic of Declarative and Procedural Knowledge). Technical Report CSRI-323, November 1995, Computer Science Research Institute, University of Toronto.
  5. 5.0 5.1 A.J. Bonner and M. Kifer (1996), Concurrency and communication in Transaction Logic, Joint Intl. Conference and Symposium on Logic Programming, Bonn, Germany, September 1996
  6. P. Fodor and M. Kifer (2011), Transaction Logic with Defaults and Argumentation Theories. In Technical communications of the 27th International Conference on Logic Programming (ICLP), July 2011.
  7. M. Rezk and M. Kifer (2012), Transaction Logic with Partially Defined Actions. Journal on Data Semantics, August 2012, vol. 1, no. 2, Springer.
  8. H. Davulcu, M. Kifer and I.V. Ramakrishnan (2004), CTR-S: A Logic for Specifying Contracts in Semantic Web Services. Proceedings of the 13-th World Wide Web Conference (WWW2004), May 2004.
  9. P. Fodor and M. Kifer (2010), Tabling for Transaction Logic. In Proceedings of the 12th international ACM SIGPLAN symposium on Principles and practice of declarative programming (PPDP), July 2010.
  10. Hung, Samuel (1996). "लेन-देन तर्क प्रोटोटाइप". University of Toronto, Department of Computer Science. Retrieved 2021-05-10.
  11. Sleghel, Amalia F. (2000). "समवर्ती लेनदेन तर्क प्रोटोटाइप". University of Toronto, Department of Computer Science. Retrieved 2021-05-10.
  12. "Knowledge Representation & Reasoning with Flora-2". Sourceforge.net. Retrieved 2021-05-10.

बाहरी संबंध