2009-03-29 15 views
8

मुझे यह very cool C++ sample मिला, सचमुच "हैलो वर्ल्ड!" अनुवांशिक एल्गोरिदम के।"हैलो वर्ल्ड!" क्या है आनुवांशिक एल्गोरिदम के लिए अच्छा है?

मैंने सी # और this में पूरी चीज को फिर से कोड करने का निर्णय लिया है।

अब मैं खुद से पूछ रहा हूं: क्या यादृच्छिक तारों की आबादी से शुरू होने वाली लक्ष्य स्ट्रिंग उत्पन्न करने के साथ कोई व्यावहारिक अनुप्रयोग है?

संपादित: ट्विटर पर मेरे साथी बस ने ट्वीट किया है कि "इस तरह के अनुवाद के रूप में प्रतिलेखन प्रकार बातों के लिए उपयोगी है बंदर के होने की जरूरत नहीं है।"। काश मैं एक सुराग था।

+1

शीश, मुझे अपनी परियोजना की जांच करने के लिए जीआईटी का उपयोग करना होगा? हम कम करने वाले उपयोगकर्ताओं को कम करने के लिए क्या कर रहे हैं? –

+2

सभी को खुश नहीं कर सकता (जीआईटी काफी अच्छा बीटीडब्लू है) :) – JohnIdol

उत्तर

13

क्या यादृच्छिक तारों की आबादी से शुरू होने वाली लक्ष्य स्ट्रिंग उत्पन्न करने के साथ कोई व्यावहारिक अनुप्रयोग है?

निश्चित रूप से। किसी भी परिदृश्य की कल्पना कीजिए जिसमें आप कैसे एक विशेष स्ट्रिंग की फिटनेस का मूल्यांकन करने को पता है, और जिसमें विकल्पों असतत और किसी तरह से विवश कर रहे हैं: "Artekzo"

  • उच्चरण नाम चुनने ("Xhjkxc" कम फिटनेस है उच्च फिटनेस)
  • है शतरंज की एक श्रृंखला से बाहर की कोशिश कर रहा से चलता है
  • एक सुरक्षित करने के लिए संयोजन भाँप रहे, यह मानते हुए कि आप प्रत्येक गिलास
  • चुनने फोन नंबर है कि शब्द (जैसे के रूप में मूल्यांकित लाभ के और बता सकते हैं आप के कितने करीब हैं "843 -2378 "में उच्च फिटनेस है क्योंकि यह" बेस्ट "का मंत्र है)
+0

मुझे यकीन नहीं है कि मुझे "उच्चारण करने योग्य" उदाहरण मिल गया है – JohnIdol

+0

कहें कि आप कुछ यादृच्छिक तारों से शुरू करने योग्य नाम ढूंढना चाहते हैं, और आपके पास मूल्यांकन करने का कोई तरीका है प्रत्येक नाम कितना उच्चारण योग्य है। क्या आप देख सकते हैं कि तारों को यादृच्छिक रूप से कैसे अनुमति देते हैं जब तक आप उच्च "उच्चारण" (फिटनेस) जीए के साथ कुछ नहीं करेंगे? –

+0

हाँ, मुझे यह मिलता है - यह सही फिटनेस फ़ंक्शन जानने के लिए नीचे आता है। इसलिए उत्तरदायित्व के मामले में इसे व्यंजनों और वोकल्स से जुड़ा होना चाहिए जो इस तरह जोड़ते हैं या smt। – JohnIdol

2

नहीं हर बार जब आप GA चलाते हैं, तो आप इसे अंतिम उत्तर दे रहे हैं। यह दिखाने के लिए बहुत अच्छा है कि GA कैसे काम करता है और यह दिखाने के लिए कि यह कितना शक्तिशाली हो सकता है, लेकिन इसका कोई उद्देश्य नहीं है।

+2

मैं इस से सहमत नहीं हूं; आपको यह जानने की आवश्यकता नहीं है कि GA को चलाने के लिए "उत्तर" क्या है। असल में, कभी-कभी कोई जवाब नहीं होता - जैसे कि "एक तर्कसंगत नाम चुनें" उदाहरण में। जीए इस तरह की चीज पर विशेष रूप से अच्छे हैं। –

+0

आपको यह जानने की ज़रूरत है कि एक विशेष उत्तर कितना अच्छा है (यही फिटनेस फ़ंक्शन है)। लेकिन इसके अलावा, यह ग्रेवी है। –

+0

हां, आपको हमेशा GA चलाने के उत्तर को जानने की आवश्यकता नहीं है। हालांकि, आप इस विशेष कार्यान्वयन के लिए करते हैं। उनका सवाल आम तौर पर जीए के बारे में नहीं है, यह इस विशिष्ट कार्यान्वयन के बारे में है। –

0

मैंने 2 वास्तविक जीवन अनुसंधान समस्याओं में GA का उपयोग किया है।

एक एक शक्ति अनुकूलन समस्या (, उपकरणों की संख्या पर दिया अधिकतम प्रत्येक उपकरण के लिए उपलब्ध बिजली बाधा और सेवा गारंटी बैठक)

एक और रेडियो नेटवर्क अनुकूलन के लिए था, कवरेज क्षेत्र को अधिकतम एक निश्चित उपकरण बजट दिया

1

आप एक ईए लिख सकते हैं जो कोड बनाने के लक्ष्य के साथ आयरनपीथन जैसे गतिशील भाषा में कोड लिखता है ए) क्रैशिंग के बिना निष्पादित करता है और बी) शेयर बाजार का विश्लेषण करता है और समझदारी से स्टॉक खरीदता है और बेचता है।

यह आवश्यक होगा कि यह आवश्यक होगा, लेकिन यह संभव है। आपको एक मेजबान की आवश्यकता होगी जो आयरनपीथन कोड (तकनीकी संकेतक, आदि) और टिक के डेटाबेस के लिए बहुत सी विधियां प्रदान करे।

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

तो, मैं एक ऐसे प्रोजेक्ट से जुड़ा था जिसने सब कुछ किया लेकिन ईए। हमारे पास एक सैटेलाइट डिश था जिसे NASDAQ से रीयल-टाइम स्टॉक टिक्स मिलते थे, जो एक एपीआई था, और एक प्राचीन निर्णय लेने वाला "मस्तिष्क" था जिसने टिक्स के रूप में निर्णय लिया था।

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

+0

इस पर आपके योगदान के लिए धन्यवाद - एक संभावित आवेदन के रूप में निश्चित रूप से दिलचस्प और बहुत शक्तिशाली, भी अच्छा उपाख्यान :) - कोई दिलचस्प संबंधित संसाधन? – JohnIdol

+0

यहां कुछ दिलचस्प है: http://stackoverflow.com/questions/131165/evolutionary-algorithms-optimal-repopulation-breakdowns –

+0

यह ईए के साथ कुछ मदद है। ईए पर मौजूद अधिकांश लेख वास्तव में भयानक हैं (पढ़ना: अकादमिक) इस बात पर विचार करना कि वास्तव में उनके साथ शुरुआत करना कितना आसान है। –

0

जीए का एक मुख्य नुकसान है, यह आमतौर पर अनुवांशिक गति के साथ काम करता है, इसलिए इसे कुछ गंभीर समय-निर्भर परियोजनाओं में उपयोग करना काफी जोखिम भरा होता है।

संबंधित मुद्दे