æ ¹æ®the Wikipedia article on the A* search algorithm说:
 Â这里,g(n)是从åˆå§‹èŠ‚点到n的已知æˆæœ¬;   该值由算法跟踪。 h(n)是å¯å‘å¼ä¼°è®¡   从nåˆ°ä»»ä½•ç›®æ ‡èŠ‚ç‚¹çš„æˆæœ¬ã€‚为了找到算法   实际的最çŸè·¯å¾„,å¯å‘函数必须是å¯æŽ¥å—的,   这æ„味ç€å®ƒæ°¸è¿œä¸ä¼šè¿‡é«˜ä¼°è®¡åˆ°è¾¾çš„实际æˆæœ¬ Â Â æœ€è¿‘çš„ç›®æ ‡èŠ‚ç‚¹ã€‚å¯å‘å¼å‡½æ•°æ˜¯ç‰¹å®šäºŽé—®é¢˜çš„,必须   由算法的用户æ供。
它明确指出 h()函数ä¸å¾—高估è·ç¦»ã€‚然而,在我看æ¥ï¼Œåœ¨æˆ‘的代ç ä¸ï¼Œå¦‚果我的å¯å‘å¼ hï¼ˆï¼‰å‡½æ•°è¿”å›žæ— ç©·å¤§ï¼ˆæˆ–é›¶ï¼‰ï¼Œå®ƒçš„æ‰§è¡Œæ•ˆæžœä¹Ÿä¸€æ ·ï¼Œä»ç„¶å¯ä»¥æ‰¾åˆ°æœ€çŸçš„路径。
那为什么è¦å¯ä»¥æŽ¥å—?是ä¸æ˜¯æ— é™é«˜ä¼°äº†æˆ‘çš„å¯å‘å¼ï¼Ÿæˆ‘觉得我的节点图很å¤æ‚。是å¦æœ‰ç‰¹å®šçš„情况,这å¯èƒ½ä¼šäº§ç”Ÿå½±å“,我å¯èƒ½æ²¡æœ‰åœ¨æˆ‘的图表ä¸å†çŽ°ï¼Ÿ
附录: 请å‚阅this fiddle并éšæ„在第221行弄乱h功能。点击布局图移动红点。
以下任何注释行对h()函数åŒæ ·æœ‰æ•ˆã€‚
var h = function(a,b) {
//return calcDistance(a,b);
//return 0;
return 999999;
}
ç”案 0 :(得分:1)
如果您的å¯å‘å¼ä¸å¯æŽ¥å—,那么您有时会“满足于低于最佳状æ€ã€‚â€
å‡è®¾æ‚¨çš„æœç´¢åˆšåˆšåˆ°è¾¾ç›®æ ‡èŠ‚ç‚¹ã€‚ä½ å¯ä»¥åœä¸‹æ¥å—ï¼Ÿæˆ–è€…è¿˜æœ‰æ²¡æœ‰æ‰¾åˆ°æ›´å¥½çš„ç›®æ ‡ä¹‹è·¯ï¼Ÿ
如果å¯å‘å¼æ€»æ˜¯ä½Žä¼°ä»Žä»»ä½•èŠ‚ç‚¹åˆ°ç›®æ ‡çš„æœ€çŸè·¯å¾„,您å¯ä»¥æŸ¥çœ‹æ¯ä¸ªè¾¹ç•ŒèŠ‚点N并比较(获得Nçš„æˆæœ¬ï¼‰+(Nçš„å¯å‘å¼ï¼‰åˆ°ï¼ˆé€šè¿‡æˆ‘å·²æ‰¾åˆ°çš„è·¯å¾„åˆ°è¾¾ç›®æ ‡çš„æˆæœ¬ã€‚如果没有任何节点Nä»ç„¶å¯ä»¥æ‰¾åˆ°æ›´çŸçš„ç›®æ ‡è·¯å¾„ï¼Œé‚£ä¹ˆä½ å·²ç»å®Œæˆäº†ã€‚
如果您的å¯å‘å¼ä¸å¯æŽ¥å—,则æ¤æŽ¨ç†ä¸èµ·ä½œç”¨ã€‚