现实世界中的大多数问题都是结构不良或非结构化的问题,一般不存在现成的求解方法来求解这样的问题,而只能利用已有的知识一步步地摸索着前进。正如瞎子爬山一样,他虽然有明确的目标(爬到山顶),但却不知道山顶在何处,也不知道走什么样的路线才能到达山顶。他只能每走一步就试探一下周围的环境,选最陡的方向前进。他可能走错方向,需要回过头来重走,也可能在一块平地上不知所措。
即使对于结构性较好,理论上有算法可依的问题,由于问题本身的复杂性以及计算机在时空上的局限性,有时也需要通过搜索来求解。如在博弈问题中,计算机为了取得胜利,需要在每走一步棋之前,考虑所有的可能性,然后选择最佳的走步。棋手找到这样的算法并不难,计算机却为此要付出惊人的时、空代价。就可能的棋局数来说,国际象棋是10123,围棋是10761。假若每步选择一个棋局,国际象棋需要几亿年才能算完。
在搜索的过程中所要解决的问题是如何寻找可利用的知识,即如何确定推理路线,才能在付出尽量少的代价的前提下把问题圆满解决。如果存在多条路线可实现对问题的求解,那就又存在着这样的问题:即如何从这些多条求解路线中选出一条,使它的求解代价最小,以提高求解程序的运行效率。像这样根据问题的实际情况,按照一定的策略或规则,从知识库中寻找可利用的知识,从而构造出一条使问题获得解决的推理路线的过程,就称为搜索。搜索包含两层含义:一是找到从初始事实到问题最终答案的一条推理路线;二是找到的这条路线是时间和空间复杂度最小的求解路线。(www.daowen.com)
搜索是人工智能中的一个基本问题,是推理不可分割的一部分。1974年,尼尔逊(N.J.Nillson)把它列为人工智能研究领域中的四个核心问题之一,可见其重要性。
免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。