विकासात्मक कलनविधि

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

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

कार्यान्वयन
निम्नलिखित एक सामान्य एकल-उद्देश्य आनुवंशिक एल्गोरिथम का एक उदाहरण है।

चरण एक: व्यक्तियों की प्रारंभिक जनसंख्या को यादृच्छिक रूप से उत्पन्न करें। (पहली पीढ़ी)

चरण दो: समाप्ति तक निम्नलिखित पुनर्जनन चरणों को दोहराएं:


 * 1) आबादी में प्रत्येक व्यक्ति के फिटनेस कार्य का मूल्यांकन करें (समय सीमा, पर्याप्त फिटनेस हासिल की, आदि)
 * 2) पुनरुत्पादन के लिए योग्यतम व्यक्तियों का चयन करें। (अभिभावक)
 * 3) संतान को जन्म देने के लिए क्रॉसओवर (आनुवंशिक एल्गोरिथम) और म्यूटेशन (जन्म प्रमेय) संचालन के माध्यम से नए व्यक्तियों का प्रजनन करें।
 * 4) आबादी के सबसे कम फिट व्यक्तियों को नए व्यक्तियों से बदलें।

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

सैद्धांतिक पृष्ठभूमि
निम्नलिखित सैद्धांतिक सिद्धांत सभी या लगभग सभी EA पर लागू होते हैं।

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

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

अभिजात्य संतानों की स्वीकृति और इष्टतम के अस्तित्व की संपत्ति से यह प्रति पीढ़ी का अनुसरण करता है $$k$$ फिटनेस में सुधार $$F$$ संबंधित सर्वश्रेष्ठ व्यक्ति की $$x'$$ संभावना के साथ होगा $$P > 0$$. इस प्रकार:
 * $$F(x'_1) \leq F(x'_2) \leq F(x'_3) \leq \cdots \leq F(x'_k) \leq \cdots$$

यानी, फिटनेस मान एक मोनोटोनिक फ़ंक्शन गैर-घटते अनुक्रम का प्रतिनिधित्व करते हैं, जो कि इष्टतम के अस्तित्व के कारण सीमित है। इससे इष्टतम के विरुद्ध अनुक्रम का अभिसरण होता है।

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

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

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

संबंधित तकनीकें
झुंड खुफिया शामिल:
 * चींटी कॉलोनी अनुकूलन पथ बनाने के लिए फेरोमोन संचार द्वारा चींटियों की खोज के विचारों पर आधारित है। <रेफरी नाम = स्लोविक क्वासनिका 2018 पीपी। 1004-1015> संयोजनीय अनुकूलन और ग्राफ सिद्धांत समस्याओं के लिए मुख्य रूप से अनुकूल है।
 * रनर-रूट एल्गोरिदम (आरआरए) प्रकृति में पौधों की जड़ों और धावकों के कार्य से प्रेरित है। रेफरी> एफ। मरिख-बायत, द रनर-रूट एल्गोरिद्म: प्रकृति में रनर्स और पौधों की जड़ों से प्रेरित अनिमॉडल और मल्टीमॉडल ऑप्टिमाइजेशन समस्याओं को हल करने के लिए एक मेटाह्यूरिस्टिक, एप्लाइड सॉफ्ट कंप्यूटिंग, वॉल्यूम। 33, पीपी. 292–303, 2015
 * कृत्रिम मधुमक्खी कालोनी एल्गोरिद्म मधुमक्खी पालन व्यवहार पर आधारित है। मुख्य रूप से संख्यात्मक अनुकूलन के लिए प्रस्तावित और संयोजी, विवश और बहुउद्देश्यीय अनुकूलन समस्याओं को हल करने के लिए विस्तारित।
 * मधुमक्खियों का एल्गोरिद्म मधुमक्खियों के चारा खाने के व्यवहार पर आधारित है। इसे रूटिंग और शेड्यूलिंग जैसे कई अनुप्रयोगों में लागू किया गया है।
 * कोयल की खोज कोयल प्रजाति के ब्रूडिंग परजीवीवाद से प्रेरित है। यह लेवी उड़ानों का भी उपयोग करता है, और इस प्रकार यह वैश्विक अनुकूलन समस्याओं के लिए उपयुक्त है।
 * कण झुंड अनुकूलन जानवरों के झुंड के व्यवहार के विचारों पर आधारित है। <रेफरी नाम = स्लोविक क्वासनिका 2018 पीपी। 1004–1015 /> संख्यात्मक अनुकूलन समस्याओं के लिए भी मुख्य रूप से अनुकूल है।

