मानचित्र पर देशों के बीच कनेक्शनों का प्रतिनिधित्व करने के लिए डेटा संरचना


9

एक खेल में मैं एक ग्राहक के लिए विकसित कर रहा हूँ एक प्रमुख खेल अवधारणा में नक्शे पर घूमना शामिल है। इस मामले में आकार और आकार और इस तरह के विभिन्न देश अप्रासंगिक हैं: एक देश से एक आसन्न देश में जाना एक एकल चरण के रूप में गिना जाता है।

मैं देशों के बीच संबंधों का आंतरिक रूप से प्रतिनिधित्व करने के लिए सर्वश्रेष्ठ डेटा संरचना का पता लगाने की कोशिश कर रहा हूं। किसी दिए गए देश के लिए खेल को यह जानने की जरूरत है कि कौन से देश आसन्न हैं, दोनों को पता है कि किन तरीकों से खिलाड़ी आगे बढ़ सकते हैं और खेल के एआई को मार्गों की साजिश करने की अनुमति देते हैं, जो एक देश से दूसरे देश के संभावित रास्तों का निर्धारण करते हैं। एआई को यह भी मूल्यांकन करने की आवश्यकता है कि एक देश कितना जुड़ा हुआ है, न केवल अपने निकटवर्ती पड़ोसी के लिए, बल्कि उन देशों के पड़ोसियों के लिए, आदि।

मुझे कुछ संभावनाएं सूझी हैं, लेकिन वे अपूर्व और अक्षम लग रहे हैं। क्योंकि एआई को अपने आंदोलन के बारे में अच्छे निर्णय लेने के लिए संभावित मार्गों के एक समूह की गणना करने की आवश्यकता होगी, क्योंकि "अक्षम" अत्यधिक समस्याग्रस्त है।

मुझे संदेह है कि यह कुछ हद तक सामान्य सी सीएस पहेली है और इसका एक सामान्य समाधान है, लेकिन मैं खोज करके बहुत कुछ नहीं पा सका हूं। किसी भी सुझाव का स्वागत है।


अगर मुझे GameDev.StackExchange पर यह पूछना चाहिए तो मुझे बताएं। मैं यहाँ पूछ रहा हूँ क्योंकि मुझे यकीन है कि इस तरह की चीज़ को सभी प्रकार की विकास समस्याओं के लिए आवश्यक है और मुझे इसके "खेल" पक्ष के साथ मदद की ज़रूरत नहीं है, प्रति se, बस मार्ग-नियोजन भाग।
मैथ्यू फ्रेडरिक

आपको या तो एक ग्राफ या एक कनेक्टिविटी मैट्रिक्स की आवश्यकता होती है (जो कि आसान है, क्योंकि बंद करना गणना करना आसान है)। शायद आपको दोनों की जरूरत है। उनकी तलाश करें।

2
ग्राफ़ डेटा संरचनाओं और एल्गोरिदम पर एक नज़र डालें: en.wikipedia.org/wiki/Graph_%28data_structure%29

1
यह मेरे लिए विषय पर नहीं दिखता है। यह या तो गेमडेव या स्टैक ओवरफ्लो पर होना चाहिए, क्योंकि यह यहाँ के लिए एक विषय है।

जवाबों:



6

निश्चित रूप से एक ग्राफ। इसे यहाँ देखें ग्राफ थ्योरी , मूल रूप से आपको नोड्स और किनारे मिले। एक नोड में अन्य नोड्स में 0 या अधिक किनारे हो सकते हैं।

कम से कम पथ (हॉप्स या दूरी) की गणना करने के लिए बहुत सारे एल्गोरिदम हैं, पुटी के लिए जांच (एक स्वयं तक पहुंचने के लिए एक से अधिक तरीके), आदि।

अब, कुशल समाधानों को लागू करने में सक्षम होने के लिए, यह थोड़ा अधिक जटिल है, लेकिन हमेशा की तरह, तरीके हैं।


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

2

जैसा कि पहले ही उल्लेख किया गया है कि आपको देशों के बीच सभी संभावित कनेक्शनों का प्रतिनिधित्व करने वाले एक ग्राफ की आवश्यकता होगी। प्रत्येक कनेक्शन दो देशों के बीच की दूरी भी तय करेगा।

फिर दो देशों के बीच सबसे छोटे मार्ग को निर्धारित करने के लिए A * जैसी पथ-खोज एल्गोरिथ्म का उपयोग किया जा सकता है।

गेम ai के बारे में कुछ अच्छी किताबें भी हैं: Mat Buckland द्वारा उदाहरण के लिए गेम AI http://www.ai-junkie.com/books/toc_pgaibe.html

या एआई गेम प्रोग्रामिंग विजडम श्रृंखला। http://www.aiwisdom.com/ पहली किताब में पाथफाइंडिंग के बारे में कई अध्याय हैं।


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