ग्रीडी एल्गोरिथम

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

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

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


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

इष्टतम उपसंरचना: यदि समस्या के इष्टतम समाधान में उप-समस्याओं के लिए इष्टतम समाधान सम्मिलित हैं, तो समस्या इष्टतम उपसंरचना प्रदर्शित करती है।

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

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


 * शुद्ध ग्रीडी एल्गोरिदम
 * ऑर्थोगोनल ग्रीडी एल्गोरिदम
 * आराम से ग्रीडी एल्गोरिदम

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


 * ग्रीडी एल्गोरिदम किन समस्याओं के लिए उत्तम प्रदर्शन करते हैं?
 * ग्रीडी एल्गोरिदम किन समस्याओं के लिए लगभग इष्टतम समाधान की गारंटी देते हैं?
 * ग्रीडी कलन विधि किन समस्याओं के लिए इष्टतम समाधान नहीं बनाने की गारंटी देता है?

सामान्य वर्ग की समस्याओं, जैसे मैट्रोइड्स, साथ ही समुच्चय कवर जैसी विशिष्ट समस्याओं के लिए इन प्रश्नों का उत्तर देने के लिए साहित्य का बड़ा निकाय उपस्थित है।

मैट्रोइड्स
एक मैट्रॉइड गणितीय संरचना है जो वेक्टर रिक्त स्थान से मनमानी समुच्चय तक रैखिक स्वतंत्रता की धारणा को सामान्यीकृत करती है। यदि अनुकूलन समस्या में मैट्रोइड की संरचना होती है, तो उचित ग्रीडी एल्गोरिदम इसे उत्तम तरीके से हल करेगा।

सबमॉड्यूलर फ़ंक्शन
एक फलन $$f$$ समुच्चय के उपसमुच्चय पर परिभाषित $$\Omega$$ सबमॉड्यूलर कहा जाता है यदि हर के लिए $$S, T \subseteq \Omega$$ हमारे पास वह है $$f(S)+f(T)\geq f(S\cup T)+f(S\cap T)$$.

मान लीजिए कोई समुच्चय खोजना चाहता है $$S$$ जो अधिकतम करता है $$f$$. ग्रीडी एल्गोरिदम, जो समुच्चय बनाता है $$S$$ वृद्धिशील तत्व को जोड़कर जो बढ़ता है $$f$$ प्रत्येक चरण में सबसे अधिक, आउटपुट के रूप में समुच्चय का उत्पादन करता है जो कम से कम है $$(1 - 1/e) \max_{X \subseteq \Omega} f(X)$$. अर्थात्, ग्रीडी स्थिर कारक के अंदर प्रदर्शन करता है $$(1 - 1/e) \approx 0.63$$ इष्टतम समाधान के रूप में अच्छा।

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

गारंटी के साथ अन्य समस्याएं
अन्य समस्याएं जिनके लिए ग्रीडी एल्गोरिथ्म शक्तिशाली  गारंटी देता है, किन्तु इष्टतम समाधान नहीं है, इसमें सम्मिलित  हैं


 * सेट कवर समस्या # ग्रीडी एल्गोरिथ्म
 * स्टेनर ट्री समस्या
 * भार संतुलन (कंप्यूटिंग)
 * स्वतंत्र समुच्चय (ग्राफ सिद्धांत) # सन्निकटन एल्गोरिदम

इनमें से कई समस्याओं की मैचिंग निचली सीमाएं हैं; अर्थात, ग्रीडी एल्गोरिथ्म सबसे खराब स्थिति में गारंटी से उत्तम प्रदर्शन नहीं करता है।

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

