选择*启发式函数

时间:2016-08-03 19:04:52

标签: c# a-star heuristics

我仍在试图弄清楚我的启发式选择如何以及为何会影响我实现的搜索时间。

我的地图如下(不是确切的大小):

###########
#         #
# # # # # #
#         #
# # # # # #
#         #

我选择了我的启发式

option 1: h = abs(n.x - target.x) + abs(n.y - target.y)
option 2: h = 2*(abs(n.x- target.x) + abs(n.y - target.y))

使用option 1,算法运行相对较好,直到我必须从上到下移动,在这种情况下,需要很长时间才能提出路径。

option 2option 1时间提高了约90%。

我试着读到有关高估/低估的消息,我无法提出明确的解释。

可能是什么原因?我的选择合理吗?

1 个答案:

答案 0 :(得分:0)

看看this回答。有一个很好的教程link可以解释并给出经验法则,应该为不同类型的问题选择哪种启发式方法,然后对这些技术进行友好的解释。