2020-12-25
2020-12-25 本文已影响0人
预眸丶
人工智能:
首选爬山法(盲目爬山法):
见坡就上,但凡有比现在好的邻居结点,则立即过渡为邻居结点,不进行更多相邻的其他邻居结点比较。成为邻居结点后继续搜索,无脑冲。
最陡上升爬山法:
爬最陡的坡,成就最美丽的人生。搜索所有邻居结点,不断迭代最好邻居结点。如果遇到相同好的邻居结点,则压入到链表中,最后随机选取一个。
随机重启爬山法:
在遇见平地不知该去哪,或者达到一个小顶峰(极大值)时的踌躇,则完全重启爬山法,重新再爬。
模拟退火算法:
如果下一个结点比当前结点好,则变为下一个结点,如果比较差,则有一定概率会变成那个结点。每进行一次考虑,则温度下降一些
int E = Next_val- Cur_value;
if (E < 0) { // 下一状态优于当前状态
trial++;
} else if (exp((-1)*E/temperature) > ((double)(rand() % 1000) / 1000)) { // 以一定的概率选取
trial++;
}
temperature *= 0.999;
爬山法,模拟退火算法都是局部搜索算法,适用于有很多状态,同时又有多个解的情况,可以在较短时间内获得局部最优解。但是容易陷入局部最优状态。