1.3 启发式方法
启发式方法有时候非常有用,而且人工智能应用经常依赖于启发式方法的应用。启发式方法在本质上是解决问题的“经验法则”。换句话说,启发式方法是一组策略,这组策略通常可以解决问题。对比启发式方法与算法,算法是解决问题的一组预定规则,其输出是完全可预测的。
启发式方法是一种寻找近似解的技术,可以在其他方法太耗时或太复杂(或两者兼有)时使用。使用启发式方法可能会得到理想的结果(但无法保证一定能得到),启发式方法在人工智能的早期研究中特别流行。
我们在日常生活中可以发现各种启发式方法。例如,许多人更喜欢使用启发式方法而不是通过问路来到达目的地。比如,当晚上驶离高速公路时,有时很难找到返回主干道的路线。可能会有用的一种启发式方法是,每当驶入一个岔路口,就选择有着更多路灯的方向前进。你可能有一种最喜欢的方法来找回掉落的隐形眼镜,或在拥挤的购物中心找到停车位。两者都是启发式方法的例子。
人工智能问题往往是大型问题,带有计算复杂性,而且通常不能通过简单算法来解决。人工智能问题及其领域往往体现了大量的人类专业知识,尤其在需要使用强人工智能方法来解决的情况下。有些类型的问题使用人工智能方法可以更好地解决,而包括简单的决策或精确计算的其他类型的问题更适合使用传统的计算机科学方法来解决。让我们思考以下几个生活中的例子:
● 医疗诊断;
● 使用可以扫描条形码的收银机购物;
● 使用自动取款机;
● 双人博弈,如国际象棋和跳棋。
在上述例子中,医疗诊断这个科学领域多年来一直受益于人工智能,特别是专家系统的发展。专家系统通常建立在有大量人类专业知识且存在大量规则的领域中,这些规则通常是这样的:如果(条件)—那么(行动)。举个简单的例子:如果你头疼,那么就吃两片药并在早上给我打电话。
特别地,专家系统变得非常流行(也非常有用),因为它们可以存储比人类大脑所能容纳的多得多的规则。专家系统是能产生全面有效结果的人工智能技术之一。事实上,专家系统可以帮助人类做出更准确的决策(甚至“挑战”不正确的选择)。
遗传算法
达尔文的生物演化论是一个前途无量的范式,其中包括了自然界中以数千年或数百万年的速度发生的自然选择。相比之下,计算机内部的演化比自然选择快得多。
遗传算法是一种启发式算法,可“模仿”自然选择的过程,其中包括选择最适合的个体进行繁殖,以产生下一代。
让我们对人工智能使用的演化过程与动植物界的演化过程进行比较。在演化过程中,物种通过自然选择、繁殖、突变和重组的遗传算子来适应环境。
遗传算法是演化计算领域的一种特殊方法。演化计算是人工智能的一个分支,在演化计算中,问题的解决方案就像动物适应现实世界中的环境一样适应问题环境。
如果你感兴趣,可以参考维基百科的genetic algorithm词条页面来了解更多关于遗传算法的有趣细节。