गोल (GOAL) एजेंट प्रोग्रामिंग लैंग्वेज: Difference between revisions

From Vigyanwiki
(Created page with "{{external links|date=May 2018}} GOAL प्रोग्रामिंग संज्ञानात्मक एजेंटों के लिए एक एजें...")
 
 
(11 intermediate revisions by 3 users not shown)
Line 1: Line 1:
{{external links|date=May 2018}}
'''गोल''' प्रोग्रामिंग [[संज्ञानात्मक एजेंट|संज्ञानात्मक एजेंटों]] के लिए एजेंट [[प्रोग्रामिंग भाषा|प्रोग्रामिंग लैंग्वेज]] होती है। इस प्रकार गोल एजेंट अपनी कार्रवाई का विकल्प अपने विश्वासों और गोलों से प्राप्त करते हैं। सामान्यतः लैंग्वेज प्रोग्रामिंग संरचनाओं द्वारा संज्ञानात्मक एजेंटों को डिजाइन और कार्यान्वित करने के लिए मूलभूत बिल्डिंग ब्लॉक प्रदान करती है, जो एजेंट की मान्यताओं और गोलों में हेरफेर करने और उसके निर्णय लेने की संरचना की अनुमति और सुविधा प्रदान करती है। अतः लैंग्वेज सामान्य ज्ञान या [[व्यावहारिक तर्क]] के आधार पर सहज प्रोग्रामिंग संरचना प्रदान करती है।
 
GOAL प्रोग्रामिंग [[संज्ञानात्मक एजेंट]]ों के लिए एक एजेंट [[प्रोग्रामिंग भाषा]] है। लक्ष्य एजेंट अपनी कार्रवाई का विकल्प अपने विश्वासों और लक्ष्यों से प्राप्त करते हैं। भाषा प्रोग्रामिंग संरचनाओं द्वारा संज्ञानात्मक एजेंटों को डिजाइन और कार्यान्वित करने के लिए बुनियादी बिल्डिंग ब्लॉक प्रदान करती है जो एक एजेंट की मान्यताओं और लक्ष्यों में हेरफेर करने और उसके निर्णय लेने की संरचना की अनुमति और सुविधा प्रदान करती है। भाषा सामान्य ज्ञान या [[व्यावहारिक तर्क]] के आधार पर एक सहज प्रोग्रामिंग ढांचा प्रदान करती है।


