एक बोर्ड गेम एआई बनाना


9

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

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

फिर्सली मुझे खेल की व्याख्या करते हैं ..

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

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

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

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

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

प्रत्येक सेट को वैध होने के लिए 3 या अधिक टाइलों की आवश्यकता होती है और प्रत्येक सेट को "प्रति" नाम दिया जाता है। कम तो 3 टाइल्स खत्म करने के लिए मान्य नहीं है। एक वैध खत्म सेट इस तरह हो सकता है। G: हरा, B: नीला, R: लाल, BL: काला G1 | G2 | G3 B2 | R2 | R22 R9 | R10 | R11 | R12 BL13 | R13 | G13 |

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

बेशक ये नियम सामान्य नियम हैं और प्रश्न को समझाने के लिए संक्षेप में हैं। यदि आप अंग्रेजी पढ़ सकते हैं तो आप इस लिंक को अधिक जानकारी के लिए देख सकते हैं http://tr.wikipedia.org/wiki/Okey या Google अनुवाद द्वारा अनुवादित पृष्ठ http://translate.google.com/translate?js=n&prev=_t&hl= hi & यानी = UTF-8 और लेआउट = 2 & eotf = 1 & sl = टीआर & tl = hi & यू = http: //tr.wikipedia.org/wiki/Okey

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

स्टैकओवरफ़्लो में मूल प्रश्न है: /programming/4419628/creating-a-board-game-ai


1
आप कई एआई एल्गोरिदम का उपयोग कर सकते हैं, इसलिए "कौन सा" एक डिजाइन (या संभवतः इंजीनियरिंग) ट्रेडऑफ़ है। क्या आप एक "सही" एआई चाहते हैं जो गेम को हल कर सकते हैं (यानी बेहतर तरीके से खेलते हैं)? या क्या आप एक "गेम" एआई चाहते हैं जो खुद को शर्मिंदा न करने के लिए अच्छा खेलता है, लेकिन इतना कमजोर है कि यह हरा देने योग्य है (खासकर यदि आप कई कठिनाई स्तर चाहते हैं)? या क्या आप सिर्फ एक नंगे-हड्डियों "गूंगा" एआई चाहते हैं जो बिना तर्क के खेलता है ताकि आप खेल का परीक्षण कर सकें? बहुत सारे विकल्प, कोई भी सही या गलत नहीं।
इयान स्क्रैबर

मुझे लगता है कि आपको इस समस्या के लिए विशेष रूप से विकसित एक एल्गोरिथ्म की आवश्यकता होगी, हालांकि आप इसके भीतर विभिन्न तकनीकों / एल्गोरिदम का उपयोग करने में सक्षम हो सकते हैं। आपको ai.stackexchange.com
मैथ्यू पढ़ें

@, मैं चाहता हूं कि एआई गेम को स्वीकार्य रूप से खेल सके। हो सकता है बाद में मैं कठिनाई स्तर जोड़ सकता हूं। इसलिए मुझे एक शुरुआती बिंदु चाहिए। @ मैथ्यू मैं अपना सवाल वहां जोड़ दूंगा। आप सभी को धन्यवाद।
बहादर अर्सलान

आउच! Ai.stackexchange.com की तरह लगता है बंद कर दिया गया था, हालांकि यह पूछने के लिए सही जगह होती ... दुखद।
बंमजैक

मिनमैक्स के प्रसिद्ध मल्टीप्लेयर संस्करण मैक्सएन और पैरानॉयड सर्च हैं
ड्रूज़िल

जवाबों:


3

यदि आप ताश के पत्तों की अदला-बदली करते हैं तो गेम का वर्णन कार्ड गेम जिन रम्मी के समान अविश्वसनीय लगता है। आप उस के खिलाफ खोज कर कुछ प्रत्यक्ष AI संसाधनों को खोजने में सक्षम हो सकते हैं।

एआई के लिए एक विकल्प जो खिलाड़ियों की संख्या के लिए अज्ञेय है और विभिन्न एआई व्यक्तित्व बनाने के लिए इस्तेमाल किया जा सकता है:

  1. बोर्ड गेम खेलें, आदर्श रूप से कुछ दोस्तों के साथ, हालांकि आप सभी हाथों को खुद खेल सकते हैं, लेकिन एक कंप्यूटर के साथ और एक्सेल खुला।
  2. अपनी सोची गई प्रक्रिया को लोड करें। कई असतत बिंदु होंगे जिन्हें आप निर्णय लेते समय मानते हैं। "अनचाहे टाइल मुझे एक खेलने योग्य सेट देता है" जैसी चीजें, या "मुझे एक सेट के करीब एक कदम मिलें", या "एक मौजूदा बजाने सेट में जोड़ें"।
  3. फिर एक बार आपके पास उन सभी वस्तुओं की सूची होगी, जिन्हें आप तय करते हैं कि किस टाइल को चुनना है और किस टाइल को त्यागना है, उनके लिए नंबर वेट बनाना शुरू करें जो आपके लिए सबसे महत्वपूर्ण है।
    1. उदाहरण: एक क्रम में तीसरी टाइल प्राप्त करने के लिए आपके लिए तीन गुना महत्वपूर्ण हो सकता है क्योंकि यह मौजूदा अनुक्रम में 4 वां टाइल प्राप्त करना है।
  4. एक बार जब आप एक निर्णय लेते समय सभी चीजों को देखते हैं, तो आप प्रत्येक कार्रवाई के लिए एक स्कोर की गणना करने के लिए एक्सेल का उपयोग कर सकते हैं। इसलिए आपके पास एक वर्कशीट है जहां प्रत्येक पंक्ति एक एक्शन चॉइस का प्रतिनिधित्व करती है और प्रत्येक कॉलम एक निर्णायक कारक का प्रतिनिधित्व करता है। यदि यह कारक उस क्रिया के लिए सही है, तो आप इसे वजन से गुणा करते हैं, यदि वह कारक गलत है तो आप इसे शून्य स्कोर करते हैं। फिर आप सभी स्कोर जोड़ते हैं और उच्चतम मूल्य के साथ वही होता है जो एआई करना पसंद करेगा।
  5. एक्सेल खुला के साथ खेल खेलते हैं। प्रत्येक टर्न यह देखता है कि स्कोर परिणाम आपके द्वारा चुने गए परिणाम से मेल खाता है या नहीं। यदि यह आपकी सोच के आधार पर वजन को समायोजित नहीं करता है जब तक कि यह नहीं करता है। कई खेलों के बाद एआई को उसी तरह से खेल खेलना चाहिए जैसे आप करते हैं। यदि आप उन दोस्तों के समूह के साथ लगातार खेल रहे हैं, जिनके पास अलग-अलग वजन हैं, तो आपके पास विभिन्न व्यक्तित्वों के साथ AI है।

तब आप हमेशा उच्चतम श्रेणी के विकल्प का चयन न करके कठिनाई को नियंत्रित कर सकते हैं। कम स्कोर के बाद से निर्णय बदतर है।


यहाँ जिन रम्मी के लिए AI बनाने के बारे में एक लेख है। यह कुछ उपयोगी अंतर्दृष्टि साबित हो सकता है। aifactory.co.uk/newsletter/2007_02_imperfect_info.htm
टिम

मैं इसे जल्द से जल्द देखूंगा। धन्यवाद @Tim Holt और @skerslake
bahadir arslan

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