AI-For-Beginners/translations/hi/lessons/6-Other/23-MultiagentSystems
localizeflow[bot] 6ddc102854 chore(i18n): sync translations with latest source changes (chunk 1/1, 19 changes) 2026-07-08 19:08:14 +00:00
..
README.md chore(i18n): sync translations with latest source changes (chunk 1/1, 19 changes) 2026-07-08 19:08:14 +00:00
assignment.md chore(i18n): sync translations with latest source changes (chunk 1/1, 205 changes) 2026-01-30 01:32:15 +00:00

README.md

मल्टी-एजेंट सिस्टम

बुद्धिमत्ता हासिल करने के संभावित तरीकों में से एक तथाकथित उभरने वाला (या सिनर्जेटिक) दृष्टिकोण है, जो इस तथ्य पर आधारित है कि कई अपेक्षाकृत साधारण एजेंटों का सम्मिलित व्यवहार पूरे सिस्टम के अधिक जटिल (या बुद्धिमान) व्यवहार का परिणाम हो सकता है। सैद्धांतिक रूप से, यह सामूहिक बुद्धिमत्ता, एमर्जेंटिज़्म और एवोल्यूशनरी सायबरनेटिक्स के सिद्धांतों पर आधारित है, जो कहते हैं कि उच्च-स्तरीय सिस्टम निम्न-स्तरीय सिस्टमों से उचित रूप से संयोजित होने पर किसी प्रकार का अतिरिक्त मूल्य प्राप्त करते हैं (जिसे मेटासिस्टम संक्रमण का सिद्धांत कहा जाता है)।

प्री-लेक्चर क्विज़

मल्टी-एजेंट सिस्टम की दिशा 1990 के दशक में AI में इंटरनेट और वितरित प्रणालियों की वृद्धि के जवाब में उभरी। एक क्लासिक AI पाठ्यपुस्तक, Artificial Intelligence: A Modern Approach, मल्टी-एजेंट सिस्टम के दृष्टिकोण से क्लासिक AI के दृष्टिकोण पर केंद्रित है।

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

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

मल्टी-एजेंट सिस्टम आजकल कई अनुप्रयोगों में उपयोग किए जाते हैं:

  • खेलों में, कई नॉन-प्लेयर कैरेक्टर किसी न किसी प्रकार की AI का उपयोग करते हैं और बुद्धिमान एजेंट माने जाते हैं
  • वीडियो उत्पादन में, भीड़ वाले जटिल 3D दृश्य को रेंडर करना आमतौर पर मल्टी-एजेंट सिमुलेशन का उपयोग करके किया जाता है
  • सिस्टम मॉडलिंग में, मल्टी-एजेंट दृष्टिकोण का उपयोग जटिल मॉडल के व्यवहार की नकल के लिए किया जाता है। उदाहरण के लिए, COVID-19 बीमारी के विश्वव्यापी प्रसार की भविष्यवाणी के लिए मल्टी-एजेंट दृष्टिकोण का सफलतापूर्वक उपयोग किया गया है। इसी तरह का दृष्टिकोण शहर में ट्रैफिक का मॉडल बनाने और देखने के लिए उपयोग किया जा सकता है कि यह ट्रैफिक नियमों में परिवर्तनों पर कैसे प्रतिक्रिया करता है।
  • जटिल ऑटोमेशन प्रणालियों में, प्रत्येक उपकरण स्वतंत्र एजेंट के रूप में कार्य कर सकता है, जिससे पूरा सिस्टम कम कठोर और अधिक मजबूत हो जाता है।

हम मल्टी-एजेंट सिस्टम पर ज्यादा गहराई से समय नहीं बिताएंगे, लेकिन मल्टी-एजेंट मॉडलिंग का एक उदाहरण देखेंगे।

नेटलोगो

NetLogo एक मल्टी-एजेंट मॉडलिंग वातावरण है जो Logo प्रोग्रामिंग भाषा के संशोधित संस्करण पर आधारित है। यह भाषा बच्चों को प्रोग्रामिंग अवधारणाएँ सिखाने के लिए विकसित की गई थी, और यह आपको एक एजेंट जिसे टर्टल कहा जाता है, को नियंत्रित करने की अनुमति देती है, जो पीछे निशान छोड़ते हुए चल सकता है। यह जटिल ज्यामितीय आकृतियाँ बनाने की अनुमति देता है, जो एजेंट के व्यवहार को समझने का एक बहुत ही दृश्य तरीका है।