== सिंहावलोकन ==
== सिंहावलोकन ==
GOAL की मुख्य विशेषताओं में शामिल हैं:
गोल की मुख्य विशेषताओं में सम्मिलित हैं।
* घोषणात्मक विश्वास: एजेंट अपने पास मौजूद जानकारी और अपने लक्ष्यों को प्राप्त करने के लिए जिस पर्यावरण पर कार्य करते हैं, उसके बारे में उनके विश्वास या ज्ञान का प्रतिनिधित्व करने के लिए एक प्रतीकात्मक, तार्किक भाषा का उपयोग करते हैं। यह ''ज्ञान प्रतिनिधित्व भाषा'' GOAL द्वारा निर्धारित नहीं है, लेकिन, सिद्धांत रूप में, प्रोग्रामर की आवश्यकताओं के अनुसार भिन्न हो सकती है।
* '''घोषणात्मक विश्वास''': एजेंट अपने समीप उपस्तिथ जानकारी और अपने गोलों को प्राप्त करने के लिए जिस पर्यावरण पर कार्य करते हैं, उसके बारे में उनके विश्वास या ज्ञान का प्रतिनिधित्व करने के लिए प्रतीकात्मक, तार्किक लैंग्वेज का उपयोग करते हैं। इस प्रकार यह ज्ञान प्रतिनिधित्व लैंग्वेज गोल द्वारा निर्धारित नहीं होता है, किन्तु सिद्धांत रूप में, प्रोग्रामर की आवश्यकताओं के अनुसार भिन्न हो सकती है।
* घोषणात्मक लक्ष्य: एजेंटों के कई लक्ष्य हो सकते हैं जो निर्दिष्ट करते हैं कि एजेंट निकट या दूर के भविष्य में किसी क्षण ''क्या'' हासिल करना चाहता है। घोषणात्मक लक्ष्य पर्यावरण की एक स्थिति निर्दिष्ट करते हैं जिसे एजेंट स्थापित करना चाहता है, वे ऐसे कार्यों या प्रक्रियाओं को निर्दिष्ट नहीं करते हैं कि ऐसी स्थितियों को कैसे प्राप्त किया जाए।
* '''घोषणात्मक गोल''': एजेंटों के समीप अनेक गोल हो सकते हैं जो निर्दिष्ट करते हैं कि एजेंट निकट या दूर के भविष्य में किसी क्षण क्या प्राप्त करना चाहता है। इस प्रकार घोषणात्मक गोल पर्यावरण की स्थिति निर्दिष्ट करते हैं जिसे एजेंट स्थापित करना चाहता है, वह ऐसे कार्यों या प्रक्रियाओं को निर्दिष्ट नहीं करते हैं कि ऐसी स्थितियों को कैसे प्राप्त किया जाता है।
* अंध प्रतिबद्धता रणनीति: एजेंट अपने लक्ष्यों के लिए प्रतिबद्ध होते हैं और लक्ष्य तभी छोड़ते हैं जब वे हासिल हो जाते हैं। यह प्रतिबद्धता रणनीति, जिसे साहित्य में ''अंधा'' प्रतिबद्धता रणनीति कहा जाता है, GOAL एजेंटों द्वारा उपयोग की जाने वाली ''डिफ़ॉल्ट'' रणनीति है। माना जाता है कि संज्ञानात्मक एजेंटों के पास ऐसे लक्ष्य नहीं होते हैं जिनके बारे में उनका मानना ​​है कि वे पहले ही हासिल कर चुके हैं, एक बाधा जो लक्ष्य एजेंटों में एक लक्ष्य को छोड़ने के कारण बनाई गई है जब इसे ''पूरी तरह से'' हासिल कर लिया गया हो।
* '''अंध प्रतिबद्धता रणनीति''': एजेंट अपने गोलों के प्रति प्रतिबद्ध होते हैं और गोल तभी छोड़ते हैं जब वह प्राप्त हो जाते हैं। इस प्रकार यह प्रतिबद्धता रणनीति, जिसे साहित्य में अंध प्रतिबद्धता रणनीति कहा जाता है, अतः गोल एजेंटों द्वारा उपयोग की जाने वाली डिफ़ॉल्ट रणनीति होती है। ऐसा माना जाता है कि संज्ञानात्मक एजेंटों के समीप ऐसे गोल नहीं होते हैं जिनके बारे में उनका मानना यह होता ​​है कि वह पहले ही प्राप्त कर चुके हैं, अतः बाधा जो गोल एजेंटों में गोल को छोड़ने के कारण बनाई गई है जब इसे पूर्ण प्रकार से प्राप्त कर लिया गया होता है।
* नियम-आधारित कार्रवाई चयन: एजेंट अपनी मान्यताओं और लक्ष्यों को ध्यान में रखते हुए, कार्रवाई का चयन करने के लिए तथाकथित ''कार्रवाई नियमों'' का उपयोग करते हैं। ऐसे नियम इस अर्थ में कार्रवाई की पसंद को ''कम निर्दिष्ट'' कर सकते हैं कि एजेंट के कार्रवाई नियमों को देखते हुए किसी भी समय कई कार्य किए जा सकते हैं। उस स्थिति में, एक GOAL एजेंट निष्पादन के लिए एक मनमाना सक्षम कार्रवाई का चयन करेगा।
* '''नियम-आधारित कार्रवाई चयन''': एजेंट अपनी मान्यताओं और गोलों को ध्यान में रखते हुए कार्यों का चयन करने के लिए तथाकथित कार्रवाई नियमों का उपयोग करते हैं। ऐसे नियम इस अर्थ में कार्रवाई की पसंद को कम निर्दिष्ट कर सकते हैं कि एजेंट के कार्रवाई नियमों को देखते हुए किसी भी समय अनेक कार्य किए जा सकते हैं। उस स्थिति में, गोल एजेंट निष्पादन के लिए इच्छानुसार सक्षम कार्रवाई का चयन करता है।
* नीति-आधारित इरादा मॉड्यूल: एजेंट अपना ध्यान केंद्रित कर सकते हैं और अपने लक्ष्यों के एक उप-समूह को प्राप्त करने पर अपने सभी प्रयास लगा सकते हैं, अपने कार्यों के एक उप-समूह का उपयोग करके, केवल उन लक्ष्यों को प्राप्त करने के लिए प्रासंगिक ज्ञान का उपयोग कर सकते हैं। GOAL विशिष्ट लक्ष्यों को प्राप्त करने के लिए समर्पित कार्रवाई नियमों और ज्ञान की संरचना के लिए मॉड्यूल प्रदान करता है। अनौपचारिक रूप से, मॉड्यूल को [[माइकल ब्रैटमैन]] के अर्थ में नीति-आधारित इरादों के रूप में देखा जा सकता है।
* '''नीति-आधारित इरादा मॉड्यूल''': एजेंट अपना ध्यान केंद्रित कर सकते हैं और अपने गोलों के उप-समूह को प्राप्त करने पर अपने सभी प्रयास लगा सकते हैं, जिससे कि अपने कार्यों के उप-समूह का उपयोग करके, केवल उन गोलों को प्राप्त करने के लिए प्रासंगिक ज्ञान का उपयोग कर सकते हैं। इस प्रकार गोल विशिष्ट गोलों को प्राप्त करने के लिए समर्पित कार्रवाई नियमों और ज्ञान की संरचना के लिए मॉड्यूल प्रदान करता है। अतः अनौपचारिक रूप से, मॉड्यूल को [[माइकल ब्रैटमैन]] के अर्थ में नीति-आधारित इरादों के रूप में देखा जा सकता है।
* ज्ञान स्तर पर संचार: एजेंट जानकारी का आदान-प्रदान करने और अपने कार्यों का समन्वय करने के लिए एक-दूसरे के साथ संवाद कर सकते हैं। लक्ष्य एजेंट ज्ञान प्रतिनिधित्व भाषा का उपयोग करके संवाद करते हैं जिसका उपयोग उनके विश्वासों और लक्ष्यों को दर्शाने के लिए भी किया जाता है।
* '''ज्ञान स्तर पर संचार''': एजेंट जानकारी का आदान-प्रदान करने और अपने कार्यों का समन्वय करने के लिए एक-दूसरे के साथ संवाद कर सकते हैं। इस प्रकार गोल एजेंट ज्ञान प्रतिनिधित्व लैंग्वेज का उपयोग करके संवाद करते हैं जिसका उपयोग उनके विश्वासों और गोलों को दर्शाने के लिए भी किया जाता है।
* परीक्षण: आप GOAL के लिए परीक्षण भी लिख सकते हैं।
* '''परीक्षण''': आप गोल के लिए परीक्षण भी लिख सकते हैं।


