2012-02-07 16 views
5

के लिए डेमो लिखना मैंने जावा में एक सांप गेम लिखा है। मैं जो भी करना चाहता हूं वह उस के लिए एक डेमो बनाना है (इसलिए सांप स्वयं ही खेलेंगे)। मैंने एक साधारण डेमो लिखा है, लेकिन सांप बहुत तेजी से मर जाता है। तो, क्या इस तरह की समस्या के लिए कोई एल्गोरिदम या कुछ है? मेरा मानना ​​है कि यह शतरंज खेल की समस्या के समान ही है? मैं चाहता हूं कि सांप जितना संभव हो सके जीवित रहेगा। धन्यवाद।सांप गेम

+0

आसान समाधान = सांप को धीमा कर दें! – Mikhail

उत्तर

9

Google प्रायोजित AI Challenge 2010 में "ट्रॉन" गेम चलाया गया। आपको उस चुनौती के समाधान खोजने से कुछ अच्छे विचार मिल सकते हैं।

तुम सिर्फ एक बहुत ही सरल रणनीति है कि एक उचित डेमो बनाता है तो आप निम्न की तरह कुछ कोशिश कर सकते हैं चाहते हैं: कभी एक कदम जब तक आप कोई अन्य विकल्प

  • है आप दुर्घटना का कारण बनता है कि बनाने के

    • यदि आपका अगला कदम आपको दो या दो से अधिक विशिष्ट (अनकनेक्टेड) ​​रिक्त स्थानों के बीच चुनने के लिए मजबूर करता है, तो हमेशा दो रिक्त स्थानों में से अधिक में स्थानांतरित करें। यह आपके सांप को आसानी से फंसने से रोक देगा।
    • यदि आप दीवार के साथ आगे बढ़ रहे हैं, तो दीवार के साथ 98% समय के साथ आगे बढ़ते रहें, इसके बाद इसे बाएं या दाएं के लिए आवश्यकतानुसार रखें। यह आपके सांप को उचित बुद्धिमान दिखने में मदद करेगा, और प्लेफील्ड में अंतरिक्ष को भी संरक्षित करेगा।
    • अन्यथा समय के 90% आगे बढ़ें, बाएं और दाएं को यादृच्छिक रूप से 5% प्रत्येक बार चालू करें (इससे आपका डेमो कम उबाऊ हो जाएगा)।

    इसके अलावा, मुझे नहीं लगता कि शतरंज-शैली एआई दृष्टिकोण (एक चाल खोज पेड़ के साथ) बहुत अच्छी तरह से काम करेगा। आप अग्रिम में पर्याप्त चाल आसानी से खोज नहीं पाएंगे।

  • 1

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

    2

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

    सरलतम एल्गोरिथ्म इस समस्या को हल करने के लिए "किनारे के चारों ओर जाना है, और फिर नीचे की ओर घूमना" दृष्टिकोण है। असल में, आप एक सांप के साथ शुरू करते हैं, इसे प्राप्त करें ताकि यह पश्चिम की ओर बढ़ रहा है, फिर पश्चिम की दीवार गले लगाओ, फिर छत। फिर जब तक आप नीचे नहीं जाते, पश्चिम में जाते हैं, और फिर से शुरू करते हैं, तब तक आप प्रत्येक संभव वर्ग पर एक स्लिंकी की तरह घुमाते हैं।

    यदि आप कोशिश करते हैं, तो आप इसे वास्तव में उत्कृष्ट एआई में बदल सकते हैं: डी

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