论文部分内容阅读
搜索方法作为人工智能的四大核心技术之一,不但在人工智能的各个领域中得到了广泛的应用,而且随着人工智能应用的普及,已经大量渗透到人们的日常生活中。虽然搜索方法获得了巨大地进步,但是目前不是所有人都能够随意实现搜索算法解决问题。其原因在于算法的发展往往在专业级应用上,而很少出现在普及应用上。目前算法的进步主要集中在算法一级的水平上,更为关注的是搜索算法本身的搜索效率和算法解决问题的能力。目前人工智能的各个领域的算法库很多,但是专注于搜索算法的库却几乎没有,由于相对专业的搜索算法库的缺乏是搜索技术向大众化方向发展壁垒,大大阻碍了搜索技术的普及。由于缺少通用的算法库,导致使用搜索算法解决问题变得异常困难和低效。为了适应搜索算法朝着大众化方向发展,避免以往解决搜索问题困难而低效的尴尬,本文提出一种实现通用搜索算法库的模型化方法,利用面向对象技术,实现一个通用搜索算法框架,而实现本文提到的所有通用搜索算法是框架开发时生产的副产品,可以利用这些算法解决方便的解决一些典型的实际问题。本文以利用搜索算法解决实际问题为主线,首先介绍两种常用的知识表示方法:状态空间表示法和与或树表示法。这两种表示方法贯穿了问题的描述,以及问题的演进方式。在此基础上,介绍了详细分析了状态空间搜索算法和与或树搜索算法两类搜索算法解决问题的过程。同时对目前常用的算法做了一个概括性的介绍。为了能设计一个具有通用性的搜索算法库,本文对搜索算法进行了深入细致的分析,利用对某一类搜索算法的归纳结果,抽取出这类搜索算法的主要执行过程,抽取出一个完整的搜索算法框架,并将其和其他类的搜索算法比较,抽取出一个更为抽象,但是更加实用一个搜索算法框架,在此框架下,可以轻易实现大部分搜索算法,将大部分搜索算法的实现和算法框架的实现作为一个软件方法库提供,可以简化人们利用搜索算法解决问题的方式,更可以节省解决问题的时间和提高解决问题的效率。同时,也可以利用算法框架开发出自己的搜索算法,来达到为解决特定问题而需要的特定算法表示。