यदि ग्रीडी कलन विधि किसी दिए गए समस्या वर्ग के लिए वैश्विक इष्टतम उत्पन्न करने के लिए सिद्ध किया जा सकता है, तो यह सामान्यतः पसंद का विधि  बन जाता है क्योंकि यह गतिशील प्रोग्रामिंग जैसे अन्य अनुकूलन विधियों की तुलना में तेज़ है। इस तरह के ग्रीडी  एल्गोरिदम के उदाहरण क्रुस्कल के एल्गोरिदम और प्राइम के एल्गोरिदम न्यूनतम फैले हुए पेड़ और इष्टतम हफमैन पेड़ खोजने के लिए एल्गोरिदम हैं।

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

उदाहरण

 * गतिविधि चयन समस्या इस वर्ग की समस्याओं की विशेषता है, जहाँ लक्ष्य उन गतिविधियों की अधिकतम संख्या को चुनना है जो दूसरे से टकराती नहीं हैं।
 * मैकिंटोश कंप्यूटर गेम क्रिस्टल क्वेस्ट में, यात्रा विक्रेता समस्या के समान फैशन में, उद्देश्य क्रिस्टल को इकट्ठा करना है। गेम में डेमो मोड है, जहां गेम प्रत्येक क्रिस्टल पर जाने के लिए ग्रीडी एल्गोरिदम का उपयोग करता है। कृत्रिम बुद्धि बाधाओं के लिए जिम्मेदार नहीं है, इसलिए डेमो मोड  अधिकांशतः  जल्दी समाप्त हो जाता है।
 * मिलान पीछा सिग्नल सन्निकटन पर प्रयुक्त ग्रीडी  कलन विधि का उदाहरण है।
 * एक ग्रीडी एल्गोरिद्म मालफट्टी हलकों के लिए इष्टतम समाधान ढूंढता है। मालफट्टी की दी गई त्रिकोण के अंदर तीन असम्बद्ध हलकों को खोजने की समस्या जो हलकों के कुल क्षेत्रफल को अधिकतम करती है; यह अनुमान लगाया गया है कि समान ग्रीडी  कलन विधि किसी भी मंडलियों के लिए इष्टतम है।
 * हफ़मैन कोडिंग के समय हफमैन पेड़ बनाने के लिए ग्रीडी एल्गोरिदम का उपयोग किया जाता है जहां यह इष्टतम समाधान पाता है।
 * निर्णय वृक्ष सीखना में, ग्रीडी एल्गोरिदम का सामान्यतः उपयोग किया जाता है, चूंकि उन्हें इष्टतम समाधान खोजने की गारंटी नहीं है।
 * इस तरह का लोकप्रिय कलन विधि निर्णय ट्री निर्माण के लिए ID3 कलन विधि है।
 * दिज्क्स्ट्रा का एल्गोरिद्म और संबंधित Aए * खोज एल्गोरिदम ग्राफ खोज और सबसे छोटा पथ समस्या के लिए सत्यापित रूप से इष्टतम ग्रीडी एल्गोरिद्म हैं।
 * A* खोज सशर्त रूप से इष्टतम है, जिसके लिए स्वीकार्य अनुमान की आवश्यकता होती है जो पथ की निवेशों का अधिक अनुमान नहीं लगाएगा।
 * क्रुस्कल आईडी3 कलन विधि और प्राइम का कलन विधि दिए गए जुड़े ग्राफ के न्यूनतम फैले हुए पेड़ों के निर्माण के लिए ग्रीडी एल्गोरिदम हैं। वे हमेशा इष्टतम समाधान ढूंढते हैं, जो सामान्य रूप से अद्वितीय नहीं हो सकता है।

यह भी देखें

 * सर्वश्रेष्ठ-पहली खोज
 * मल्टी-आर्म्ड बैंडिट#सेमी-यूनिफ़ॉर्म स्ट्रैटेजी|एप्सिलॉन-लालची रणनीति
 * मिस्र के अंशों के लिए लालची एल्गोरिथ्म
 * लालची स्रोत
 * पहाड़ी की चढ़ाई
 * क्षितिज प्रभाव
 * मैट्रॉइड