== लक्ष्य एजेंट कार्यक्रम ==
== गोल एजेंट कार्यक्रम ==
{| border="1" | cellspacing=10px
{| border="1" | cellspacing=10px
|+ '''  '''
|+
|-  
|-  
| [[Image:blokken.png|475px|border=0]]
| [[Image:blokken.png|475px|border=0]]
| [[Image:elevatorworld.png|475px]]
|+  
|+  
|-
|-
| {{center|An example blocks world problem}}
| {{center|उदाहरण विश्व समस्या को रोकता है}}
| {{center|Another Example: A GOAL Multi-Agent Elevator Controller<ref>The elevator simulator is originally written by Chris Dailey and Neil McKellar and is available in its original form via http://sourceforge.net/projects/elevatorsim.</ref>}}
|-
|-
|}
|}
एक GOAL एजेंट प्रोग्राम में छह अलग-अलग खंड होते हैं, जिनमें क्रमशः ज्ञान, विश्वास, लक्ष्य, कार्य नियम, कार्य विनिर्देश और अवधारणा नियम शामिल हैं। उदाहरण के लिए, ज्ञान, विश्वास और लक्ष्यों को ज्ञान प्रतिनिधित्व भाषा जैसे [[प्रोलॉग]], [[उत्तर सेट प्रोग्रामिंग]], [[एसक्यूएल]] (या [[ संगणक वैज्ञानिक ]]), या [[योजना डोमेन परिभाषा भाषा]] में दर्शाया जाता है। नीचे, हम प्रोलॉग का उपयोग करके GOAL एजेंट प्रोग्राम के घटकों का वर्णन करते हैं।
गोल एजेंट प्रोग्राम में छह भिन्न-भिन्न खंड होते हैं, जिनमें क्रमशः ज्ञान, विश्वास, गोल, कार्य नियम, कार्य विनिर्देश और अवधारणा नियम सम्मिलित होते हैं। उदाहरण के लिए, ज्ञान, विश्वास और गोलों को ज्ञान प्रतिनिधित्व लैंग्वेज जैसे [[प्रोलॉग]], [[उत्तर सेट प्रोग्रामिंग|उत्तर समुच्चय प्रोग्रामिंग]], [[एसक्यूएल]] (या [[ संगणक वैज्ञानिक |संगणक वैज्ञानिक]] ), या [[योजना डोमेन परिभाषा भाषा|योजना कार्यक्षेत्र परिलैंग्वेज लैंग्वेज]] में दर्शाया जाता है। इस प्रकार नीचे, हम प्रोलॉग का उपयोग करके गोल एजेंट प्रोग्राम के घटकों का वर्णन करते हैं।


GOAL एजेंट प्रोग्राम की समग्र संरचना इस प्रकार दिखती है:
गोल एजेंट प्रोग्राम की समग्र संरचना इस प्रकार दिखती है।
<पूर्व>
main: <agentname> {
मुख्य: <एजेंटनाम> {
  <sections>
  <अनुभाग>
}
}
गोल एजेंट की संरचना को दर्शाने के लिए उपयोग किया जाने वाला गोल एजेंट कोड ऐसा एजेंट होता है, जो ब्लॉक की विश्व की समस्याओं को हल करने में सक्षम होते है। इस प्रकार एजेंट की मान्यताएँ ब्लॉक विश्व की वर्तमान स्थिति का प्रतिनिधित्व करती हैं जबकि एजेंट के गोल स्थिति का प्रतिनिधित्व करते हैं। अतः आगे सूचीबद्ध ज्ञान अनुभाग में ब्लॉक विश्व कार्यक्षेत्र से संबंधित अतिरिक्त वैचारिक या कार्यक्षेत्र ज्ञान सम्मिलित होता है।
</पूर्व>
 
GOAL एजेंट की संरचना को दर्शाने के लिए उपयोग किया जाने वाला GOAL एजेंट कोड एक ऐसा एजेंट है जो ब्लॉक की दुनिया की समस्याओं को हल करने में सक्षम है। एजेंट की मान्यताएँ ब्लॉक दुनिया की वर्तमान स्थिति का प्रतिनिधित्व करती हैं जबकि एजेंट के लक्ष्य लक्ष्य स्थिति का प्रतिनिधित्व करते हैं। आगे सूचीबद्ध ज्ञान अनुभाग में ब्लॉक विश्व डोमेन से संबंधित अतिरिक्त वैचारिक या डोमेन ज्ञान शामिल है।


<syntaxhighlight lang="prolog">
<syntaxhighlight lang="prolog">
Line 45: Line 38:
}
}
</syntaxhighlight>
</syntaxhighlight>
ध्यान दें कि ज्ञान अनुभाग में सूचीबद्ध सभी ब्लॉक विश्वास अनुभाग में फिर से दिखाई देते हैं क्योंकि ब्लॉकों की संपूर्ण कॉन्फ़िगरेशन को चिह्नित करने के लिए प्रत्येक ब्लॉक की स्थिति को निर्दिष्ट करने की आवश्यकता होती है।
ध्यान दीजिए कि ज्ञान अनुभाग में सूचीबद्ध सभी ब्लॉक विश्वास अनुभाग में फिर से दिखाई देते हैं जिससे कि ब्लॉकों की संपूर्ण कॉन्फ़िगरेशन को चिह्नित करने के लिए प्रत्येक ब्लॉक की स्थिति को निर्दिष्ट करने की आवश्यकता होती है।


