2008-11-20 10 views
37

मैं सोच रहा था कि वाणिज्यिक कोड में अनुवांशिक एल्गोरिदम दृष्टिकोण ढूंढना कितना आम है।क्या आपने कभी वास्तविक दुनिया अनुप्रयोगों में आनुवांशिक एल्गोरिदम का उपयोग किया है?

यह हमेशा मुझे लगा कि कुछ प्रकार के शेड्यूलर मुख्य एल्गोरिदम के पूरक के रूप में जीए इंजन से लाभ उठा सकते हैं।

उत्तर

3

मैंने नहीं किया है लेकिन मैंने इस कंपनी के बारे में सुना है (उनके नाम को याद नहीं कर सकता) जो मेरे मित्र के प्लेसमेंट और एंटेना (या कुछ) की लंबाई और गणना की गणना करने के लिए उत्परिवर्ती, अनुवांशिक अल्गोस का उपयोग करता है। और वे (मेरे दोस्त के अनुसार) इस के साथ बड़ी सफलता है। मुझे लगता है कि जीए मुख्यधारा बनने के लिए "औसत जो डेवलपर" के लिए बहुत जटिल है। नक्शा कम करने की तरह - शानदार रूप से ठंडा, लेकिन "मुख्यधारा" को हिट करने के लिए भी बहुत उन्नत ...

+0

http://ieeexplore.ieee.org/Xplore/login.jsp?url=/iel5/8/27408/01219605.pdf?arnumber=1219605 –

+4

मुझे नहीं लगता कि यह बहुत जटिल है। बड़ी समस्या यह है कि यह एक गैर-निर्धारक एल्गोरिदम है और इसके परिणामस्वरूप आप अक्सर परिणामों की एक निश्चित गुणवत्ता की गारंटी नहीं दे सकते हैं और इसलिए लोग अन्य ह्युरिस्टिक्स (जहां वे कर सकते हैं) पसंद करते हैं। – flolo

+0

यह जटिल नहीं है: समस्या यह है कि यह ध्वनि जटिल है - आपको वास्तव में अपने स्वयं के जीए लागू करने के लिए जेनेटिक्स के अधिक ज्ञान की आवश्यकता नहीं है। – Nobody

10

यदि आप कोई उदाहरण ढूंढना चाहते हैं, तो पोस्टग्रेस की क्वेरी प्लानर देखें। यह कई तकनीकों का उपयोग करता है, और एक ऐसा आनुवांशिक होता है।

http://developer.postgresql.org/pgdocs/postgres/geqo-pg-intro.html

4

मैं अपने मास्टर की थीसिस में जीए थे, लेकिन उसके बाद मैं अपने दैनिक काम में कुछ भी एक जीए का समाधान कर सकता है कि मैं कुछ अन्य एल्गोरिथ्म के साथ तेजी से हल नहीं कर सकता है नहीं मिली है।

+3

जानवर की प्रकृति में चीजें - यदि आप अपनी समस्या के विश्लेषणात्मक समाधान को नहीं जानते हैं तो GA सबसे उपयोगी हैं। एक अनैतिक समाधान हमेशा अधिक कुशल होना चाहिए। – sum1stolemyname

20

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

कई समस्याओं को जीए से लाभ होने की संभावना नहीं है। मैं थॉमस से असहमत हूं कि उन्हें समझना बहुत मुश्किल है। एक जीए वास्तव में बहुत ही सरल है। हमने पाया कि जीए को किसी विशेष समस्या से अनुकूलित करने से प्राप्त होने वाली बड़ी मात्रा में ज्ञान हो सकता है जो मुश्किल हो सकता है और हमेशा समानांतर गणना के बड़े मात्रा में प्रबंधन के रूप में कई प्रोग्रामर के लिए एक समस्या है।

एक समस्या यह है कि एक जीए से लाभ होगा निम्नलिखित विशेषताएं हैं जा रहा है:

  • एक अच्छा तरीका संभावित समाधानों
  • एन्कोड करने के लिए एक तरह से एक एक अंकीय स्कोर की गणना करने के की गुणवत्ता का मूल्यांकन करने के लिए समाधान
  • एक बड़ी बहु-आयामी खोज अंतरिक्ष जहां जवाब गैर स्पष्ट है
  • एक अच्छा समाधान काफी अच्छा है और एक सटीक समाधान
की आवश्यकता नहीं है

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

"सामान्य" अनुप्रयोगों से निपटने वाले अधिकांश लोग शायद उनके लिए अधिक उपयोग नहीं करते हैं।

+7

