很多文章中会提及 heuristic approach、heuristic algorithm、启发式算法,启发函数 等术语,但是对于什么是heuristic,却并没有解释得很清楚。
启发,顾名思义,是教师 启发引导 学生学习。
关于 heuristic 的一些描述:
掌握领域知识,标准是能设计简单Heuristic(启发式的)的solution
什么时候需要ML?
- 对问题的要求是从60%提高到80%的时候
- Heuristic已经复杂到很难维护了(比如说当有些IDS里部署的规则已经达到几千条仍无法cover的时候)
二、启发式搜索算法
1.贪婪最佳优先
在Dijkstra算法中,我已经发现了其最终要的缺陷,搜索存在盲目性。在这里,我们只针对这个痛点,采用贪婪最佳优先搜索来解决。如何解决?我们只需稍微改变下观念即可,在Dijkstra算法中,优先队列采用的是,每个顶点到起始顶点的预估值来进行排序。在贪婪最佳优先搜索采用的是,每个顶点到目标顶点的预估值来进行排序。
三、启发函数
f ( n ) = g ( n ) + h ( n ) f(n)=g(n) +h(n)