फिटनेस फ़ंक्शन
फिटनेस फ़ंक्शन एक विशेष प्रकार का ऑब्जेक्टिव फ़ंक्शन है जिसका उपयोग सिंगल फिगर ऑफ मेरिट के रूप में यह सारांशित करने के लिए किया जाता है कि कोई दिया गया प्रारूप समाधान निर्धारित लक्ष्यों को प्राप्त करने के कितना निकट है। फिटनेस फ़ंक्शनों का उपयोग विकासवादी विधिकलन (इवोल्यूशनरी एल्गोरिदम) जैसे जेनेटिक प्रोग्रामिंग और इष्टतम प्रारूप समाधानों की दिशा में अनुकरण का संचालन करने के लिए जेनेटिक एल्गोरिद्म में किया जाता है। [1]
इवोल्यूशनरी एल्गोरिदम के क्षेत्र में, प्रत्येक प्रारूप समाधान को सामान्यतः संख्याओं की एक स्ट्रिंग के रूप में दर्शाया जाता है,जिसे क्रोमोसोम के रूप में जाना जाता है। परीक्षण, या सिमुलेशन का उद्देश्य यह है कि सबसे खराब प्रारूप समाधानों को हटा दिया जाए, और सर्वोत्तम प्रारूप समाधानों में से नए प्रारूप उत्पन्न किए जाएं। इसलिए, प्रत्येक प्रारूप समाधान को योग्यता का एक मान प्रदान करने की आवश्यकता होती है, यह इंगित करने के लिए कि यह समग्र विनिर्देश को पूरा करने के कितना निकट आया है, और यह उस समाधान से प्राप्त परीक्षण, या सिमुलेशन, परिणामों में फिटनेस फ़ंक्शन को लागू करने से उत्पन्न होता है।[2]
फिटनेस फ़ंक्शन के दो मुख्य वर्ग उपलब्ध हैं: एक जहां फिटनेस फ़ंक्शन परिवर्तित नहीं होता है, जैसे कि एक निश्चित फ़ंक्शन को अनुकूलित करना या परीक्षण विषयों के एक निश्चित समुच्चय के साथ परीक्षण करना; और एक जहां फिटनेस फ़ंक्शन परिवर्तनशील है, जैसे कि निशे विभेदीकरण या सह-विकास।[3][4] फिटनेस फ़ंक्शनों को देखने की दूसरी विधि फिटनेस परिदृश्य के संदर्भ में है, जो प्रत्येक संभावित गुणसूत्र के लिए फिटनेस को प्रदर्शित करता है। निम्नलिखित में, यह माना जाता है कि फिटनेस का निर्धारण मूल्यांकन के आधार पर किया जाता है जो अनुकूलन रन के समयअपरिवर्तित रहता है।
किसी फिटनेस फ़ंक्शन के लिए पूर्ण मूल्य की गणना करने में सक्षम होना जरूरी नहीं है, क्योंकि कभी-कभी बेहतर प्रस्ताव का चयन करने के लिए विभिन्न प्रस्तावों की तुलना करना पर्याप्त होता है। फिटनेस का एक सापेक्ष संकेत कुछ विषयों में पर्याप्त है,[5] जैसे टूर्नामेंट चयन या बहुउद्देश्यीय अनुकूलन आदि।
मूल्यांकन और फिटनेस फ़ंक्शन की आवश्यकताएँ
फिटनेस फ़ंक्शन के मूल्यांकन और गणना की गुणवत्ता ईए अनुकूलन की सफलता के लिए मौलिक है। यह डार्विन के योग्यतम की उत्तरजीविता के सिद्धांत को लागू करता है। साथी चयन और संतान स्वीकृति के लिए फिटनेस-आधारित चयन तंत्र के बिना, ईए खोज निष्प्रभावी होगी और मोंटे कार्लो विधि पद्धति से संभवतः ही भिन्न होगी। फिटनेस फ़ंक्शन स्थापित करते समय, किसी को सदैव जागरूक रहना चाहिए कि यह केवल वांछित लक्ष्य स्थिति का वर्णन करने से कहीं अधिक है। बल्कि, इष्टतमता के पथ पर विकासवादी खोज को भी यथासंभव समर्थन दिया जाना चाहिए यदि और जहां तक यह पहले से ही एकल फिटनेस फ़ंक्शन द्वारा नहीं किया गया है। यदि फिटनेस फ़ंक्शन को बुरी तरह से प्रारूपित किया गया है, तो विधिकलन या तो एक अनुचित समाधान पर एकत्रित होगा, या इसे अभिसरण करने में कठिनाई होगी।
फिटनेस फ़ंक्शन की परिभाषा कई परिप्रेक्ष्य में सीधी नहीं है और यदि ईए द्वारा उत्पादित सबसे उपयुक्त समाधान वांछित नहीं है तो प्रायः इसे पुनरावृत्त रूप से निष्पादित किया जाता है। इंटरैक्टिव आनुवंशिक एल्गोरिदम मूल्यांकन को बाहरी एजेंटों को आउटसोर्स करके इस कठिनाई का समाधान किया जाता हैं जो सामान्यतः मनुष्य होते हैं।
कम्प्यूटेशनल दक्षता
फिटनेस फ़ंक्शन को न केवल डिजाइनर लक्ष्य के साथ निकटता से संबंधित होना चाहिए, बल्कि यह कम्प्यूटेशनल रूप से कुशल भी होना चाहिए। निष्पादन की गति अत्यधिक महत्वपूर्ण है, क्योंकि एक असतहीय समस्या के लिए उपयोगी परिणाम उत्पन्न करने के लिए एक विशिष्ट आनुवंशिक विधिकलन को कई बार पुनरावर्तित किया जाना चाहिए।
फिटनेस सन्निकटन[6][7] विशेष रूप से निम्नलिखित परिप्रेक्ष्य में उपयुक्त हो सकता है:
- एकल समाधान की फिटनेस गणना का समय अत्यधिक है
- फिटनेस गणना के लिए सटीक मॉडल निष्प्रभावी है
- फिटनेस फ़ंक्शन अनिश्चित या कमियों वाला है।[8]
वैकल्पिक रूप से या फिटनेस सन्निकटन के अतिरिक्त, निष्पादन समय को कम करने के लिए फिटनेस गणना को समानांतर कंप्यूटर पर भी वितरित किया जा सकता है। उपयोग किए गए ईए के पॉपुलेसन मॉडल के आधार पर, ईए और एक पीढ़ी की सभी वंशजों की फिटनेस गणना, दोनों को समानांतर में निष्पादित किया जा सकता है।[9][10][11]
बहुउद्देश्यीय अनुकूलन
व्यावहारिक अनुप्रयोगों का लक्ष्य सामान्यतः कई और कम से कम आंशिक रूप से परस्पर विरोधी उद्देश्यों को अनुकूलित करना होता है। इस उद्देश्य के लिए प्रायः दो मौलिक रूप से भिन्न दृष्टिकोणों का उपयोग किया जाता है, बहुउद्देश्यीय अनुकूलन और वजन फलनका उपयोग करके गणना की गई फिटनेस पर आधारित अनुकूलन आदि।[12]
भारित योग और पेनल्टी फ़ंक्शन
भारित योग के साथ अनुकूलन करते समय, के एकल मान उद्देश्यों को पहले सामान्यीकृत किया जाता है जिससे उनकी तुलना की जा सके। यह कॉस्ट की सहायता से या लक्ष्य कॉस्ट को निर्दिष्ट करके और वर्तमान कॉस्ट को पूर्ति की डिग्री के रूप में निर्धारित करके किया जा सकता है। फिर कॉस्ट या पूर्ति की डिग्री की एक दूसरे के साथ तुलना की जा सकती है और यदि आवश्यक हो, तो एक समान फिटनेस आरेख पर भी आरेखित किया जा सकता है। व्यापकता की हानि के बिना, फिटनेस को अधिकतम किए जाने वाले कॉस्ट का प्रतिनिधित्व करने वाला माना जाता है। प्रत्येक उद्देश्य को एक प्रतिशत कॉस्ट के रूप में भार से संबंधित किया जाता है जिससे समग्र फिटनेस को वजनित योग के रूप में निर्धारित किया जा सके:
निषेध का उल्लंघन इस विधि से निर्धारित फिटनेस में सम्मिलित किया जा सकता है जिसे "पेनल्टी फ़ंक्शन" के रूप में जाना जाता है। पहले तय किए गए प्राथमिक फिटनेस निष्पादित फलनों से गुणित किया जाता है और परिणाम फिर अंतिम फिटनेस होता है: [13]
यह विधि सरल है और इसका लाभ यह है कि इसमें किसी भी संख्या के उद्देश्य और निषेधों को जोड़ा जा सकता है। हानि यह है कि विभिन्न उद्देश्य एक-दूसरे की भरपाई कर सकते हैं और अनुकूलन से पहले भार को परिभाषित करना होगा। इसके अतिरिक्त, कुछ समाधान प्राप्त नहीं हो सकते हैं, दोनों प्रकार के अनुकूलन की तुलना पर [12] अनुभाग देखें।
पेरेटो अनुकूलन
किसी समाधान को पेरेटो-अनुकूलन कहा जाता है यदि एक उद्देश्य का सुधार केवल कम से कम एक अन्य उद्देश्य की गिरावट के साथ संभव है। सभी पेरेटो-इष्टतम समाधानों का सेट, जिसे पेरेटो सेट भी कहा जाता है, उद्देश्यों के बीच सभी इष्टतम समझौतों के सेट का प्रतिनिधित्व करता है। दाईं ओर नीचे दिया गया चित्र दो उद्देश्यों के पेरेटो सेट का एक उदाहरण दिखाता है और अधिकतम किया जाना है. सेट के तत्व पेरेटो फ्रंट (हरी रेखा) बनाते हैं। इस सेट से, एक मानव निर्णय निर्माता को बाद में वांछित समझौता समाधान का चयन करना होगा।[12]पेरेटो अनुकूलन में बाधाओं को इस प्रकार सम्मिलित किया गया है कि बाधाओं के उल्लंघन के बिना समाधान उल्लंघन वाले समाधानों की तुलना में बेहतर हैं। यदि तुलना किए जाने वाले दो समाधानों में से प्रत्येक में बाधा का उल्लंघन है, तो उल्लंघन की संबंधित सीमा तय होती है।[14] यह पहले ही पहचान लिया गया था कि ईएएस अपने एक साथ विचार किए गए समाधान सेट के साथ एक बार में समाधान खोजने के लिए उपयुक्त हैं जो पेरेटो अनुकूलन को पर्याप्त रूप से अच्छी तरह से कवर करते हैं।[14][15] SPEA2 के अतिरिक्त,[16] एनएसजीए-II[17] और एनएसजीए-III[18][19] स्वयं को मानक विधियों के रूप में स्थापित किया है।
पेरेटो अनुकूलन का लाभ यह है कि, भारित योग के विपरीत, यह समग्र समाधान के रूप में उद्देश्यों के संदर्भ में समतुल्य सभी विकल्प प्रदान करता है। हानि यह है कि चार उद्देश्यों से विकल्पों की कल्पना समस्याग्रस्त या असंभव भी हो जाती है। इसके अतिरिक्त, उद्देश्यों की संख्या के साथ प्रयास तेजी से बढ़ता है।[13] यदि तीन या चार से अधिक उद्देश्य हैं, तो कुछ फलनों को भारित योग या अन्य एकत्रीकरण विधियों का उपयोग करके संयोजित करना होगा।[12]
दोनों प्रकार के मूल्यांकन की तुलना
भारित योग की सहायता से, कुल पेरेटो फ्रंट वजन के उपयुक्त विकल्प द्वारा प्राप्त किया जा सकता है, बशर्ते कि यह कान्वेक्स सेट हो।[20] यह बाईं ओर के निकटवर्ती चित्र द्वारा दर्शाया गया है। बिंदु हरे पेरेटो फ्रन्ट पर वजन द्वारा पहुंचा जाता है और , बशर्ते कि ईए इष्टतम में परिवर्तित हो जाए। समाधान सेट में सबसे अधिक फिटनेस लाभ वाली दिशा खींचे गए तीरों द्वारा दर्शाया गया है।
हालांकि, गैर-उत्तल फ्रन्ट के मामले में, गैर-उत्तल सामने वाले खंड भारित योग से पहुंच योग्य नहीं हैं। दाईं ओर आसन्न छवि में, यह बिंदुओं के बीच का अनुभाग है और . इसे भारित योग के विस्तार, कैस्केड भारित योग का उपयोग करके एक सीमित सीमा तक ठीक किया जा सकता है।[13]
दोनों मूल्यांकन दृष्टिकोणों की तुलना करने पर, पेरेटो अनुकूलन का उपयोग निश्चित रूप से फायदेमंद होता है जब किसी कार्य के संभावित समाधानों के बारे में अत्यधिक कम जानकारी होती है और जब अनुकूलन उद्देश्यों की संख्या को तीन तक सीमित किया जा सकता है, अधिकतम चार तक। यद्यपि, एक और एक ही कार्य की विविधताओं के बार-बार अनुकूलन के मामले में, समझौते की वांछित रेखाएँ सामान्यतः ज्ञात होती हैं और संपूर्ण पेरेटो फ्रन्ट को निर्धारित करने का प्रयास अब उचित नहीं है। यह तब भी सच है जब अनुकूलन के बाद कोई मानवीय निर्णय वांछित या संभव नहीं होता है, जैसे स्वचालित निर्णय प्रक्रियाओं में मानवीय निर्णय वांछित या संभव नहीं होता है।[13]
सहायक उद्देश्य
कार्य से उत्पन्न प्राथमिक उद्देश्यों के अतिरिक्त, एक या अधिक प्राथमिक उद्देश्यों की उपलब्धि का समर्थन करने के लिए मूल्यांकन में सहायक उद्देश्यों को सम्मिलित करना आवश्यक हो सकता है। शेड्यूलिंग कार्य का एक उदाहरण चित्रण उद्देश्यों के लिए उपयोग किया जाता है। अनुकूलन लक्ष्यों में न केवल सभी श्रेणियों का सामान्य प्रसंस्करण सम्मिलित है बल्कि नवीनतम समापन समय का अनुपालन भी सम्मिलित है। यह विशेष रूप से त्वरित आदेशों के निर्धारण के लिए आवश्यक है। दूसरा लक्ष्य अनुकरणीय प्रारंभिक अनुसूची द्वारा प्राप्त नहीं किया गया है, जैसा कि आसन्न चित्र में प्रदर्शित किया गया है। निम्नलिखित म्यूटैशन इसे परिवर्तित नहीं करता है, परंतु फलन, चरण d को पहले शेड्यूल करता है, जो ऑर्डर के अंतिम फलन चरण e की पहले प्रारंभ के लिए एक आवश्यक मध्यवर्ती चरण है। यद्यपि, जब तक केवल नवीनतम समापन समय का मूल्यांकन किया जाता है, तब तक परिवर्तित शेड्यूल की उपयुक्तता अपरिवर्तित रहती है, भले ही यह ऑर्डर को समय पर पूरा करने के उद्देश्य की दिशा में एक प्रासंगिक चरण का प्रतिनिधित्व करता है। उदाहरण के लिए, फलन चरणों में विलंब के अतिरिक्त मूल्यांकन द्वारा इसका समाधान किया जा सकता है। नया उद्देश्य एक सहायक उद्देश्य है, क्योंकि इसे उनकी उपलब्धि का समर्थन करने के लिए वास्तविक अनुकूलन उद्देश्यों के अतिरिक्त प्रस्तुत किया गया था। इस दृष्टिकोण का अधिक विस्तृत विवरण और एक अन्य उदाहरण यहां प्राप्त किया जा सकता है।[21]
यह भी देखें
- विकासवादी गणना
- अनुमानात्मक प्रोग्रामिंग
- अनुकूलन के लिए परीक्षण कार्य
- लॉस फंकशन
बाहरी संबंध
- A Nice Introduction to Adaptive Fuzzy Fitness Granulation (AFFG) (PDF), A promising approach to accelerate the convergence rate of EAs.
- The cyber shack of Adaptive Fuzzy Fitness Granulation (AFFG) That is designed to accelerate the convergence rate of EAs.
- Fitness functions in evolutionary robotics: A survey and analysis (AFFG) (PDF), A review of fitness functions used in evolutionary robotics.
- Ford, Neal; Richards, Mark, Sadalage, Pramod; Dehghani, Zhamak. (2021) Software Architecture: The Hard Parts O'Reilly Media, Inc. ISBN 9781492086895.
संदर्भ
- ↑ Eiben, A.E.; Smith, J.E. (2015). "Evaluation Function (Fitness Function)". विकासवादी कंप्यूटिंग का परिचय. Natural Computing Series (in English) (2nd ed.). Berlin, Heidelberg: Springer. p. 30. doi:10.1007/978-3-662-44874-8. ISBN 978-3-662-44873-1. S2CID 20912932.
- ↑ Eiben, A.E.; Smith, J.E. (2015). "What Is an Evolutionary Algorithm?". विकासवादी कंप्यूटिंग का परिचय. Natural Computing Series. Berlin, Heidelberg: Springer. pp. 25–48. doi:10.1007/978-3-662-44874-8. ISBN 978-3-662-44873-1. S2CID 20912932.
- ↑ Popovici, Elena; Bucci, Anthony; Wiegand, R. Paul; De Jong, Edwin D. (2012), Rozenberg, Grzegor