व्याकरणिक विकास: Difference between revisions

From Vigyanwiki
No edit summary
No edit summary
Line 1: Line 1:
{{Evolutionary algorithms}}
{{Evolutionary algorithms}}
व्याकरणिक विकास (जीई) [[विकासवादी गणना]] है और, विशेष रूप से, [[आनुवंशिक प्रोग्रामिंग]] (जीपी) तकनीक (या दृष्टिकोण) है जिसे 1998 में कॉनर रयान, जे जे कोलिन्स और माइकल ओ'नील ने शुरू किया था।<ref>{{Cite web|url=http://www.cs.bham.ac.uk/~wbl/biblio/gp-html/ryan_1998_geepal.html|title=Grammatical Evolution: Evolving Programs for an Arbitrary Language}}</ref> [[लिमरिक विश्वविद्यालय]] में [http://bds.ul.ie BDS Group] पर।
'''ग्राम्मीटिकल एवोलुशन''' (जीई) ऐसी [[विकासवादी गणना]] है और, विशेष रूप से, [[आनुवंशिक प्रोग्रामिंग|जेनेटिक प्रोग्रामिंग]] (जीपी) तकनीक (या दृष्टिकोण) है जिसे 1998 में [[लिमरिक विश्वविद्यालय]] में [http://bds.ul.ie बीडीएस समूह] में कॉनर रयान, जे जे कोलिन्स और माइकल ओ'नील द्वारा प्रारंभ किया गया था।<ref>{{Cite web|url=http://www.cs.bham.ac.uk/~wbl/biblio/gp-html/ryan_1998_geepal.html|title=Grammatical Evolution: Evolving Programs for an Arbitrary Language}}</ref>


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


==समस्या का समाधान==
==समस्या का समाधान==


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


== जीई का समाधान ==
== जीई का समाधान ==


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


जीनोटाइप और फेनोटाइप को अलग करने से मॉड्यूलर दृष्टिकोण की अनुमति मिलती है। विशेष रूप से, GE प्रतिमान के खोज भाग को किसी विशेष एल्गोरिदम या विधि द्वारा निष्पादित करने की आवश्यकता नहीं है। ध्यान दें कि जीई जिन वस्तुओं पर खोज करता है वे [[आनुवंशिक एल्गोरिदम]] में उपयोग की जाने वाली वस्तुओं के समान हैं। इसका मतलब है, सिद्धांत रूप में, किसी भी मौजूदा आनुवंशिक एल्गोरिदम पैकेज, जैसे कि लोकप्रिय [http://lancet.mit.edu/ga/ GAlib], का उपयोग खोज को पूरा करने के लिए किया जा सकता है, और जीई सिस्टम को लागू करने वाले डेवलपर की आवश्यकता है केवल पूर्णांकों की सूची से प्रोग्राम ट्री तक मैपिंग करने की चिंता करें। किसी अन्य विधि का उपयोग करके खोज करना सैद्धांतिक रूप से संभव है, जैसे कि [[कण झुंड अनुकूलन]] (नीचे टिप्पणी देखें); जीई की मॉड्यूलर प्रकृति हाइब्रिड के लिए कई अवसर पैदा करती है क्योंकि रुचि की समस्या हल हो जाती है।
जीनोटाइप और फेनोटाइप को भिन्न करने से मॉड्यूलर दृष्टिकोण की अनुमति मिलती है। विशेष रूप से, जीई प्रतिमान के शोध भाग को किसी विशेष एल्गोरिदम या विधि द्वारा निष्पादित करने की आवश्यकता नहीं है। ध्यान दें कि जीई जिन वस्तुओं पर शोध करता है वे [[आनुवंशिक एल्गोरिदम|जेनेटिक एल्गोरिदम]] में उपयोग की जाने वाली वस्तुओं के समान हैं। इसका तात्पर्य है, सिद्धांत रूप में, किसी भी उपस्थित जेनेटिक एल्गोरिदम पैकेज, जैसे कि लोकप्रिय [http://lancet.mit.edu/ga/ GAlib], का उपयोग शोध को पूर्ण करने के लिए किया जा सकता है, और जीई सिस्टम को प्रारंभ करने वाले डेवलपर की आवश्यकता है केवल पूर्णांकों की सूची से प्रोग्राम ट्री तक मैपिंग करने का उद्देश करते है। किसी अन्य विधि का उपयोग करके शोध करना सैद्धांतिक रूप से संभव है, जैसे कि [[कण झुंड अनुकूलन|पार्टिकल स्वॉर्म अनुकूलन]] (नीचे टिप्पणी देखें); जीई की मॉड्यूलर प्रकृति हाइब्रिड के लिए कई अवसर उत्पन्न करते है क्योंकि रुचि की समस्या का समाधान हो जाता है।


ब्रैबज़ोन और ओ'नील ने कॉर्पोरेट दिवालियापन की भविष्यवाणी करने, स्टॉक सूचकांकों की भविष्यवाणी करने, [[बांड क्रेडिट रेटिंग]] और अन्य वित्तीय अनुप्रयोगों के लिए जीई को सफलतापूर्वक लागू किया है।{{citation needed|date=January 2015}} [[पारिस्थितिक स्थिरता]] पर शिकारी दक्षता, विशिष्ट संख्या और यादृच्छिक उत्परिवर्तन जैसे मापदंडों के प्रभाव का पता लगाने के लिए जीई का उपयोग क्लासिक [[शिकारी-शिकार मॉडल]] के साथ भी किया गया है।<ref>{{cite journal|last1=Alfonseca|first1=Manuel|last2=Soler Gil|first2=Francisco José|title=व्याकरणिक विकास के साथ गणितीय अभिव्यक्तियों का शिकारी-शिकार पारिस्थितिकी तंत्र विकसित करना|journal=Complexity|date=2 January 2015|volume=20|issue=3|pages=66–83|doi=10.1002/cplx.21507|bibcode=2015Cmplx..20c..66A|hdl=10486/663611|hdl-access=free}}</ref>
ब्रैबज़ोन और ओ'नील ने कॉर्पोरेट बैंकरप्सी की भविष्यवाणी करने, स्टॉक इंडिकस की भविष्यवाणी करने, [[बांड क्रेडिट रेटिंग]] और अन्य वित्तीय अनुप्रयोगों के लिए जीई को सफलतापूर्वक प्रारंभ किया है। [[पारिस्थितिक स्थिरता]] जीई का उपयोग क्लासिक [[शिकारी-शिकार मॉडल|प्रिडेटर]]-[[शिकारी-शिकार मॉडल|प्रे मॉडल]] के साथ प्रिडेटर दक्षता, विशिष्ट संख्या और पारिस्थितिक स्थिरता पर यादृच्छिक उत्परिवर्तन जैसे पैरामीटर्स के प्रभाव को ज्ञात करने के लिए के लिए भी किया गया है। <ref>{{cite journal|last1=Alfonseca|first1=Manuel|last2=Soler Gil|first2=Francisco José|title=व्याकरणिक विकास के साथ गणितीय अभिव्यक्तियों का शिकारी-शिकार पारिस्थितिकी तंत्र विकसित करना|journal=Complexity|date=2 January 2015|volume=20|issue=3|pages=66–83|doi=10.1002/cplx.21507|bibcode=2015Cmplx..20c..66A|hdl=10486/663611|hdl-access=free}}</ref>
जीई व्याकरण की संरचना करना संभव है जो किसी दिए गए फ़ंक्शन/टर्मिनल सेट के लिए आनुवंशिक प्रोग्रामिंग के बराबर है।
 
जीई ग्रामर की संरचना करना संभव है जो किसी दिए गए फ़ंक्शन/टर्मिनल सेट के लिए जेनेटिक प्रोग्रामिंग के समान है।


== आलोचना ==
== आलोचना ==


अपनी सफलताओं के बावजूद, GE कुछ आलोचना का विषय रहा है। मुद्दा यह है कि इसके मैपिंग ऑपरेशन के परिणामस्वरूप, जीई के आनुवंशिक ऑपरेटर उच्च स्थानीयता प्राप्त नहीं कर पाते हैं<ref name="rothlauf:2006">[https://doi.org/10.1007%2F11729976_29 DOI.org]</ref><ref>{{Cite web|url=http://www.cs.kent.ac.uk/pubs/2010/3004/index.html|title = Publication: Positional Effect of Crossover and Mutation in Grammatical Evolution - School of Computing - University of Kent}}</ref> जो विकासवादी एल्गोरिदम में आनुवंशिक ऑपरेटरों की उच्च मानी जाने वाली संपत्ति है।<ref name="rothlauf:2006" />
अपनी सफलताओं के अतिरिक्त, जीई कुछ आलोचना का विषय रहा है। विषय यह है कि इसके मैपिंग ऑपरेशन के परिणामस्वरूप, जीई के जेनेटिक ऑपरेटर उच्च स्थानीयता प्राप्त नहीं कर पाते हैं<ref name="rothlauf:2006">[https://doi.org/10.1007%2F11729976_29 DOI.org]</ref><ref>{{Cite web|url=http://www.cs.kent.ac.uk/pubs/2010/3004/index.html|title = Publication: Positional Effect of Crossover and Mutation in Grammatical Evolution - School of Computing - University of Kent}}</ref> जो विकासवादी एल्गोरिदम में जेनेटिक ऑपरेटरों की उच्च माने जाने वाले गुण है।<ref name="rothlauf:2006" />


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


फिर भी साहित्य में प्रयोग किया गया और संभावित बदलाव खोज प्रक्रिया को और अधिक पूर्वाग्रहित करने के लिए व्याकरण में अर्थ संबंधी जानकारी को एनकोड करने का प्रयास है। अन्य कार्यों से पता चला कि, डोमेन ज्ञान का लाभ उठाने वाले पक्षपाती व्याकरण के साथ, जीई को चलाने के लिए यादृच्छिक खोज का भी उपयोग किया जा सकता है।<ref>{{Citation |last1=O’Sullivan |first1=John |title=An Investigation into the Use of Different Search Strategies with Grammatical Evolution |date=2002 |url=http://link.springer.com/10.1007/3-540-45984-7_26 |work=Genetic Programming |volume=2278 |pages=268–277 |editor-last=Foster |editor-first=James A. |place=Berlin, Heidelberg |publisher=Springer Berlin Heidelberg |doi=10.1007/3-540-45984-7_26 |isbn=978-3-540-43378-1 |access-date=2022-08-08 |last2=Ryan |first2=Conor |editor2-last=Lutton |editor2-first=Evelyne |editor3-last=Miller |editor3-first=Julian |editor4-last=Ryan |editor4-first=Conor}}</ref>
फिर भी साहित्य में प्रयोग किया गया और संभावित परिवर्तन शोध प्रक्रिया को और अधिक पूर्वाग्रहित करने के लिए ग्रामर में अर्थ संबंधी जानकारी को एनकोड करने का प्रयास है। अन्य कार्यों से ज्ञात होता है कि, डोमेन ज्ञान का लाभ उठाने वाले पक्षपाती ग्रामर के साथ, जीई को चलाने के लिए यादृच्छिक शोध का भी उपयोग किया जा सकता है।<ref>{{Citation |last1=O’Sullivan |first1=John |title=An Investigation into the Use of Different Search Strategies with Grammatical Evolution |date=2002 |url=http://link.springer.com/10.1007/3-540-45984-7_26 |work=Genetic Programming |volume=2278 |pages=268–277 |editor-last=Foster |editor-first=James A. |place=Berlin, Heidelberg |publisher=Springer Berlin Heidelberg |doi=10.1007/3-540-45984-7_26 |isbn=978-3-540-43378-1 |access-date=2022-08-08 |last2=Ryan |first2=Conor |editor2-last=Lutton |editor2-first=Evelyne |editor3-last=Miller |editor3-first=Julian |editor4-last=Ryan |editor4-first=Conor}}</ref>


== संबंधित कार्य ==
== संबंधित कार्य ==
जीई मूल रूप से रैखिक प्रतिनिधित्व का संयोजन था जैसा कि सॉफ्टवेयर विकसित करने के लिए जेनेटिक एल्गोरिदम (जीएडीएस) द्वारा उपयोग किया जाता था।{{cn|date=November 2022}} और बैकस नौर फॉर्म व्याकरण, जो मूल रूप से वोंग और लेउंग द्वारा पेड़-आधारित जीपी में उपयोग किए गए थे<ref>{{Cite journal |last1=Wong |first1=Man Leung |last2=Leung |first2=Kwong Sak |date=November 1995 |title=आनुवंशिक प्रोग्रामिंग में उप-कार्यों को प्रेरित करने के लिए तर्क व्याकरण लागू करना|url=https://ieeexplore.ieee.org/document/487477 |journal=Proceedings of 1995 IEEE International Conference on Evolutionary Computation |volume=2 |pages=737–740 vol.2 |doi=10.1109/ICEC.1995.487477|isbn=0-7803-2759-4 |s2cid=16071918 }}</ref> 1995 में और व्हिघम 1996 में।<ref>{{Cite web |last=Whigham |first=P. |date=1996 |title=खोज पूर्वाग्रह, भाषा पूर्वाग्रह और आनुवंशिक प्रोग्रामिंग|url=https://www.semanticscholar.org/paper/Search-Bias-%2C-Language-Bias-and-Genetic-Whigham/cd03bef64249da53a9c7f328205f0f36977a536f |access-date=2022-08-08 |website=www.semanticscholar.org |s2cid=16631215 |language=en}}</ref> मूल जीई पेपर में उल्लेखित अन्य संबंधित कार्य फ्रेडरिक ग्रुउ का था,<ref>{{Citation |last=Gruau |first=Frédéric |title=Neural Network Synthesis Using Cellular Encoding And The Genetic Algorithm |date=1994 |citeseerx=10.1.1.29.5939 }}</ref> जिन्होंने वैचारिक रूप से केलर और बंजहाफ़ के समान भ्रूणीय दृष्टिकोण का उपयोग किया,<ref>{{Cite web |last=Kellere |first=Robert E. |date=1996 |title=Genetic Programming Using Mutation, Reproduction and Genotype-phenotype Mapping from Linear Binary Genomes into Linear Lalr(1) Phenotypes Paper Category: Genetic Programming (gp) |url=https://www.semanticscholar.org/paper/Genetic-Programming-Using-Mutation%2C-Reproduction-Kellere/d2d2cbda1472501f379f79a3a48b63b5d71277d9 |access-date=2022-08-08 |website=www.semanticscholar.org |s2cid=18095204 |language=en}}</ref> जो समान रूप से रैखिक जीनोम का उपयोग करता है।
जीई मूल रूप से रैखिक प्रतिनिधित्व का एक संयोजन था जैसा कि जेनेटिक एल्गोरिदम फॉर डेवलपिंग सॉफ्टवेयर (जीएडीएस) और बैकस नाउर फॉर्म व्याकरण द्वारा उपयोग किया जाता था, जो मूल रूप से 1995 में वोंग और लेउंग<ref>{{Cite journal |last1=Wong |first1=Man Leung |last2=Leung |first2=Kwong Sak |date=November 1995 |title=आनुवंशिक प्रोग्रामिंग में उप-कार्यों को प्रेरित करने के लिए तर्क व्याकरण लागू करना|url=https://ieeexplore.ieee.org/document/487477 |journal=Proceedings of 1995 IEEE International Conference on Evolutionary Computation |volume=2 |pages=737–740 vol.2 |doi=10.1109/ICEC.1995.487477|isbn=0-7803-2759-4 |s2cid=16071918 }}</ref> और 1996 में व्हिघम द्वारा ट्री-आधारित जीपी में उपयोग किया गया था। <ref>{{Cite web |last=Whigham |first=P. |date=1996 |title=खोज पूर्वाग्रह, भाषा पूर्वाग्रह और आनुवंशिक प्रोग्रामिंग|url=https://www.semanticscholar.org/paper/Search-Bias-%2C-Language-Bias-and-Genetic-Whigham/cd03bef64249da53a9c7f328205f0f36977a536f |access-date=2022-08-08 |website=www.semanticscholar.org |s2cid=16631215 |language=en}}</ref> मूल जीई पेपर में उल्लेखित अन्य संबंधित कार्य फ्रेडरिक ग्रुउ का था,<ref>{{Citation |last=Gruau |first=Frédéric |title=Neural Network Synthesis Using Cellular Encoding And The Genetic Algorithm |date=1994 |citeseerx=10.1.1.29.5939 }}</ref> जिन्होंने वैचारिक रूप से समान "भ्रूण" दृष्टिकोण का उपयोग किया था, साथ ही केलर और बंजहाफ का भी,<ref>{{Cite web |last=Kellere |first=Robert E. |date=1996 |title=Genetic Programming Using Mutation, Reproduction and Genotype-phenotype Mapping from Linear Binary Genomes into Linear Lalr(1) Phenotypes Paper Category: Genetic Programming (gp) |url=https://www.semanticscholar.org/paper/Genetic-Programming-Using-Mutation%2C-Reproduction-Kellere/d2d2cbda1472501f379f79a3a48b63b5d71277d9 |access-date=2022-08-08 |website=www.semanticscholar.org |s2cid=18095204 |language=en}}</ref> जो समान रूप से रैखिक जीनोम का उपयोग करते थे।


== कार्यान्वयन ==
== कार्यान्वयन ==
GE के कई कार्यान्वयन हैं। इनमें निम्नलिखित शामिल हैं.
जीई के कई कार्यान्वयन हैं। इनमें निम्नलिखित सम्मिलित हैं.
{| class="wikitable"
{| class="wikitable"
|+
|+
Line 49: Line 50:
|-
|-
|ग्रामईवोल
|ग्रामईवोल
|R
|आर
|2016
|2016
|<nowiki>https://cran.r-project.org/web/packages/gramEvol/vignettes/ge-intro.pdf</nowiki>
|<nowiki>https://cran.r-project.org/web/packages/gramEvol/vignettes/ge-intro.pdf</nowiki>
Line 58: Line 59:
|<nowiki>http://pyneurgen.sourceforge.net/</nowiki>
|<nowiki>http://pyneurgen.sourceforge.net/</nowiki>
|-
|-
|Grammatical_ evolution
|ग्राम्मीटिकल_ एवोलुशन
|रूबी
|रूबी
|2011
|2011
Line 94: Line 95:
|-
|-
|लिबजीई
|लिबजीई
|सी++, S-Lang, tinycc
|सी++, एस-लैंग्वेज, टिनिसीसी
|2004
|2004
|<nowiki>http://bds.ul.ie/libGE/</nowiki>
|<nowiki>http://bds.ul.ie/libGE/</nowiki>
Line 100: Line 101:


== यह भी देखें ==
== यह भी देखें ==
* आनुवंशिक प्रोग्रामिंग
* जेनेटिक प्रोग्रामिंग
* [[जावा व्याकरणिक विकास]]
* [[जावा व्याकरणिक विकास|जावा ग्रामरिक विकास]]
* [[कार्टेशियन आनुवंशिक प्रोग्रामिंग]]
* [[कार्टेशियन आनुवंशिक प्रोग्रामिंग|कार्टेशियन जेनेटिक प्रोग्रामिंग]]
* [[जीन अभिव्यक्ति प्रोग्रामिंग]]
* [[जीन अभिव्यक्ति प्रोग्रामिंग]]
* [[रैखिक आनुवंशिक प्रोग्रामिंग]]
* [[रैखिक आनुवंशिक प्रोग्रामिंग|रैखिक जेनेटिक प्रोग्रामिंग]]
* [[मल्टी एक्सप्रेशन प्रोग्रामिंग|मल्टी ्सप्रेशन प्रोग्रामिंग]]
* [[मल्टी एक्सप्रेशन प्रोग्रामिंग|मल्टी ्सप्रेशन प्रोग्रामिंग]]


Line 116: Line 117:
=== संसाधन ===
=== संसाधन ===


* [https://web.archive.org/web/20110721124315/http://www.grammaticalevolution.org/tutorial.pdf व्याकरणिक विकास ट्यूटोरियल]।
* [https://web.archive.org/web/20110721124315/http://www.grammaticalevolution.org/tutorial.pdf ग्रामरिक विकास ट्यूटोरियल]।
* [http://ncra.ucd.ie/geva जावा में व्याकरणिक विकास]।
* [http://ncra.ucd.ie/geva जावा में ग्रामरिक विकास]।
* [https://web.archive.org/web/20101129085227/http://www.bangor.ac.uk/~eep201/jge/ jGE - जावा व्याकरणिक विकास]।
* [https://web.archive.org/web/20101129085227/http://www.bangor.ac.uk/~eep201/jge/ jGE - जावा ग्रामरिक विकास]।
* [http://bds.ul.ie द बायोकंप्यूटिंग एंड डेवलपमेंटल सिस्टम्स (बीडीएस) ग्रुप] [http://www.ul.ie यूनिवर्सिटी ऑफ लिमरिक] में।
* [http://bds.ul.ie द बायोकंप्यूटिंग एंड डेवलपमेंटल सिस्टम्स (बीडीएस) ग्रुप] [http://www.ul.ie यूनिवर्सिटी ऑफ लिमरिक] में।
* [http://www.grammatical-evolution.org माइकल ओ'नील का व्याकरणिक विकास पृष्ठ],  ग्रंथ सूची सहित।
* [http://www.grammatical-evolution.org माइकल ओ'नील का ग्रामरिक विकास पृष्ठ],  ग्रंथ सूची सहित।
* [https://web.archive.org/web/20161107073933/http://drp.rubyforge.org/ DRP], निर्देशित रूबी प्रोग्रामिंग,  प्रायोगिक प्रणाली है जिसे उपयोगकर्ताओं को हाइब्रिड GE/GP सिस्टम बनाने के लिए डिज़ाइन किया गया है। इसे शुद्ध रूबी में लागू किया गया है।
* [https://web.archive.org/web/20161107073933/http://drp.rubyforge.org/ DRP], निर्देशित रूबी प्रोग्रामिंग,  प्रायोगिक प्रणाली है जिसे उपयोगकर्ताओं को हाइब्रिड GE/GP सिस्टम बनाने के लिए डिज़ाइन किया गया है। इसे शुद्ध रूबी में प्रारंभ किया गया है।
* [http://geret.org/ GERET], व्याकरणिक विकास रूबी खोजपूर्ण टूलकिट।
* [http://geret.org/ GERET], ग्रामरिक विकास रूबी खोजपूर्ण टूलकिट।
* [https://cran.r-project.org/web/packages/gramEvol/index.html gramEvol], R के लिए व्याकरणिक विकास (प्रोग्रामिंग भाषा)।
* [https://cran.r-project.org/web/packages/gramEvol/index.html gramEvol], R के लिए ग्रामरिक विकास (प्रोग्रामिंग भाषा)।


{{DEFAULTSORT:Grammatical Evolution}}
{{DEFAULTSORT:Grammatical Evolution}}

Revision as of 23:48, 22 July 2023

ग्राम्मीटिकल एवोलुशन (जीई) ऐसी विकासवादी गणना है और, विशेष रूप से, जेनेटिक प्रोग्रामिंग (जीपी) तकनीक (या दृष्टिकोण) है जिसे 1998 में लिमरिक विश्वविद्यालय में बीडीएस समूह में कॉनर रयान, जे जे कोलिन्स और माइकल ओ'नील द्वारा प्रारंभ किया गया था।[1]

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

समस्या का समाधान

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

जीई का समाधान

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

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

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

जीई ग्रामर की संरचना करना संभव है जो किसी दिए गए फ़ंक्शन/टर्मिनल सेट के लिए जेनेटिक प्रोग्रामिंग के समान है।

आलोचना

अपनी सफलताओं के अतिरिक्त, जीई कुछ आलोचना का विषय रहा है। विषय यह है कि इसके मैपिंग ऑपरेशन के परिणामस्वरूप, जीई के जेनेटिक ऑपरेटर उच्च स्थानीयता प्राप्त नहीं कर पाते हैं[3][4] जो विकासवादी एल्गोरिदम में जेनेटिक ऑपरेटरों की उच्च माने जाने वाले गुण है।[3]

वेरिएंट

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

फिर भी साहित्य में प्रयोग किया गया और संभावित परिवर्तन शोध प्रक्रिया को और अधिक पूर्वाग्रहित करने के लिए ग्रामर में अर्थ संबंधी जानकारी को एनकोड करने का प्रयास है। अन्य कार्यों से ज्ञात होता है कि, डोमेन ज्ञान का लाभ उठाने वाले पक्षपाती ग्रामर के साथ, जीई को चलाने के लिए यादृच्छिक शोध का भी उपयोग किया जा सकता है।[5]

संबंधित कार्य

जीई मूल रूप से रैखिक प्रतिनिधित्व का एक संयोजन था जैसा कि जेनेटिक एल्गोरिदम फॉर डेवलपिंग सॉफ्टवेयर (जीएडीएस) और बैकस नाउर फॉर्म व्याकरण द्वारा उपयोग किया जाता था, जो मूल रूप से 1995 में वोंग और लेउंग[6] और 1996 में व्हिघम द्वारा ट्री-आधारित जीपी में उपयोग किया गया था। [7] मूल जीई पेपर में उल्लेखित अन्य संबंधित कार्य फ्रेडरिक ग्रुउ का था,[8] जिन्होंने वैचारिक रूप से समान "भ्रूण" दृष्टिकोण का उपयोग किया था, साथ ही केलर और बंजहाफ का भी,[9] जो समान रूप से रैखिक जीनोम का उपयोग करते थे।

कार्यान्वयन

जीई के कई कार्यान्वयन हैं। इनमें निम्नलिखित सम्मिलित हैं.

परियोजना का नाम लैंग्वेज वर्ष लोकेशन
जीईलैब मेट 2018 https://github.com/adilraja/GELAB
पोनीजीई2 पाइथन 2017 https://arxiv.org/abs/1703.08535
ग्रामईवोल आर 2016 https://cran.r-project.org/web/packages/gramEvol/vignettes/ge-intro.pdf
पीवाईनेउरजीईएन पाइथन 2012 http://pyneurgen.sourceforge.net/
ग्राम्मीटिकल_ एवोलुशन रूबी 2011 http://www.cleveralgorithms.com/nature-inspired/evolution/grammatical_evolution.rb
एजीई सी, लुआ 2011 http://nohejl.name/age/pdf/AGE-Documentation-1.0.2.pdf
पोनीजीई पाइथन 2010 https://code.google.com/archive/p/ponyge/downloads
गेरेट रूबी 2010 https://github.com/bver/GERET/
गेवा जावा 2008 http://ncra.ucd.ie/Site/GEVA.html
ईसीजी रूबी 2008 https://cs.gmu.edu/~eclab/projects/ecj/
जीईएनएन सी++ 2007 https://ritchielab.org/research/past-research/52-grammatical-evolution-neural-networks
लिबजीई सी++, एस-लैंग्वेज, टिनिसीसी 2004 http://bds.ul.ie/libGE/

यह भी देखें

टिप्पणियाँ

  1. "Grammatical Evolution: Evolving Programs for an Arbitrary Language".
  2. Alfonseca, Manuel; Soler Gil, Francisco José (2 January 2015). "व्याकरणिक विकास के साथ गणितीय अभिव्यक्तियों का शिकारी-शिकार पारिस्थितिकी तंत्र विकसित करना". Complexity. 20 (3): 66–83. Bibcode:2015Cmplx..20c..66A. doi:10.1002/cplx.21507. hdl:10486/663611.
  3. 3.0 3.1 DOI.org
  4. "Publication: Positional Effect of Crossover and Mutation in Grammatical Evolution - School of Computing - University of Kent".
  5. O’Sullivan, John; Ryan, Conor (2002), Foster, James A.; Lutton, Evelyne; Miller, Julian; Ryan, Conor (eds.), "An Investigation into the Use of Different Search Strategies with Grammatical Evolution", Genetic Programming, Berlin, Heidelberg: Springer Berlin Heidelberg, vol. 2278, pp. 268–277, doi:10.1007/3-540-45984-7_26, ISBN 978-3-540-43378-1, retrieved 2022-08-08
  6. Wong, Man Leung; Leung, Kwong Sak (November 1995). "आनुवंशिक प्रोग्रामिंग में उप-कार्यों को प्रेरित करने के लिए तर्क व्याकरण लागू करना". Proceedings of 1995 IEEE International Conference on Evolutionary Computation. 2: 737–740 vol.2. doi:10.1109/ICEC.1995.487477. ISBN 0-7803-2759-4. S2CID 16071918.
  7. Whigham, P. (1996). "खोज पूर्वाग्रह, भाषा पूर्वाग्रह और आनुवंशिक प्रोग्रामिंग". www.semanticscholar.org (in English). S2CID 16631215. Retrieved 2022-08-08.
  8. Gruau, Frédéric (1994), Neural Network Synthesis Using Cellular Encoding And The Genetic Algorithm, CiteSeerX 10.1.1.29.5939
  9. Kellere, Robert E. (1996). "Genetic Programming Using Mutation, Reproduction and Genotype-phenotype Mapping from Linear Binary Genomes into Linear Lalr(1) Phenotypes Paper Category: Genetic Programming (gp)". www.semanticscholar.org (in English). S2CID 18095204. Retrieved 2022-08-08.



संसाधन


श्रेणी:विकासवादी एल्गोरिदम