Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/oop/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Algorithm A*算法中节点间成本距离的比例因子_Algorithm_Shortest Path_A Star - Fatal编程技术网

Algorithm A*算法中节点间成本距离的比例因子

Algorithm A*算法中节点间成本距离的比例因子,algorithm,shortest-path,a-star,Algorithm,Shortest Path,A Star,我有一个集合数据,它是节点关联成本的集合。该成本表示为以英尺为单位的距离 每个节点都有一个x-y坐标。现在在A*算法中,我需要添加节点到节点的成本+中间节点到目的地的启发式成本。但是,这两个值需要具有相同的度量/单位。我不能让一个在脚上,另一个在坐标距离上 我知道为了做到这一点,我首先需要找到一个比例因子,从英尺到x-y坐标距离的比例。对吗?我只能说,所有这些成本都是可伸缩的。因此,所有节点对的beta值都是相同的。。问题是我如何找到这个值 我现在做的是找到节点之间的坐标距离,然后从中比较成本(

我有一个集合数据,它是节点关联成本的集合。该成本表示为以英尺为单位的距离

每个节点都有一个x-y坐标。现在在A*算法中,我需要添加节点到节点的成本+中间节点到目的地的启发式成本。但是,这两个值需要具有相同的度量/单位。我不能让一个在脚上,另一个在坐标距离上

我知道为了做到这一点,我首先需要找到一个比例因子,从英尺到x-y坐标距离的比例。对吗?我只能说,所有这些成本都是可伸缩的。因此,所有节点对的beta值都是相同的。。问题是我如何找到这个值


我现在做的是找到节点之间的坐标距离,然后从中比较成本(以英尺为单位)。因此,我可以找到一个beta,它是一个常数,应该适用于每个节点的成本(英尺)。。。但我不确定这是不是真的。这里我不是在寻找一个魔术,只是一个简单的方法/数学来解决这个问题。通常我们都知道网格是以某种比例因子来模拟物理世界的。你还不知道吗

无论如何,我认为你的直觉是对的。也就是说,计算两个点之间的坐标距离,在这两个点上,你知道实际成本(以英尺为单位),将一个点除以另一个点,这就是你的比例因子。当然,假设“成本”是两个节点之间的直线距离

也就是说,如果节点1和节点2之间的距离为3英尺,并且节点的坐标分别为
[0,0]
[0,9]
,则“比例因子”为3/9。。。或9/3,具体取决于转换的方式

在这种情况下,坐标距离中的一个单位是1/3英尺。或者一英尺是坐标距离的3个单位。从坐标到英尺,你除以3。要从英尺到坐标系,需要乘以3