NetLogo में, हम create-turtles कमांड का उपयोग करके कई टर्टल बना सकते हैं। फिर हम सभी टर्टल्स को कुछ क्रियाएं करने का आदेश दे सकते हैं (नीचे के उदाहरण में - 10 प्वाइंट आगे बढ़ना):

create-turtles 10
ask turtles [
  forward 10
]

बेशक, जब सभी टर्टल्स एक ही काम करते हैं तो यह रोचक नहीं होता, इसलिए हम टर्टल्स के समूहों को ask कर सकते हैं, उदाहरण के लिए जो एक निश्चित बिंदु के आसपास हैं। हम breed [cats cat] कमांड का उपयोग करके विभिन्न जातियों के टर्टल भी बना सकते हैं। यहाँ cat एक जाति का नाम है, और हमें दोनों बहुवचन और एकवचन शब्द निर्दिष्ट करने की आवश्यकता होती है, क्योंकि विभिन्न कमांड्स स्पष्टता के लिए अलग-अलग रूपों का उपयोग करते हैं।

हम NetLogo भाषा सीखने में बहुत गहराई में नहीं जाएंगे - अगर आप अधिक सीखने में रुचि रखते हैं तो आप उत्कृष्ट Beginner's Interactive NetLogo Dictionary संसाधन देख सकते हैं।

आप NetLogo को डाउनलोड कर सकते हैं और इसे आजमा सकते हैं।

मॉडल लाइब्रेरी

NetLogo की एक अच्छी बात यह है कि इसमें कई काम करने वाले मॉडल की लाइब्रेरी होती है जिसे आप आज़मा सकते हैं। File → Models Library पर जाएं, और आपके पास चुनने के लिए कई मॉडल श्रेणियां होंगी।

NetLogo Models Library

दिमित्रि सोश्निकोव द्वारा मॉडल लाइब्रेरी का स्क्रीनशॉट

आप एक मॉडल खोल सकते हैं, उदाहरण के लिए Biology → Flocking

मुख्य सिद्धांत

मॉडल खोलने के बाद, आप मुख्य NetLogo स्क्रीन पर ले जाए जाते हैं। यहाँ एक नमूना मॉडल है जो भेड़ियों और भेड़ों की आबादी का वर्णन करता है, सीमित संसाधनों (घास) के साथ।

NetLogo Main Screen

दिमित्रि सोश्निकोव द्वारा स्क्रीनशॉट

इस स्क्रीन पर, आप देख सकते हैं:

  • इंटरफेस सेक्शन जिसमें शामिल हैं:
    • मुख्य क्षेत्र, जहाँ सभी एजेंट रहते हैं
    • विभिन्न नियंत्रण: बटन, स्लाइडर, आदि
    • ग्राफ़ जो आप सिमुलेशन के पैरामीटर दिखाने के लिए उपयोग कर सकते हैं
  • कोड टैब जिसमें संपादक होता है, जहाँ आप NetLogo प्रोग्राम टाइप कर सकते हैं

अधिकांश मामलों में, इंटरफेस में एक Setup बटन होता है, जो सिमुलेशन की स्थिति प्रारंभ करता है, और एक Go बटन जो निष्पादन शुरू करता है। ये संबंधित कोड हैंडलर्स द्वारा नियंत्रित होते हैं, जो इस प्रकार दिखते हैं:

to go [
...
]

NetLogo की दुनिया निम्नलिखित वस्तुओं से बनी होती है:

  • एजेंट (टर्टल) जो क्षेत्र में घूम सकते हैं और कुछ काम कर सकते हैं। आप ask turtles [...] सिंटैक्स का उपयोग करके एजेंटों को निर्देश देते हैं, और ब्रैकेट में कोड सभी एजेंट द्वारा टर्टल मोड में चलाया जाता है।
  • पैच क्षेत्र के वर्गाकार क्षेत्र हैं, जिन पर एजेंट रहते हैं। आप एक ही पैच पर सभी एजेंटों को संदर्भित कर सकते हैं, या पैच के रंग और अन्य गुण बदल सकते हैं। आप ask patches का उपयोग भी कर सकते हैं।
  • ऑब्ज़र्वर एक विशिष्ट एजेंट है जो दुनिया को नियंत्रित करता है। सभी बटन हैंडलर्स ऑब्ज़र्वर मोड में निष्पादित होते हैं।

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

