2012-01-19 10 views
5

ए में एक भूलभुलैया और चरित्र है जो खिलाड़ी द्वारा नियंत्रित होता है और एक ड्रोन जिसे उसे ढूंढना पड़ता है (स्वयं ही)। क्या कोई इस तरह कुछ करने के लिए एक (कुशल) एआई एल्गोरिदम जानता है? पीएस मुझे पता है कि कई पथ खोज एल्गोरिदम (जैसे ए *) हैं, लेकिन जहां तक ​​मुझे पता है कि इन नोड्स के बीच पथ खोजने के लिए केवल "काम नहीं करते" के बीच पथ खोजने के लिए यह काम करता है (यह तब काम करेगा जब मेरा चरित्र अभी भी खड़ा था, लेकिन यह है जाहिर है मामला नहीं)।एक भूलभुलैया में चलती इकाइयों को खोजने के लिए एल्गोरिदम (0)

+0

क्या ड्रोन भूलभुलैया लेआउट को जानता है या इसे इसे खोजना है जैसा कि यह जाता है? साथ ही, क्या यह पता चलता है कि खिलाड़ी भूलभुलैया के भीतर कहां चलता है? – cdeszaq

+0

ए * यह भी आवश्यक है कि आप पहले से ही शुरुआत और अंत बिंदुओं के स्थानों को जानते हों। क्या ड्रोन जानता है कि खिलाड़ी कहां है और उसे बस पहुंचना है? हमारे ड्रोन को प्लेयर का पता लगाने की भी आवश्यकता है? –

+0

@cdeszaq हां, यह भूलभुलैया का लेआउट जानता है (हालांकि मुझे लगता है कि यह एल्गोरिदम नहीं मानता है कि यह इसे नहीं जानता है) और हाँ, यह पता है कि खिलाड़ी भूलभुलैया के भीतर कहां है। – conectionist

उत्तर

1

यदि "प्रारंभ बिंदु" ड्रोन है, और "अंत बिंदु" खिलाड़ी में भागना है, तो केवल एक "मानक" एल्गोरिदम का उपयोग करके आप सबसे अच्छा कर सकते हैं ए * आवधिक रूप से और से यह निर्धारित करता है कि ड्रोन को स्थानांतरित करने की आवश्यकता है।

जैसे ही आप खिलाड़ी के करीब आते हैं, आप खोज स्थान के बाद, तेज़ी से तेज़ी से और तेज़ी से गणना करेंगे।

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

अनिवार्य रूप से, आप में प्रत्येक "फ्रेम" की एक निश्चित खोज स्थान है, लेकिन आपको यह तय करने के लिए बस प्रत्येक फ्रेम को चलाने के लिए है कि क्या करना है।

संभवत: ए * में बदलाव होता है जो रनों के बीच मामूली परेशानी को कवर करता है, लेकिन मुझे अपने सिर के ऊपर से कोई भी पता नहीं है।

+0

यह वास्तव में पहली बात थी हालांकि मैं। इस समाधान के साथ समस्याओं में से एक यह है कि पथ की गणना ड्रोन को बहुत समय ले सकती है और फिर इसकी गति कुछ इस तरह दिख सकती है: थोड़ा सा स्थानांतरित करें, फिर रुकें और गणना करें, फिर फिर से जाएं, फिर फिर से गणना करें। मैं चाहता हूं जैसे कि यह लगातार आगे बढ़ने की तरह है (जिस तरह भूत भूत पैकमैन में जाते हैं)। – conectionist

+2

मैं सहमत हूं, ए * आपकी सबसे अच्छी शर्त है। जब मानव स्थानांतरित हो जाता है तो आप गणना के बीच में ए * को रोकने की क्षमता चाहते हैं। जब भी मानव या ड्रोन चले जाते हैं तो आपको प्रारंभ और अंत लक्ष्यों को भी अपडेट करने की आवश्यकता होगी। मुझे लगता है कि आप जॉनसन के एल्गोरिदम जैसे कुछ भी संभवतः सभी संभावित स्थिति के बीच सभी सबसे छोटे पथ खोजने के लिए उपयोग कर सकते हैं और फिर इसे लुकअप टेबल के रूप में उपयोग कर सकते हैं। अगर भूलभुलैया गतिशील नहीं है तो यह काम करना चाहिए। http://en.wikipedia.org/wiki/Johnson%27s_algorithm – Justin

+0

@ जस्टिन - मुझे लुकअप का विचार पसंद है ..._ * लगातार काम करने से Much_ तेज। आप एक ही ज्ञापन विचार _with_ ए * का उपयोग कर सकते हैं और परिणामों को कैश कर सकते हैं। फिर आप धीरे-धीरे लुकअप टेबल का निर्माण करेंगे जहां खिलाड़ी और ड्रोन हैं और भूल गए हैं, जब तक उनकी जरूरत नहीं है, तब तक भूलभुलैया के "अनदेखा" हिस्सों को अनदेखा कर रहे हैं। – cdeszaq

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