+1 लेकिन मुझे लगता है कि जेनेटिक एल्गोरिदम केवल उन लोगों के लिए सरल हैं जो विकास/प्राकृतिक चयन के मूल सिद्धांत को "प्राप्त" करते हैं। मैं उन लोगों को सफलतापूर्वक जीए की व्याख्या करने में सक्षम नहीं रहा हूं जो विकास से इनकार करते हैं (दुर्भाग्य से एक बड़ा गुच्छा)। – MusiGenesis

+0

मुझे जीएएस के बारे में जानने की ज़रूरत है, मेरा मतलब है कि मैंने मूल बातें पढ़ी हैं और मुझे उन्हें मिला है, लेकिन उदाहरणों और अनुरूपताओं के बिना यह बेकार है। मैं अभी भी बुनियादी सिद्धांतों के बारे में उलझन में हूं। –

+0

@MusiGenesis, एक एल्गोरिदम होने के कारण जो कुछ स्कोरिंग के आधार पर एक राज्य से दूसरे राज्य में विकसित होता है, और एक विशिष्ट लक्ष्य, UNIVERSE दोस्त को समझाता नहीं है, न ही विकास सिद्धांत को साबित करता है;) – securecurve

2

मुझे नहीं लगता कि यह रोजाना-वाणिज्यिक कोड में जेनेटिक एल्गोरिदम खोजने के लिए विशेष रूप से आम है। वे अकादमिक/शोध कोड में अधिक सामान्य रूप से पाए जाते हैं, जहां किसी समस्या के लिए एक अच्छा समाधान खोजने की आवश्यकता से "सर्वश्रेष्ठ एल्गोरिदम" खोजने की आवश्यकता कम महत्वपूर्ण होती है।

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

इस साल की शुरुआत, मेरे current company के साथ, मैं हमारे उत्पादों एक और जीए का उपयोग करता है से एक के लिए एक नई सुविधा जोड़ी। मुझे लगता है कि हम अगले महीने से इसका विपणन कर सकते हैं। असल में, जीए का उपयोग अणुओं का पता लगाने के लिए किया जाता है जिनमें प्रोटीन के लिए बाध्यकारी होने की संभावना होती है, और इसलिए प्रोटीन को लक्षित करने वाली दवाओं के रूप में आगे की जांच की जा सकती है। एक प्रतिस्पर्धी उत्पाद जो GA का उपयोग करता है वह EA inventor है।

2

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

आप कोड here पा सकते हैं।

समाधान जो आप इस एल्गोरिथ्म के साथ मिल सकता है राज्य के इस अत्याधुनिक एल्गोरिदम spea -2 और NSGA के साथ एक वैज्ञानिक कार्य में तुलना की गई है, और यह कि एल्गोरिथ्म performes तुलनीय या और भी बेहतर साबित हो चुका है, प्रदर्शन को मापने के लिए आपके द्वारा ली गई मीट्रिक के आधार पर, और विशेष रूप से ऑप्टिमाइज़ेशन-समस्या के आधार पर आप देख रहे हैं।

आप इसे here पा सकते हैं।

मेरे थीसिस और काम के प्रमाण के हिस्से के रूप में मैंने पोर्टफोलियो प्रबंधन में प्राप्त परियोजना चयन समस्या के लिए इस ढांचे को लागू किया। यह उन परियोजनाओं को चुनने के बारे में है जो कंपनी के लिए सबसे अधिक मूल्य जोड़ते हैं, कंपनी की अधिकांश रणनीति का समर्थन करते हैं या किसी अन्य मनमानी लक्ष्य का समर्थन करते हैं। जैसे एक विशिष्ट श्रेणी, या परियोजना सहयोग को अधिकतम से परियोजनाओं की एक निश्चित संख्या के चयन, ...

परियोजना के चयन की समस्या के इस ढांचे पर लागू होता है जो मेरे थीसिस: http://www.ub.tuwien.ac.at/dipl/2008/AC05038968.pdf

उसके बाद मैं एक पोर्टफोलियो में काम किया प्रबंधन विभाग 500 में से एक में, जहां उन्होंने एक वाणिज्यिक सॉफ्टवेयर का उपयोग किया जिसने परियोजना चयन समस्या/पोर्टफोलियो अनुकूलन में जीए भी लागू किया।

अतिरिक्त संसाधन:

ढांचे के प्रलेखन: http://thomaskremmel.com/mpoems/mpoems_in_java_documentation.pdf

mPOEMS प्रस्तुति कागज: http://portal.acm.org/citation.cfm?id=1792634.1792653

वास्तव में उत्साह हर कोई का एक सा आसानी से करने के लिए सामान्य ढांचे के कोड खुद को अनुकूलित कर साथ

एक मनमाना बहुउद्देश्यीय अनुकूलन समस्या।

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

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