精华内容
下载资源
问答
  • 2019-11-27 20:28:55

    一、贪心法

    贪心算法的含义:

    贪心算法(也叫贪婪算法)是指在对问题求解时,总是做出在当前看来是最好的选择。也就是说,不从整体最优上加以考虑,只做出在某种意义上的局部最优解。贪心算法不是对所有问题都能得到全局最优解,得到的是局部最优解,关键是贪心策略的选择,不同的贪婪策略会导致得到差异非常大的结果。选择的贪心策略必须具备无后效性,即某个状态以前的过程不会影响以后的状态,只与当前状态有关。

    一般步骤:
    1. 建立数学模型来描述问题;
    2. 把求解的问题分成若干个子问题;
    3. 对每一子问题求解,得到子问题的局部最优解;
    4. 把子问题的局部最优解合成原来问题的一个解。
    经典问题:

    贪心法是动态规划法的特例,如0-1背包,钱币找零问题,最小代价生成树(prim算法和cruskal算法),huffman算法,以及Dijkstra算法。

    二、动态规划

    基本思想:

    动态规划算法通常用于求解具有某种最优性质的问题。在这类问题中,可能会有许多可行解。每一个解都对应于一个值,我们希望找到具有最优值的解。

    动态规划算法与分治法类似,其基本思想也是将待求解问题分解成若干个子问题,先求解子问题,然后从这些子问题的解得到原问题的解。与分治法不同的是,适合于用动态规划求解的问题,经分解得到子问题往往不是互相独立的(即下一个子阶段的求解是建立在上一个子阶段的解的基础上,进行进一步的求解)。若用分治法来解这类问题,则分解得到的子问题数目太多,有些子问题被重复计算了很多次。如果我们能够保存已解决的子问题的答案,而在需要时再找出已求得的答案,这样就可以避免大量的重复计算,节省时间。

    我们可以用一个表来记录所有已解的子问题的答案。 不管该子问题以后是否被用到,只要它被计算过,就将其结果填入表中。这就是动态规划法的基本思路。具体的动态规划算法多种多样,但它们具有相同的填表格式。

    应用场景:

    适用动态规划的问题必须满足最优化原理、无后效性和重叠性。

    1. 最优化原理(最优子结构性质)
      最优化原理可这样阐述:一个最优化策略具有这样的性质,不论过去状态和决策如何,对前面的决策所形成的状态而言,余下的诸决策必须构成最优策略。简而言之,一个最优化策略的子策略总是最优的。一个问题满足最优化原理又称其具有最优子结构性质。如果可以把局部子问题的解结合起来得到全局最优解,那这个问题就具备最优子结构。

    2. 无后效性
      将各阶段按照一定的次序排列好之后,对于某个给定的阶段状态,它以前各阶段的状态无法直接影响它未来的决策,而只能通过当前的这个状态。换句话说,每个状态都是过去历史的一个完整总结。这就是无后向性,又称为无后效性。即要求每个子问题的决策不能对后面其他未解决的问题产影响, 如果产生就无法保证决策的最优性。

    3. 子问题的重叠性
      如果计算最优解时需要处理很多相同的问题,那么这个问题就具备重复子问题。
      动态规划必须保证我们分割成的子问题也能按照相同的方法分割成更小的子问题, 并这些自问题的最终分割情况是可以解决的
      动态规划将原来具有指数级时间复杂度的搜索算法改进成了具有多项式时间复杂度的算法。其中的关键在于解决冗余,这是动态规划算法的根本目的。动态规划实质上是一种以空间换时间的技术,它在实现的过程中,不得不存储产生过程中的各种状态,所以它的空间复杂度要大于其它的算法。

    动态规划算法的核心就是提供了一个memory来缓存重复子问题的结果,避免了递归的过程中的大量的重复计算。动态规划算法的难点在于怎么将问题转化为能够利用动态规划算法来解决。当重复子问题的数目比较小时,动态规划的效果也会很差。如果问题存在大量的重复子问题的话,那么动态规划对于效率的提高是非常恐怖的。

    一般步骤:
    1. 分析最优解的性质,并刻画其结构特征。
    2. 递归地定义最优值。
    3. 以自底向上的方式或自顶向下的记忆化方法(备忘录法)计算出最优值。
    4. 根据计算最优值时得到的信息,构造一个最优解。

    步骤(1)–(3)是动态规划算法的基本步骤。在只需要求出最优值的情形,步骤(4)可以省略,若需要求出问题的一个最优解,则必须执行步骤(4)。此时,在步骤(3)中计算最优值时,通常需记录更多的信息,以便在步骤(4)中,根据所记录的信息,快速地构造出一个最优解。

    在实际的做题中也可以这样去做:

    1. 确定子问题: 在这一步重点是分析那些变量是随着问题规模的变小而变小的, 那些变量与问题的规模无关。
    2. 确定状态:根据上面找到的子问题来给你分割的子问题限定状态。
    3. 推导出状态转移方程:这里要注意你的状态转移方程是不是满足所有的条件, 注意不要遗漏。
    4. 确定边界条件:先根据题目的限制条件来确定题目中给出的边界条件是否能直接推导出, 如果不行也可以尝试从边界条件反推(举个例子:a(n)→a(2)有递推关系, 但是a(2)→a(1)不符合上述递推关系, 我们就可以考虑用a(1)来倒推出a(2), 然后将递推的终点设置为a(2));
    5. 确定实现方式:这个依照个人习惯,就像是01背包的两层for循环的顺序。
    6. 确定优化方法:很多时候你会发现走到这里步的时候你需要返回第1步重来。首先考虑降维问题(优化内存), 优先队列、四边形不等式(优化时间)等等。
    常用方法:
    1. 模型匹配法:熟练记忆并且理解LIS、LCS、01背包、完全背包、区间模型、树状模型。基本就是将原模型加以变化后加以套用
    2. 三要素法:
      1)先确定阶段:如数塔问题, 先确定当前选的是第几层。
      2)先确定状态:这是最常用的绝大多数的DP都是这么做的。
      3)先确定决策:背包问题(选还是不选第i种物品)
    3. 寻找规律法:从小的状态开始推, 耐心找规律, 或者可以在本地暴力打表, 暴力出奇迹。
    4. 边界条件法: 一般边界时容易导出状态关系的地方。
    5. 增加约束条件法
    经典问题:

    如多段图问题,备忘录方法,求全路径最短路径的Floyd弗洛伊德算法,最长公共子序列,斐波那契数列问题。

    三、分治法

    分治法的含义:

    分治算法的基本思想是将一个规模为N的问题分解为K个规模较小的子问题,这些子问题相互独立且与原问题性质相同。 求出子问题的解,就可得到原问题的解。

    运用分治策略解决的问题一般来说具有以下特点:

    1. 原问题可以分解为多个子问题。这些子问题与原问题相比,只是问题的规模有所降低,其结构和求解方法与原问题相同或相似。
    2. 原问题在分解过程中,递归地求解子问题。由于递归都必须有一个终止条件,因此,当分解后的子问题规模足够小时,应能够直接求解
    3. 在求解并得到各个子问题的解后应能够采用某种方式、方法合并或构造出原问题的解。

    不难发现,在分治策略中,由于子问题与原问题在结构和解法上的相似性,用分治方法解决的问题,大都采用了递归的形式。在各种排序方法中,如归并排序、堆排序、快速排序等,都存在有分治的思想。

    一般步骤:
    1. 分解,将要解决的问题划分成若干规模较小的同类问题;
    2. 求解,当子问题划分得足够小时,用较简单的方法解决;
    3. 合并,按原问题的要求,将子问题的解逐层合并构成原问题的解。
    经典问题:

    归并排序、堆排序、快速排序、二分查找、全排列问题、整数划分问题、求第k大元素。

    四、回溯法

    回溯法的含义:

    回溯法(探索与回溯法)是一种选优搜索法,按选优条件向前搜索,以达到目标。但当探索到某一步时,发现原先选择并不优或达不到目标,就退回一步重新选择,这种走不通就退回再走的技术为回溯法,而满足回溯条件的某个状态的点称为“回溯点”。

    回溯法就是对隐式图的深度优先搜索算法。 回溯法在问题的解空间树中,按深度优先策略,从根结点出发搜索解空间树。算法搜索至解空间树的任意一点时,先判断该结点是否包含问题的解。如果肯定不包含(剪枝过程),则跳过对该结点为根的子树的搜索,逐层向其祖先结点回溯;否则,进入该子树,继续按深度优先策略搜索。

    回溯法为了避免生成那些不可能产生最佳解的问题状态,要不断地利用限界函数(bounding function)来处死(剪枝)那些实际上不可能产生所需解的活结点,以减少问题的计算量。具有限界函数的深度优先生成法称为回溯法。(回溯法 = 穷举 + 剪枝

    两个常用的剪枝函数:

    • 约束函数:在扩展结点处减去不满足约束的子数
    • 限界函数:减去得不到最优解的子树

    用回溯法解题的一个显著特征是在搜索过程中动态产生问题的解空间。在任何时刻,算法只保存从根结点到当前扩展结点的路径。如果解空间树中从根结点到叶结点的最长路径的长度为h(n),则回溯法所需的计算空间通常为O(h(n))。而显式地存储整个解空间则需要O(2^h(n))或O(h(n)!)内存空间。

    一般步骤:
    1. 针对所给问题,定义问题的解空间;
    2. 确定易于搜索的解空间结构;
    3. 以深度优先方式搜索解空间,并在搜索过程中用剪枝函数避免无效搜索。
    经典问题:

    如n皇后,图的着色问题、求子集、字符串的排列等问题。

    五、分支限界法

    基本思想:

    分支限界法的求解目标则是找出满足约束条件的一个解,或是在满足约束条件的解中找出在某种意义下的最优解。

    分支限界法常以广度优先或以最小耗费(最大效益)优先的方式搜索问题的解空间树。

    在分支限界法中,每一个活结点只有一次机会成为扩展结点。活结点一旦成为扩展结点,就一次性产生其所有儿子结点。在这些儿子结点中,导致不可行解或导致非最优解的儿子结点被舍弃,其余儿子结点被加入活结点表中。 此后,从活结点表中取下一结点成为当前扩展结点,并重复上述结点扩展过程。这个过程一直持续到找到所需的解或活结点表为空时为止。

    分支限界法的搜索策略:

    在当前节点(扩展节点)处,先生成其所有的儿子节点(分支),然后再从当前的活节点(当前节点的子节点)表中选择下一个扩展节点。为了有效地选择下一个扩展节点,加速搜索的进程,在每一个活节点处,计算一个函数值(限界),并根据函数值,从当前活节点表中选择一个最有利的节点作为扩展节点,使搜索朝着解空间上有最优解的分支推进,以便尽快地找出一个最优解。分支限界法解决了大量离散最优化的问题。

    一般步骤:
    1. 定义问题的解空间
    2. 确定解空间的结构
    3. 以广度优先方式搜索整个解空间
    4. 找出所要的解(限界函数的使用)
    常见的两种分支限界法:
    1. 队列式(FIFO)分支限界法
      队列式分支限界法将活节点表组织成一个队列,并将队列的先进先出原则选取下一个节点为当前扩展节点。
    2. 优先队列式分支限界法
      优先队列式分支限界法将活节点表组织成一个优先队列,并将优先队列中规定的节点优先级选取优先级最高的下一个节点成为当前扩展节点。如果选择这种选择方式,往往将数据排成最大堆或者最小堆来实现。
    经典问题:

    01背包,最大团,单源最短路径,装载问题,布线问题。
    可参考:分支限界法总结–例题(01背包,最大团,单源最短路径,装载问题,布线问题)

    六、总结

    动态规划和分治的区别和联系:

    动态规划算法与分治法的相同点在于,都是将待求解问题分解成若干个子问题,先求解子问题,然后从这些子问题的解得到原问题的解。
    动态规划与分治法的不同点在于,适合于用动态规划求解的问题,经分解得到子问题往往不是互相独立的,而分治法的子问题相互独立且与原问题性质相同。

    分支限界法与回溯法的区别:

    (1)求解目标:回溯法的求解目标是遍历整个解空间,找出解空间树中满足约束条件的所有解,而分支限界法的求解目标则是找出满足约束条件的一个解,或是在满足约束条件的解中找出在某种意义下的最优解。
    (2)搜索方式的不同:回溯法以深度优先的方式搜索解空间树,而分支限界法则以广度优先或以最小耗费优先的方式搜索解空间树。

    贪婪、动态规划、回溯的区别和联系:

    首先,这些方法所要解决的问题,一般都是决策问题。而贪心法一般是来求解最优问题的,而且他们其实都是在对问题的状态空间树进行搜索,在这个状态空间树中搜索最佳的路径以便求出最优策略。而贪心法是从上到下只进行深度搜索的,也就是说它是一口气走到黑的,一口气吃成胖子的,它的代价取决于子问题的数目,也就是树的高度,每次在当前问题的状态上作出的选择都是1,也就是说,它其实是不进行广度搜索的,这也造成了它的一个缺点:它得出的解不一定是最优解,很有可能是近似最优解。

    而动态规划法在最优子结构的前提下,从状态空间树的叶子节点开始向上进行搜索,并且在每一步都根据叶子节点的当前问题的状况作出选择,从而作出最优决策,它的代价就是子问题的个数和可选择的数目,所以它求出的解一定是最优解

    回溯法是从上到下进行深度搜索,如果深度搜索没有进行到底而不满足决策函数了,那么再回去从最近的可以岔开的地方选择另一条路,继续之前的深度搜索,如果搜索到底,那么再通过for循环进行广度搜索。所以它也是深度搜索和广度搜索并行的。求出的解也一定是最优解

    最优解问题大部分都可以拆分成一个个的子问题,把解空间的遍历视作对子问题树的遍历,则以某种形式对树整个的遍历一遍就可以求出最优解,大部分情况下这是不可行的。贪心算法和动态规划本质上是对子问题树的一种修剪,两种算法要求问题都具有的一个性质就是子问题最优性(组成最优解的每一个子问题的解,对于这个子问题本身肯定也是最优的)。动态规划方法代表了这一类问题的一般解法,我们自底向上构造子问题的解,对每一个子树的根,求出下面每一个叶子的值,并且以其中的最优值作为自身的值,其它的值舍弃。而贪心算法是动态规划方法的一个特例,可以证明每一个子树的根的值不取决于下面叶子的值,而只取决于当前问题的状况。换句话说,不需要知道一个节点所有子树的情况,就可以求出这个节点的值。由于贪心算法的这个特性,它对解空间树的遍历不需要自底向上,而只需要自根开始,选择最优的路,一直走到底就可以了。

    最后,五大算法都有相通的地方,理解透彻还是要靠实战。五大算法是开发、算法类岗位应聘时手撕代码的常考题,尤其是动态规划和回溯,把LeetCode上经典题目都做一遍,基本就能理解个差不多了。

    参考网址:
    浅谈动态规划法与贪心法和回溯法的联系
    五大常用算法之三:贪心算法
    最常用的五大算法
    五大经典算法
    动态规划(1):基本思路以及步骤
    动态规划算法的基本步骤
    分支限界法
    分支限界法
    五大常用算法——分支限界算法详解及经典例题

    更多相关内容
  • 目录一、相关概念二、红外检测判断方法1、表面温度判断法2、同类比较判断法3、图像特征判断法4、相对温差判断法5、档案分析判断法6、实时分析判断法三、三种材料绝缘子串热缺陷检测方法1、符合材料绝缘子串2、玻璃绝...

    一、相关概念

    环境温度参照体 :用来采集环境温度的物体。它不一定具有当时的真实环境温度,但具有与被检测设备相似的物理属性,并与被测设备处于相似的环境之中。
    温升 :被测设备表面温度和 环境温度参照体 表面温度之差。
    温差 :不同被测设备或同一被测设备不同部位之间的温度差。
    相对温差 :两个对应测点之间的温差与其中较热点的温升之比的百分数。
    一般检测 :适用于用红外热像仪对电气设备进行大面积检测。
    精确检测 :主要用于检测电压制热型和部分电流制热型设备的内部缺陷,以便对设备的故障进行精确判断。
    检修决策 :依据设备状态,考虑风险因素,确定设备检修的类别、内容。

    二、红外检测判断方法

    1、表面温度判断法

    主要适用于电流致热型和电磁效应引起发热的设备。根据测得的设备表面温度值,对照 GB/T 11022 中高压开关设备和控制设备各种部件、材料及绝缘介质的温度和温升极限的有关规定,结合环境气候条件、负荷大小进行分析判断。

    2、同类比较判断法

    根据同组三相设备、同相设备之间及同类设备之间对应部位的温差进行比较分析。对于电压致热型设备,应结合图像特征判断法进行判断;对于电流致热型设备,应结合相对温差判断法进行判断。

    3、图像特征判断法

    主要适用于电压致热型设备。根据同类设备的正常状态和异常状态的热像图,判断设备是否正常。注意应尽量排除各种干扰因素对图像的影响,必要时结合电气试验或化学分析的结果,进行综合判断。

    4、相对温差判断法

    主要适用于电流致热型设备。特别是对小负荷电流致热型设备,采用相对温差判断法可降低小负荷缺陷的漏判率。

    5、档案分析判断法

    分析同一设备不同时期的温度场分布,找出设备致热参数的变化,判断设备是否正常。

    6、实时分析判断法

    在一段时间内使用红外热像仪连续检测某被测设备,观察设备温度随负载、时间等因素变化的方法。

    三、三种材料绝缘子串热缺陷检测方法

    1、复合绝缘子串

    使用实例分割的深度学习方法识别出红外图中的复合材料绝缘子串,获取其所在的像素位置并提取对应的温度值,找到其中的最高温,温度值从大到小排列,前3分之一的温度平均值作为对比温度值,则过热缺陷判定规则如下:

    若温差<=1摄氏度,则 过热缺陷。
    若温差在(1,3)摄氏度,则为 一般 过热缺陷。
    若温差在(3,5)摄氏度,则为 重大 缺陷。
    若温差>=5摄氏度,则为 紧急 缺陷。


    下面这张图是最新更新的判定规则(2021.05.21):
    在这里插入图片描述

    2、玻璃绝缘子串

    玻璃不会发热,有问题便会自爆,因此不必检测。

    3、陶瓷绝缘子串

    现在在实际运用中陶瓷绝缘子正在逐渐退出历史舞台,因此没有检测的必要了。

    展开全文
  • 什么是专家打分?

    千次阅读 2021-10-01 17:16:06
    1.什么是专家评分 专家评分也是一种定性描述定量化方法,它首先根据评价对象...3、 计算方法简单,且选择余地比较大。 4、 将能够进行定量计算的评价项目和无法进行计算的评价项目都加以考虑。 3.专家评分的案

    1.什么是专家评分法

    专家评分法也是一种定性描述定量化方法,它首先根据评价对象的具体要求选定若干个评价项目,再根据评价项目制订出评价标准,聘请若干代表性专家凭借自己的经验按此评价标准给出各项目的评价分值,然后对其进行结集。

    2.专家评分法的特点

    1、 简便。根据具体评价对象,确定恰当的评价项目,并制订评价等级和标准。

    2、 直观性强。每个等级标准用打分的形式体现。

    3、 计算方法简单,且选择余地比较大。

    4、 将能够进行定量计算的评价项目和无法进行计算的评价项目都加以考虑。

    3.专家评分法的案例分析[1]

    案例:专家评分法在国际工程投标决策中的应用

    一、确定影响国际工程项目投标决策的指标

    国际工程方面的专家通过对国际工程项目、国际工程承包商本身的特点和竞争对手的分析,可知影响承包商是否对某个国际工程进行投标的因素有很多,这些因素即构成了影响投标决策的评价指标,主要可以归纳成以下10项指标:

    1.管理的条件:指能否抽出足够的、水平相应的管理工程的人员(包括工地项目经理和组织施工的工程师等)参加该工程;

    2.工人的条件:指工人的技术水平和工人的工种、人数能否满足该工程的要求;

    3.设计人员条件:视该工程对设计及出图的要求而定;

    4.机械设备条件:指该工程需要的施工机械设备的品种、数量能否满足要求;

    5.工程项目条件:对该项目有关情况的熟悉程度,包含对项目本身、业主和监理情况、当地市场情况、工期要求、交工条件等;

    6.同类工程的经验:以往实施同类工程的经验;

    7.业主的资金条件:过去的支付信誉,本项目的资金是否落实等;

    8.合同条件:合同的条款是否苛刻等;

    9.竞争对手的情况:指竞争对手的数量、实力等;

    10.今后的机会:对国际工程承包公司今后在该地区带来的影响和机会。

    二、利用专家评分比较法进行决策

    运用专家评分法进行决策的决策步骤如下:

    1.确定权数

    国际工程方面的专家根据各指标对国际工程承包商完成该招标项目的相对重要性,分别确定其权数,且权数之和为1。

    2.划分等级

    专家将每个指标划分多个等级,并为各等级赋予定量数值,用与判断本承包商的各指标在本次投标活动中所占等级。如可划分为最好、好、较好、一般、较差、差、最差七个等级,可按1、0.8、0.6、0.5、0.4、0.3、0.1打分。

    每一个等级对应一个分值。这样,每一个权数刚好对应一个等级的分值。当然,我们也可以划分二个等级(好、差)、三个等级(好、一般、差)……九个等级(最好、更好、好、较好、一般、较差、差、更差、最差)等等。

    3.计算投标机会总分

    将每项指标权数与对应的等级分别相乘,求出该指标得分。各项指标得分之和即为此工程投标机会总分。

    4.决策

    将机会总分与国际工程承包商过去其他投标情况进行比较或和承包商事先确定的准备接受的最低分相比较,如果大于最低分值,则可以参加投标,否则不参加投标。

    三、专家评分法的具体运用

    下表中给出一个承包商,在对国际工程投标时,进行的投标决策的分析过程,承包商的期望得分值为不低于60%。

    通过上表的计算得出,此次投标的机会分值为63%,大于预期的机会分值60%,所以可以进行此国际工程投标活动。

    四、专家评分法的的适用范围

    1.专家评分法是对某一个招标机会的评价,即利用本公司过去的经验,确定一个机会总分值,例如在0.60以上即可投标,但也不能单纯看机会总分值,还要分析一下权数大的几个项目,也就是要分析主要指标的等级,如果太低,也不宜投标。

    2.当有多个投标机会可供选择时,可用专家评分法计算各工程项目的机会分值,并按其排序确定优先投标项目。

     

    展开全文
  • 人工势场

    千次阅读 2020-09-03 16:43:53
    人工势场含代码,MATLAB 文章目录 前言 一、人工势场 二、简要理解 1.示例 2.代码 总结 前言 路径规划是移动机器人领域的一个重要组成部分,传统的路径规划代表算法包括 A*算法、Dijkstra 算法、...

     

     

     


    前言

           路径规划是移动机器人领域的一个重要组成部分,传统的路径规划代表算法包括 A*算法、Dijkstra 算法、人工势场法以及仿生学的蚁群算法。人工势场法是机器人路径规划算法中一种简单有效的方法。人工势场法的基本思想是在移动机器人的工作环境中构造一个人工势场,势场中包括斥力极和吸引极,不希望机器人进入的区域和障碍物定义为斥力极,目标及建议机器人进入的区域定义为引力极,使得在该势场中的移动机器人受到其目标位姿引力场和障碍物周围斥力场的共同作用,朝目标前进。


    提示:以下是本篇文章正文内容,下面案例可供参考

    一、人工势场法

    人工势场法(Artificial Potential Field)简称 APF,属于局部路径规划中常使用的
    一种方法。将传统力学中“场”的概念引入该方法,假设让智能体在这种虚拟力场下
    进行运动。如何设计引力场影响着该算法的性能,同时存在容易陷入局部极小点的局
    限性。 

    二、简要理解

    1.示例:

    概念图如图 所示,人工势场就像构建了一个吸铁石,包括引力场和斥力场。黑色为障碍物,箭头为智能体要运动的方向,目标点为“Goal”。智能体按照箭头的方向到达“Goal”,目标点像有着“吸引力”一样吸引着智能体靠近。而在障碍物附近,智能体逆着箭头的方向,好像对智能体产生“排斥力”。智能体前进的方向就是这两种力的合力的方向。

    机器人在工作空间中的位置为X=[x,y]T通常的目标函数势场函数(引力场函数)为:

    呼呼

     

    上面公式部分我借鉴了别人的博客,地址:https://me.csdn.net/weixin_43010548

     

    2.代码:

    下面方法也是一种路径规划算法,不过障碍物过多的时候建立势场可能比较耗时,而且容易陷入局部最优。

    算法流程如下:

    1. 对于栅格场景中每一个像素分别计算到终点的距离,距离越大,则对该像素赋值越大,结束得到引力场。

    2. 对于栅格场景中每一个像素分别计算到所有障碍物的距离,距离越大,则对该像素赋值越小,结束得到斥力场。

    3. 引力场和斥力场相加得到总人工势场。

    4. 得到人工势场后,从起始位置用梯度下降或者邻域搜索法找到一条路径到结束点。

    这里建立势场只用到了障碍物最外层边界,如果障碍物所有像素全部用来计算,太过于耗时了。路径寻找用了邻域搜索。

    clear all;
    close all;
    clc;
    
    img = imread('map.png');
    imshow(img);
    [h,w] = size(img);
    
    img1 = 255-(img-imerode(img,ones(3)));  %求边界
    figure;
    imshow(img1);
    
    p = ginput();
    hold on;
    plot(p(:,1),p(:,2),'r.')
    
    grav = zeros(h*w,1);                    %引力场
    repu = zeros(h*w,1);                    %斥力场
    
    ind=zeros(h*w,2);
    indobs=zeros(sum(sum((255-img1)>0)),2);
    num = 1;
    for i=1:h
        for j=1:w
            ind((i-1)*w+j,:) = [j i];
            if img1(i,j) ==0   
                indobs(num,:)=[j i];
                num = num + 1;
            end
            d = norm([j,i]-p(2,:));             %根据距离判断,距离越小,值越小
            grav((i-1)*w+j) = 2*d;              %建立引力场,2是引力系数
        end
    end
    
    for i=1:length(indobs)
        t = ind - repmat(indobs(i,:),length(ind),1);    %根据距离判断,距离越小,值越大
        repu = repu + 5./sqrt(t(:,1).^2+t(:,2).^2);       %建立斥力场,5是斥力系数
    end
    
    repu(repu>500) = 500;
    re = grav + repu;                           %综合场
    
    imgre = reshape(re,[h,w])';
    
    nei=[ -1 -1; -1 0; -1 1;
           0 -1; 0 0;  0 1;
           1 -1; 1 0;  1 1];
    path=floor(p(1,:));
    pre = [0 0];
    while norm(path(end,:)-p(2,:))>2    
        pc = path(end,:);
        im = imgre(pc(end,2)-1:pc(end,2)+1,pc(end,1)-1:pc(end,1)+1);
        [~,ind] = min(reshape(im,9,1));         %八邻域找最小值
        
        pre = path(end,:);   
        path = [path;path(end,:)+nei(ind,:)];
        
        if  norm(path(end,:)-pre) == 0 || ...           %超出边界或陷入局部最优了
            path(end,1)==1 || path(end,2) ==1 || ...
            path(end,1)==w || path(end,2) ==h;
            break;
        end
    end
    
    hold on;
    plot(path(:,1),path(:,2));
    figure;
    mesh(imgre);
    

    该处使用的url网络请求的数据。


    总结

    代码摘自:https://www.cnblogs.com/tiandsp/p/12270897.html

     

     

    展开全文
  • 那么判断该解是否是最优解 , 如是 , 那么该解就是最优解 , 如果不是 , 那么继续迭代 ; 5 . 这里就两个问题 : ① 如何判定该解是否是最优解 , ② 如何进行迭代 ; 2 . 构造初始可行基 2.1 ...
  • 中值定理 一张思维导图解决中值定理所有题型 考研思修 知识点 做题技巧 同类比较 重要会议 1800易错题 思维导图整理 考研近代史 知识点 做题技巧 同类比较 重要会议 1800易错题 思维导图整理 考研马原 ...
  • 超硬核!数据结构学霸笔记,考试面试吹牛就靠它

    万次阅读 多人点赞 2021-03-26 11:11:21
    第一次执行i=1和判断i以后执行n次判断和i++。所以该语句执行了n+1次。在他的控制下,循环体执行了n次。 2)四个并列程序段:分别为O(N),O(N^2),O(N^3),O(N*logN),整个程序时间复杂度为O(N^3),因为随着N的增长,其它...
  • 中值定理 一张思维导图解决中值定理所有题型 考研思修 知识点 做题技巧 同类比较 重要会议 1800易错题 思维导图整理 考研近代史 知识点 做题技巧 同类比较 重要会议 1800易错题 思维导图整理 考研马原 ...
  • HashSet判断重复原理

    2019-06-13 17:55:51
    如果已存在则调用Object对象的equals方法判断是否返回true,如果为true则说明元素已经存在,如为false则插入元素。 注:图片是借鉴他人博客,我再上面添加了一些额外标记 首先我们看HashSet的源码中add方法 .....
  • 关于用导数法判断函数的单调性问题,教材上所举例子是从数的角度求解导函数的正负,从而判断原函数的单调性,所以学生就依葫芦画瓢,碰到这类问题都这样做,但是他会发现在高三中的大多数同类题目都不能求解,思路...
  • 中值定理 一张思维导图解决中值定理所有题型 考研思修 知识点 做题技巧 同类比较 重要会议 1800易错题 思维导图整理 考研近代史 知识点 做题技巧 同类比较 重要会议 1800易错题 思维导图整理 考研马原 ...
  • 如何判断产品的生命周期

    千次阅读 2021-11-17 00:34:41
    (3)类比判断法 类比判断法:参照相似产品的生命周期曲线阶段,来确定或预测产品的生命周期。 类比判断法很适合预测产品的生命周期走势。举个例子:游戏《金铲铲之战》上线不久的时间内处于发展期。需要预测游戏...
  • 变革家五步投资学习体会

    千次阅读 2015-11-22 20:02:20
     作为一名变革家的顶级Fans,最近认真完整地听取了其中的第十七课,“'五步投资'精益投资,让你从业余到专业!”之前都是在网站上学习文字版的内容,这次是认真参加了“微信课堂”,及时学习了下。 自我感觉,这...
  • 来源:艾奇SEM作者:艾奇菌本节通过象限对转化率(CVR)和点击率(CTR)二个维度指标进行分析,分析出推广环节中可能存在的问题。第Ⅰ象限:转化率高,点击率高。满意消费者。可以简单的理解为很多人点广告,也很多人...
  • 加减运算&溢出判断

    2021-10-11 17:03:38
    溢出判断加减运算原码补码符号扩展溢出判断 加减运算 原码 加法:先判符号位。若相同,则绝对值相加,结果符号位不变。若不同,做减法,绝对值大的减去绝对值小的数,结果符号位与绝对值大的相同。 减法:减数符号...
  • 提出八叉树与有向有界箱(OBB)树相交测试算法以提高建模过程中的运算速度,同时改进射线法判断点在多面体内外及点在面状模型上下的算法,以确保复杂地质体块段模型建模的准确性。用C++开发语言实现建模算法并与其它...
  • 在一级数据融合中,首先采用自适应加权平均对各区域内的同类传感器进行融合,然后利用BP神经网络对该区域内的异类传感器进行训练和融合,从而得到对各区域环境状况的初步判断.由于经BP神经网络融合的结果具有不...
  • 目录写在前面实验要求求解问题的算法原理描述算法实现的核心伪代码算法测试结果及效率分析回溯:得分测试回溯:最大规模回溯:时间复杂度时间测试回溯与剪枝回溯:得分测试时间与得分 分析:图形演示对...
  • 地铁车站基坑施工的影响因素,可根据基坑工程所处地质及周边环境情况及所采用的施工方案采用WBS对其进行识别,然后利用层次分析建立三级风险评价指标体系,通过构造判断矩阵对各级指标得出权重,利用模糊集...
  • 程式的执: 程式的跑 由上到下、由右到左, 遇到特殊控制才能回头, 程序停止的方式,跑完结束、错误终止、指令结束. 3.写程序时要注意 不用的变数尽量不要用,例如a=123,但程序用不到,就是浪费了,程序也会变慢.减少...
  • 4复试记账

    千次阅读 2019-07-16 23:50:11
    一 复试记账 对每项经济业务按相等金额在两个或两个以上有关账户中同时进行登记的方法。 理论依据 复式记账的理论依据是“资产=负债+所有者权益”的会计等式。按照会计等式,任何一项经济业务都会引起资产与...
  • 机器学习期末考试判断

    千次阅读 2021-11-13 21:32:36
    参考答案:正确 这句话描述了分类成功的结果与期望,分类本身就是要同类结合,特征明显。 43.若按照属性a划分后获得的信息增益越大,意味着使用属性a划分所获得的纯度提升越大。因此,可选择获得最大信息增益的属性...
  • 统计方法判别分析: 判别分析在已知研究对象分成若干类型并已取得各种类型的一批...Fisher判别利用已知类别个体的指标构造判别式同类差别较小不同类差别较大按照判别式的值判断新个体的类别 Bayes判别计算新给样品
  • 如何判断两个IP属于同一个网络

    千次阅读 2018-09-19 18:26:28
    计算机网络: IP地址,子网掩码,网段表示,默认网关,DNS服务器详解   IP地址,子网掩码,默认网关,DNS服务器详解   转自:  https://blog.csdn.net/sld880311/article/details/69564300 ...
  • 采用状态空间求解八数码问题

    千次阅读 2020-12-23 11:05:13
    采用状态空间求解八数码问题1. 问题描述2. 算法思路2.1 判断是否有解2.2 广度优先搜索求解2.3 去重2.4 输出解路线3. 数据结构及函数说明3.1 数据结构3.2 函数说明3.2.1 input3.2.2 haveSolution3.2.3 deCode3.2.4 ...
  • 最近点对问题(分治

    千次阅读 2021-12-10 20:10:36
    分治适用情景 该问题的规模缩小到一定的程度就可以容易地解决 ...Step1:Devide——将要解决的问题划分成若干规模较小的同类问题 Step2:Conquer——当子问题划分得足够小时,用较简单的方法解决 (递
  • 3 如果真给补偿金,那么可能是n+1,估计至少的1.5倍工资(我没研究过劳动,有错的大家指出) 4 可能还得再费时费力再去招新人,新人未必能短时间到岗,而且招来的新人还可能更水,万一新人可用,那还得重头开始教...
  • 信贷多项和判断

    千次阅读 2020-08-19 23:06:17
    多选题: (共247小题,总分:494分) 725 . 针对信贷乱象的情况,提出信贷’十不准’,具体包括( )。 (2分) A 不准违反政策放贷,违反宏观调控政策、信贷政策、房地产行业政策放贷,违规开展票据业务 ...
  • 经验上的做法,可以参照下同类任务效果良好的神经网络模型的结构,结合实际的任务,再做些微调。 2.3.2 激活函数 根据万能近似原理,简单来说,神经网络有“够深的网络层”以及“至少一层带激活函数的隐藏层”,既...
  • 所以不要指望最大化输出暂时多个同类天赋技能判断不太准确,所以可以使用注释代码的方式支持多个技能战斗时不能聊天, 因为本程序使用模拟按键方式施法,所以在战斗时会影响聊天的按键操作. 计划在以后版本中增加聊天...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 14,724
精华内容 5,889
热门标签
关键字:

同类比较判断法