जेनेटिक प्रोग्रामिंग (जीपी): Difference between revisions

From Vigyanwiki
No edit summary
 
(5 intermediate revisions by 4 users not shown)
Line 1: Line 1:
{{Short description|Technique whereby computer programs are encoded as a set of genes}}
{{Short description|Technique whereby computer programs are encoded as a set of genes}}आर्टिफिशियल इंटेलिजेंस में, जेनेटिक प्रोग्रामिंग (जीपी) कार्यक्रमों को विकसित करने की एक तकनीक है, जो कार्यक्रमों की आबादी के लिए प्राकृतिक आनुवंशिक प्रक्रियाओं के अनुरूप संचालन को लागू करके किसी विशेष कार्य के लिए अनुपयुक्त (सामान्यतः यादृच्छिक) कार्यक्रमों की आबादी से प्रारंभ होती है।
जेनेटिक एल्गोरिथम, जेनेरिक प्रोग्रामिंग, जेनेटिक इंजीनियरिंग या डीएनए कंप्यूटिंग के साथ भ्रमित न हों।{{Evolutionary algorithms}}
 
आर्टिफिशियल इंटेलिजेंस में, जेनेटिक प्रोग्रामिंग (जीपी) कार्यक्रमों को विकसित करने की एक तकनीक है, जो कार्यक्रमों की आबादी के लिए प्राकृतिक आनुवंशिक प्रक्रियाओं के अनुरूप संचालन को लागू करके किसी विशेष कार्य के लिए अनुपयुक्त (सामान्यतः यादृच्छिक) कार्यक्रमों की आबादी से प्रारंभ होती है।


