मुझे त्रिभुज A * (TA *) एल्गोरिथ्म को समझने में मदद की ज़रूरत है जो कि Demyen द्वारा 76-81 पेजों पर अपने पेपर कुशल त्रिभुज-आधारित पाथफाइंडिंग में वर्णित है ।
वह वर्णन करता है कि त्रिकोणीयकरण के लिए नियमित रूप से ए * एल्गोरिदम को कैसे अनुकूलित किया जाए, अंतिम नोड तक पहुंचने / विस्तारित होने के बाद भी, संभवतः अन्य इष्टतम मार्गों की खोज करने के लिए। रेगुलर A * तब बंद हो जाता है जब अंतिम नोड का विस्तार होता है, लेकिन त्रिकोणीय ग्राफ़ में उपयोग किए जाने पर यह हमेशा सबसे अच्छा पथ नहीं होता है। यह वास्तव में मैं कर रहा हूँ समस्या है।
समस्या पृष्ठ 78 पर चित्रित की गई है, चित्र 5.4:
मैं समझता हूं कि कागज में प्रस्तुत जी और एच मूल्यों की गणना कैसे करें (पृष्ठ 80)।
और मुझे लगता है कि खोज रोक स्थिति है:
if (currentNode.fCost > shortestDistanceFound)
{
// stop
break;
}
जहां currentNode खुली सूची (प्राथमिकता कतार) से खोजा गया नोड है, जिसमें सबसे कम एफ-स्कोर है। shortestDistanceFound, अब तक के सबसे छोटे पथ की वास्तविक दूरी है।
लेकिन मैं भविष्य की खोजों से पहले से पाए गए रास्तों को कैसे बाहर करूं? क्योंकि अगर मैं फिर से खोज करता हूं, तो यह स्पष्ट रूप से एक ही रास्ता खोजेगा। क्या मैं बंद सूची को रीसेट कर सकता हूं? मुझे कुछ संशोधित करने की आवश्यकता है, लेकिन मुझे नहीं पता कि यह मुझे क्या बदलना है। कागज में स्यूडोकोड की कमी होती है, इसलिए यह उपयोगी होगा।