फ्लॉकिंग

मल्टी-एजेंट व्यवहार के एक उदाहरण के रूप में, चलिए Flocking पर विचार करते हैं। फ्लॉकिंग एक जटिल पैटर्न है जो पक्षियों के झुंड की उड़ान से बहुत मिलता-जुलता है। उन्हें उड़ते हुए देखकर आप सोच सकते हैं कि वे किसी सामूहिक एल्गोरिदम का पालन करते हैं, या उनके पास किसी प्रकार की सामूहिक बुद्धिमत्ता है। हालांकि, यह जटिल व्यवहार तब उभरता है जब प्रत्येक व्यक्तिगत एजेंट (इस मामले में, पक्षी) केवल अपने निकटवर्ती एजेंटों को देखता है, और तीन सरल नियमों का पालन करता है:

  • संरेखण - यह आस-पास के एजेंटों के औसत शीर्षक की ओर मोड़ता है
  • सामंजस्य - यह पड़ोसियों के औसत स्थान की ओर मोड़ने का प्रयास करता है (दीर्घ दूरी आकर्षण)
  • विभाजन - जब अन्य पक्षियों के बहुत करीब आता है, तो यह दूर जाने का प्रयास करता है (संक्षिप्त दूरी विकर्षण)

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

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

अन्य मॉडल देखने के लिए

कुछ और दिलचस्प मॉडल हैं जिनके साथ आप प्रयोग कर सकते हैं:

  • Art → Fireworks यह दिखाता है कि आतिशबाजी को व्यक्तिगत आग की धाराओं के सामूहिक व्यवहार के रूप में कैसे माना जा सकता है
  • Social Science → Traffic Basic और Social Science → Traffic Grid शहर के ट्रैफिक मॉडल को 1D और 2D ग्रिड में ट्रैफिक लाइट्स के साथ या बिना दिखाते हैं। सिमुलेशन में प्रत्येक कार निम्नलिखित नियमों का पालन करती है:
    • यदि उसके सामने जगह खाली है - तो वह तेजी से चलती है (एक निश्चित अधिकतम गति तक)
    • यदि वह सामने बाधा देखती है - तो ब्रेक लगाती है (और आप समायोजित कर सकते हैं कि ड्राइवर कितना दूर देख सकता है)
  • Social Science → Party यह दिखाता है कि कॉकटेल पार्टी के दौरान लोग कैसे समूह बनाते हैं। आप उन पैरामीटरों के संयोजन को खोज सकते हैं जो समूह की खुशी में सबसे तेज वृद्धि की ओर ले जाते हैं।

जैसा कि आप इन उदाहरणों से देख सकते हैं, मल्टी-एजेंट सिमुलेशन एक जटिल सिस्टम के व्यवहार को समझने का एक उपयोगी तरीका हो सकता है जो समान या समान तर्क का पालन करने वाले व्यक्तियों से बना होता है। इसे कंप्यूटर गेमों में NPCs जैसे वर्चुअल एजेंटों, या 3D एनिमेटेड दुनिया के एजेंटों को नियंत्रित करने के लिए भी इस्तेमाल किया जा सकता है।

डिलिब्रेटिव एजेंट

ऊपर वर्णित एजेंट बहुत सरल हैं, जो पर्यावरण के परिवर्तनों पर किसी प्रकार के एल्गोरिदम का उपयोग करके प्रतिक्रिया देते हैं। इसलिए इन्हें रिएक्टिव एजेंट कहा जाता है। हालांकि, कभी-कभी एजेंट तर्क कर सकते हैं और अपनी क्रिया की योजना बना सकते हैं, जिसे डिलिब्रेटिव कहा जाता है।

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

ऐसा करने के लिए, एजेंटों को संचार करने की आवश्यकता होती है। सफल संचार के लिए उन्हें चाहिए:

  • कुछ मानक भाषाएँ ज्ञान के आदान-प्रदान के लिए, जैसे Knowledge Interchange Format (KIF) और Knowledge Query and Manipulation Language (KQML)। ये भाषाएँ Speech Act theory पर आधारित हैं।
  • उन भाषाओं में कुछ बातचीत के प्रोटोकॉल भी शामिल होने चाहिए, विभिन्न नीलामी प्रकारों के आधार पर।
  • एक साझा ओन्टोलॉजी का उपयोग, ताकि वे एक ही अवधारणाओं को संदर्भित करें और उनकी अर्थवत्ता को समझें
  • यह पता लगाने का एक तरीका कि विभिन्न एजेंट क्या कर सकते हैं, जो किसी प्रकार की ओन्टोलॉजी पर आधारित हो