अन्य जनसंख्या-आधारित मेटाह्यूरिस्टिक तरीके

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

उदाहरण
2020 में, Google ने कहा कि उनका AutoML-Zero तंत्रिका नेटवर्क की अवधारणा जैसे क्लासिक एल्गोरिदम को सफलतापूर्वक पुनः खोज सकता है। कंप्यूटर सिमुलेशन टिएरा (कंप्यूटर सिमुलेशन) और एविडा macroevolutionरी डायनामिक्स को मॉडल करने का प्रयास करते हैं।

बाहरी संबंध

 * An Overview of the History and Flavors of Evolutionary Algorithms

इस पेज में लापता आंतरिक लिंक की सूची

 * microevolution
 * लॉस फंकशन
 * अनुकूलन (गणित)
 * उत्परिवर्तन (आनुवंशिक एल्गोरिथम)
 * वंशज
 * पुन: पेश
 * व्यक्तिगत
 * विकास की रणनीति
 * पर्यवेक्षित अध्ययन
 * सुदृढीकरण सीखना
 * अनुमानी (कंप्यूटर विज्ञान)
 * व्यापकता के नुकसान के बिना
 * बंधा हुआ सेट
 * evolability
 * संयोजन अनुकूलन
 * कृत्रिम मधुमक्खी कॉलोनी एल्गोरिदम
 * कोयल की खोज
 * मधुमक्खियों का एल्गोरिदम
 * सद्भाव खोज
 * ऊष्मप्रवैगिकी और सूचना सिद्धांत में एन्ट्रॉपी
 * मतलब फिटनेस
 * जुगनू एल्गोरिथ्म
 * गॉसियन अनुकूलन
 * लालची

ग्रन्थसूची

 * Ashlock, D. (2006), Evolutionary Computation for Modeling and Optimization, Springer, ISBN 0-387-22196-4.
 * Bäck, T. (1996), Evolutionary Algorithms in Theory and Practice: Evolution Strategies, Evolutionary Programming, Genetic Algorithms, Oxford Univ. Press.
 * Bäck, T., Fogel, D., Michalewicz, Z. (1997), Handbook of Evolutionary Computation, Oxford Univ. Press. 10.1201/9780367802486
 * Banzhaf, W., Nordin, P., Keller, R., Francone, F. (1998), Genetic Programming - An Introduction, Morgan Kaufmann, San Francisco.
 * Eiben, A.E., Smith, J.E. (2003), Introduction to Evolutionary Computing, Springer. 10.1007/978-3-662-44874-8
 * Holland, J. H. (1992), Adaptation in Natural and Artificial Systems, The University of Michigan Press, Ann Arbor
 * Michalewicz, Z.; Fogel, D.B. (2004), How To Solve It: Modern Heuristics. Springer, Berlin, Heidelberg, ISBN 978-3-642-06134-9, 10.1007/978-3-662-07807-5.
 * Price, K., Storn, R.M., Lampinen, J.A., (2005). Differential Evolution: A Practical Approach to Global Optimization, Springer, Berlin, Heidelberg, ISBN 978-3-642-42416-8, 10.1007/3-540-31306-0.
 * Ingo Rechenberg (1971), Evolutionsstrategie - Optimierung technischer Systeme nach Prinzipien der biologischen Evolution (PhD thesis). Reprinted by Fromman-Holzboog (1973).
 * Hans-Paul Schwefel (1974), Numerische Optimierung von Computer-Modellen (PhD thesis). Reprinted by Birkhäuser (1977).
 * Hans-Paul Schwefel (1995), Evolution and Optimum Seeking. Wiley & Sons, New York. ISBN 0-471-57148-2
 * Simon, D. (2013), Evolutionary Optimization Algorithms, Wiley.
 * Kruse, Rudolf; Borgelt, Christian; Klawonn, Frank; Moewes, Christian; Steinbrecher, Matthias; Held, Pascal (2013), Computational Intelligence: A Methodological Introduction. Springer, London. ISBN 978-1-4471-5012-1, 10.1007/978-1-4471-5013-8.
 * Simon, D. (2013), Evolutionary Optimization Algorithms, Wiley.
 * Kruse, Rudolf; Borgelt, Christian; Klawonn, Frank; Moewes, Christian; Steinbrecher, Matthias; Held, Pascal (2013), Computational Intelligence: A Methodological Introduction. Springer, London. ISBN 978-1-4471-5012-1, 10.1007/978-1-4471-5013-8.