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