首页 文章

路径查找 - 合并不同的成本函数

提问于
浏览
0

在我找到学校项目的路径中,用户有两个选项可以在两点之间导航:

  • 最短路径(公里) . 我已经将每个2点的成本函数定义为连接它们的道路的距离 .

  • 最快的路径(每条路都有速度限制) . 我已经将每个2点之间的成本函数定义为1 /(SpeedLimit) .

  • 最简单的路径(最小化转弯,如果道路改变方向超过α度,则定义转弯) . 我已经将状态定义为点和方向的元组,并且如果方向的变化大于α则将成本函数定义为1,否则定义为0 .

然后,用户提供0和1之间的3个实数,以指定每个导航选项的重要性 .

因此,成本函数基本上应该是上述三个成本函数的总和,每个函数乘以提供的数字 . 我的问题是每个成本函数具有不同的单位,例如,第一个成本函数以千米为单位,第三个成本函数是布尔值(0或1) . 我怎样才能将它们转换成有意义的?

1 回答

  • 0

    为从路径映射到实数的每个条件定义成本函数 .

    • f1(路径)=与路径距离相关的成本

    • f2(路径)=遍历路径所花费的时间的成本

    • f3(路径)=路线复杂性的成本

    定义 f1f2 应该相当简单 . f3 更复杂和主观,但我怀疑它真的不应该是你需要它的一些非常具体的原因 . 也许路径复杂性的函数可能类似于行程中每个转弯的度数(弧度)的总和 . 对于这样的函数,肯定有很多其他选择可以立即浮现在脑海中(例如描述路径所需的表示长度) . 对于 f3 ,你必须选择最适合你的目的 .

    一旦定义了各个成本函数,您就可以通过对这三个函数进行线性组合来获得路径的总体成本:

    cost(path)= a1 * f1(path)a2 * f2(path)a3 * f3(path)

    a1, a2, a3 找到明智的 Value 是挑战的主要原因 . 您可能需要使用一些统计方法来执行此操作 .

相关问题