2010-12-13 11 views
6

में चयन के लिए केवल शीर्ष x% का चयन करना मैं वर्तमान में StringEvolver पर काम कर रहा हूं और मुझे एक विशिष्ट शब्द के बारे में बिल्कुल यकीन नहीं है जिसका उपयोग GAs में किया जा सकता है।आनुवंशिक एल्गोरिदम

जेनेटिक एल्गोरिदम में, एलिटिज्म उस आबादी का सबसेट है जो अगली पीढ़ी को सीधे प्रचारित किया जाता है; सही बात?

लेकिन क्या केवल उपयोग करने के लिए एक विशिष्ट शब्द है, उदाहरण के लिए, वर्तमान जनसंख्या के बजाय चयन, क्रॉसओवर और उत्परिवर्तन प्रक्रिया के लिए वर्तमान जनसंख्या का शीर्ष 75%? असल में, एक्स% दर क्या कहा जाता है?

क्या मेरा मतलब है कि के लिए एक रूले-चयन प्रक्रिया पूरी आबादी का उपयोग कर कहते हैं, के बजाय, मैं केवल शीर्ष x% का उपयोग है


(यानी के बीच की आबादी का सबसे अच्छा x% केवल नस्ल)

कारण मैं पूछता हूं क्योंकि मैंने उपयोग करते समय महत्वपूर्ण प्रदर्शन सुधार (त्वरित अभिसरण) देखा है, उदाहरण के लिए, पूर्ण उपयोग करने के बजाय पीढ़ी को आगे बढ़ाने के लिए चयन, क्रॉसओवर और उत्परिवर्तन प्रक्रियाओं के लिए आबादी का शीर्ष 10-25% आबादी।

उत्तर

3

एक बेवकूफ चयन रणनीति जिसमें आप कमजोर उम्मीदवारों को छोड़ देते हैं उन्हें कभी-कभी छंटनी चयन कहा जाता है। कई समस्याओं के लिए यह समय से पहले अभिसरण की ओर जाता है, हालांकि मुझे लगता है कि यह यात्रा विक्रेता समस्या के लिए काफी अच्छा काम करता है।

लगता है जैसे आपके पास दो चरण रणनीति है, सबसे पहले कमजोर उम्मीदवारों को खत्म करने के लिए छंटनी चयन का उपयोग करके और फिर चयन को अंतिम रूप देने के लिए एक और परिष्कृत रणनीति (रूले व्हील?) लागू करना।

कमजोर उम्मीदवारों की संभावना पूरी तरह से खत्म करने की बजाय, चयन रणनीति चुनना बेहतर हो सकता है जो आपको उस संभावना को ट्विक करने की अनुमति देता है। उदाहरण के लिए, टूर्नामेंट चयन के साथ आप यह तय करने के लिए दहलीज समायोजित कर सकते हैं कि कमजोर उम्मीदवार एक मजबूत व्यक्ति के बजाय कैसे जीवित रहता है।

+0

+1 हां, यह मूल रूप से मैं जो खोज रहा था वह है। चीयर्स! –

1

ऐसा लगता है कि आप बस एक विशिष्ट चयन पद्धति के बारे में बात कर रहे हैं। आप रैखिक रूप से उच्च दर पर वृद्धि के लिए अपने फिटनेस फ़ंक्शन को स्केल करके मोटे तौर पर वही काम कर सकते हैं।

उस ने कहा, मैं हर बार आपकी आबादी के नीचे हिस्सों को फेंकने के खिलाफ सावधानी बरतता हूं। छोटे जीए के लिए यह आपको अधिक तेज़ी से एकत्रित करने की अनुमति देगा, लेकिन वास्तविक दुनिया की समस्याओं के लिए यह अक्सर आपके समाधान की गुणवत्ता को कम करने, स्थानीय न्यूनतम में आपको फेंक देगा।

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

उम्मीद है कि इससे मदद मिलती है।

1

शीर्ष x% तत्वों में चयन को प्रतिबंधित करने के लिए कोई विशिष्ट शब्द नहीं है, यह केवल चयन कारकों को लागू करते समय सेट करने वाले कारकों में से एक है।

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

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