संचालन हैं: पूर्वनिर्धारित योग्यता माप के अनुसार प्रजनन (क्रॉसओवर) और उत्परिवर्तन के लिए योग्यतम कार्यक्रमों का चयन, सामान्यतः वांछित कार्य में प्रवीणता। क्रॉसओवर ऑपरेशन में नई पीढ़ी के कार्यक्रमों का हिस्सा बनने वाली नई और अलग संतान पैदा करने के लिए चयनित जोड़े (माता-पिता) के यादृच्छिक भागों की अदला-बदली सम्मिलित है। उत्परिवर्तन में प्रोग्राम के कुछ यादृच्छिक भाग को प्रोग्राम के कुछ अन्य यादृच्छिक भाग के साथ प्रतिस्थापित करना सम्मिलित है।पुनरुत्पादन के लिए नहीं चुने गए कुछ कार्यक्रमों की वर्तमान पीढ़ी से नई पीढ़ी में नकल की जाती है। फिर चयन और अन्य कार्यों को नई पीढ़ी के कार्यक्रमों पर पुनरावर्ती रूप से लागू किया जाता है।
संचालन हैं: पूर्वनिर्धारित योग्यता माप के अनुसार प्रजनन (क्रॉसओवर) और उत्परिवर्तन के लिए योग्यतम कार्यक्रमों का चयन, सामान्यतः वांछित कार्य में प्रवीणता। क्रॉसओवर ऑपरेशन में नई पीढ़ी के कार्यक्रमों का हिस्सा बनने वाली नई और अलग संतान पैदा करने के लिए चयनित जोड़े (माता-पिता) के यादृच्छिक भागों की अदला-बदली सम्मिलित है। उत्परिवर्तन में प्रोग्राम के कुछ यादृच्छिक भाग को प्रोग्राम के कुछ अन्य यादृच्छिक भाग के साथ प्रतिस्थापित करना सम्मिलित है।पुनरुत्पादन के लिए नहीं चुने गए कुछ कार्यक्रमों की वर्तमान पीढ़ी से नई पीढ़ी में नकल की जाती है। फिर चयन और अन्य कार्यों को नई पीढ़ी के कार्यक्रमों पर पुनरावर्ती रूप से लागू किया जाता है।
Line 13: Line 10:
कार्यक्रमों को विकसित करने के प्रस्ताव का पहला रिकॉर्ड संभवत: 1950 में [[एलन ट्यूरिंग]] का है।<ref>{{Cite web|url=https://www.cs.bham.ac.uk/~wbl/biblio/gp-html/oai_cogprints_soton_ac_uk_499.html|title=कंप्यूटिंग मशीनरी और इंटेलिजेंस|website=www.cs.bham.ac.uk|language=en|access-date=2018-05-19}}</ref> जॉन हॉलैंड के 'एडाप्टेशन इन नेचुरल एंड आर्टिफिशियल सिस्टम्स' के प्रकाशन से पहले 25 साल का अंतराल था, जिसने विज्ञान की सैद्धांतिक और अनुभवजन्य नींव रखी। 1981 में, रिचर्ड फोर्सिथ ने यूके होम ऑफिस के लिए अपराध दृश्य साक्ष्य के वर्गीकरण के प्रदर्शन के लिए पेड़ों के रूप में प्रस्तुत छोटे कार्यक्रमों के सफल विकास का प्रदर्शन किया।<ref>{{Cite web|url=https://www.cs.bham.ac.uk/~wbl/biblio/gp-html/kybernetes_forsyth.html|title=बीगल ए डार्विनियन एप्रोच टू पैटर्न रिकग्निशन|website=www.cs.bham.ac.uk|language=en|access-date=2018-05-19}}</ref>
कार्यक्रमों को विकसित करने के प्रस्ताव का पहला रिकॉर्ड संभवत: 1950 में [[एलन ट्यूरिंग]] का है।<ref>{{Cite web|url=https://www.cs.bham.ac.uk/~wbl/biblio/gp-html/oai_cogprints_soton_ac_uk_499.html|title=कंप्यूटिंग मशीनरी और इंटेलिजेंस|website=www.cs.bham.ac.uk|language=en|access-date=2018-05-19}}</ref> जॉन हॉलैंड के 'एडाप्टेशन इन नेचुरल एंड आर्टिफिशियल सिस्टम्स' के प्रकाशन से पहले 25 साल का अंतराल था, जिसने विज्ञान की सैद्धांतिक और अनुभवजन्य नींव रखी। 1981 में, रिचर्ड फोर्सिथ ने यूके होम ऑफिस के लिए अपराध दृश्य साक्ष्य के वर्गीकरण के प्रदर्शन के लिए पेड़ों के रूप में प्रस्तुत छोटे कार्यक्रमों के सफल विकास का प्रदर्शन किया।<ref>{{Cite web|url=https://www.cs.bham.ac.uk/~wbl/biblio/gp-html/kybernetes_forsyth.html|title=बीगल ए डार्विनियन एप्रोच टू पैटर्न रिकग्निशन|website=www.cs.bham.ac.uk|language=en|access-date=2018-05-19}}</ref>
यद्यपि कार्यक्रमों को विकसित करने का विचार, प्रारंभ में कंप्यूटर भाषा [[लिस्प (प्रोग्रामिंग भाषा)|लिस्प]] में, जॉन हॉलैंड के छात्रों के बीच प्रचलित था,<ref>A personal communication with [http://www.dcs.bbk.ac.uk/~tom/ Tom Westerdale]</ref> यह तब तक नहीं था जब तक उन्होंने पिट्सबर्ग में पहला [[जेनेटिक एल्गोरिद्म|जेनेटिक एल्गोरिदम]] (जीए) सम्मेलन आयोजित नहीं किया था कि निकेल क्रैमर<ref>{{Cite web|url=https://www.cs.bham.ac.uk/~wbl/biblio/gp-html/icga85_cramer.html|title=सरल अनुक्रमिक कार्यक्रमों की अनुकूली पीढ़ी के लिए एक प्रतिनिधित्व|website=www.cs.bham.ac.uk|language=en|access-date=2018-05-19}}</ref> ने दो विशेष रूप से डिज़ाइन की गई भाषाओं में विकसित कार्यक्रम प्रकाशित किए, जिसमें आधुनिक "ट्री-आधारित" जेनेटिक प्रोग्रामिंग (अर्थात, पेड़-आधारित संरचनाओं में व्यवस्थित प्रक्रियात्मक भाषाएँ और उपयुक्त रूप से परिभाषित जीए-ऑपरेटरों द्वारा संचालित) का पहला कथन सम्मिलित था। 1988 में, [[ जॉन बकरी |जॉन कोज़ा]] (जॉन हॉलैंड के पीएचडी छात्र भी) ने कार्यक्रम के विकास के लिए जीए के अपने आविष्कार का पेटेंट कराया।<ref>{{Cite web|url=https://www.cs.bham.ac.uk/~wbl/biblio/gp-html/Koza_1990_pat-GAsp.html|title=समस्याओं को हल करने के लिए गैर-रैखिक आनुवंशिक एल्गोरिदम|website=www.cs.bham.ac.uk|language=en|access-date=2018-05-19}}</ref> इसके बाद आर्टिफिशियल इंटेलिजेंस आईजेसीएआई-89 पर अंतर्राष्ट्रीय संयुक्त सम्मेलन में प्रकाशन किया गया।<ref>{{Cite web|url=https://www.cs.bham.ac.uk/~wbl/biblio/gp-html/Koza89.html|title=कंप्यूटर प्रोग्राम की आबादी पर काम कर रहे पदानुक्रमित आनुवंशिक एल्गोरिदम|website=www.cs.bham.ac.uk|language=en|access-date=2018-05-19}}</ref>
यद्यपि कार्यक्रमों को विकसित करने का विचार, प्रारंभ में कंप्यूटर भाषा [[लिस्प (प्रोग्रामिंग भाषा)|लिस्प]] में, जॉन हॉलैंड के छात्रों के बीच प्रचलित था,<ref>A personal communication with [http://www.dcs.bbk.ac.uk/~tom/ Tom Westerdale]</ref> यह तब तक नहीं था जब तक उन्होंने पिट्सबर्ग में पहला [[जेनेटिक एल्गोरिद्म|जेनेटिक एल्गोरिदम]] (जीए) सम्मेलन आयोजित नहीं किया था कि निकेल क्रैमर<ref>{{Cite web|url=https://www.cs.bham.ac.uk/~wbl/biblio/gp-html/icga85_cramer.html|title=सरल अनुक्रमिक कार्यक्रमों की अनुकूली पीढ़ी के लिए एक प्रतिनिधित्व|website=www.cs.bham.ac.uk|language=en|access-date=2018-05-19}}</ref> ने दो विशेष रूप से डिज़ाइन की गई भाषाओं में विकसित कार्यक्रम प्रकाशित किए, जिसमें आधुनिक "ट्री-आधारित" जेनेटिक प्रोग्रामिंग (अर्थात, पेड़-आधारित संरचनाओं में व्यवस्थित प्रक्रियात्मक भाषाएँ और उपयुक्त रूप से परिभाषित जीए-ऑपरेटरों द्वारा संचालित) का पहला कथन सम्मिलित था। 1988 में, [[ जॉन बकरी |जॉन कोज़ा]] (जॉन हॉलैंड के पीएचडी छात्र भी) ने कार्यक्रम के विकास के लिए जीए के अपने आविष्कार का पेटेंट कराया।<ref>{{Cite web|url=https://www.cs.bham.ac.uk/~wbl/biblio/gp-html/Koza_1990_pat-GAsp.html|title=समस्याओं को हल करने के लिए गैर-रैखिक आनुवंशिक एल्गोरिदम|website=www.cs.bham.ac.uk|language=en|access-date=2018-05-19}}</ref> इसके बाद आर्टिफिशियल इंटेलिजेंस आईजेसीएआई-89 पर अंतर्राष्ट्रीय संयुक्त सम्मेलन में प्रकाशन किया गया।<ref>{{Cite web|url=https://www.cs.bham.ac.uk/~wbl/biblio/gp-html/Koza89.html|title=कंप्यूटर प्रोग्राम की आबादी पर काम कर रहे पदानुक्रमित आनुवंशिक एल्गोरिदम|website=www.cs.bham.ac.uk|language=en|access-date=2018-05-19}}</ref>
कोजा ने इसके बाद "जेनेटिक प्रोग्रामिंग" (जीपी) पर 205 प्रकाशन किए, जिसका नाम डेविड गोल्डबर्ग ने दिया, जो जॉन हॉलैंड के पीएचडी छात्र भी हैं।<ref>Goldberg. D.E. (1983), Computer-aided gas pipeline operation using genetic algorithms and rule learning. Dissertation presented to the University of Michigan at Ann Arbor, Michigan, in partial fulfillment of the requirements for Ph.D.</ref> तथापि, यह कोज़ा द्वारा 4 पुस्तकों की श्रृंखला है, जो 1992<ref>{{Cite web|url=https://www.cs.bham.ac.uk/~wbl/biblio/gp-html/koza_book.html|title=Genetic Programming: On the Programming of Computers by Means of Natural Selection|website=www.cs.bham.ac.uk|language=en|access-date=2018-05-19}}</ref> में वीडियो के साथ शुरू हुई,<ref>{{Cite web|url=https://www.youtube.com/watch?v=tTMpKrKkYXo| archive-url=https://ghostarchive.org/varchive/youtube/20211211/tTMpKrKkYXo| archive-date=2021-12-11 | url-status=live|title=Genetic Programming:The Movie|website=gpbib.cs.ucl.ac.uk|language=en|access-date=2021-05-20}}{{cbignore}}</ref> जिसने वास्तव में जीपी की स्थापना की। इसके बाद, 10,000 प्रविष्टियों को पार करते हुए जेनेटिक प्रोग्रामिंग ग्रंथ सूची के साथ प्रकाशनों की संख्या में भारी विस्तार हुआ।<ref>{{Cite web|url=http://gpbib.cs.ucl.ac.uk/gp-html/Hu_2014_Alife.html|title=फेनोटाइपिक अन्वेषण और विकास में मजबूती पर पुनर्संयोजन के प्रभाव|website=gpbib.cs.ucl.ac.uk|language=en|access-date=2021-05-20}}</ref> 2010 में, कोजा<ref>{{Cite web|url=https://www.cs.bham.ac.uk/~wbl/biblio/gp-html/Koza_2010_GPEM.html|title=आनुवंशिक प्रोग्रामिंग द्वारा उत्पादित मानव-प्रतिस्पर्धी परिणाम|website=www.cs.bham.ac.uk|language=en|access-date=2018-05-20}}</ref> ने 77 परिणाम सूचीबद्ध किए जहां जेनेटिक प्रोग्रामिंग मानव प्रतिस्पर्धी थी।
कोजा ने इसके बाद "जेनेटिक प्रोग्रामिंग" (जीपी) पर 205 प्रकाशन किए, जिसका नाम डेविड गोल्डबर्ग ने दिया, जो जॉन हॉलैंड के पीएचडी छात्र भी हैं।<ref>Goldberg. D.E. (1983), Computer-aided gas pipeline operation using genetic algorithms and rule learning. Dissertation presented to the University of Michigan at Ann Arbor, Michigan, in partial fulfillment of the requirements for Ph.D.</ref> तथापि, यह कोज़ा द्वारा 4 पुस्तकों की श्रृंखला है, जो 1992<ref>{{Cite web|url=https://www.cs.bham.ac.uk/~wbl/biblio/gp-html/koza_book.html|title=Genetic Programming: On the Programming of Computers by Means of Natural Selection|website=www.cs.bham.ac.uk|language=en|access-date=2018-05-19}}</ref> में वीडियो के साथ प्रारम्भ हुई,<ref>{{Cite web|url=https://www.youtube.com/watch?v=tTMpKrKkYXo| archive-url=https://ghostarchive.org/varchive/youtube/20211211/tTMpKrKkYXo| archive-date=2021-12-11 | url-status=live|title=Genetic Programming:The Movie|website=gpbib.cs.ucl.ac.uk|language=en|access-date=2021-05-20}}{{cbignore}}</ref> जिसने वास्तव में जीपी की स्थापना की। इसके बाद, 10,000 प्रविष्टियों को पार करते हुए जेनेटिक प्रोग्रामिंग ग्रंथ सूची के साथ प्रकाशनों की संख्या में भारी विस्तार हुआ।<ref>{{Cite web|url=http://gpbib.cs.ucl.ac.uk/gp-html/Hu_2014_Alife.html|title=फेनोटाइपिक अन्वेषण और विकास में मजबूती पर पुनर्संयोजन के प्रभाव|website=gpbib.cs.ucl.ac.uk|language=en|access-date=2021-05-20}}</ref> 2010 में, कोजा<ref>{{Cite web|url=https://www.cs.bham.ac.uk/~wbl/biblio/gp-html/Koza_2010_GPEM.html|title=आनुवंशिक प्रोग्रामिंग द्वारा उत्पादित मानव-प्रतिस्पर्धी परिणाम|website=www.cs.bham.ac.uk|language=en|access-date=2018-05-20}}</ref> ने 77 परिणाम सूचीबद्ध किए जहां जेनेटिक प्रोग्रामिंग मानव प्रतिस्पर्धी थी।


1996 में, कोजा ने वार्षिक जेनेटिक प्रोग्रामिंग सम्मेलन <ref>{{Cite web|url=https://www.cs.bham.ac.uk/~wbl/biblio/gp-html/koza_gp96.html|title=Genetic Programming 1996: Proceedings of the First Annual Conference|website=www.cs.bham.ac.uk|language=en|access-date=2018-05-19}}</ref> प्रारंभ किया, जिसके बाद 1998 में वार्षिक यूरोजीपी सम्मेलन,<ref>{{Cite web|url=https://www.cs.bham.ac.uk/~wbl/biblio/gp-html/banzhaf_1998_GP.html|title=जेनेटिक प्रोग्रामिंग|website=www.cs.bham.ac.uk|language=en|access-date=2018-05-19}}</ref> और कोज़ा द्वारा संपादित जीपी श्रृंखला में पहली पुस्तक<ref>{{Cite web|url=https://www.cs.bham.ac.uk/~wbl/biblio/gp-html/langdon_book.html|title=Genetic Programming and Data Structures: Genetic Programming + Data Structures = Automatic Programming!|website=www.cs.bham.ac.uk|language=en|access-date=2018-05-20}}</ref> हुई। 1998 में पहली जीपी पाठ्यपुस्तक भी देखी गई।<ref name="cs.bham.ac.uk">{{Cite web|url=https://www.cs.bham.ac.uk/~wbl/biblio/gp-html/banzhaf_1997_book.html|title=Genetic Programming -- An Introduction; On the Automatic Evolution of Computer Programs and its Applications|website=www.cs.bham.ac.uk|language=en|access-date=2018-05-20}}</ref> जीपी फलता-फूलता रहा, जिससे पहली विशेषज्ञ जीपी पत्रिका<ref>{{Cite journal|last=Banzhaf|first=Wolfgang|date=2000-04-01|title=संपादकीय परिचय|journal=Genetic Programming and Evolvable Machines|language=en|volume=1|issue=1–2|pages=5–6|doi=10.1023/A:1010026829303|issn=1389-2576}}</ref> और तीन साल बाद (2003) वार्षिक जेनेटिक प्रोग्रामिंग थ्योरी एंड प्रैक्टिस (जीपीटीपी) कार्यशाला की स्थापना रिक रिओलो द्वारा की गई।<ref>{{Cite web|url=https://www.cs.bham.ac.uk/~wbl/biblio/gp-html/RioloWorzel_2003.html|title=जेनेटिक प्रोग्रामिंग सिद्धांत और अभ्यास|website=www.cs.bham.ac.uk|language=en|access-date=2018-05-20}}</ref><ref name="field guide">{{Cite web|url=http://www.gp-field-guide.org.uk/|title=जेनेटिक प्रोग्रामिंग के लिए एक फील्ड गाइड|website=www.gp-field-guide.org.uk|access-date=2018-05-20}}</ref> विभिन्न प्रकार के सम्मेलनों और संबंधित पत्रिकाओं में जेनेटिक प्रोग्रामिंग पेपर प्रकाशित होते रहते हैं। आज उन्नीस जीपी पुस्तकें हैं जिनमें छात्रों के लिए कई हैं।<ref name="cs.bham.ac.uk"/>
1996 में, कोजा ने वार्षिक जेनेटिक प्रोग्रामिंग सम्मेलन <ref>{{Cite web|url=https://www.cs.bham.ac.uk/~wbl/biblio/gp-html/koza_gp96.html|title=Genetic Programming 1996: Proceedings of the First Annual Conference|website=www.cs.bham.ac.uk|language=en|access-date=2018-05-19}}</ref> प्रारंभ किया, जिसके बाद 1998 में वार्षिक यूरोजीपी सम्मेलन,<ref>{{Cite web|url=https://www.cs.bham.ac.uk/~wbl/biblio/gp-html/banzhaf_1998_GP.html|title=जेनेटिक प्रोग्रामिंग|website=www.cs.bham.ac.uk|language=en|access-date=2018-05-19}}</ref> और कोज़ा द्वारा संपादित जीपी श्रृंखला में पहली पुस्तक<ref>{{Cite web|url=https://www.cs.bham.ac.uk/~wbl/biblio/gp-html/langdon_book.html|title=Genetic Programming and Data Structures: Genetic Programming + Data Structures = Automatic Programming!|website=www.cs.bham.ac.uk|language=en|access-date=2018-05-20}}</ref> हुई। 1998 में पहली जीपी पाठ्यपुस्तक भी देखी गई।<ref name="cs.bham.ac.uk">{{Cite web|url=https://www.cs.bham.ac.uk/~wbl/biblio/gp-html/banzhaf_1997_book.html|title=Genetic Programming -- An Introduction; On the Automatic Evolution of Computer Programs and its Applications|website=www.cs.bham.ac.uk|language=en|access-date=2018-05-20}}</ref> जीपी फलता-फूलता रहा, जिससे पहली विशेषज्ञ जीपी पत्रिका<ref>{{Cite journal|last=Banzhaf|first=Wolfgang|date=2000-04-01|title=संपादकीय परिचय|journal=Genetic Programming and Evolvable Machines|language=en|volume=1|issue=1–2|pages=5–6|doi=10.1023/A:1010026829303|issn=1389-2576}}</ref> और तीन साल बाद (2003) वार्षिक जेनेटिक प्रोग्रामिंग थ्योरी एंड प्रैक्टिस (जीपीटीपी) कार्यशाला की स्थापना रिक रिओलो द्वारा की गई।<ref>{{Cite web|url=https://www.cs.bham.ac.uk/~wbl/biblio/gp-html/RioloWorzel_2003.html|title=जेनेटिक प्रोग्रामिंग सिद्धांत और अभ्यास|website=www.cs.bham.ac.uk|language=en|access-date=2018-05-20}}</ref><ref name="field guide">{{Cite web|url=http://www.gp-field-guide.org.uk/|title=जेनेटिक प्रोग्रामिंग के लिए एक फील्ड गाइड|website=www.gp-field-guide.org.uk|access-date=2018-05-20}}</ref> विभिन्न प्रकार के सम्मेलनों और संबंधित पत्रिकाओं में जेनेटिक प्रोग्रामिंग पेपर प्रकाशित होते रहते हैं। आज उन्नीस जीपी पुस्तकें हैं जिनमें छात्रों के लिए कई हैं।<ref name="cs.bham.ac.uk"/>
Line 56: Line 53:


अन्य उत्परिवर्तन ऑपरेटर पेड़ के एक पत्ते (बाहरी नोड) का चयन करते हैं और इसे यादृच्छिक रूप से चुने गए पत्ते से बदल देते हैं। एक और उत्परिवर्तन यादृच्छिक रूप से एक कार्य (आंतरिक नोड) का चयन करना है और इसे दूसरे कार्य के साथ समान एरिटी (इनपुट की संख्या) के साथ बदलना है। लहरा उत्परिवर्तन निरुद्देश्यता से एक सबट्री चुनता है और इसे अपने भीतर एक सबट्री से बदल देता है। इस प्रकार लहरा उत्परिवर्तन बच्चे को छोटा बनाने की गारंटी है। पत्ता और समान एरिटी फ़ंक्शन प्रतिस्थापन सुनिश्चित करता है कि बच्चा माता-पिता के समान आकार का है। जबकि सबट्री उत्परिवर्तन (एनीमेशन में), कार्य और टर्मिनल सेट के आधार पर, पेड़ के आकार को बढ़ाने या घटाने के लिए पूर्वाग्रह हो सकता है। अन्य सबट्री आधारित उत्परिवर्तन प्रतिस्थापन सबट्री के आकार और इस प्रकार चाइल्ड ट्री के आकार को सावधानीपूर्वक नियंत्रित करने का प्रयास करते हैं।
अन्य उत्परिवर्तन ऑपरेटर पेड़ के एक पत्ते (बाहरी नोड) का चयन करते हैं और इसे यादृच्छिक रूप से चुने गए पत्ते से बदल देते हैं। एक और उत्परिवर्तन यादृच्छिक रूप से एक कार्य (आंतरिक नोड) का चयन करना है और इसे दूसरे कार्य के साथ समान एरिटी (इनपुट की संख्या) के साथ बदलना है। लहरा उत्परिवर्तन निरुद्देश्यता से एक सबट्री चुनता है और इसे अपने भीतर एक सबट्री से बदल देता है। इस प्रकार लहरा उत्परिवर्तन बच्चे को छोटा बनाने की गारंटी है। पत्ता और समान एरिटी फ़ंक्शन प्रतिस्थापन सुनिश्चित करता है कि बच्चा माता-पिता के समान आकार का है। जबकि सबट्री उत्परिवर्तन (एनीमेशन में), कार्य और टर्मिनल सेट के आधार पर, पेड़ के आकार को बढ़ाने या घटाने के लिए पूर्वाग्रह हो सकता है। अन्य सबट्री आधारित उत्परिवर्तन प्रतिस्थापन सबट्री के आकार और इस प्रकार चाइल्ड ट्री के आकार को सावधानीपूर्वक नियंत्रित करने का प्रयास करते हैं।
  [[File:Genetic programming mutation.gif|thumb|माता-पिता को म्यूट करके सबट्री को हटाकर और यादृच्छिक कोड के साथ बदलकर जेनेटिक प्रोग्रामिंग चाइल्ड बनाने का एनिमेशन]]इसी तरह कई प्रकार के रैखिक आनुवंशिक प्रोग्रामिंग उत्परिवर्तन हैं, जिनमें से प्रत्येक यह सुनिश्चित करने की कोशिश करता है कि उत्परिवर्तित बच्चा अभी भी वाक्य-विन्यास की दृष्टि से सही है।
  [[File:Genetic programming mutation.gif|thumb|माता-पिता को परिवर्तनशील बनाकर सबट्री को हटाकर और यादृच्छिक कोड के साथ बदलकर जेनेटिक प्रोग्रामिंग चाइल्ड बनाने का एनिमेशन]]इसी तरह कई प्रकार के रैखिक आनुवंशिक प्रोग्रामिंग उत्परिवर्तन हैं, जिनमें से प्रत्येक यह सुनिश्चित करने की कोशिश करता है कि उत्परिवर्तित बच्चा अभी भी वाक्य-विन्यास की दृष्टि से सही है।


== अनुप्रयोग ==
== अनुप्रयोग ==
Line 65: Line 62:


== मेटा-जेनेटिक प्रोग्रामिंग ==
== मेटा-जेनेटिक प्रोग्रामिंग ==
मेटा-जेनेटिक प्रोग्रामिंग जेनेटिक प्रोग्रामिंग का उपयोग करके जेनेटिक प्रोग्रामिंग सिस्टम विकसित करने की मेटा-लर्निंग तकनीक है। यह सुझाव देता है कि क्रोमोसोम, क्रॉसओवर और उत्परिवर्तन स्वयं विकसित हुए थे, इसलिए उनके वास्तविक जीवन समकक्षों की तरह मानव प्रोग्रामर द्वारा निर्धारित किए जाने के बजाय स्वयं को बदलने की अनुमति दी जानी चाहिए। मेटा-जीपी औपचारिक रूप से 1987 में जुरगेन श्मिटहुबर द्वारा प्रस्तावित किया गया था।<ref>{{cite web|url=http://www.idsia.ch/~juergen/diploma.html|title=1987 THESIS ON LEARNING HOW TO LEARN, METALEARNING, META GENETIC PROGRAMMING,CREDIT-CONSERVING MACHINE LEARNING ECONOMY}}</ref> [[डगलस लेनट|डौग लेनैट]] का [[ पाना ]] पहले का एक प्रयास है जो एक ही तकनीक हो सकता है। यह एक पुनरावर्ती लेकिन समाप्ति एल्गोरिथ्म है, जिससे यह अनंत पुनरावर्तन से बचने की अनुमति देता है। मेटा-जेनेटिक प्रोग्रामिंग के ऑटोकंस्ट्रक्टिव इवोल्यूशन दृष्टिकोण में, संतानों के उत्पादन और भिन्नता के तरीकों को स्वयं विकसित कार्यक्रमों के भीतर एन्कोड किया जाता है, और कार्यक्रमों को जनसंख्या में जोड़े जाने के लिए नए कार्यक्रमों का निर्माण करने के लिए निष्पादित किया जाता है। <रेफरी नाम = स्पेक्टर 7- 40 /><ref>{{Cite book|title=GECCO '16 Companion : proceedings of the 2016 Genetic and Evolutionary Computation Conference : July 20-24, 2016, Denver, Colorado, USA|others=Neumann, Frank (Computer scientist), Association for Computing Machinery. SIGEVO|date=20 July 2016|isbn=9781450343237|location=New York, New York|oclc=987011786}}</ref>
मेटा-जेनेटिक प्रोग्रामिंग जेनेटिक प्रोग्रामिंग का उपयोग करके जेनेटिक प्रोग्रामिंग सिस्टम विकसित करने की मेटा-लर्निंग तकनीक है। यह सुझाव देता है कि क्रोमोसोम, क्रॉसओवर और उत्परिवर्तन स्वयं विकसित हुए थे, इसलिए उनके वास्तविक जीवन समकक्षों की तरह मानव प्रोग्रामर द्वारा निर्धारित किए जाने के बजाय स्वयं को बदलने की अनुमति दी जानी चाहिए। मेटा-जीपी औपचारिक रूप से 1987 में जुरगेन श्मिटहुबर द्वारा प्रस्तावित किया गया था।<ref>{{cite web|url=http://www.idsia.ch/~juergen/diploma.html|title=1987 THESIS ON LEARNING HOW TO LEARN, METALEARNING, META GENETIC PROGRAMMING,CREDIT-CONSERVING MACHINE LEARNING ECONOMY}}</ref> [[डगलस लेनट|डौग लेनैट]] यूरिस्को पहले का प्रयास है जो एक ही तकनीक हो सकता है। यह एक पुनरावर्ती लेकिन समाप्ति एल्गोरिथ्म है, जिससे यह अनंत पुनरावर्तन से बचने की अनुमति देता है। मेटा-जेनेटिक प्रोग्रामिंग के लिए "ऑटोकॉन्स्ट्रक्टिव इवोल्यूशन" दृष्टिकोण में, संतानों के उत्पादन और विविधता के तरीकों को स्वयं विकसित कार्यक्रमों के भीतर एन्कोड किया जाता है, और कार्यक्रमों को जनसंख्या में जोड़ने के लिए नए कार्यक्रमों का निर्माण करने के लिए निष्पादित किया जाता है।<ref>{{Cite book|title=GECCO '16 Companion : proceedings of the 2016 Genetic and Evolutionary Computation Conference : July 20-24, 2016, Denver, Colorado, USA|others=Neumann, Frank (Computer scientist), Association for Computing Machinery. SIGEVO|date=20 July 2016|isbn=9781450343237|location=New York, New York|oclc=987011786}}</ref>
इस विचार के आलोचक अक्सर कहते हैं कि यह दृष्टिकोण अत्यधिक व्यापक है। हालांकि, परिणामों के एक सामान्य वर्ग पर फिटनेस मानदंड को सीमित करना संभव हो सकता है, और इसलिए एक विकसित जीपी प्राप्त करें जो उप-वर्गों के लिए अधिक कुशलता से परिणाम देगा। यह मानव चलने वाले एल्गोरिदम के उत्पादन के लिए एक मेटा विकसित जीपी का रूप ले सकता है जो तब मानव चलने, कूदने आदि को विकसित करने के लिए उपयोग किया जाता है। मेटा जीपी पर लागू फिटनेस मानदंड केवल दक्षता में से एक होगा।
इस विचार के आलोचक प्रायः कहते हैं कि यह दृष्टिकोण अत्यधिक व्यापक है। तथापि, परिणामों के एक सामान्य वर्ग पर फिटनेस मानदंड को सीमित करना संभव हो सकता है, और इसलिए एक विकसित जीपी प्राप्त करें जो उप-वर्गों के लिए अधिक कुशलता से परिणाम देगा। यह मानव चलने वाले एल्गोरिदम के उत्पादन के लिए एक मेटा विकसित जीपी का रूप ले सकता है जो तब मानव चलने, कूदने आदि को विकसित करने के लिए उपयोग किया जाता है। मेटा जीपी पर लागू फिटनेस मानदंड केवल दक्षता में से एक होगा।


== यह भी देखें ==
== यह भी देखें ==
* [[जैव-प्रेरित कंप्यूटिंग]]
* [[जैव-प्रेरित कंप्यूटिंग]]
* कार्टेशियन जेनेटिक प्रोग्रामिंग
* कार्टेशियन जेनेटिक प्रोग्रामिंग
* [[ सीएमए-एन ]] (सीएमए-ईएस)
* [[ सीएमए-एन |सहप्रसरण मैट्रिक्स अनुकूलन विकास रणनीति]] (सीएमए-ईएस)
* [[फिटनेस सन्निकटन]]
* [[फिटनेस सन्निकटन]]
* [[जीन अभिव्यक्ति प्रोग्रामिंग]]
* [[जीन अभिव्यक्ति प्रोग्रामिंग]]
Line 79: Line 76:
* [[आगमनात्मक प्रोग्रामिंग]]
* [[आगमनात्मक प्रोग्रामिंग]]
* रैखिक आनुवंशिक प्रोग्रामिंग
* रैखिक आनुवंशिक प्रोग्रामिंग
* मल्टी एक्सप्रेशन प्रोग्रामिंग
* बहु अभिव्यक्ति प्रोग्रामिंग
* स्कीमा का प्रचार
* स्कीमा का प्रसार


==संदर्भ==
==संदर्भ==
Line 98: Line 95:


{{DEFAULTSORT:Genetic Programming}}
{{DEFAULTSORT:Genetic Programming}}
<!-- categories -->[[Category: जेनेटिक प्रोग्रामिंग | जेनेटिक प्रोग्रामिंग ]] [[Category: आनुवंशिक एल्गोरिदम]]
<!-- categories -->
 
 


[[Category: Machine Translated Page]]
[[Category:CS1 English-language sources (en)]]
[[Category:Created On 02/03/2023]]
[[Category:CS1 maint]]
[[Category:Created On 02/03/2023|Genetic Programming]]
[[Category:Lua-based templates|Genetic Programming]]
[[Category:Machine Translated Page|Genetic Programming]]
[[Category:Pages with script errors|Genetic Programming]]
[[Category:Short description with empty Wikidata description|Genetic Programming]]
[[Category:Templates Vigyan Ready|Genetic Programming]]
[[Category:Templates that add a tracking category|Genetic Programming]]
[[Category:Templates that generate short descriptions|Genetic Programming]]
[[Category:Templates using TemplateData|Genetic Programming]]
[[Category:Webarchive template wayback links]]
[[Category:आनुवंशिक एल्गोरिदम|Genetic Programming]]
[[Category:जेनेटिक प्रोग्रामिंग| जेनेटिक प्रोग्रामिंग ]]

Latest revision as of 17:49, 19 March 2023

आर्टिफिशियल इंटेलिजेंस में, जेनेटिक प्रोग्रामिंग (जीपी) कार्यक्रमों को विकसित करने की एक तकनीक है, जो कार्यक्रमों की आबादी के लिए प्राकृतिक आनुवंशिक प्रक्रियाओं के अनुरूप संचालन को लागू करके किसी विशेष कार्य के लिए अनुपयुक्त (सामान्यतः यादृच्छिक) कार्यक्रमों की आबादी से प्रारंभ होती है।

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

सामान्यतः, प्रत्येक नई पीढ़ी के सदस्य पिछली पीढ़ी के सदस्यों की तुलना में औसतन अधिक योग्य होते हैं, और सबसे अच्छी पीढ़ी का कार्यक्रम प्रायः पिछली पीढ़ियों के सर्वश्रेष्ठ पीढ़ी के कार्यक्रमों से श्रेष्ठतर होता है। विकास की समाप्ति प्रायः तब होती है जब कोई व्यक्तिगत कार्यक्रम पूर्वनिर्धारित दक्षता या योग्यता स्तर तक पहुँच जाता है।

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

इतिहास

कार्यक्रमों को विकसित करने के प्रस्ताव का पहला रिकॉर्ड संभवत: 1950 में एलन ट्यूरिंग का है।[1] जॉन हॉलैंड के 'एडाप्टेशन इन नेचुरल एंड आर्टिफिशियल सिस्टम्स' के प्रकाशन से पहले 25 साल का अंतराल था, जिसने विज्ञान की सैद्धांतिक और अनुभवजन्य नींव रखी। 1981 में, रिचर्ड फोर्सिथ ने यूके होम ऑफिस के लिए अपराध दृश्य साक्ष्य के वर्गीकरण के प्रदर्शन के लिए पेड़ों के रूप में प्रस्तुत छोटे कार्यक्रमों के सफल विकास का प्रदर्शन किया।[2] यद्यपि कार्यक्रमों को विकसित करने का विचार, प्रारंभ में कंप्यूटर भाषा लिस्प में, जॉन हॉलैंड के छात्रों के बीच प्रचलित था,[3] यह तब तक नहीं था जब तक उन्होंने पिट्सबर्ग में पहला जेनेटिक एल्गोरिदम (जीए) सम्मेलन आयोजित नहीं किया था कि निकेल क्रैमर[4] ने दो विशेष रूप से डिज़ाइन की गई भाषाओं में विकसित कार्यक्रम प्रकाशित किए, जिसमें आधुनिक "ट्री-आधारित" जेनेटिक प्रोग्रामिंग (अर्थात, पेड़-आधारित संरचनाओं में व्यवस्थित प्रक्रियात्मक भाषाएँ और उपयुक्त रूप से परिभाषित जीए-ऑपरेटरों द्वारा संचालित) का पहला कथन सम्मिलित था। 1988 में, जॉन कोज़ा (जॉन हॉलैंड के पीएचडी छात्र भी) ने कार्यक्रम के विकास के लिए जीए के अपने आविष्कार का पेटेंट कराया।[5] इसके बाद आर्टिफिशियल इंटेलिजेंस आईजेसीएआई-89 पर अंतर्राष्ट्रीय संयुक्त सम्मेलन में प्रकाशन किया गया।[6] कोजा ने इसके बाद "जेनेटिक प्रोग्रामिंग" (जीपी) पर 205 प्रकाशन किए, जिसका नाम डेविड गोल्डबर्ग ने दिया, जो जॉन हॉलैंड के पीएचडी छात्र भी हैं।[7] तथापि, यह कोज़ा द्वारा 4 पुस्तकों की श्रृंखला है, जो 1992[8] में वीडियो के साथ प्रारम्भ हुई,[9] जिसने वास्तव में जीपी की स्थापना की। इसके बाद, 10,000 प्रविष्टियों को पार करते हुए जेनेटिक प्रोग्रामिंग ग्रंथ सूची के साथ प्रकाशनों की संख्या में भारी विस्तार हुआ।[10] 2010 में, कोजा[11] ने 77 परिणाम सूचीबद्ध किए जहां जेनेटिक प्रोग्रामिंग मानव प्रतिस्पर्धी थी।

1996 में, कोजा ने वार्षिक जेनेटिक प्रोग्रामिंग सम्मेलन [12] प्रारंभ किया, जिसके बाद 1998 में वार्षिक यूरोजीपी सम्मेलन,[13] और कोज़ा द्वारा संपादित जीपी श्रृंखला में पहली पुस्तक[14] हुई। 1998 में पहली जीपी पाठ्यपुस्तक भी देखी गई।[15] जीपी फलता-फूलता रहा, जिससे पहली विशेषज्ञ जीपी पत्रिका[16] और तीन साल बाद (2003) वार्षिक जेनेटिक प्रोग्रामिंग थ्योरी एंड प्रैक्टिस (जीपीटीपी) कार्यशाला की स्थापना रिक रिओलो द्वारा की गई।[17][18] विभिन्न प्रकार के सम्मेलनों और संबंधित पत्रिकाओं में जेनेटिक प्रोग्रामिंग पेपर प्रकाशित होते रहते हैं। आज उन्नीस जीपी पुस्तकें हैं जिनमें छात्रों के लिए कई हैं।[15]

जीपी में मूलभूत कार्य

प्रारंभिक कार्य जो वर्तमान आनुवंशिक प्रोग्रामिंग अनुसंधान विषयों और अनुप्रयोगों के लिए चरण निर्धारित करता है, विविध है, और इसमें सॉफ्टवेयर संश्लेषण और मरम्मत, भविष्य कहनेवाला प्रतिरूपण, डेटा खनन,[19] वित्तीय प्रतिरूपण,[20] नरम सेंसर,[21] डिज़ाइन,[22] और छवि प्रसंस्करण सम्मिलित हैं।[23] कुछ क्षेत्रों में अनुप्रयोग, जैसे डिज़ाइन, प्रायः मध्यवर्ती अभ्यावेदन का उपयोग करते हैं,[24] जैसे कि फ्रेड ग्रौ के सेलुलर एन्कोडिंग।[25] वित्त, रासायनिक उद्योग, जैव सूचना विज्ञान [26][27] और इस्पात उद्योग[28] सहित कई क्षेत्रों में औद्योगिक उत्थान महत्वपूर्ण रहा है।


तरीके

कार्यक्रम का प्रतिनिधित्व

वृक्ष संरचना के रूप में प्रस्तुत एक समारोह

आनुवंशिक प्रतिनिधित्व

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

गैर-वृक्ष अभ्यावेदन का सुझाव दिया गया है और सफलतापूर्वक कार्यान्वित किया गया है, जैसे कि रेखीय आनुवंशिक प्रोग्रामिंग जो अधिक पारंपरिक अनिवार्य भाषाओं के अनुकूल है [देखें, उदाहरण के लिए, बंझाफ एट अल। (1998)]।[30] वाणिज्यिक जीपी सॉफ्टवेयर डिसिपुलस बाइनरी मशीन कोड ("एआईएम") के स्वत: प्रेरण का उपयोग करता है।[31] श्रेष्ठतर प्रदर्शन प्राप्त करने के लिए। माइक्रोजीपी[32] किसी दिए गए असेंबली भाषा के सिंटैक्स का पूरी तरह से उपयोग करने वाले प्रोग्राम उत्पन्न करने के लिए निर्देशित मल्टीग्राफ का उपयोग करता है। बहु अभिव्यक्ति प्रोग्रामिंग एन्कोडिंग समाधानों के लिए तीन-पता कोड का उपयोग करती है। अन्य कार्यक्रम अभ्यावेदन जिन पर महत्वपूर्ण अनुसंधान और विकास किए गए हैं, उनमें स्टैक-आधारित आभासी मशीनों के लिए कार्यक्रम सम्मिलित हैं,[33][34][35] और पूर्णांकों के अनुक्रम जिन्हें व्याकरण के माध्यम से मनमाने ढंग से प्रोग्रामिंग भाषाओं में मैप किया जाता है।[36] [37] कार्टेशियन जेनेटिक प्रोग्रामिंग जीपी का दूसरा रूप है, जो कंप्यूटर प्रोग्राम को एन्कोड करने के लिए सामान्य वृक्ष आधारित प्रतिनिधित्व के बजाय ग्राफ प्रतिनिधित्व का उपयोग करता है।

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


चयन

चयन एक ऐसी प्रक्रिया है जिसके द्वारा वर्तमान पीढ़ी से कुछ व्यक्तियों का चयन किया जाता है जो अगली पीढ़ी के लिए माता-पिता के रूप में काम करेंगे। व्यक्तियों को संभाव्य रूप से इस तरह चुना जाता है कि श्रेष्ठतर प्रदर्शन करने वाले व्यक्तियों के चुने जाने की संभावना अधिक होती है।[18] जीपी में सबसे अधिक उपयोग की जाने वाली चयन पद्धति टूर्नामेंट चयन है, यद्यपि अन्य तरीकों जैसे कि फिटनेस आनुपातिक चयन, लेक्सिकेज चयन,[39] और अन्य को कई जीपी समस्याओं के लिए श्रेष्ठतर प्रदर्शन करने के लिए प्रदर्शित किया गया है।

अभिजात्यवाद, जिसमें वर्तमान पीढ़ी से सर्वश्रेष्ठ व्यक्ति (या सर्वश्रेष्ठ एन व्यक्तियों) के साथ अगली पीढ़ी को बीजारोपण करना सम्मिलित है, एक तकनीक है जिसे कभी-कभी प्रतिगमन से बचने के लिए नियोजित किया जाता है।

क्रॉसओवर

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

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

जेनेटिक प्रोग्रामिंग सबट्री क्रॉसओवर

उत्परिवर्तन

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

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

माता-पिता को परिवर्तनशील बनाकर सबट्री को हटाकर और यादृच्छिक कोड के साथ बदलकर जेनेटिक प्रोग्रामिंग चाइल्ड बनाने का एनिमेशन

इसी तरह कई प्रकार के रैखिक आनुवंशिक प्रोग्रामिंग उत्परिवर्तन हैं, जिनमें से प्रत्येक यह सुनिश्चित करने की कोशिश करता है कि उत्परिवर्तित बच्चा अभी भी वाक्य-विन्यास की दृष्टि से सही है।

अनुप्रयोग

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

2022 में, यह दिखाया गया था कि ईईजी ब्रेनवेव डेटा से गिरने की स्वायत्त पहचान में सुधार के लिए यंत्र अधिगम पाइपलाइनों की जेनेटिक प्रोग्रामिंग का लाभ उठाया जा सकता है।[42]


मेटा-जेनेटिक प्रोग्रामिंग

मेटा-जेनेटिक प्रोग्रामिंग जेनेटिक प्रोग्रामिंग का उपयोग करके जेनेटिक प्रोग्रामिंग सिस्टम विकसित करने की मेटा-लर्निंग तकनीक है। यह सुझाव देता है कि क्रोमोसोम, क्रॉसओवर और उत्परिवर्तन स्वयं विकसित हुए थे, इसलिए उनके वास्तविक जीवन समकक्षों की तरह मानव प्रोग्रामर द्वारा निर्धारित किए जाने के बजाय स्वयं को बदलने की अनुमति दी जानी चाहिए। मेटा-जीपी औपचारिक रूप से 1987 में जुरगेन श्मिटहुबर द्वारा प्रस्तावित किया गया था।[43] डौग लेनैट यूरिस्को पहले का प्रयास है जो एक ही तकनीक हो सकता है। यह एक पुनरावर्ती लेकिन समाप्ति एल्गोरिथ्म है, जिससे यह अनंत पुनरावर्तन से बचने की अनुमति देता है। मेटा-जेनेटिक प्रोग्रामिंग के लिए "ऑटोकॉन्स्ट्रक्टिव इवोल्यूशन" दृष्टिकोण में, संतानों के उत्पादन और विविधता के तरीकों को स्वयं विकसित कार्यक्रमों के भीतर एन्कोड किया जाता है, और कार्यक्रमों को जनसंख्या में जोड़ने के लिए नए कार्यक्रमों का निर्माण करने के लिए निष्पादित किया जाता है।[44] इस विचार के आलोचक प्रायः कहते हैं कि यह दृष्टिकोण अत्यधिक व्यापक है। तथापि, परिणामों के एक सामान्य वर्ग पर फिटनेस मानदंड को सीमित करना संभव हो सकता है, और इसलिए एक विकसित जीपी प्राप्त करें जो उप-वर्गों के लिए अधिक कुशलता से परिणाम देगा। यह मानव चलने वाले एल्गोरिदम के उत्पादन के लिए एक मेटा विकसित जीपी का रूप ले सकता है जो तब मानव चलने, कूदने आदि को विकसित करने के लिए उपयोग किया जाता है। मेटा जीपी पर लागू फिटनेस मानदंड केवल दक्षता में से एक होगा।

यह भी देखें

संदर्भ

  1. "कंप्यूटिंग मशीनरी और इंटेलिजेंस". www.cs.bham.ac.uk (in English). Retrieved 2018-05-19.
  2. "बीगल ए डार्विनियन एप्रोच टू पैटर्न रिकग्निशन". www.cs.bham.ac.uk (in English). Retrieved 2018-05-19.
  3. A personal communication with Tom Westerdale
  4. "सरल अनुक्रमिक कार्यक्रमों की अनुकूली पीढ़ी के लिए एक प्रतिनिधित्व". www.cs.bham.ac.uk (in English). Retrieved 2018-05-19.
  5. "समस्याओं को हल करने के लिए गैर-रैखिक आनुवंशिक एल्गोरिदम". www.cs.bham.ac.uk (in English). Retrieved 2018-05-19.
  6. "कंप्यूटर प्रोग्राम की आबादी पर काम कर रहे पदानुक्रमित आनुवंशिक एल्गोरिदम". www.cs.bham.ac.uk (in English). Retrieved 2018-05-19.
  7. Goldberg. D.E. (1983), Computer-aided gas pipeline operation using genetic algorithms and rule learning. Dissertation presented to the University of Michigan at Ann Arbor, Michigan, in partial fulfillment of the requirements for Ph.D.
  8. "Genetic Programming: On the Programming of Computers by Means of Natural Selection". www.cs.bham.ac.uk (in English). Retrieved 2018-05-19.
  9. "Genetic Programming:The Movie". gpbib.cs.ucl.ac.uk (in English). Archived from the original on 2021-12-11. Retrieved 2021-05-20.
  10. "फेनोटाइपिक अन्वेषण और विकास में मजबूती पर पुनर्संयोजन के प्रभाव". gpbib.cs.ucl.ac.uk (in English). Retrieved 2021-05-20.
  11. "आनुवंशिक प्रोग्रामिंग द्वारा उत्पादित मानव-प्रतिस्पर्धी परिणाम". www.cs.bham.ac.uk (in English). Retrieved 2018-05-20.
  12. "Genetic Programming 1996: Proceedings of the First Annual Conference". www.cs.bham.ac.uk (in English). Retrieved 2018-05-19.
  13. "जेनेटिक प्रोग्रामिंग". www.cs.bham.ac.uk (in English). Retrieved 2018-05-19.
  14. "Genetic Programming and Data Structures: Genetic Programming + Data Structures = Automatic Programming!". www.cs.bham.ac.uk (in English). Retrieved 2018-05-20.
  15. 15.0 15.1 "Genetic Programming -- An Introduction; On the Automatic Evolution of Computer Programs and its Applications". www.cs.bham.ac.uk (in English). Retrieved 2018-05-20.
  16. Banzhaf, Wolfgang (2000-04-01). "संपादकीय परिचय". Genetic Programming and Evolvable Machines (in English). 1 (1–2): 5–6. doi:10.1023/A:1010026829303. ISSN 1389-2576.
  17. "जेनेटिक प्रोग्रामिंग सिद्धांत और अभ्यास". www.cs.bham.ac.uk (in English). Retrieved 2018-05-20.
  18. 18.0 18.1 18.2 "जेनेटिक प्रोग्रामिंग के लिए एक फील्ड गाइड". www.gp-field-guide.org.uk. Retrieved 2018-05-20.
  19. "विकासवादी एल्गोरिदम के साथ डाटा माइनिंग और नॉलेज डिस्कवरी". www.cs.bham.ac.uk (in English). Retrieved 2018-05-20.
  20. "EDDIE ने सट्टेबाजों की पिटाई की". www.cs.bham.ac.uk (in English). Retrieved 2018-05-20.
  21. "कम्प्यूटेशनल इंटेलिजेंस को लागू करना मूल्य कैसे बनाएँ". www.cs.bham.ac.uk (in English). Retrieved 2018-05-20.
  22. "आनुवंशिक प्रोग्रामिंग के माध्यम से मानव-प्रतिस्पर्धी मशीन का आविष्कार". www.cs.bham.ac.uk (in English). Retrieved 2018-05-20.
  23. "आनुवंशिक प्रोग्रामिंग का उपयोग करके मानव-प्रतिस्पर्धी छवि बनावट फ़ीचर एक्सट्रैक्शन प्रोग्राम की खोज". www.cs.bham.ac.uk (in English). Retrieved 2018-05-20.
  24. "Three Ways to Grow Designs: A Comparison of Embryogenies for an Evolutionary Design Problem". www.cs.bham.ac.uk (in English). Retrieved 2018-05-20.
  25. "एक ग्राफ व्याकरण के रूप में सेलुलर एन्कोडिंग - आईईटी सम्मेलन प्रकाशन". ieeexplore.ieee.org (in English). April 1993. pp. 17/1–1710. Retrieved 2018-05-20.
  26. "विश्लेषणात्मक जैव प्रौद्योगिकी में इन्फ्रा-रेड स्पेक्ट्रा की व्याख्या के लिए जेनेटिक एल्गोरिथम डिकोडिंग". www.cs.bham.ac.uk (in English). Retrieved 2018-05-20.
  27. "कैंसर रोगियों से खनन डीएनए चिप डेटा के लिए जेनेटिक प्रोग्रामिंग". www.cs.bham.ac.uk (in English). Retrieved 2018-05-20.
  28. "जेनेटिक प्रोग्रामिंग और जॉमिनी टेस्ट मॉडलिंग". www.cs.bham.ac.uk (in English). Retrieved 2018-05-20.
  29. Nichael L. Cramer "A Representation for the Adaptive Generation of Simple Sequential Programs" Archived 2005-12-04 at the Wayback Machine.
  30. Garnett Wilson and Wolfgang Banzhaf. "A Comparison of Cartesian Genetic Programming and Linear Genetic Programming".
  31. (Peter Nordin, 1997, Banzhaf et al., 1998, Section 11.6.2-11.6.3)
  32. Giovanni Squillero. "µGP (MicroGP)".
  33. "स्टैक-आधारित जेनेटिक प्रोग्रामिंग". gpbib.cs.ucl.ac.uk (in English). Retrieved 2021-05-20.
  34. Spector, Lee; Klein, Jon; Keijzer, Maarten (2005-06-25). The Push3 execution stack and the evolution of control. ACM. pp. 1689–1696. CiteSeerX 10.1.1.153.384. doi:10.1145/1068009.1068292. ISBN 978-1595930101. S2CID 11954638.
  35. Ryan, Conor; Collins, JJ; Neill, Michael O (1998). कंप्यूटर विज्ञान के व्याख्यान नोट्स. Berlin, Heidelberg: Springer Berlin Heidelberg. pp. 83–96. CiteSeerX 10.1.1.38.7697. doi:10.1007/bfb0055930. ISBN 9783540643609.
  36. O'Neill, M.; Ryan, C. (2001). "व्याकरणिक विकास". IEEE Transactions on Evolutionary Computation (in English). 5 (4): 349–358. doi:10.1109/4235.942529. ISSN 1089-778X. S2CID 10391383.
  37. Julian F. Miller. "Cartesian Genetic Programming" Archived 2015-09-24 at the Wayback Machine. p. 19.
  38. Janet Clegg; James Alfred Walker; Julian Francis Miller. A New Crossover Technique for Cartesian Genetic Programming". 2007.
  39. Spector, Lee (2012). Assessment of problem modality by differential performance of lexicase selection in genetic programming: a preliminary report. pp. 401–408. doi:10.1145/2330784.2330846. ISBN 9781450311786. S2CID 3258264. {{cite book}}: |journal= ignored (help)
  40. Koza, John R (2010). "आनुवंशिक प्रोग्रामिंग द्वारा उत्पादित मानव-प्रतिस्पर्धी परिणाम". Genetic Programming and Evolvable Machines (in English). 11 (3–4): 251–284. doi:10.1007/s10710-010-9112-3.
  41. "Humies =Human-Competitive Awards".
  42. Bird, Jordan J. (29 June 2022). "जेनेटिक प्रोग्रामिंग के साथ फॉल डिटेक्शन के लिए ईईजी वेवलेट वर्गीकरण". The15th International Conference on PErvasive Technologies Related to Assistive Environments: 376–382. doi:10.1145/3529190.3535339. ISBN 9781450396318. S2CID 250429410.
  43. "1987 THESIS ON LEARNING HOW TO LEARN, METALEARNING, META GENETIC PROGRAMMING,CREDIT-CONSERVING MACHINE LEARNING ECONOMY".
  44. GECCO '16 Companion : proceedings of the 2016 Genetic and Evolutionary Computation Conference : July 20-24, 2016, Denver, Colorado, USA. Neumann, Frank (Computer scientist), Association for Computing Machinery. SIGEVO. New York, New York. 20 July 2016. ISBN 9781450343237. OCLC 987011786.{{cite book}}: CS1 maint: location missing publisher (link) CS1 maint: others (link)


बाहरी संबंध