अगम्य गंतव्य के लिए निकटतम स्थान खोजने के लिए एस्कॉर्ट ट्वीकिंग


12

मैंने Java में AStar लागू किया है और यह उन क्षेत्रों के लिए ठीक है जो उन बाधाओं के साथ काम करता है जहाँ चुना हुआ गंतव्य उपलब्ध है।

हालांकि, जब गंतव्य पहुंच योग्य नहीं होता है, तो गणना की गई "पथ" निकटतम स्थान (अगम्य स्थान पर) के लिए किसी भी तरह से नहीं है, लेकिन इसके बजाय कुछ यादृच्छिक पथ है।

क्या कोई अप्राप्य गंतव्य के लिए निकटतम स्थान के लिए रास्ता खोजने में एक आसान तरीका है।

जवाबों:


21

सबसे कम EstimatedDistanceToEnd(यानी सबसे कम h(x)) के साथ नोड का ट्रैक रखें , और यदि कोई अंत-नोड इसके बजाय उस नोड से बैकट्रैक से वापस आने के लिए पहुंच योग्य नहीं है।


सरल। मुझे यह पसंद है!
जॉन मैकडॉनल्ड्स

जब मैंने आपका उत्तर पढ़ा तो मैंने अपना सिर थप्पड़ मारा और "दोह" गया। धन्यवाद!
शिवन ड्रैगन

1

यह वास्तव में ए * प्रश्न नहीं है। A * सभी बिंदु A से बिंदु B तक का मार्ग खोजने के बारे में है। भले ही इसे बढ़ाया जा सकता है, लेकिन परिणाम आसानी से गड़बड़ और अप्रत्याशित हो सकते हैं। इसके बजाय आपको जो चाहिए वह एक एल्गोरिथ्म है जो निकटतम पहुंच योग्य गंतव्य को चुनता है।

यहां ऐसा करने का एक तरीका है: यदि A * एक वैध पथ देता है (पथ मिलान इनपुट नोड्स में प्रारंभ / अंत नोड), पथ वापस लौटें। अन्यथा...

  • प्रारंभिक नोड से खोज शुरू करें
  • सभी लिंक किए गए नोड्स को पार करें (अनंत पुनरावृत्ति से बचने के लिए विज़िट किए गए लोगों को फ़्लैग करने के लिए याद रखें)
  • निकटतम नोड खोजने के लिए गंतव्य की दूरी की तुलना करें

बाढ़ भराव जैसा कुछ लगता है en.wikipedia.org/wiki/Flood_fill ध्यान दें कि आपको अभी भी शुरू नोड से सबसे कम दूरी के साथ ए * की आवश्यकता है। यह भी ध्यान दें कि इसमें हमेशा सभी जुड़े हुए नोड्स का निरीक्षण करना शामिल है और इस प्रकार यह बेहद धीमा हो सकता है।
रॉय टी।

हाँ, यह धीमा हो सकता है। लेकिन धीरज सबसे अधिक शायद स्मृति में बिखरे हुए नोड्स से आएगा; जिसे आसानी से तय किया जा सकता है। इसके अलावा, कुछ सटीकता का त्याग करके इसे गति देना संभव है - बस उन लिंक को छोड़ दें जो बहुत दूर हैं या गलत दिशा में इंगित करते हैं।
सांप 5

1
@Roy: एक *, BFS, और सभी समान pathfinding एल्गोरिदम, के रूप में बाढ़ भरण बिल्कुल के रूप में धीमी गति से हो जाएगा क्योंकि वे यकीन है कि वहाँ बनाने के लिए हर जुड़ा नोड का निरीक्षण करने के लिए सभी की जरूरत है समाप्त करने के लिए कोई रास्ता। हालांकि इस मुद्दे को कम करने के तरीके हैं; यहाँ देखें ।
ब्लूराजा - डैनी पफ्लुगुफ़ेत
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.