चूंकि आप पहले से ही सीमित राज्य मशीनों का उपयोग कर रहे हैं, केबी-एनईएटी को देखने का प्रयास करें।
यह एक न्यूरोविवल तकनीक है; अर्थात्, विकास के माध्यम से तंत्रिका नेटवर्क का निर्माण।
इसके अलावा आरटीएनईएटी पर एक नज़र डालें, जो आसानी से आ सकती है। एनईएटी का एक सामान्य कार्यान्वयन पीढ़ियों के दृष्टिकोण का उपयोग करता है, जो कि कई गेम चलाता है, सौ कहते हैं, सर्वश्रेष्ठ उम्मीदवारों का चयन करता है और इनसे संतान बना देता है। (अन्य उल्लिखित फिटनेस; यह हमेशा विकासवादी दृष्टिकोण में प्रयोग किया जाता है, और इस प्रकार यहां भी) आरटीएनईएटी वास्तविक समय में विकास की अनुमति देता है; एक खेल खेलते समय, है। (इसके लिए एक और अधिक परिष्कृत फिटनेस गणना की आवश्यकता होती है, क्योंकि यह मिडगाम होता है, जहां आप अभी भी परिणाम नहीं जानते हैं)
कार्यान्वयन वास्तव में कठिन नहीं है, लेकिन वे इस तकनीक की कुंजी आनुवांशिक इतिहास है, जो महत्वपूर्ण है विकासवादी प्रक्रिया। (यह भी इस तकनीक को न्यूरोवॉल्यूशन के पहले प्रयासों की तुलना में इतना अद्भुत बनाता है; यहां समस्या यह है कि इनपुट और आउटपुट समान होना चाहिए, और यह मामला नहीं हो सकता है)
ओह और आपकी समस्या हल हो सकती है या तो उच्च स्तर पर एक योजनाकार द्वारा, या इकाइयां इसे स्वयं ही सीख सकती हैं। और इनपुट जिसमें निकटतम अनुकूल इकाइयां और बाधाएं शामिल हैं, सही फिटनेस के साथ यह जानना चाहिए कि यह पाइप को घड़ी के लिए उत्पादक काउंटरिव है। इसे उभरते व्यवहार कहा जाता है, और यह दिखाया गया है कि उपर्युक्त तकनीक स्वाभाविक रूप से ऐसे व्यवहार को विकसित करने में सक्षम है।
यहां एक कार्यान्वयन है कि मुझे आपके काम को आधार देने के लिए बहुत अच्छा लगता है;
http://nn.cs.utexas.edu/?windowsneat
ऊपर पीढ़ियों का उपयोग करता है। मैंने आरटीएनईएटी का कोई कार्यान्वयन नहीं देखा है। लेकिन आप जॉन हॉलैंड द्वारा "प्राकृतिक और कृत्रिम प्रणालियों में अनुकूलन" पुस्तक पर एक नज़र डाल सकते हैं। माना जाता है कि इसे पढ़ना मुश्किल हो सकता है, क्योंकि यह बहुत गणितीय है। लेकिन इसमें से अधिकांश को छोड़ दें, और एल्गोरिदम पर प्रस्तावों को देखें। यह सभी विकासवादी एल्गोरिदम के लिए सामान्य है, जिनमें से न्यूरोइवल्यूशन एक उप-क्षेत्र है। इसमें एक एल्गोरिदम होता है जो आम तौर पर आरटीएनईएटी का उपयोग करता है।(और यदि आप आनुवांशिकी से अपरिचित हैं, जिसका विकास विकासवादी एल्गोरिदम में किया जाता है, तो यह अच्छी तरह से परिभाषित करता है कि जीन, एलील, गुणसूत्र, फेनोटाइप और जीनोम क्या है, जिसे आप एनईएटी प्रकाशनों में उपयोग करेंगे, एनईएटी चीजों का वर्णन करने के लिए जीनोम का उपयोग करता है सामान्य, जो गुणसूत्रों का एक सेट है जो एक साथ फेनोटाइप का वर्णन करता है, क्योंकि एन्कोडिंग केवल जेनेटिक एल्गोरिदम और जेनेटिक प्रोग्रामिंग की तुलना में थोड़ा अधिक शामिल है)
तकनीक का मुखपृष्ठ यहां है;
http://www.cs.ucf.edu/~kstanley/neat.html
यहाँ कालानुक्रमिक क्रम में प्रकाशन है,
http://nn.cs.utexas.edu/keyword?stanley:ec02
http://nn.cs.utexas.edu/keyword?stanley:ieeetec05
http://nn.cs.utexas.edu/?kbneat
(KB-NEAT rtNEAT पहले से ही उपयोग करता है इसके बाद के संस्करण के प्रकाशन में)
बात यह है कि आप मूल रूप से ले जा सकते हैं कि तुम क्या है, यह डाल एक तंत्रिकाविज्ञान तकनीक में, और वहां से विकसित होता है। यह डोमेन विशिष्ट एआई, और मशीन लर्निंग एआई के बीच एक मिश्रण है।
ओह और एक नोट; विकास भाग प्रोसेसर गहन है, कम से कम rtNEAT के बिना। आरटीएनईएटी इसके बजाय समय गहन है, क्योंकि इसे सीखने से पहले इसके खिलाफ बहुत कुछ खेलना होगा। (केबी-एनईएटी इसे स्पष्ट रूप से बुद्धिमानी का आधार देता है) हालांकि, जब विकसित हुआ, यह बहुत तेज है, क्योंकि एक तंत्रिका नेटवर्क की प्रतिक्रिया गणना करने के लिए बहुत तेज़ है। (यह एक छोटा सा ग्राफ है, और इसमें कोई खोज शामिल नहीं है)
ओह, और दूसरी बात; आपको इनपुट और आउटपुट के बारे में कड़ी मेहनत करने की जरूरत है। आउटपुट आसान हो सकता है, क्योंकि यह गेम आपकी इकाइयों को करने की अनुमति देता है। लेकिन इनपुट वह है जिसे आप देखना चाहते हैं, और आप सबकुछ शामिल नहीं कर सकते; इससे कम से कम यथार्थवादी समय में विकास के लिए समस्या को हल करना मुश्किल हो जाएगा। (हालांकि यह सैद्धांतिक रूप से, अनंत समय पर इष्टतम समाधान पर अभिसरण करेगा)
ओह, और एक तीसरा नोट; आप इकाइयों के लिए कई दिमाग विकसित कर सकते हैं, और यहां तक कि प्रत्येक इकाई प्रकार के लिए अलग-अलग दिमाग भी हो सकते हैं। बस, अब बहुत हो चुका। शायद आप अपने या दुश्मन के प्रत्येक प्रौद्योगिकी स्तर के लिए एक मस्तिष्क चाहते हैं। पाठ्यक्रम के विकास में अतिरिक्त समय लगता है, लेकिन मस्तिष्क स्मृति में छोटे होते हैं इसलिए राशि कोई समस्या नहीं है।
एएसी, और चौथा नोट; यह एक ब्लैक बॉक्स तकनीक है। आप मस्तिष्क को वापस एफएसएम में परिवर्तित नहीं कर सकते हैं मुझे डर है। एक तंत्रिका नेटवर्क में एन्कोडिंग मानव समझ में नहीं आता है, और इस प्रकार यह ज्ञात नहीं हो सकता कि यह वास्तव में कैसे काम करता है। तो ऐसा खतरा है कि आप जो कुछ चाहें उसके साथ खत्म हो जाएंगे, लेकिन आप समझ नहीं सकते कि क्यों। और आप आसानी से उस ज्ञान को अन्य एजेंटों के साथ साझा नहीं कर सकते हैं। (यद्यपि आप निश्चित रूप से उन लोगों के लिए नए व्यवहार को विकसित करने के लिए आधार के रूप में उपयोग कर सकते हैं)
क्या आप पुल से दूरी के क्रम में पुल पार करने के लिए मरीन को आदेश जारी नहीं कर सकते? तो वे एक-एक करके जाते हैं? – Andrey
क्या यह [programmers.stackexchange] (http://programmers.stackexchange.com/faq) पर अधिक उपयुक्त होगा? –
या यहां तक कि http://gamedev.stackexchange.com/? – Andrey