मैं कभी-कभी बोर्ड गेम वेरिएंट खेलने के लिए प्रोग्राम लिखता हूं। मूल रणनीति मानक अल्फा-बीटा छंटनी या इसी तरह की खोज है, कभी-कभी एंडगेम्स या ओपनिंग के सामान्य दृष्टिकोण से बढ़ी जाती है। मैंने ज्यादातर शतरंज के रूप में खेला है, इसलिए जब मेरा मूल्यांकन कार्य चुनने का समय आता है, तो मैं एक मूल शतरंज मूल्यांकन समारोह का उपयोग करता हूं।किसी गेम के लिए एक अच्छा मूल्यांकन फ़ंक्शन कैसे बनाएं?
हालांकि, अब मैं एक बिल्कुल नया बोर्ड गेम खेलने के लिए एक प्रोग्राम लिख रहा हूं। मैं एक अच्छा या यहां तक कि सभ्य मूल्यांकन समारोह कैसे चुनूं?
मुख्य चुनौतियां ये हैं कि एक ही टुकड़े हमेशा बोर्ड पर होते हैं, इसलिए स्थिति के आधार पर एक सामान्य सामग्री कार्य नहीं बदलेगा, और खेल एक हजार गुना से भी कम खेला जाता है, इसलिए मनुष्य नहीं करते हैं अंतर्दृष्टि देने के लिए अभी तक पर्याप्त रूप से इसे अच्छी तरह से खेलते हैं। (पीएस। मैंने एक मोगो दृष्टिकोण माना, लेकिन यादृच्छिक गेम समाप्त होने की संभावना नहीं है।)
खेल विवरण: खेल 10-दर -10 बोर्ड पर प्रति पक्ष एक निश्चित छः टुकड़े के साथ खेला जाता है। टुकड़ों में कुछ आंदोलन नियम होते हैं, और कुछ तरीकों से बातचीत करते हैं, लेकिन कोई टुकड़ा कभी नहीं पकड़ा जाता है। खेल का लक्ष्य बोर्ड पर कुछ विशेष वर्गों में आपके पर्याप्त टुकड़े रखना है। कंप्यूटर प्रोग्राम का लक्ष्य एक ऐसे खिलाड़ी को प्रदान करना है जो मौजूदा मानव खिलाड़ियों के साथ प्रतिस्पर्धी या बेहतर है।
यह मेरे लिए एक अच्छा दृष्टिकोण की तरह लगता है। +1 (अनियंत्रित :() –
@ थॉमसवल्टुरा कृपया इसे समझाएं: "विजेताओं से यादृच्छिक संयोजनों के साथ हारने वालों को प्रतिस्थापित करें"। आप वास्तव में नस्ल कैसे लेंगे? क्या आप केवल वजन का औसत करेंगे? मैंने यहां एक फॉलो अप प्रश्न पोस्ट किया है: https://stackoverflow.com/questions/45201979/genetic-algorithm-for-optimization-in-game-playing-agent-heuristic-evaluation-fu –