विकासवादी संगणना

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

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

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

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

इस प्रकार से क्षेत्र के रूप में विकासवादी कंप्यूटिंग 1950 और 1960 के दशक में गंभीरता से प्रारंभ की गयी थी । वर्तमान समय में कंप्यूटिंग में विकास की प्रक्रिया का उपयोग करने के कई स्वतंत्र प्रयास हुए, जो लगभग 15 वर्षों तक अलग-अलग विकसित हुए थे । इस लक्ष्य को प्राप्त करने के लिए विभिन्न स्थानों में तीन शाखाएँ उभरीं: विकास रणनीति, विकासवादी प्रोग्रामिंग और आनुवंशिक एल्गोरिदम उपयोग की जाती है । और चौथी शाखा, आनुवंशिक प्रोग्रामिंग, अंततः 1990 के दशक की प्रारंभ रूप से उभरी। और ये दृष्टिकोण चयन की विधि, अनुमत उत्परिवर्तन और आनुवंशिक डेटा के प्रतिनिधित्व में भिन्न होते हैं। 1990 के दशक तक, ऐतिहासिक शाखाओं के मध्य अंतर धुंधला होना प्रारंभ हो गया था, और 'विकासवादी कंप्यूटिंग' शब्द 1991 में ऐसे क्षेत्र को दर्शाने के लिए गढ़ा गया था जो सभी चार प्रतिमानों में उपस्तिथ होते है।

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

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

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

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

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

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

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

इस प्रक्रिया में, दो मुख्य शक्ति होती हैं जो विकासवादी प्रणालियों का आधार बनाती हैं: पुनर्संयोजन उत्परिवर्तन और क्रॉसओवर आवश्यक विविधता उत्पन्य करते हैं और इस प्रकार से नवीनता की सुविधा प्रदान करते हैं, जबकि चयन गुणवत्ता बढ़ाने वाली शक्ति के रूप में कार्य करता है।

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

विकासवादी एल्गोरिदम और जीव विज्ञान
आनुवंशिक एल्गोरिदम जैविक प्रणालियों और प्रणाली जीव विज्ञान को मॉडल करने के विधि प्रदान करते हैं जो गतिशील प्रणालियों के सिद्धांत से जुड़े होते हैं, क्योंकि उनका उपयोग प्रणाली की भविष्य की स्थितियों की भविष्यवाणी करने के लिए किया जाता है। यह जीव विज्ञान में विकास के व्यवस्थित, सुनियंत्रित और उच्च संरचित चरित्र की ओर ध्यान आकर्षित करने का ज्वलंत (जिससे संभवतः भ्रामक) विधि होती है।

चूँकि, गतिशील प्रणालियों के सादृश्य से परे, विशेष रूप से कम्प्यूटेशनल सिद्धांत के एल्गोरिदम और सूचना विज्ञान का उपयोग, विकास को समझने के लिए भी प्रासंगिक होते है।

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

इसकेअतिरिक्त, कम्प्यूटेशनल सिद्धांत की अवधारणाओं के पश्चात , जैविक जीवों में सूक्ष्म प्रक्रियाएं मौलिक रूप से अपूर्ण और अनिर्णीत (पूर्णता (तर्क)) हैं, जिसका अर्थ है कि "कोशिकाओं और कंप्यूटर के मध्य सादृश्य के पीछे अपरिष्कृत रूपक से कहीं अधिक होता है।

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

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

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

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

यह भी देखें

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

बाहरी संबंध

 * Article in the Stanford Encyclopedia of Philosophy about Biological Information (English)

ग्रन्थसूची

 * Th. Bäck, D.B. Fogel, and Z. Michalewicz (Editors), Handbook of Evolutionary Computation, 1997, ISBN 0750303921
 * Th. Bäck and H.-P. Schwefel. An overview of evolutionary algorithms for parameter optimization. Evolutionary Computation, 1(1):1–23, 1993.
 * W. Banzhaf, P. Nordin, R.E. Keller, and F.D. Francone. Genetic Programming — An Introduction. Morgan Kaufmann, 1998.
 * S. Cagnoni, et al., Real-World Applications of Evolutionary Computing, Springer-Verlag Lecture Notes in Computer Science, Berlin, 2000.
 * R. Chiong, Th. Weise, Z. Michalewicz (Editors), Variants of Evolutionary Algorithms for Real-World Applications, Springer, 2012, ISBN 3642234232
 * K. A. De Jong, Evolutionary computation: a unified approach. MIT Press, Cambridge MA, 2006
 * A. E. Eiben and J.E. Smith, From evolutionary computation to the evolution of things, Nature, 521:476-482, doi:10.1038/nature14544, 2015
 * A. E. Eiben and J.E. Smith, Introduction to Evolutionary Computing, Springer, First edition, 2003; Second edition, 2015
 * D. B. Fogel. Evolutionary Computation. Toward a New Philosophy of Machine Intelligence. IEEE Press, Piscataway, NJ, 1995.
 * L. J. Fogel, A. J. Owens, and M. J. Walsh. Artificial Intelligence through Simulated Evolution. New York: John Wiley, 1966.
 * D. E. Goldberg. Genetic algorithms in search, optimization and machine learning. Addison Wesley, 1989.
 * J. H. Holland. Adaptation in natural and artificial systems. University of Michigan Press, Ann Arbor, 1975.
 * P. Hingston, L. Barone, and Z. Michalewicz (Editors), Design by Evolution, Natural Computing Series, 2008, Springer, ISBN 3540741097
 * J. R. Koza. Genetic Programming: On the Programming of Computers by means of Natural Evolution. MIT Press, Massachusetts, 1992.
 * F.J. Lobo, C.F. Lima, Z. Michalewicz (Editors), Parameter Setting in Evolutionary Algorithms, Springer, 2010, ISBN 3642088929
 * Z. Michalewicz, Genetic Algorithms + Data Structures – Evolution Programs, 1996, Springer, ISBN 3540606769
 * Z. Michalewicz and D.B. Fogel, How to Solve It: Modern Heuristics, Springer, 2004, ISBN 978-3-540-22494-5
 * I. Rechenberg. Evolutionstrategie: Optimierung Technischer Systeme nach Prinzipien des Biologischen Evolution. Fromman-Hozlboog Verlag, Stuttgart, 1973.
 * H.-P. Schwefel. Numerical Optimization of Computer Models. John Wiley & Sons, New-York, 1981. 1995 – 2nd edition.
 * D. Simon. Evolutionary Optimization Algorithms. Wiley, 2013.