2010-12-11 16 views
7

मैं एक बोर्ड गेम को कोड करना चाहता हूं जिसका नाम ओके है और तुर्की में ज्यादातर लोकप्रिय है। http://en.wikipedia.org/wiki/Okeyएक बोर्ड गेम एआई बनाना

लेकिन मुझे एआई के बारे में कुछ समस्याएं आई हैं।

Firslty मुझे खेल स्पष्ट करता हूं ..

खेल 4 खिलाड़ियों द्वारा खेला जाता है।

इस खेल में 106 टाइल्स हैं, उनमें से 2 नकली जोकर हैं। अन्य 104 टाइल्स आम तौर पर हरे, काले, नीले और लाल रंग के 4 रंग विभाजित होते हैं। सभी रंगों में टाइल्स के दो सेट होते हैं। एक सेट आईएस में 13 टाइल्स होते हैं जो अनुक्रमिक रूप से 1 से 13. अंकित होते हैं।

प्रत्येक खिलाड़ी 14 टाइल्स शुरू करता है (एक 15 शुरू होता है और पहले शुरू होता है) और अगले खिलाड़ी को सबसे अवांछित टाइल में से एक फेंकता है। अगला खिलाड़ी इस टाइल को प्राप्त कर सकता है या टेबल के बीच में एक और टाइल प्राप्त कर सकता है। खेल घड़ी के विपरीत में खेला जाता है ..

इस खेल का उद्देश्य जितनी जल्दी हो सके 14 टाइल्स का वैध अनुक्रम मिलता है। प्लेयर 13 तक एक ही रंग में अनुक्रमिक संख्याओं द्वारा टाइल्स को संरेखित कर सकता है। जांच के लिए ग्रीन 1, ग्रीन 2, ग्रीन 3. यहां एक अपवाद है, 1 को 13 का पालन किया जा सकता है। उदाहरण के लिए लाल 12, लाल 13 और लाल 1 एक वैध सेट है। लेकिन लाल 13, लाल 1 और लाल 2 मान्य नहीं है।

या खिलाड़ी समान संख्या में रंगों से टाइल्स को संरेखित कर सकता है। परीक्षा के लिए ग्रीन 1, ब्लैक 1, रेड 1, ब्लू 1.

प्रत्येक सेट को वैध होने के लिए 3 या अधिक टाइल होने की आवश्यकता है और प्रत्येक सेट को "प्रति" के रूप में नामित किया जाना चाहिए। कम से कम 3 टाइल्स खत्म होने के लिए मान्य नहीं है। एक मान्य फिनिश सेट इस तरह हो सकता है। जी: ग्रीन, बी: नीला, आर: लाल, बीएल: काला G1 | G2 | G3 बी 2 | R2 | BL2 R9 | R10 | R11 | R12 BL13 | R13 | G13

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

बेशक ये नियम सामान्य नियम हैं और प्रश्नों को समझाने के लिए संक्षेप में हैं। आप तुर्की पढ़ सकते हैं हैं, तो आप अधिक जानकारी के लिए this link की जांच कर सकते हैं या Google की अपनी translated version शिष्टाचार अनुवाद

तो जो ऐ एल्गोरिथ्म है कि मैं उपयोग कर सकते हैं? मैंने मिनीमैक्स सिद्धांत और अल्फा बीटा छंटनी की खोज की। लेकिन ये सिद्धांत आमतौर पर शतरंज या टिक-टैक-टो जैसे 2 खिलाड़ियों के खेल होते हैं।

उत्तर

0

आप अधिकतम^एन या पैरानोइड एल्गोरिदम का उपयोग कर सकते हैं।

Look at this book

+0

आपकी प्रतिक्रिया के लिए धन्यवाद। मैंने अध्याय देखा। जैसा कि आप उदास मैक्स^एन या पैरानोइड मल्टीप्लेयर गेम के लिए बहुत उपयुक्त है। लेकिन मुझे अकादमिक लोगों को छोड़कर कोई लेख नहीं मिला। मैं एल्गोरिदम का एक बेहतर उदाहरण खोजने की कोशिश कर रहा हूं। –

+1

यह निश्चित रूप से काम करेगा (मैंने लिंक किए गए लेख को लिखा है)। मैं बहु-खिलाड़ी यूसीटी में भी देखता हूं: http://web.cs.du.edu/~sturtevant/papers/mpuct_icga.pdf –

1

एक आसान शुरुआत एक मोंटे कार्लो कलन विधि का उपयोग किया जा सकता है। आपको केवल यादृच्छिक रूप से चाल उत्पन्न करने में सक्षम होना चाहिए।

फिर प्रत्येक अगली चाल के लिए कई यादृच्छिक गेम खेलें और उस कदम को चुनें जिससे आप उनमें से अधिकतर जीत सकें।

इसे कार्यान्वित करना आसान है और अधिक जटिल एल्गोरिदम के बराबर हो सकता है। मैंने नौ पुरुषों के मॉरिस के लिए यह किया है और एमसी अल्फा-बीटा के रूप में लगभग मजबूत था (मुख्य रूप से दोनों एमसी एल्गोरिदम ने गलती की है, जो इसे जल्दी या बाद में करेगी)।

गो खेलने के लिए मोंटे कार्लो विधि पर this article पर एक नज़र डालें।

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