डिलिब्रेटिव एजेंट रिएक्टिव की तुलना में बहुत अधिक जटिल होते हैं, क्योंकि वे केवल पर्यावरण में बदलावों पर प्रतिक्रिया नहीं देते, उन्हें क्रियाएँ प्रारंभ करने में सक्षम भी होना चाहिए। डिलिब्रेटिव एजेंट के लिए प्रस्तावित आर्किटेक्चर में से एक है तथाकथित Belief-Desire-Intention (BDI) एजेंट:

  • विश्वास एजेंट के पर्यावरण के बारे में ज्ञान का एक सेट बनाते हैं। इसे एक ज्ञान आधार या नियमों के सेट के रूप में संरचित किया जा सकता है जिसे एजेंट पर्यावरण की विशिष्ट स्थिति में लागू कर सकता है।
  • इच्छाएँ परिभाषित करती हैं कि एजेंट क्या करना चाहता है, यानी उसके लक्ष्य। उदाहरण के लिए, ऊपर के व्यक्तिगत सहायक एजेंट का लक्ष्य एक यात्रा बुक करना है, और होटल एजेंट का लक्ष्य अधिकतम लाभ प्राप्त करना है।
  • इरादे विशिष्ट क्रियाएँ होती हैं जिन्हें एजेंट अपने लक्ष्यों को प्राप्त करने के लिए योजना बनाता है। क्रियाएं आमतौर पर पर्यावरण को बदलती हैं और अन्य एजेंटों के साथ संचार करती हैं।

मल्टी-एजेंट सिस्टम बनाने के लिए कुछ प्लेटफ़ॉर्म उपलब्ध हैं, जैसे JADE. यह पेपर मल्टी-एजेंट प्लेटफॉर्मों का एक समीक्षा प्रदान करता है, साथ ही मल्टी-एजेंट सिस्टमों का संक्षिप्त इतिहास और उनके विभिन्न उपयोग परिदृश्यों को भी बताता है।

निष्कर्ष

मल्टी-एजेंट सिस्टम विभिन्न रूप ले सकते हैं और कई विभिन्न अनुप्रयोगों में उपयोग किए जा सकते हैं। वे सभी व्यक्तिगत एजेंट के सरल व्यवहार पर फोकस करते हैं, और सिनर्जेटिक प्रभाव के कारण पूरे सिस्टम के जटिल व्यवहार को प्राप्त करते हैं।

🚀 चुनौती

इस पाठ को वास्तविक दुनिया में ले जाएं और किसी समस्या को हल करने वाले मल्टी-एजेंट सिस्टम की कल्पना करें। उदाहरण के लिए, एक मल्टी-एजेंट सिस्टम को स्कूल बस के रूट को अनुकूलित करने के लिए क्या करना होगा? यह एक बेकरी में कैसे काम कर सकता है?

पोस्ट-लेक्चर क्विज़

समीक्षा और आत्म-अध्ययन

उद्योग में इस प्रकार की प्रणाली के उपयोग की समीक्षा करें। विनिर्माण या वीडियो गेम उद्योग जैसी किसी क्षेत्र को चुनें और जानें कि मल्टी-एजेंट सिस्टम अनूठी समस्याओं के समाधान के लिए कैसे उपयोग किए जा सकते हैं।

NetLogo असाइनमेंट


अस्वीकरण: इस दस्तावेज़ का अनुवाद AI अनुवाद सेवा Co-op Translator का उपयोग करके किया गया है। जबकि हम सटीकता के लिए प्रयास करते हैं, कृपया ध्यान दें कि स्वचालित अनुवादों में त्रुटियाँ या अशुद्धियाँ हो सकती हैं। मूल दस्तावेज़ अपनी मूल भाषा में ही प्रामाणिक स्रोत माना जाना चाहिए। महत्वपूर्ण जानकारी के लिए, पेशेवर मानव अनुवाद की सिफारिश की जाती है। इस अनुवाद के उपयोग से उत्पन्न किसी भी गलतफहमी या गलत व्याख्या के लिए हम उत्तरदायी नहीं हैं।