人工智能介绍和应用
推荐书籍: Artificial Intelligence. A Modern Approach [3rd Edition],Stuart J. Russell and Peter Norvig.
小弟接下来会介绍人工智能的基础知识,它具体可以分为三大部分: 1.查询,2.KRR(knowledge+Reasoning+Represetation)即人工智能的知识表示和推理,3.规划.
人工智能个人感觉还得是人为的写点规则,之后自动完善规则法规,从而解决些问题.小弟的老父亲曾经问过小弟个事情,说人工智能能不能跟电影里的一样,跟人一样思考,说实话不能,但这是所有研究工智能的科学家的奋斗目标. 小弟从逻辑哲学的方式来简单介绍下为什么不能,以目前现有的数学和逻辑,可以用有限的逻辑符号和数学表达可以做到翻译所有的语义,换句话说,我们所说的所有话的含义均可以用有限的逻辑数学符号表达出来.而这些符号在计算机里是可以很容易的写出.但以我们目前的逻辑数学水平是无法用有限的逻辑数学符号表达所有数学含义的.举个例子1+1=2,那么我们可以用逻辑写成1∧1有效论证2,前提结论均为True,很容易,但我们也只能做这些简单的数学,给我们的计算机这些基础规则,计算机最多能做到幼儿园小朋友的数学水平,高等线代它依然做不了,因为它根本推不出来,例如微积分等等.数学这个宇宙很大,人的思维也很大,中间的复杂关系,以我们人类目前的逻辑哲学水平用有限的符号是表达不了的. 所以小弟坚定地认为人工智能是无法跟人类一样思考的. 或许将来可能实现,但突破也一定不会在人工智能这个学课上,一定在数学和逻辑哲学这些抽象且最基本的学课上面.
接下来小弟宽泛地聊聊人工智能地三大基础知识.第一个查询,查询在人工智能里极其重要,大家可能接触过一些查询地逻辑方法,例如深搜,广搜,也学过一些数据结构例如树等等.除此之外小弟也会讲些更多地查询方法,例如A星查询,有信息查询和无信息查询等等…小弟初学时都没想到原来查询方法都能玩出各种花样来. 现在有个问题,为啥人工智能那么喜欢玩查询. 大家是否会发现我们生活中有些问题根本不能用正常地编程逻辑硬编出来得解,换句话说有些问题你能通过一定这个问题的规律或者你总结出来关于这个问题的知识编写出来得到解么?不能的,举个例子: 拼图,给你一大把拼图碎片,返回个完整拼图.你会说根据碎片的形状,图案等等因素来写,说的容易,其实很难做,而我们现实生活其实充满了这种问题,即随着问题信息的增多,问题的复杂性会极其的大指数级增长,而其中的规律会极其的复杂(即指数复杂度的问题),这时候我们可以用查询来解,也就是说,我们把每个节点当成目前的问题状态,该节点下面的每个节点即为经过某个行为得到新问题的状态,我们就是要通过查询找到问题解的节点状态. 是不是有点像alpha狗,对没错,alpha狗就是像树一样,每个节点就是下了某一步棋后的这副棋的一个新状态,它就是在查询一个最优的解.
第二个即为KRR,简单地聊几句,相当于你给计算机编了些基础法则,计算机可以根据这些法则做出行为,根据行为是否满足要做的目标结果来进行更新法则或者用旧法则推出新法则. 之后我们还会接触到约束满足问题,基于问题约束,如果某个状态均满足约束那么自然就是我们的解.这里可能会用到大量的逻辑知识,小弟会同步更新逻辑知识从而希望有助大家理解.其次也会告诉大家目前最新的一些应用在KRR的逻辑技术手段知识,这些知识只有相关技术论文才会有涉及,平常大家在网上是找不到的.
第三个规划,这方面涉及了计算机图论,也涉及了逻辑推论. 什么是规划,我们为机器规划个行为,换句话说最后我们得到的解是一些列行为,如果机器按照这行为去做会得到我们想要的结果或者状态. 例如机械手臂玩魔方等等.