आनुवंशिक प्रतिनिधित्व

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

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

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

सामान्य आनुवंशिक प्रतिनिधित्व

 * जेनेटिक एल्गोरिद्म
 * विकासवादी एल्गोरिदम|पूर्णांक या वास्तविक-मूल्यवान सरणी
 * द्विआधारी वृक्ष
 * सुझाव
 * पार्स वृक्ष
 * निर्देशित ग्राफ

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

खोज स्थान और समस्या स्थान के बीच संबंध
ईए एप्लिकेशन की सफलता के लिए खोज स्थान के उचित विकल्प के महत्व को शुरुआत में ही पहचान लिया गया था।  निम्नलिखित आवश्यकताओं को एक उपयुक्त खोज स्थान पर रखा जा सकता है और इस प्रकार एक उपयुक्त जीनोटाइप-फेनोटाइप मैपिंग पर रखा जा सकता है:

पूर्णता
सभी संभावित स्वीकार्य समाधान खोज स्थान में समाहित होने चाहिए।

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

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

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

स्केलिंग
जीनोटाइप-फेनोटाइप मैपिंग में, जीनोटाइप के तत्वों को अलग-अलग तरीके से स्केल (भारित) किया जा सकता है। सबसे सरल मामला एकसमान स्केलिंग का है: जीनोटाइप के सभी तत्वों को फेनोटाइप में समान रूप से महत्व दिया जाता है। एक सामान्य स्केलिंग घातीय है। यदि पूर्णांक को बाइनरी कोडित किया जाता है, तो परिणामी बाइनरी संख्या के अलग-अलग अंकों में फेनोटाइप का प्रतिनिधित्व करने में घातीय वृद्धि अलग-अलग होती है।
 * उदाहरण: संख्या 90 को बाइनरी में (अर्थात् घातांक दो में) 1011010 के रूप में लिखा जाता है। यदि अब बाइनरी नोटेशन में सामने के अंकों में से एक को बदल दिया जाता है, तो इसका कोडित पर काफी अधिक प्रभाव पड़ता है पीछे के अंकों में किसी भी परिवर्तन की तुलना में संख्या (चयन दबाव का सामने के अंकों पर तेजी से अधिक प्रभाव पड़ता है)।

इस कारण से, घातीय स्केलिंग में जीनोटाइप में पीछे के स्थानों को बेतरतीब ढंग से ठीक करने का प्रभाव होता है, इससे पहले कि जनसंख्या इन सूक्ष्मताओं को समायोजित करने के लिए गणितीय अनुकूलन के काफी करीब पहुंच जाए।

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

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

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

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

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

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