有哪些示例会导致“简单爬山”遇到局部最大值,山脊和小巷以及高原问题等问题?我尝试搜索:
从我阅读的讲义中,我得到了TSP问题。该图是具有四个节点的完整图:A,B,C和D。我们同时使用了简单爬坡和最陡峭爬坡来解决问题。用于解决该问题的启发式值是每个状态的总距离。我们可以通过使用6种不同的组合(第一个字母<->第二个,第二个<->第三个等)切换字符“ ABCD”的位置来探索其他相邻状态。但是,在给出的示例中,它没有显示确切的“卡在局部最大值”是什么。它既没有显示出山脊和小巷问题,也没有显示出高原问题。
有人可以给我一个例子,说明我们如何解决这些问题以及这些问题在示例中的实际含义(我理解每个问题的定义:here和here)?作为参考,以下是我提到的TSP问题的图像:
答案 0 :(得分:1)
当您进行简单的爬坡时,Ridge沿着上升方向行走时,效率会很低,因为它将沿x或y方向行走,即遵循图中的线条。导致曲折运动。
要达到此状态,给定一个随机的起始位置,该算法会评估4个位置(x + 1,y)(x-1,y)(x,y + 1)(x,y-1)(对于步骤1)和图片最高。因此它将开始向山脊移动。
让我们用上一张图片说明这种行为。给定起点为原点(0,0),阶跃为1。表面上的细黑线相交为单位点((0,1),(0,2),...,(1, 0),...)通过该功能拍摄图像。该算法选择那些点,但只选择那些直接相邻的点(因为它沿轴移动)。 This是它要走的路。 (原谅我糟糕的绘画技巧)。
在链接2中,要计算启发式函数,请评估每个块,如果该块放错了位置(也就是不在堆上的正确索引处),则其下的每个块均加-1,否则,其下的每个块均加1。 +1。 h(1)= -3 -2 -1(A放错了位置,在它下面有3个块,所以-3,对于B来说是相同的,但在2个块之内,所以-2,C -1和D在它下面没有块,所以不加任何东西)
对于平稳问题,如果到达平坦的表面或几乎平坦,则算法将找不到更好的位置。
希望我能理解你的问题。