<पूर्व>
विश्वास{
विश्वास{
  ऑन(,बी), ऑन(बी,सी), ऑन(सी,टेबल), ऑन(डी,), ऑन(,टेबल), ऑन(एफ,जी), ऑन(जी,टेबल)
beliefs{                                                                                                                                                          on(a,b), on(b,c), on(c,table), on(d,e), on(e,table), on(f,g), on(g,table).
}
}
</पूर्व>
सभी ज्ञात ब्लॉक गोल अनुभाग में भी उपस्तिथ होता हैं जो गोल विन्यास निर्दिष्ट करता है जो सभी ब्लॉकों का पुन: उपयोग करता है।
 
सभी ज्ञात ब्लॉक लक्ष्य अनुभाग में भी मौजूद हैं जो एक लक्ष्य विन्यास निर्दिष्ट करता है जो सभी ब्लॉकों का पुन: उपयोग करता है।
<पूर्व>
लक्ष्य{
  ऑन (ए, ई), ऑन (बी, टेबल), ऑन (सी, टेबल), ऑन (डी, सी), ऑन (ई, बी), ऑन (एफ, डी), ऑन (जी, टेबल)।
}
</पूर्व>
 
एक GOAL एजेंट के पास एक ही समय में कई लक्ष्य हो सकते हैं। ये लक्ष्य परस्पर विरोधी भी हो सकते हैं क्योंकि प्रत्येक लक्ष्य को अलग-अलग समय पर साकार किया जा सकता है। उदाहरण के लिए, एक एजेंट का लक्ष्य मूवी थिएटर में मूवी देखना और (बाद में) घर पर रहना हो सकता है।
 
GOAL में, लक्ष्य की विभिन्न धारणाएँ प्रतिष्ठित हैं। 'आदिम लक्ष्य' एक कथन है जो ज्ञान आधार में परिभाषित अवधारणाओं के साथ लक्ष्य आधार से अनुसरण करता है। उदाहरण के लिए, <code>tower([a,e,b])</code> एक आदिम लक्ष्य है और हम लिखते हैं <code>goal(tower([a,e,b])</code> इसे दर्शाने के लिए. शुरू में, <code>tower([a,e,b])</code> यह भी एक उपलब्धि लक्ष्य है क्योंकि एजेंट यह नहीं मानता है कि a, e के शीर्ष पर है, e, b के शीर्ष पर है, और b टेबल पर है। उपलब्धि लक्ष्य आदिम लक्ष्य हैं जिनके बारे में एजेंट को विश्वास नहीं होता है और उन्हें दर्शाया जाता है <code>a-goal(tower([a,e,b])</code>. यह व्यक्त करने में सक्षम होना भी उपयोगी है कि एक लक्ष्य हासिल कर लिया गया है। <code>goal-a(tower([e,b])</code> उदाहरण के लिए, टावर को व्यक्त करने के लिए उपयोग किया जाता है <code>[e,b]</code> ब्लॉक बी के शीर्ष पर ब्लॉक ई के साथ हासिल किया गया है। उपलब्धि लक्ष्यों के साथ-साथ प्राप्त लक्ष्य की धारणा दोनों को परिभाषित किया जा सकता है:
 
<पूर्व>
ए-लक्ष्य(सूत्र) ::= लक्ष्य(सूत्र), नहीं(बेल(सूत्र))
लक्ष्य-ए(सूत्र) ::= लक्ष्य(सूत्र), बेल(सूत्र)
</पूर्व>


एजेंट साहित्य में उपलब्धि लक्ष्य की अवधारणा को परिभाषित करने पर एक महत्वपूर्ण साहित्य है (संदर्भ देखें)
गोल{
  goals{                                                                                                                                                        on(a,e), on(b,table), on(c,table), on(d,c), on(e,b), on(f,d), on(g,table).
}
गोल एजेंट के समीप ही समय में अनेक गोल हो सकते हैं। यह गोल परस्पर विरोधी भी हो सकते हैं जिससे कि प्रत्येक गोल को भिन्न-भिन्न समय पर साकार किया जा सकता है। उदाहरण के लिए, एजेंट का गोल मूवी थिएटर में मूवी देखना और (पश्चात् में) घर पर रहना हो सकता है।


GOAL एक नियम-आधारित प्रोग्रामिंग भाषा है। नियम मॉड्यूल में संरचित हैं। GOAL एजेंट का मुख्य मॉड्यूल क्रिया नियमों के माध्यम से क्रियाओं के चयन के लिए एक रणनीति निर्दिष्ट करता है। नीचे दिए गए पहले नियम में कहा गया है कि ब्लॉक दूसरे नियम में कहा गया है कि यदि ब्लॉक X गलत स्थान पर है तो ब्लॉक X को टेबल पर ले जाना एक विकल्प है।
गोल में, गोल की विभिन्न धारणाएँ प्रतिष्ठित होती हैं। इस प्रकार '''<nowiki/>'आदिम गोल'''' कथन होता है जो ज्ञान आधार में परिभाषित अवधारणाओं के साथ गोल आधार से अनुसरण करता है। उदाहरण के लिए, <code>tower([a,e,b])</code> आदिम गोल होता है और हम इसे दर्शाने के लिए <code>goal(tower([a,e,b])</code> लिखते हैं। इस प्रकार प्रारंभ में, <code>tower([a,e,b])</code> यह भी उपलब्धि गोल होता है जिससे कि एजेंट यह नहीं मानता है कि ए, ई के शीर्ष पर होता है, अतः ई, बी के शीर्ष पर होता है, और बी टेबल पर होता है। इस प्रकार '''उपलब्धि गोल''' आदिम गोल होता हैं जिनके बारे में एजेंट को विश्वास नहीं होता है और उन्हें निम्न द्वारा दर्शाया जाता है - <code>a-goal(tower([a,e,b])</code> यह व्यक्त करने में सक्षम होना भी उपयोगी होता है कि '''गोल प्राप्त कर लिया गया है।''' <code>goal-a(tower([e,b])</code> उदाहरण के लिए, टावर को व्यक्त करने के लिए उपयोग किया जाता है <code>[e,b]</code> ब्लॉक बी के शीर्ष पर ब्लॉक ई के साथ प्राप्त किया गया है। इस प्रकार उपलब्धि गोलों के साथ-साथ प्राप्त गोल की धारणा दोनों को परिभाषित किया जा सकता है।
a-goal(formula) ::= goal(formula), not(bel(formula))            goal-a(formula) ::= goal(formula), bel(formula)                       
एजेंट साहित्य में उपलब्धि गोल की अवधारणा को परिभाषित करने पर महत्वपूर्ण साहित्य होता है (संदर्भ देखें)।


<पूर्व>
गोल नियम-आधारित प्रोग्रामिंग लैंग्वेज होती है। इस प्रकार नियम मॉड्यूल में संरचित हैं। चूँकि गोल एजेंट का मुख्य मॉड्यूल क्रिया नियमों के माध्यम से क्रियाओं के चयन के लिए रणनीति निर्दिष्ट करता है। अतः नीचे दिए गए पहले नियम में कहा गया है कि ब्लॉक दूसरे नियम में कहा गया है कि यदि ब्लॉक एक्स गलत स्थान पर होता है तब ब्लॉक एक्स को टेबल पर ले जाना ही विकल्प होता है।
मुख्य मॉड्यूल{
main module{
  कार्यक्रम{
  program{
    यदि ए-लक्ष्य(टावर([एक्स,वाई|टी])), बेल(टावर([वाई|टी])) तो आगे बढ़ें(एक्स,वाई)
    if a-goal(tower([X,Y|T])), bel(tower([Y|T])) then move(X,Y).
    यदि एक-लक्ष्य(टॉवर([X|T])) तो आगे बढ़ें(X,टेबल)।
    if a-goal(tower([X|T])) then move(X,table).
  }
  }
}
}
</पूर्व>
कार्रवाइयां, जैसे कि ऊपर उपयोग की गई चाल कार्रवाई, पूर्व शर्तों और उत्तर शर्तों के [[स्टैनफोर्ड अनुसंधान संस्थान समस्या समाधानकर्ता]] विनिर्देश का उपयोग करके निर्दिष्ट की जाती है। इस प्रकार पूर्व शर्त निर्दिष्ट करती है कि कार्रवाई कब की जा सकती है (सक्षम है)। अतः [[पोस्टकंडिशन]] निर्दिष्ट करती है कि कार्रवाई करने के प्रभाव क्या होते है।
actionspec{
  move(X,Y) {
    pre{ clear(X), clear(Y), on(X,Z), not(X=Y) }
    post{ not(on(X,Z)), on(X,Y) }
}
अंत में, ईवेंट मॉड्यूल में पर्यावरण से प्राप्त अवधारणाओं जैसे ईवेंट को संसाधित करने के नियम सम्मिलित होते हैं। इस प्रकार नीचे दिया गया नियम निर्दिष्ट करता है कि प्राप्त सभी धारणाओं के लिए जो इंगित करती हैं कि ब्लॉक
event module{
  program{
    forall bel( percept(on(X,Y)), on(X,Z), not(Y=Z) ) do insert(on(X,Y), not(on(X,Z))).
  }
}


कार्रवाइयां, जैसे कि ऊपर उपयोग की गई चाल कार्रवाई, पूर्व शर्तों और उत्तर शर्तों के [[स्टैनफोर्ड अनुसंधान संस्थान समस्या समाधानकर्ता]] विनिर्देश का उपयोग करके निर्दिष्ट की जाती है। एक पूर्व शर्त निर्दिष्ट करती है कि कार्रवाई कब की जा सकती है (सक्षम है)। एक [[पोस्टकंडिशन]] निर्दिष्ट करती है कि कार्रवाई करने के प्रभाव क्या होंगे।
== संबंधित एजेंट प्रोग्रामिंग लैंग्वेजएँ ==
 
गोल एजेंट प्रोग्रामिंग लैंग्वेज अन्य एजेंट प्रोग्रामिंग लैंग्वेजओं से संबंधित होती है, किन्तु उनसे भिन्न होती है जैसे कि [https://wayback.archive-it.org/all/20130302203951/ftp://db.stanford.edu/pub/cstr/reports/cs/tr/91/1389/CS-TR-91-1389.pdf एजेंट0], [[AgentSpeak|एजेंटस्पीक]], [[2APL|2एपीएल]], [http://www.cs .toronto.edu/cogrobo/main/systems/index.html गोलोग], [[जैक इंटेलिजेंट एजेंट]], [https://web.archive.org/web/20090317072231/http://jadex.informatik.uni-hamburg.de/bin/view/About/Overview जादेक्स], और उदाहरण के लिए, [http://jason.sourceforge.net/ जेसन]। इस प्रकार गोल की विशिष्ट विशेषता [[घोषणात्मक प्रोग्रामिंग]] गोल की अवधारणा होती है। चूँकि गोल एजेंट के गोल यह बताते हैं कि एजेंट क्या प्राप्त करना चाहता है, न कि इसे कैसे प्राप्त करना है। अतः अन्य लैंग्वेजओं से भिन्न, गोल एजेंट अपने गोल के प्रति प्रतिबद्ध होते हैं और किसी गोल को तभी हटाते हैं जब वह पूर्ण प्रकार से प्राप्त हो जाता है। इस प्रकार गोल घोषणात्मक प्रोग्रामिंग और संज्ञानात्मक एजेंटों के लिए आवश्यक तर्क क्षमताओं पर शक्तिशाली फोकस के साथ प्रोग्रामिंग संरचना प्रदान करता है।
<पूर्व>
क्रियाविशेषता{
  चाल(एक्स,वाई) {
    पूर्व {स्पष्ट(एक्स), स्पष्ट(वाई), पर(एक्स,जेड), नहीं(एक्स=वाई) }
    पोस्ट {नहीं(पर(एक्स,जेड)), पर(एक्स,वाई) }
}
</पूर्व>
 
अंत में, ईवेंट मॉड्यूल में पर्यावरण से प्राप्त अवधारणाओं जैसे ईवेंट को संसाधित करने के नियम शामिल होते हैं। नीचे दिया गया नियम निर्दिष्ट करता है कि प्राप्त सभी धारणाओं के लिए जो इंगित करती हैं कि ब्लॉक
 
<पूर्व>
इवेंट मॉड्यूल{
  कार्यक्रम{
    सभी के लिए bel( अवधारणा(on(X,Y)), on(X,Z), not(Y=Z) ) do Insert(on(X,Y), not(on(X,Z))).
  }
}
</पूर्व>
 
== संबंधित एजेंट प्रोग्रामिंग भाषाएँ ==
GOAL एजेंट प्रोग्रामिंग भाषा अन्य एजेंट प्रोग्रामिंग भाषाओं से संबंधित है, लेकिन उनसे अलग है जैसे कि [https://wayback.archive-it.org/all/20130302203951/ftp://db.stanford.edu/pub/cstr/reports/cs/tr/91/1389/CS-TR-91-1389.pdf AGENT0], [[AgentSpeak]], [[2APL]], [http://www.cs .toronto.edu/cogrobo/main/systems/index.html Golog], [[जैक इंटेलिजेंट एजेंट]]्स, [https://web.archive.org/web/20090317072231/http://jadex.informatik.uni-hamburg.de/bin/view/About/Overview Jadex], और, उदाहरण के लिए, [http://jason.sourceforge.net/ जेसन]। GOAL की विशिष्ट विशेषता [[घोषणात्मक प्रोग्रामिंग]] लक्ष्य की अवधारणा है। एक GOAL एजेंट के लक्ष्य यह बताते हैं कि एक एजेंट क्या हासिल करना चाहता है, न कि इसे कैसे हासिल करना है। अन्य भाषाओं से भिन्न, GOAL एजेंट अपने लक्ष्य के प्रति प्रतिबद्ध होते हैं और किसी लक्ष्य को तभी हटाते हैं जब वह पूरी तरह से हासिल हो जाता है। GOAL घोषणात्मक प्रोग्रामिंग और संज्ञानात्मक एजेंटों के लिए आवश्यक तर्क क्षमताओं पर एक मजबूत फोकस के साथ एक प्रोग्रामिंग ढांचा प्रदान करता है।


==यह भी देखें==
==यह भी देखें==
* [[एजेंट संचार भाषा]]
* [[एजेंट संचार भाषा|एजेंट संचार लैंग्वेज]]
* [[स्वायत्त एजेंट]]
* [[स्वायत्त एजेंट]]
*[[संज्ञानात्मक वास्तुकला]]
*[[संज्ञानात्मक वास्तुकला]]
Line 115: Line 87:
== संदर्भ ==
== संदर्भ ==
{{reflist}}
{{reflist}}
;Notes
;टिप्पणियाँ गोल की धारणा पर साहित्य:
Literature on the notion of a goal:
* लार्स ब्रौबैक, अलेक्जेंडर पोकाहर, डैनियल मोल्ड्ट और विनफ्राइड लैमर्सडॉर्फ (2004)। बीडीआई एजेंट सिस्टम के लिए गोल प्रतिनिधित्व, प्रोग्रामिंग मल्टीएजेंट सिस्टम पर दूसरी अंतर्राष्ट्रीय कार्यशाला।
* Lars Braubach, Alexander Pokahr, Daniel Moldt and Winfried Lamersdorf (2004). Goal Representation for BDI Agent Systems, in: The Second International Workshop on Programming Multiagent Systems.
* फिलिप आर. कोहेन और हेक्टर जे. लेवेस्क (1990)। प्रतिबद्धता के साथ इरादा विकल्प है। आर्टिफिशियल इंटेलिजेंस 42, 213-261।
* Philip R. Cohen and Hector J. Levesque (1990). Intention Is Choice with Commitment. Artificial Intelligence 42, 213–261.
* एंड्रियास हर्ज़िग और डी. लॉन्गिन (2004)C&l इरादे पर दोबारा गौर किया गया। इन: प्रोक. 9वें इंट के. ज्ञान प्रतिनिधित्व और तर्क के सम्मेलन सिद्धांत (केआर'04), 527-535।
* Andreas Herzig and D. Longin (2004). C&l intention revisited. In: Proc. of the 9th Int. Conference Principles of Knowledge Representation and Reasoning (KR’04), 527–535.
* कोएन वी. हिंड्रिक्स, फ्रैंक एस. डी बोअर, विबे वैन डेर होक, जॉन-जूल्स च. मेयर (2000)। घोषणात्मक गोलों के साथ एजेंट प्रोग्रामिंग। इन: प्रोक. 7वें अंतर्राष्ट्रीय का. इंटेलिजेंट एजेंट्स VII (ATAL'00) पर कार्यशाला, पृष्ठ 228-243।
* Koen V. Hindriks, Frank S. de Boer, Wiebe van der Hoek, John-Jules Ch. Meyer (2000). Agent Programming with Declarative Goals. In: Proc. of the 7th Int. Workshop on Intelligent Agents VII (ATAL’00), pp.&nbsp;228–243.
*आनंद एस. राव और माइकल पी. जॉर्जफ़ (1993)। इरादे और तर्कसंगत प्रतिबद्धता. टेक. प्रतिनिधि 8, [[ऑस्ट्रेलियाई कृत्रिम बुद्धिमत्ता संस्थान।]]
* Anand S. Rao and Michael P. Georgeff (1993). Intentions and Rational Commitment. Tech. Rep. 8, [[Australian Artificial Intelligence Institute]].
* बिरना वैन रिम्सडिज्क, मेहदी दस्तानी, जॉन-जूल्स च। मेयर (2009)। संघर्ष में गोल: एजेंट प्रोग्रामिंग में गोलों की अर्थपूर्ण नींव। स्वायत्त एजेंटों और मल्टी-एजेंट सिस्टम के अंतर्राष्ट्रीय जर्नल।
* Birna van Riemsdijk, Mehdi Dastani, John-Jules Ch. Meyer (2009). Goals in Conflict: Semantic Foundations of Goals in Agent Programming. International Journal of Autonomous Agents and Multi-Agent Systems.
 
 
==बाहरी संबंध==
==बाहरी संबंध==
* [https://goalapl.atlassian.net/wiki/ The GOAL Agent Programming Language home]
* [https://goalapl.atlassian.net/wiki/ गोल एजेंट प्रोग्रामिंग भाषा होम]


{{DEFAULTSORT:Goal Agent Programming Language}}[[Category: एजेंट-आधारित प्रोग्रामिंग भाषाएँ]] [[Category: घोषणात्मक प्रोग्रामिंग भाषाएँ]] [[Category: एजेंट-आधारित मॉडल]]  
{{DEFAULTSORT:Goal Agent Programming Language}}[[Category: एजेंट-आधारित प्रोग्रामिंग भाषाएँ]] [[Category: घोषणात्मक प्रोग्रामिंग भाषाएँ]] [[Category: एजेंट-आधारित मॉडल]]  
Line 134: Line 103:
[[Category: Machine Translated Page]]
[[Category: Machine Translated Page]]
[[Category:Created On 25/07/2023]]
[[Category:Created On 25/07/2023]]
[[Category:Vigyan Ready]]

Latest revision as of 18:55, 3 October 2023

गोल प्रोग्रामिंग संज्ञानात्मक एजेंटों के लिए एजेंट प्रोग्रामिंग लैंग्वेज होती है। इस प्रकार गोल एजेंट अपनी कार्रवाई का विकल्प अपने विश्वासों और गोलों से प्राप्त करते हैं। सामान्यतः लैंग्वेज प्रोग्रामिंग संरचनाओं द्वारा संज्ञानात्मक एजेंटों को डिजाइन और कार्यान्वित करने के लिए मूलभूत बिल्डिंग ब्लॉक प्रदान करती है, जो एजेंट की मान्यताओं और गोलों में हेरफेर करने और उसके निर्णय लेने की संरचना की अनुमति और सुविधा प्रदान करती है। अतः लैंग्वेज सामान्य ज्ञान या व्यावहारिक तर्क के आधार पर सहज प्रोग्रामिंग संरचना प्रदान करती है।

सिंहावलोकन

गोल की मुख्य विशेषताओं में सम्मिलित हैं।

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

गोल एजेंट कार्यक्रम

border=0
उदाहरण विश्व समस्या को रोकता है

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

गोल एजेंट प्रोग्राम की समग्र संरचना इस प्रकार दिखती है।

main: <agentname> {
  <sections>
}

गोल एजेंट की संरचना को दर्शाने के लिए उपयोग किया जाने वाला गोल एजेंट कोड ऐसा एजेंट होता है, जो ब्लॉक की विश्व की समस्याओं को हल करने में सक्षम होते है। इस प्रकार एजेंट की मान्यताएँ ब्लॉक विश्व की वर्तमान स्थिति का प्रतिनिधित्व करती हैं जबकि एजेंट के गोल स्थिति का प्रतिनिधित्व करते हैं। अतः आगे सूचीबद्ध ज्ञान अनुभाग में ब्लॉक विश्व कार्यक्षेत्र से संबंधित अतिरिक्त वैचारिक या कार्यक्षेत्र ज्ञान सम्मिलित होता है।

knowledge{
  block(a), block(b), block(c), block(d), block(e), block(f), block(g).
  clear(table).
  clear(X) :- block(X), not(on(Y,X)).
  tower([X]) :- on(X,table).
  tower([X,Y|T]) :- on(X,Y), tower([Y|T]).
}

ध्यान दीजिए कि ज्ञान अनुभाग में सूचीबद्ध सभी ब्लॉक विश्वास अनुभाग में फिर से दिखाई देते हैं जिससे कि ब्लॉकों की संपूर्ण कॉन्फ़िगरेशन को चिह्नित करने के लिए प्रत्येक ब्लॉक की स्थिति को निर्दिष्ट करने की आवश्यकता होती है।

विश्वास{

beliefs{                                                                                                                                                           on(a,b), on(b,c), on(c,table), on(d,e), on(e,table), on(f,g), on(g,table).
}

सभी ज्ञात ब्लॉक गोल अनुभाग में भी उपस्तिथ होता हैं जो गोल विन्यास निर्दिष्ट करता है जो सभी ब्लॉकों का पुन: उपयोग करता है।

गोल{

 goals{                                                                                                                                                        on(a,e), on(b,table), on(c,table), on(d,c), on(e,b), on(f,d), on(g,table).
}

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

गोल में, गोल की विभिन्न धारणाएँ प्रतिष्ठित होती हैं। इस प्रकार 'आदिम गोल' कथन होता है जो ज्ञान आधार में परिभाषित अवधारणाओं के साथ गोल आधार से अनुसरण करता है। उदाहरण के लिए, tower([a,e,b]) आदिम गोल होता है और हम इसे दर्शाने के लिए goal(tower([a,e,b]) लिखते हैं। इस प्रकार प्रारंभ में, tower([a,e,b]) यह भी उपलब्धि गोल होता है जिससे कि एजेंट यह नहीं मानता है कि ए, ई के शीर्ष पर होता है, अतः ई, बी के शीर्ष पर होता है, और बी टेबल पर होता है। इस प्रकार उपलब्धि गोल आदिम गोल होता हैं जिनके बारे में एजेंट को विश्वास नहीं होता है और उन्हें निम्न द्वारा दर्शाया जाता है - a-goal(tower([a,e,b]) यह व्यक्त करने में सक्षम होना भी उपयोगी होता है कि गोल प्राप्त कर लिया गया है। goal-a(tower([e,b]) उदाहरण के लिए, टावर को व्यक्त करने के लिए उपयोग किया जाता है [e,b] ब्लॉक बी के शीर्ष पर ब्लॉक ई के साथ प्राप्त किया गया है। इस प्रकार उपलब्धि गोलों के साथ-साथ प्राप्त गोल की धारणा दोनों को परिभाषित किया जा सकता है।

a-goal(formula) ::= goal(formula), not(bel(formula))            goal-a(formula) ::= goal(formula), bel(formula)                         

एजेंट साहित्य में उपलब्धि गोल की अवधारणा को परिभाषित करने पर महत्वपूर्ण साहित्य होता है (संदर्भ देखें)।

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

main module{
  program{
    if a-goal(tower([X,Y|T])), bel(tower([Y|T])) then move(X,Y).
    if a-goal(tower([X|T])) then move(X,table).
  }
}

कार्रवाइयां, जैसे कि ऊपर उपयोग की गई चाल कार्रवाई, पूर्व शर्तों और उत्तर शर्तों के स्टैनफोर्ड अनुसंधान संस्थान समस्या समाधानकर्ता विनिर्देश का उपयोग करके निर्दिष्ट की जाती है। इस प्रकार पूर्व शर्त निर्दिष्ट करती है कि कार्रवाई कब की जा सकती है (सक्षम है)। अतः पोस्टकंडिशन निर्दिष्ट करती है कि कार्रवाई करने के प्रभाव क्या होते है।

actionspec{
  move(X,Y) {
    pre{ clear(X), clear(Y), on(X,Z), not(X=Y) }
    post{ not(on(X,Z)), on(X,Y) }
}

अंत में, ईवेंट मॉड्यूल में पर्यावरण से प्राप्त अवधारणाओं जैसे ईवेंट को संसाधित करने के नियम सम्मिलित होते हैं। इस प्रकार नीचे दिया गया नियम निर्दिष्ट करता है कि प्राप्त सभी धारणाओं के लिए जो इंगित करती हैं कि ब्लॉक

event module{
  program{
    forall bel( percept(on(X,Y)), on(X,Z), not(Y=Z) ) do insert(on(X,Y), not(on(X,Z))).
  }
}

संबंधित एजेंट प्रोग्रामिंग लैंग्वेजएँ

गोल एजेंट प्रोग्रामिंग लैंग्वेज अन्य एजेंट प्रोग्रामिंग लैंग्वेजओं से संबंधित होती है, किन्तु उनसे भिन्न होती है जैसे कि एजेंट0, एजेंटस्पीक, 2एपीएल, .toronto.edu/cogrobo/main/systems/index.html गोलोग, जैक इंटेलिजेंट एजेंट, जादेक्स, और उदाहरण के लिए, जेसन। इस प्रकार गोल की विशिष्ट विशेषता घोषणात्मक प्रोग्रामिंग गोल की अवधारणा होती है। चूँकि गोल एजेंट के गोल यह बताते हैं कि एजेंट क्या प्राप्त करना चाहता है, न कि इसे कैसे प्राप्त करना है। अतः अन्य लैंग्वेजओं से भिन्न, गोल एजेंट अपने गोल के प्रति प्रतिबद्ध होते हैं और किसी गोल को तभी हटाते हैं जब वह पूर्ण प्रकार से प्राप्त हो जाता है। इस प्रकार गोल घोषणात्मक प्रोग्रामिंग और संज्ञानात्मक एजेंटों के लिए आवश्यक तर्क क्षमताओं पर शक्तिशाली फोकस के साथ प्रोग्रामिंग संरचना प्रदान करता है।

यह भी देखें

संदर्भ

टिप्पणियाँ गोल की धारणा पर साहित्य
  • लार्स ब्रौबैक, अलेक्जेंडर पोकाहर, डैनियल मोल्ड्ट और विनफ्राइड लैमर्सडॉर्फ (2004)। बीडीआई एजेंट सिस्टम के लिए गोल प्रतिनिधित्व, प्रोग्रामिंग मल्टीएजेंट सिस्टम पर दूसरी अंतर्राष्ट्रीय कार्यशाला।
  • फिलिप आर. कोहेन और हेक्टर जे. लेवेस्क (1990)। प्रतिबद्धता के साथ इरादा विकल्प है। आर्टिफिशियल इंटेलिजेंस 42, 213-261।
  • एंड्रियास हर्ज़िग और डी. लॉन्गिन (2004)। C&l इरादे पर दोबारा गौर किया गया। इन: प्रोक. 9वें इंट के. ज्ञान प्रतिनिधित्व और तर्क के सम्मेलन सिद्धांत (केआर'04), 527-535।
  • कोएन वी. हिंड्रिक्स, फ्रैंक एस. डी बोअर, विबे वैन डेर होक, जॉन-जूल्स च. मेयर (2000)। घोषणात्मक गोलों के साथ एजेंट प्रोग्रामिंग। इन: प्रोक. 7वें अंतर्राष्ट्रीय का. इंटेलिजेंट एजेंट्स VII (ATAL'00) पर कार्यशाला, पृष्ठ 228-243।
  • आनंद एस. राव और माइकल पी. जॉर्जफ़ (1993)। इरादे और तर्कसंगत प्रतिबद्धता. टेक. प्रतिनिधि 8, ऑस्ट्रेलियाई कृत्रिम बुद्धिमत्ता संस्थान।
  • बिरना वैन रिम्सडिज्क, मेहदी दस्तानी, जॉन-जूल्स च। मेयर (2009)। संघर्ष में गोल: एजेंट प्रोग्रामिंग में गोलों की अर्थपूर्ण नींव। स्वायत्त एजेंटों और मल्टी-एजेंट सिस्टम के अंतर्राष्ट्रीय जर्नल।

बाहरी संबंध