全文共5764字,预计学习时长11分钟
人工智能与图搜索
通常,我们在浏览一些与人工智能相关的话题、教程、或者文章时会发现,作者为了解释人工智能代理的工作原理,常会用图搜索问题作为例子。这是为什么呢?人工智能和经典的图搜索问题之间有什么关系呢?
什么是人工智能
查找各种资料后你会发现,对于人工智能并没有一个清晰而明确的定义。部分人认为“人工智能就是对理性主体的研究,此处的理性主体指任何能够作出决策的主体,可以是一个人、一个公司,也可以是机器或者软件”。在分析了过去和现在的感知经历和背景信息之后(即主体在某一特定环境中的感知输入),理性主体能够选择执行会产生最佳结果的行为。此外,对于人工智能还有其他一些定义,但它们主要从哲学的角度来探讨人类智能与机器智能之间的界限问题。
然而,所有这些定义在谈的都是,当你不知道怎么做而又想知道怎么做的时候,人工智能就是能够给予你帮助的一门研究学科。理性主体会通过一些传感器来感知目前的环境,在分析过去已执行的行为之后,选择执行会带来最佳结果的行为。
接下来,一起来了解一下经典的最佳路径问题。给出一幅图,上面有许多节点,你需要找出两个节点间总代价最小的路径。这个时候,人工智能代理就可以发挥作用了。当然,你自己不知道哪条是最佳路径;但是理性主体可以,它通过感知周围环境(此处也就是这幅图),快速找出最佳路径。
但大家知道,能够解决图搜索问题的算法多种多样,比如深度优先搜索(DFS)、宽度优先搜索(BFS)、迪杰斯特拉算法(Dijkstra)和A星算法。一些人在高中可能就已经学过了,因此稀奇之处在哪呢?难道这就是人工智能代理的工作方式吗?的确是这样的,但也不全是。人工智能不仅仅包括图搜索算法这类编程模式,正如上文提到的,它依旧是对理性主体的研究,即通过对环境的分析,执行某一动作以取得最佳结果。
人工智能代理是一个涵盖面比较宽泛的术语,它可以是机器学习、神经网络和深度学习等。此外,它也在金融、医疗和安保等领域得到广泛应用。所以,图搜索不过是人工智能的一个子领域。
对于经典的图搜索算法与能够找出两节点间最短路径的人工智能代理之间的区别,不过是其各自使用的术语不同而已。如果你想要构建一个人工智能代理,其实这和构建一个传统的算法没什么区别,理解好这一点非常重要。
传统算法
能够进行图搜索的方法诸多,比较经典的算法有宽度优先搜索和深度优先搜索,这两种算法能够找到目标节点但无法计算最佳路径;此外还有一致代价搜索(Uniform Cost Search)、迪杰斯特拉算法和A星算法,这三类算法都能够计算出从源节点到目标节点之间的最短路径。总的来说,以上几类算法