其他分享
首页 > 其他分享> > Re: 问题比方法更重要(HeK 20211009)

Re: 问题比方法更重要(HeK 20211009)

作者:互联网

原文: https://blog.csdn.net/minfanphd/article/details/120666884

  1. 定义清楚问题
    输入、输出、优化目标、约束条件
    输入:1) 二维平面地图,地图的大小是已知的吗?2) 障碍是已知的吗(有可能走到面前才知道,并没有上帝视角)?3) 地图上的区域有差异吗(距离与路程是否一定成正比,如果有沼泽地就不一定了)?
    输出:从原点到终点的路径
    优化目标:1)路径最短;2)搜索时间最短。其实是多目标优化。
    约束条件:障碍物,导致有些顶点不可达

  2. 输入:起始点坐标,终点坐标,障碍物坐标以及其影响范围,这里使用的都是圆形障碍物,方便判断。1) 地图大小对算法本身来说是未知的,2)障碍物在什么地方也是未知的,如果经过障碍物区域或走到面前才知道3) 地图上的区域只分为障碍物区域以及非障碍物区域,障碍物区域不可达,非障碍物区域性质一致。如果中途未经障碍物区域,距离与路程一定成正比。
    输出:一条从起点达到终点的避开障碍物的路径。
    优化目标:1) 搜索时间最短 2) 路径长度最短或接近最短
    约束条件:路径需要避开障碍物,障碍物范围内不可达。

  3. 在本文中,起点:(0, 0),图中显示为绿色。
    终点:(15, 12),图中显示为红色。
    障碍物:设置了5个障碍物,均为黑色,不过半径不一样。
    实际地图范围:x轴0-15, y轴0-12。

  4. 给出一个最简单粗暴的算法,最好是确定性的
    穷举法、动态规划算法(自底向上)
    广度优先搜索,从起点开始遍历相邻8个节点。直至遍历到终点为止。
    规划结果如图,路径长度为50.731532841246164:
    在这里插入图片描述

  5. 寻找更优的算法,有可能是不确定性的智能算法
    分治法(减少时间的常用方法)
    遗传算法,算法思想比较简单。
    通过随机一定数量的初始化种群(理解为需要解决问题的解集),然后通过交叉(交换解的部分解值),变异(对解值做一定随机的变换),评估解的适应度(理解为解是否适合解决这个问题。在这里,使用路径长度,路径平滑度进行构造函数评估。),遗传,将生成的解集挑选部分解放入下次上述流程。直到达到最大迭代次数。
    遗传算法就是通过构造一定数量的解,只要解的数量足够多,就可能逼近或达到最优解。
    规划结果如图,路径长度为39.15671293710389:
    在这里插入图片描述

标签:障碍物,20211009,路径,地图,最短,Re,算法,区域,HeK
来源: https://blog.csdn.net/qq_40670452/article/details/120683161