2009-06-18 10 views
15

मैं अतिवृद्धि/कम आकलन के बारे में उलझन में हूं। मैं पूरी तरह से ए * एल्गोरिदम कैसे काम करता हूं, लेकिन मुझे एक ह्युरिस्टिक होने के प्रभावों के बारे में अनिश्चितता है जो अतिसंवेदनशील या कम अनुमानित है।ए * ह्युरिस्टिक, अतिवृद्धि/कम आकलन?

जब आप प्रत्यक्ष पक्षीदृश्य रेखा का वर्ग लेते हैं तो अतिवृद्धि होती है? और यह एल्गोरिदम गलत क्यों करेगा? सभी नोड्स के लिए एक ही ह्युरिस्टिक का उपयोग किया जाता है।

क्या आप प्रत्यक्ष पक्षीदृश्य रेखा के स्क्वायर्रूट लेते समय कम आकलन करते हैं? और एल्गोरिदम अभी भी सही क्यों है?

मुझे ऐसा कोई लेख नहीं मिल रहा है जो इसे अच्छी और स्पष्ट बताता है, इसलिए मुझे आशा है कि यहां किसी के पास एक अच्छा विवरण होगा।

उत्तर

25

आप overestimating रहे हैं जब अनुमानी के अनुमान वास्तविक अंतिम पथ लागत से अधिक है। जब आप कम होते हैं तो आपको कम करके आंका जाता है (आपको कम आकलन नहीं करना पड़ता है, आपको केवल अतिदेय नहीं करना पड़ता है; सही अनुमान ठीक हैं)। यदि आपके ग्राफ की किनारों की लागत सभी 1 है, तो आपके द्वारा दिए गए उदाहरण अतिवृद्धि और कम आकलन प्रदान करेंगे, हालांकि सादे समन्वय दूरी कार्टेसियन अंतरिक्ष में आड़ू भी काम करती है।

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

मुझे यकीन है कि है कि क्या आप यह पाया है जाएगा नहीं कर रहा हूँ, लेकिन आप Wikipedia A* article को देखने के लिए चाहते हो सकता है। मैं मुख्य रूप से उल्लेख करता हूं (और लिंक) क्योंकि इसके लिए Google के लिए लगभग असंभव है।

+0

अतिसंवेदनशील हेरिस्टिक के साथ, एल्गोरिदम को कम से कम एक उपनिवेशवादी उपचार के साथ तेजी से एक (उपोष्णकटिबंधीय) समाधान ढूंढना चाहिए, है ना? बेहद कम आकस्मिक ह्युरिस्टिक (जैसे हमेशा 0 लौटने की तरह) के साथ, एक इष्टतम समाधान प्राप्त करेगा, लेकिन अनिवार्य रूप से केवल एक चौड़ाई खोज कर रहा है। – chtz

3

जहाँ तक मुझे पता है, आप आमतौर पर कम आकलन करना चाहते हैं ताकि आपको अभी भी सबसे छोटा रास्ता मिल सके। आप अतिवृद्धि से त्वरित उत्तर पा सकते हैं, लेकिन आपको सबसे छोटा रास्ता नहीं मिल सकता है। इसलिए अतिवृद्धि क्यों "गलत" है, जबकि कम आकलन अभी भी सबसे अच्छा समाधान प्रदान कर सकता है।

मुझे खेद है कि मैं birdview लाइनों के बारे में कोई जानकारी उपलब्ध नहीं करा सकते हूँ ...

8

Wikipedia A* article से, एल्गोरिथ्म वर्णन के प्रासंगिक हिस्सा है:

एल्गोरिथ्म तक जारी रहता लक्ष्य नोड एक कम कतार में किसी भी नोड से महत्व है (या कतार जब तक खाली है)।

मुख्य विचार यह है कि, अल्पसंख्यक के साथ, ए * केवल लक्ष्य के संभावित पथ की खोज करना बंद कर देगा जब यह पता चलता है कि पथ की कुल लागत लक्ष्य के ज्ञात पथ की लागत से अधिक हो जाएगी। के बाद से एक पथ की लागत का अनुमान हमेशा से कम या पथ के वास्तविक लागत के बराबर है, एक * जैसे ही अनुमानित लागत एक ज्ञात पथ की कुल लागत से अधिक है एक रास्ता त्यागने कर सकते हैं।

overestimation के साथ, ए * पता नहीं है जब यह एक संभावित मार्ग की खोज बंद कर सकते हैं के रूप में वहाँ इसका वास्तविक मूल्य, लेकिन लक्ष्य के लिए सबसे अच्छा वर्तमान में भी जाना जाता है पथ की तुलना में अधिक अनुमानित लागत के साथ पथ हो सकता है।

+1

इस विशेष विकिपीडिया प्रविष्टि से सावधान रहें। मैंने पिछली गर्मियों में पाया कि पृष्ठ एल्गोरिदम के साथ बहुत गलत था जिसे पोस्ट किया गया था और यह पता चला कि इसे ठीक किया गया था। विकिपीडिया (और इंटरनेट) पर कुछ भी होने के साथ, इसे उत्तर के रूप में, जहां कहीं भी देखने के लिए गाइड के रूप में उपयोग करें। –

+1

प्वाइंट लिया गया, लेकिन मैंने जो भाग उद्धृत किया वह मेरे उत्तर के लिए सही और प्रासंगिक है। – Eric

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