बस शब्दों में कहें, निकिंग एक ऐसी विधियों का एक वर्ग है जो एक रन के दौरान एक से अधिक समाधान में अभिसरण करने का प्रयास करता है।
निकिंग जीए की आबादी को अलग-अलग सेटों में विभाजित करने का विचार है, जिसका इरादा है कि फिटनेस फ़ंक्शन के प्रत्येक क्षेत्र में कम से कम एक सदस्य "रोचक" है; आम तौर पर इसका मतलब है कि आप एक से अधिक स्थानीय ऑप्टिमा को कवर करते हैं।
f(x) = sin(x^2)
जैसे फ़ंक्शन की कल्पना करें।
एक सामान्य जीए अंत में दो वैश्विक न्यूनतम में से एक के प्रति कवरेज़ होगा। कौन सा प्रारंभिक आबादी और यादृच्छिक अनुवांशिक बहाव पर निर्भर करता है, लेकिन आखिरकार, आपको एक या दूसरे घाटियों में एक व्यक्ति की n
प्रतियां मिलेंगी। उदाहरण के लिए, अगर आप इस तरह के एक जीए को देखा जब यह लगभग कन्वर्ज्ड किया गया था, आप की तरह
कुछ देख सकते हैं niching तकनीकों का एक सामान्य वर्ग लगभग आधी आबादी प्रत्येक न्यूनतम में converging के साथ खत्म करने का इरादा है (या संभवतः कम से कम कुछ सदस्यों को x=0
पर न्यूनतम फिट सहित)।
जैसा कि मैंने सिर्फ इतना कहा, niching वास्तव में एक एल्गोरिथ्म एल्गोरिदम की एक सामान्य वर्ग के रूप में इतना नहीं है। गोल्डबर्ग की फिटनेस शेयरिंग ऐसी एक विधि है। इस विधि में, हम एक विशिष्ट त्रिज्या sigma
परिभाषित करते हैं। इस sigma
की तुलना में किसी भी दो व्यक्तियों के साथ मिलकर एक ही जगह में माना जाता है, और इस प्रकार उनके फिटनेस मूल्यों को साझा करना चाहिए (इस बारे में सोचें कि यह एक ऐसा कार्य है जो आला के प्रत्येक सदस्य की फिटनेस को कम करता है और अधिक घनी आबादी है)। फिर आप जीए कच्चे लोगों के बजाय साझा फिटनेस मूल्यों पर काम करते हैं।
यहां विचार यह है कि आप फिटनेस फ़ंक्शन के एक क्षेत्र में अभिसरण को हतोत्साहित करते हुए वहां सीमित संसाधन हैं। जितने अधिक लोग आगे बढ़ने की कोशिश करते हैं, वे सभी खराब होते हैं। नतीजा यह है कि चूंकि जीए कहीं भी एक स्थानीय इष्टतम में परिवर्तित होता है, इसलिए उस इष्टतम की फिटनेस आला के भीतर बढ़ती प्रतिस्पर्धा की वजह से कम हो जाती है। आखिरकार, फिटनेस परिदृश्य का एक और क्षेत्र अधिक आकर्षक हो जाता है, और व्यक्ति वहां पर स्थानांतरित हो जाते हैं। विचार एक स्थिर स्थिति तक पहुंचना है - गतिशीलता में एक निश्चित बिंदु - जहां प्रत्येक आला का उचित प्रतिनिधित्व बनाए रखा जाता है।
शेयरिंग मैन्युअल रूप से आला त्रिज्या सेट करने की आवश्यकता के कारण कठिन है, और एल्गोरिदम इस विकल्प के प्रति काफी संवेदनशील है। एक और विकल्प भीड़ है। विशेष रूप से, आप "निर्धारक भीड़" देख सकते हैं, जो कि समय के लिए एक लोकप्रिय विधि थी।भीड़ आधारित तरीकों में, एक स्पष्ट त्रिज्या से निपटने के बजाय, हम व्यक्तियों के समूह को सीमित करके काम करते हैं कि एक नया संतान समान समाधानों के कुछ सेट में प्रतिस्थापित कर सकता है, उदाहरण के लिए एक संतान को केवल अपने माता-पिता को बदलने की अनुमति दी जा सकती है। प्रभाव एक अद्वितीय व्यक्ति को प्रतिस्थापित करने से रोकने के लिए है जो आबादी में एक दर्जन अन्य लोगों के समान है और इस प्रकार विविधता को इस तरह से संरक्षित करता है। niching के लिए deong द्वारा