व्याकरणिक विकास

From Vigyanwiki

ग्राम्मीटिकल एवोलुशन (जीई) विकासवादी गणना है और विशेष रूप से, जेनेटिक प्रोग्रामिंग (जीपी) प्रौद्योगिकी (या दृष्टिकोण) है जिसे 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.



संसाधन


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