2012-12-08 9 views
15

मैं वर्तमान में बाध्य ऑप्टिमाइज़ेशन समस्याओं में GA का उपयोग करने पर एक पेपर पढ़ रहा हूं। कुछ हिस्सों में, यह व्यक्तियों (या उनके द्वारा किए गए पारेटो मोर्चे) पर निचिंग योजना लागू करने के बारे में बात कर रहा है।निचिंग योजना क्या है?

यह एक सामान्य चयन योजना की तरह लगता है लेकिन जैसा कि मैंने खोजा है, मुझे इसके लिए एक अच्छा स्पष्टीकरण नहीं मिला।

कोई, के रूप में बस संभव के रूप में मुझे समझा सकते हैं कि योजना है niching?

उत्तर

33

बस शब्दों में कहें, निकिंग एक ऐसी विधियों का एक वर्ग है जो एक रन के दौरान एक से अधिक समाधान में अभिसरण करने का प्रयास करता है।

निकिंग जीए की आबादी को अलग-अलग सेटों में विभाजित करने का विचार है, जिसका इरादा है कि फिटनेस फ़ंक्शन के प्रत्येक क्षेत्र में कम से कम एक सदस्य "रोचक" है; आम तौर पर इसका मतलब है कि आप एक से अधिक स्थानीय ऑप्टिमा को कवर करते हैं।

f(x) = sin(x^2) जैसे फ़ंक्शन की कल्पना करें।

enter image description here

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

standard GA

कुछ देख सकते हैं niching तकनीकों का एक सामान्य वर्ग लगभग आधी आबादी प्रत्येक न्यूनतम में converging के साथ खत्म करने का इरादा है (या संभवतः कम से कम कुछ सदस्यों को x=0 पर न्यूनतम फिट सहित)।

niching

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

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

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

1

हाँ अच्छा विवरण। ये सभी तकनीक जनसंख्या की विविधता को बनाए रखने के लिए बनाई गई हैं।

पेट्स मोर्चा भी क्या करता है। जीए जो एक पारेटो मोर्चा की तलाश में हैं वे मल्टी ऑब्जेक्टिव इवोल्यूशनरी एल्गोरिदम हैं। वे न केवल एक मानदंड को अनुकूलित करने का प्रयास करते हैं बल्कि दो या दो से अधिक। तो पारेटो मोर्चा सभी इंडिवियुडल हैं जो आबादी के व्यक्ति द्वारा प्रभुत्व वाले पारेटो नहीं हैं। http://en.wikipedia.org/wiki/Pareto_efficiency

कम शब्दों में: एक व्यक्ति एक pareto सामने के सदस्य अगर वहाँ आबादी है कि कम से कम के रूप में एक कम से कम एक मापदंड में हर मानदंड और एक की तुलना में बेहतर के विषय में रूप में अच्छा में कोई व्यक्ति बी है।

संबंधित मुद्दे