टिक टीएसी को पैर की अंगुली की तरह खेल में आनुवंशिक एल्गोरिदम बनाम तंत्रिका नेटवर्क?


9

वर्तमान में मैं एक परियोजना कर रहा हूं जो गेम गोमोकू खेलने के लिए एक एआई बनाने के बारे में है (यह टिक टीएसी को पैर की अंगुली की तरह है, लेकिन 15 * 15 बोर्ड पर खेला जाता है और जीतने के लिए 5 की आवश्यकता होती है)। मैंने पहले से ही क्यू लर्निंग और गेम स्टेट्स / एक्शन को एक टेबल में संग्रहीत करके एक सही टिक टीएसी पैर की अंगुली एआई को सफलतापूर्वक लागू किया है, लेकिन एक 15 * 15 बोर्ड के लिए संभव गेम स्टेट्स बहुत बड़े हो जाते हैं जो इस प्रोजेक्ट को लागू करते हैं।

मेरा सवाल यह है कि क्या मुझे इस समस्या के लिए तंत्रिका नेटवर्क या आनुवंशिक एल्गोरिदम का उपयोग करना चाहिए? और अधिक विशेष रूप से, मुझे इसे कैसे लागू करना चाहिए?


2
ऐ में आपका स्वागत है! बहुत बढ़िया सवाल imho।
DukeZhou

जवाबों:


7

गोमोकू के लिए, यह तंत्रिका नेटवर्क या आनुवंशिक एल्गोरिथ्म का उपयोग करने के लिए एक ओवरकिल का एक सा लगता है, क्योंकि दोनों समय से अधिक समय लेते हैं और अधिक बार नहीं, आप इसे कैसे चाहते हैं। गोमोकू गेम ट्री बड़ा है, लेकिन आप मैपिंग के विपरीत, मिनैक्स, गेम ट्री प्रूनिंग और एक अच्छा हेयुरिस्टिक फंक्शन (जिसमें हाफ और फुल 2s, 3s, 4s, ... आदि शामिल हैं) से एक अच्छा AI प्राप्त कर सकते हैं। पूरा स्थान बाहर।

यदि आप अल्फा बीटा प्रूनिंग और मिनिमैक्स से अपरिचित हैं, तो https://www.cs.cornell.edu/courses/cs312/2002sp/lectures/rec21.htm देखें

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

  • एक हेयुरिस्टिक फ़ंक्शन को परिभाषित करें जो एक बोर्ड स्टेट इनपुट (रिक्त, काले, सफेद के लिए 0,1,2 का अनुक्रम) प्राप्त करता है, और बोर्ड राज्य के एक 'अच्छाई' मूल्य को आउटपुट करता है। तंत्रिका नेटवर्क हमारा आनुवांशिक कार्य है।
  • यह मानते हुए कि इन गेम में चालें इष्टतम हैं, वर्तमान में सबसे अच्छे चाल (आपके वर्तमान मापदंडों द्वारा) के बीच के अंतर को प्रशिक्षित करें और जो आपके डेटा को कहते हैं वह सबसे अच्छा है। यह है कि हम अपने एरर फंक्शन को कैसे परिभाषित करते हैं! इस प्रकार आप इस अंतर को कम कर रहे हैं ताकि आपका तंत्रिका नेटवर्क जो कहता है वह सबसे मजबूत है आदर्श रूप से आपका गेम डेटा जो कहता है वह सबसे मजबूत है (इस त्रुटि फ़ंक्शन का अनुकूलन बैकप्रॉपैगैनेशन या आनुवंशिक एल्गोरिथम के माध्यम से किया जा सकता है)।
  • आदर्श रूप से, इस बिंदु से अब आप हार्डकॉस्ट हेयुरिस्टिक्स के बजाय अपने गेम ट्री मूव मूल्यांकन के लिए अपने ('मजबूत') न्यूरल नेटवर्क आधारित मूल्यांकन फ़ंक्शन का उपयोग कर सकते हैं।

बेशक यह सिर्फ एक तरीका है, और आपको पहले गेम डेटा ढूंढना होगा।

एक साइड नोट, जेनेटिक एल्गोरिदम को लागू करना कुछ तरीकों से हो सकता है, जैसे कि न्यूरल नेटवर्क में पैरामीटर ऑप्टिमाइज़ेशन जैसा कि ऊपर बताया गया है या गेम ट्री सर्चिंग से यह सुनिश्चित होता है कि आप स्पष्ट हैं कि आप इसके साथ सेटिंग को कैसे परिभाषित करते हैं! एक तंत्रिका नेटवर्क को लागू करने के लिए वैकल्पिक तरीकों के लिए एक ही जाता है।

अंत में, यह जानना उपयोगी है कि गोमुकु हल है। अन्य विचारों और विचारों के लिए /programming/6952607/ai-strategy-for-gomoku-a-variation-of-tic-tac-toe देखें ।


2
एक हल खेल के रूप में गोमोकू के बारे में अच्छा बिंदु। इससे ऐ की ताकत को मान्य करने के (। यानी यह खेल का समाधान करता है और सही खेलने व्यक्त करते हैं, या यह सिर्फ, एक प्रतिद्वंद्वी की तुलना में अधिक बेहतर खेल रहा AlphaGo के मामले में है) बनाता है
DukeZhou
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.