पहला कदम: अपने लक्ष्यों / कारणों को परिभाषित करें
मुझे लगता है कि यह प्रमुख कारक है। इनमें से कौन आपको सबसे अच्छा लगता है? ( केवल एक को चुनें )
- आप एक मजेदार, चुनौतीपूर्ण कोडिंग कार्य का आनंद लेना चाहते हैं
- आप एक बहुत अच्छा शतरंज इंजन बनाना चाहते हैं
- आप जानना चाहते हैं कि शतरंज के इंजन कैसे काम करते हैं
- आप कोडिंग कौशल सीखना / अभ्यास करना चाहते हैं
- आप कंप्यूटर विज्ञान अवधारणाओं / सिद्धांत को सीखना / लागू करना चाहते हैं (जैसे मशीन सीखना)
- (अन्य)
IMO 2 के अलावा किसी भी चीज़ के लिए "सिक्का उछालना" ठीक है। अन्य सभी के लिए, आप अपने लक्ष्य को पूरा करेंगे चाहे आप ML या हार्ड-कोडिंग चुनें। हालाँकि आप शायद यह तय करने में मदद करने के विकल्पों के बीच तुलना करना चाहते हैं।
हार्ड-कोडिंग के लिए मामला
शतरंज खेलना (एक इंसान के रूप में) में तार्किक सोच शामिल है। आप संभावित कार्यों के स्थान का पता लगाते हैं जो आप और प्रतिद्वंद्वी ले सकते हैं। इसने खेल सिद्धांत नामक एक क्षेत्र को जन्म दिया है जिसमें सामान्य रूप से खेल का विश्लेषण करने के लिए सैद्धांतिक रूपरेखाएं हैं।
अगर आपको विवरण के साथ काम करने और चीजों के बारे में विशिष्ट और तर्कपूर्ण होने में मजा आता है तो यह आपके लिए अच्छा काम कर सकता है। इसकी तुलना में, मशीन लर्निंग में बहुत अधिक "ब्लैक बॉक्स" एल्गोरिदम शामिल हैं जो फजी और अपारदर्शी हैं। तुम नहीं जानते कि वास्तव में क्या चल रहा है।
इसके अलावा, मुझे लगता है कि अगर आप मशीन सीखने के बजाय हार्ड-कोडिंग मार्ग पर जाते हैं, तो आपके पास एक आसान समय होगा "इसे अपने दम पर समझ लेना"। कम कॉपी-पेस्ट करने वाला सामान जिसे आप पूरी तरह से नहीं समझते हैं।
मशीन सीखने का मामला
यह एक रचना को जन्म देने और इसे स्वयं के जीवन को देखने के लिए रोमांचक हो सकता है। हालांकि हार्ड-कोडिंग सभी सटीक और विवरण के बारे में है, मशीन सीखना लचीला है। कुछ न्यूरॉन्स को हटा दें और परिणाम संभवतः समान होगा।
हार्ड-कोडिंग शतरंज के अध्ययन के बारे में है। मशीन लर्निंग उस प्राणी के अध्ययन के बारे में है जिसे आपने बनाया है।
और मशीन लर्निंग, ज़ाहिर है, एक बहुत ही गर्म विषय है।
हार्ड-कोडेड के लिए भाषा विकल्प
मुझे यकीन नहीं है कि आप "अन्य सी-आधारित भाषाओं" से क्या मतलब है। C ++ केवल मुख्य धारा की भाषा है जो C की तरह कुछ भी है। C / C ++ का लाभ यह है कि वे तेज़ हैं । हालांकि अन्य भाषाओं ने वर्षों में पकड़ा है, सी ++ अभी भी उन्हें अपने पैसे के लिए एक रन देता है।
C ++ आसान नहीं है। आपको रूस्ट, गोलंग या स्विफ्ट जैसी अधिक आधुनिक संकलित भाषाओं में शानदार प्रदर्शन मिलेगा। लेकिन यह बहुत बुरा नहीं होना चाहिए यदि आप एक JIT भाषा के लिए जाते हैं। यानी CPython दुभाषिया का उपयोग न करें ; IronPython या Jython, या Node, या C # या Java का उपयोग करें।
GPU प्रोग्रामिंग के लिए एक अलग दृष्टिकोण की आवश्यकता होती है और मैं इस बिंदु पर इसके खिलाफ सलाह दूंगा।
मशीन सीखने के लिए भाषा विकल्प
TensorFlow के साथ समस्या यह है कि यह बहुत निम्न स्तर का है। यह मशीन लर्निंग के लिए समर्पित एक इंटरफेस की तुलना में संख्या-क्रंचिंग एल्गोरिदम (जो समानांतर हार्डवेयर की खेती की जा सकती है) लिखने के बारे में अधिक है।
बेशक, यह एक महान सीखने का अनुभव हो सकता है! और निश्चित रूप से आज बहुत सार्थक सीखने योग्य है। हालांकि, आप केरस या प्योरोच के साथ शुरू करना चाहते हैं।