我们在玩计算机游戏的时候,也希望游戏中的角色能够拥有某些程度上的AI,如果将AI加入游戏中将会让游戏变得更丰富与挑战性,例如在飞行射击游戏中,当敌机发觉已经被锁定时,应该要有逃脱的行为,而不是乖乖等着被玩家击落。一些决策类游戏更是在人工智能上下足了功夫,希望玩家能与计算机展开势均力敌的对战,而不只是单一枯燥的操作,以延长玩家的游戏新鲜度,增加游戏产品本身的寿命。这其中关键就是算法。
算法构造
算法是智能计算领域最核心的概念之一。当你拥有了一台机器,希望机器系统能够为你服务,解决你需要解决的某个智能计算任务,那你首先要给出完成这项任务的算法步骤。比如,你希望具备猜扑克牌颜色这样一个魔术游戏的能力,那么你就需要为机器编制完成这样任务的算法。如果说对于计算机科学技术的学生而言,玩的就是算法,那么对于智能科学技术的学生而言,玩的就是智能算法!
一般而言,所谓算法就是给出解决一个(智能)计算问题具体步骤的集合。
例如︰“煮鸡蛋吃”算法如下:(1)从冰箱里取一枚鸡蛋;(2)将鸡蛋放进煮锅;(3)锅里加水直到盖满鸡蛋;(4)持续给锅加温直到沸腾为止;(5)停止加温取出鸡蛋;(6)将鸡蛋放入凉水浸泡1分钟;(7)敲破鸡蛋壳,去除全部蛋壳;(8)将去壳后的鸡蛋一口一口吃掉。
通过上述算法例子,我们不难了解算法的一些特点。但作为机器系统能够严格精确执行的操作步骤集合,我们必须对算法下一个严格的定义:算法是一组明确的、可以直接执行之步骤的有限有序集合。
(1)有序性:算法中所有步骤均规定有执行顺序的;
(2)有限性:算法中的步骤是有限的;
(3)明确性:集合中的每条指令均是明确的、可以直接执行的步骤。
对于算法,还要考虑算法的效率与正确性问题。效率是指执行一个算法所要花费的时空代价。时间代价是指算法执行中花消的时间,而空间代价是指算法执行中花消的内存。
从算法发现的角度看,可以将解决问题的一般原理对应到如下这样四个阶段上:
阶段1 理解问题
阶段2 寻找一个可能解决问题的算法过程(思路)
阶段3 阐明算法并且用程序将其表达出来
阶段4 从准确度以及作为解决其他问题的一个工具的潜力这两个方面来评估这个程序。

