मैं edx.org पर जनता के लिए उपलब्ध सीएस 188 के माध्यम से जा रहा हूं। अभी मैं एक एक * सभी छर्रों खाने के लिए खोज के लिए एक अनुमानी विकसित करने के लिए जैसा कि यहाँ दिखाया है: ए * एल्गोरिदम स्वीकार्य के लिए मेरा उत्तराधिकारी क्यों नहीं है?
मेरे अनुमानी है कि मैं काम करेगा यकीन है, (दोनों स्वीकार्य और लगातार के रूप में) था इस तरह से चला गया:
- अनुमानी संचायक ज बुलाया प्रारंभ 0
- स्थिति को प्रारंभ pacman
- की वर्तमान स्थिति होने के लिए, जबकि छर्रों नहीं खाया हो:
- astar खोज का उपयोग कर (अनुमानी के रूप में मैनहट्टन दूरी) स्थिति से निकटतम गोली मिल
- ज
- के लिए दूरी जोड़ने
- सेट स्थिति छर्रों से गोली को निकालने गोली
मैं पहले की गणना की दूरी को भी कैश करता हूं, इसलिए निकटतम गोली खोजने के लिए अस्थिर खोज तब नहीं की जाती है जब यह पहले से ही किसी राज्य की गणना में पहले किया जा चुका है। यह समस्या को बहुत जल्दी हल करने में सक्षम है, और परिणाम इष्टतम है।
जब मैं ऑटोग्रेडर में इस एल्गोरिदम का उपयोग करता हूं, तो यह स्वीकार्यता परीक्षण में विफल रहता है।
चिंता न करें, मैं समस्या का समाधान नहीं मांग रहा हूं, केवल मेरा वर्तमान समाधान स्वीकार्य क्यों नहीं है? जब मैं अपने सिर में तस्वीर में उदाहरण के माध्यम से जाता हूं तो ह्युरिस्टिक कभी भी लागत को अधिक महत्व नहीं देता है।
तो अगर कोई इसे समझने में सक्षम था, और आपके विचारों की बहुत सराहना की गई है तो कोई विचार है!
बस यह सुनिश्चित करना - क्या आपकी दूरी की कार्य दीवारों के लिए सही ढंग से लेखांकन है? – Leeor
** पूरी बात नहीं है ** केवल निकटतम गोली पाने के बजाय, ए-स्टार खोज होने का मतलब है? – Dukeling
@ डकलिंग पूरी खोज ए * कैसे हो सकती है? खोज के लिए कोई एकल लक्ष्य नहीं है। @Zach: क्या आप समस्या या प्रश्न के सटीक विवरण को पोस्ट या लिंक कर सकते हैं? मैनहट्टन दूरी निश्चित रूप से स्वीकार्य होना चाहिए; हो सकता है कि आपके कोड में एक-एक-एक त्रुटि हो, तो ह्यूरिस्टिक वास्तविक लागत से अधिक है जब रास्ते में कोई बाधा नहीं है? –