जब आनुवंशिक एल्गोरिदम अनुकूलन के लिए एक अच्छा विकल्प हैं?


20

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

ST5 एंटीना

जब आनुवंशिक अनुकूलन विधियाँ अधिक सामान्य ढाल वंश विधियों की तुलना में बेहतर विकल्प होती हैं?


7
: उदाहरण के लिए +1, मैं मूल कागज पाया alglobus.net/NASAwork/papers/Space2006Antenna.pdf
टिम

जवाबों:


19

जेनेटिक एल्गोरिदम (जीए) कई आंकड़ों का एक परिवार है जो कई मामलों में एक सभ्य जवाब प्रदान करने में अनुभवजन्य रूप से अच्छा है , हालांकि वे किसी दिए गए डोमेन के लिए शायद ही कभी सबसे अच्छा विकल्प हैं।

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

सामान्य (यहां तक ​​कि व्युत्पन्न-मुक्त तरीकों) में कई मानक अनुकूलन एल्गोरिदम हैं, यह धारणा है कि अंतर्निहित स्थान एक चिकनी मैनिफोल्ड है (शायद कुछ असतत आयामों के साथ), और अनुकूलन करने के लिए फ़ंक्शन कुछ हद तक अच्छी तरह से व्यवहार किया जाता है।

हालाँकि, सभी कार्य एक सुचारु रूप से परिभाषित नहीं हैं। कभी-कभी आप एक ग्राफ़ या अन्य असतत संरचनाओं (कॉम्बीनेटरियल ऑप्टिमाइज़ेशन) पर अनुकूलन करना चाहते हैं - यहाँ समर्पित एल्गोरिदम हैं, लेकिन GA भी काम करेंगे।

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

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


2

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


एक नीच के लिए ठीक है, लेकिन क्या आप समझा सकते हैं कि मैं कहां गलत हूं?
मनु

5
यह साइट मान उत्तर देता है जो संदर्भ और पृष्ठभूमि प्रदान करता है। दिलचस्प सवालों के उपयोगी जवाबों के हमारे भंडार में उत्तर कैसे प्रदान करें, इसके लिए यह सहायता पृष्ठ देखें । अपने उत्तर की व्याख्या करना भी अपनी समझ को परखने का एक अच्छा तरीका है। उदाहरण के लिए, इस मामले में आप इस बात पर विस्तार करना चाह सकते हैं कि आनुवंशिक एल्गोरिदम "मल्टीक्रिटेरिया ऑप्टिमाइज़ेशन के लिए कैसे अनुकूल हैं," जैसा कि विकिपीडिया पृष्ठ आनुवंशिक एल्गोरिदम के उद्देश्यों के रूप में एकल-मूल्यवान फिटनेस कार्यों को लागू करने के लिए लगता है।
एड्म

0

किस अर्थ में सर्वश्रेष्ठ?

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

मैं भविष्य के रन के लिए एल्गोरिथ्म के पिछले समाधानों को सुदृढ़ करने की संभावना की भी सराहना करता हूं जो दोहराया कार्य के लिए अच्छा है।

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

जेनेटिक एल्गोरिदम को भी नेस्टेड किया जा सकता है: एक जीए की लागत फ़ंक्शन जीए हो सकती है! ये एल्गोरिदम आधुनिक हार्डवेयर और बुनियादी ढांचे का लाभ उठाते हैं जो उन्हें एक बहुत बड़ी आबादी की गणना करने की अनुमति देते हैं ताकि - सरल म्यूटेशन / चयन संचालन के साथ भी - आप अभी भी अच्छे परिणाम प्राप्त कर सकें।

यहां तक ​​कि साधारण समस्याओं के लिए, जैसे कि एक लहर फ़ंक्शन का न्यूनतम पता लगाना, GA उतना बुरा नहीं है और एक स्वीकार्य समय में एक सभ्य परिशुद्धता प्राप्त कर सकते हैं।

तो हाँ, विश्लेषणात्मक समाधानों में त्वरित निष्पादन समय और सटीक हो सकता है, लेकिन उन्हें अधिक उत्पादन करने के लिए आवश्यक समय अक्सर लाभ की उम्मीद करता है! तो कब ? मेरे लिए लगभग हर बार, कम से कम मेटा-ऑप्टिमाइज़ेशन के लिए।


इस तर्क का मुख्य जोर यह प्रतीत होता है कि आनुवंशिक एल्गोरिदम ब्लैक-बॉक्स ऑप्टिमाइज़र हैं। लेकिन वहाँ ब्लैक-बॉक्स ऑप्टिमाइज़र बहुत सारे हैं। यह अन्य विकल्पों की तुलना में बेहतर क्यों होगा? इसके अलावा, मुझे नहीं लगता कि यह वास्तव में ऐसा मामला है कि जीए आसानी से बाधाओं को संभाल सकता है। उदाहरण के लिए, यदि फ़ंक्शन 4D दुनिया में 3 डी सबस्पेस के अलावा अपरिभाषित है, तो निश्चित रूप से एक वेनिला जीए विफल हो जाएगी।
क्लिफ एबी

@ क्लिफब वास्तव में मैंने इसके बारे में कुछ नहीं कहा और शायद इसके विपरीत। जीए में, आपके पास कोर गणना पर बहुत अधिक नियंत्रण है, जीए अपने आप में चरणों और प्रकाश व्यवस्था का एक क्रम है। जब आप लागत कार्यों को परिभाषित करते हैं, तो आप फ़ंक्शन में कुछ भी संभाल सकते हैं, यहां तक ​​कि बाहरी बाधाएं जो आप क्वेरी कर सकते हैं। मेरी मुख्य दलीलें हैं: कई समस्याओं को संभालना, आपको फ्रेमवर्क के साथ संगतता के साथ संबंध नहीं होना चाहिए (आपको बस एक लागत वापस करनी होगी), ज्यादातर व्यावसायिक मामलों में एक सभ्य वास्तविक जीवन समाधान के साथ आएं, अगर यह हमेशा नहीं होता है सबसे अच्छा
जोसेफ योरिन
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.