论文部分内容阅读
摘 要:人工智能早在17世纪时,巴斯卡和莱布尼茨就有了思想的萌芽.到了1956年,号称“人工智能之父”的McCarthy以及一大批对此感兴趣的软硬件科学家和工程师在Dartmouth大学召开的会议上首次提出这一概念。后来经过几十年的发展,人工智能也有了不同的研究方向,人工智能工作者们也解决了前进道路上一个又一个的难题。
关键词:人工智能;自然智能;PROLOG;LISP
1 人工智能的发展背景
最近,AI的兴起也带动了一大批科学家去研究它的设计、实现、算法和实用性等方面。人工智能理论是以自然智能理论为基础,也就是说如果我们可以搞清楚自然智能的工作机制以及其各个功能部件的结构关系,就可以通过已知的电子或生物领域的器件构筑类似的结构并对其进行模拟、延伸和扩展等,从而实现人工智能。但遗憾的是,人们至今还没有搞清楚人类大脑的内部结构和工作机理,导致对自然智能研究的总体进度十分缓慢。因而人工智能的主流已经从结构模拟道路走向了功能实现道路。所谓功能实现就是将自然智能的结构看作黑箱,而只控制黑箱的输入输出关系,只从输入输出关系上看实现所要模拟的功能而不去研究黑箱的内部结构以及实现原理。
2 发展中的问题
2.1 基本问题
AI研究者们最关心的两个基本问题就是知识表示(knowledge representation)和搜索(search)。知识表示针对的是如何以一种正式的语言来表征智能行为所需的全部知识。应用谓词演算语言应运而生,它可以描述问题域中对象间的属性和关系,这种问题需要进行定性推论而不是算数计算,使用PROLOG和LISP则可以表示复杂情况和模糊性,如常识推理和自然语言理解。搜索是一种探索问题状态空间的问题求解技术,问题状态(problem state)就是问题求解过程中的各种连续或备择步骤。例如,博弈中的不同棋局或推理过程的各种中间步骤,也或者机器人的路径选择和最优模式问题。我们可以搜索这些备择所组成的空间以找到最终的最优解。纽厄尔与西蒙(Newell and Simon 1976)认为这也是人类求解问题的关键基础。
2.2 自动学习问题
学习一直是AI中最重要也是最具挑战的领域。学习的重要性是毋庸置疑的,因为这种能力是智能行为的最重要的特征。专家系统如果第二次遇到相同或者类似的问题,通常不是像人类一样去回忆上一次的解法,而是再执行一次相同的计算过程,对于第三次、第四次甚至任何次的重复出现,它的处理方式都是如此——很难说这是一个智能程序的行为。而在解决这个问题的时候,大多数的AI科学家都被其问题求解策略的死板性和修改大量代码的艰难性所阻碍。解决这些问题最明显也是最简单的办法就是让程序自己学习——就像人类的学习一样,可以通过其经历、类比和例子进行学习,也可以通过被人“告诉”如何去做来学习。虽然让程序自己学习是一个很难的领域,但是很多程序说明了这是可能的。例如,AM就是一个用来发现数学定律的程序,AM即“自动数学家”(Lenat 1977,1982)。在被赋予了集合理论的概念和公理后,AM就能够智能地导出很多重要的数学概念,如集合的基数、算术整数以及数论的很多结果等。AM猜想新定理的方法是修改目前的知识库,然后启发式地从大量备择定理中搜寻“最佳者”,这个“最佳者”就有可能是一个新的定理,然后再使用各种数学算法对其加以验证后得出结论。
2.3 智能语言识别问题
自然语言理解也是人工智能中的另一个非常困难的任务,其原因有很多,其中最重要的原因是完美理解自然语言要大量使用语言方面的知识、能力和经验,而且成功的语言理解需要理解自然界、人类心理和社会习俗等很多方面的知识并相互结合。例如,在识别一个人的语音时要考虑到方言问题、此人讲话的语境和语气问题以及读音错误问题等,而在这些问题的基础上还要识别此人的声音是否是AI设备使用者的声音。而往往软件研发人员在这方面的知识是不够的,并且这需要使用与逻辑推理和类比解释完全不同的技术,两者之间的矛盾使得自然语言理解的进展缓慢,再加上人类语言的模糊性和复杂性,到目前为止,AI科学家们的努力只取得了部分成功:运用基于知识的方法,AI科学家们成功开发出了不能够完美理解自然语言的程序。而这些技术能否很好地处理自然语言仍存在争议。
3 设计语言
目前,与人工智能设计有关的主流语言主要是上文提到过的PROLOG和LISP语言,PROLOG是最著名的逻辑程序设计语言,它的名字来源于Programming in Logic。PROLOG的实现来源于J.A.Robinson(1965)对定理证明的研究,特别是归结反驳(resolution refutation)算法的发现。Robinson设计一个称为归结(resolution)的证明程序,这个程序是利用PROLOG为主要方法来进行计算的。现在,PROLOG的优点在评价和延伸逻辑程序设计表达能力的有关项目中得到了表现和认可,许多应用能在国际人工智能联合会和逻辑程序设计论坛找到。PROLOG采用的是一阶谓词演算,解释器通过对逻辑说明语句的推理来执行相应的程序。用一阶谓词演算表达问题求解是PROLOG对计算机科学和AI的主要贡献。对于程序设计语言来说,用一阶谓词演算有清晰、优雅的语法和合适语义等优点。LISP语言已经有40多年的历史,一直都是一门很重要的人工智能编程语言。LISP最开始被用来进行符号计算,后来根据AI科学家们的需要进行了改进。LISP是一种命令式语言:LISP程序描述了怎样去执行一个算法。函数式程序设计的优点,再加上丰富的用于建造符号数据结构(如谓词、框架、网络和对象)的高级工具,造就了LISP在人工智能领域内的普及。LISP作为一种语言广泛用于实现人工智能的工具和模型。
4 AI的现状与发展
目前,人工智能已经发展到了实现阶段,而且不再像早期的人工智能一样只能实现单一的功能,现在的人工智能更加注重功能的实用与智能的贴心。随着人工智能的发展,大量的人工智能案例开始涌现出来,它们的算法越来越复杂,使用起来却越来越智能,电路越来越庞大,功能却越来越全面。从1968年美国通用电气公司的R.Smosher试制的一台操纵型两足步行机器人的出现到拥有口令识别、智能定位、动态随机壁障等功能的智能轮椅机器人,从我国国家地震局地球物理研究所等单位研制的地震预报专家(Expert System for Earthquake Prediction)到最近很热门的智能无人汽车等。
参考文献:
[1] GeorgeF.Luger(美).工智能复杂问题求解的结构和策略[M].史忠值,张银奎,赵志崑,等,译.机械工业出版,2006.
作者简介:李加宁(1996—),男,沈阳理工大学。
陈艳娟(1997—),女,沈阳理工大学。
肖偲迪(1995—),女,沈阳理工大学。
关键词:人工智能;自然智能;PROLOG;LISP
1 人工智能的发展背景
最近,AI的兴起也带动了一大批科学家去研究它的设计、实现、算法和实用性等方面。人工智能理论是以自然智能理论为基础,也就是说如果我们可以搞清楚自然智能的工作机制以及其各个功能部件的结构关系,就可以通过已知的电子或生物领域的器件构筑类似的结构并对其进行模拟、延伸和扩展等,从而实现人工智能。但遗憾的是,人们至今还没有搞清楚人类大脑的内部结构和工作机理,导致对自然智能研究的总体进度十分缓慢。因而人工智能的主流已经从结构模拟道路走向了功能实现道路。所谓功能实现就是将自然智能的结构看作黑箱,而只控制黑箱的输入输出关系,只从输入输出关系上看实现所要模拟的功能而不去研究黑箱的内部结构以及实现原理。
2 发展中的问题
2.1 基本问题
AI研究者们最关心的两个基本问题就是知识表示(knowledge representation)和搜索(search)。知识表示针对的是如何以一种正式的语言来表征智能行为所需的全部知识。应用谓词演算语言应运而生,它可以描述问题域中对象间的属性和关系,这种问题需要进行定性推论而不是算数计算,使用PROLOG和LISP则可以表示复杂情况和模糊性,如常识推理和自然语言理解。搜索是一种探索问题状态空间的问题求解技术,问题状态(problem state)就是问题求解过程中的各种连续或备择步骤。例如,博弈中的不同棋局或推理过程的各种中间步骤,也或者机器人的路径选择和最优模式问题。我们可以搜索这些备择所组成的空间以找到最终的最优解。纽厄尔与西蒙(Newell and Simon 1976)认为这也是人类求解问题的关键基础。
2.2 自动学习问题
学习一直是AI中最重要也是最具挑战的领域。学习的重要性是毋庸置疑的,因为这种能力是智能行为的最重要的特征。专家系统如果第二次遇到相同或者类似的问题,通常不是像人类一样去回忆上一次的解法,而是再执行一次相同的计算过程,对于第三次、第四次甚至任何次的重复出现,它的处理方式都是如此——很难说这是一个智能程序的行为。而在解决这个问题的时候,大多数的AI科学家都被其问题求解策略的死板性和修改大量代码的艰难性所阻碍。解决这些问题最明显也是最简单的办法就是让程序自己学习——就像人类的学习一样,可以通过其经历、类比和例子进行学习,也可以通过被人“告诉”如何去做来学习。虽然让程序自己学习是一个很难的领域,但是很多程序说明了这是可能的。例如,AM就是一个用来发现数学定律的程序,AM即“自动数学家”(Lenat 1977,1982)。在被赋予了集合理论的概念和公理后,AM就能够智能地导出很多重要的数学概念,如集合的基数、算术整数以及数论的很多结果等。AM猜想新定理的方法是修改目前的知识库,然后启发式地从大量备择定理中搜寻“最佳者”,这个“最佳者”就有可能是一个新的定理,然后再使用各种数学算法对其加以验证后得出结论。
2.3 智能语言识别问题
自然语言理解也是人工智能中的另一个非常困难的任务,其原因有很多,其中最重要的原因是完美理解自然语言要大量使用语言方面的知识、能力和经验,而且成功的语言理解需要理解自然界、人类心理和社会习俗等很多方面的知识并相互结合。例如,在识别一个人的语音时要考虑到方言问题、此人讲话的语境和语气问题以及读音错误问题等,而在这些问题的基础上还要识别此人的声音是否是AI设备使用者的声音。而往往软件研发人员在这方面的知识是不够的,并且这需要使用与逻辑推理和类比解释完全不同的技术,两者之间的矛盾使得自然语言理解的进展缓慢,再加上人类语言的模糊性和复杂性,到目前为止,AI科学家们的努力只取得了部分成功:运用基于知识的方法,AI科学家们成功开发出了不能够完美理解自然语言的程序。而这些技术能否很好地处理自然语言仍存在争议。
3 设计语言
目前,与人工智能设计有关的主流语言主要是上文提到过的PROLOG和LISP语言,PROLOG是最著名的逻辑程序设计语言,它的名字来源于Programming in Logic。PROLOG的实现来源于J.A.Robinson(1965)对定理证明的研究,特别是归结反驳(resolution refutation)算法的发现。Robinson设计一个称为归结(resolution)的证明程序,这个程序是利用PROLOG为主要方法来进行计算的。现在,PROLOG的优点在评价和延伸逻辑程序设计表达能力的有关项目中得到了表现和认可,许多应用能在国际人工智能联合会和逻辑程序设计论坛找到。PROLOG采用的是一阶谓词演算,解释器通过对逻辑说明语句的推理来执行相应的程序。用一阶谓词演算表达问题求解是PROLOG对计算机科学和AI的主要贡献。对于程序设计语言来说,用一阶谓词演算有清晰、优雅的语法和合适语义等优点。LISP语言已经有40多年的历史,一直都是一门很重要的人工智能编程语言。LISP最开始被用来进行符号计算,后来根据AI科学家们的需要进行了改进。LISP是一种命令式语言:LISP程序描述了怎样去执行一个算法。函数式程序设计的优点,再加上丰富的用于建造符号数据结构(如谓词、框架、网络和对象)的高级工具,造就了LISP在人工智能领域内的普及。LISP作为一种语言广泛用于实现人工智能的工具和模型。
4 AI的现状与发展
目前,人工智能已经发展到了实现阶段,而且不再像早期的人工智能一样只能实现单一的功能,现在的人工智能更加注重功能的实用与智能的贴心。随着人工智能的发展,大量的人工智能案例开始涌现出来,它们的算法越来越复杂,使用起来却越来越智能,电路越来越庞大,功能却越来越全面。从1968年美国通用电气公司的R.Smosher试制的一台操纵型两足步行机器人的出现到拥有口令识别、智能定位、动态随机壁障等功能的智能轮椅机器人,从我国国家地震局地球物理研究所等单位研制的地震预报专家(Expert System for Earthquake Prediction)到最近很热门的智能无人汽车等。
参考文献:
[1] GeorgeF.Luger(美).工智能复杂问题求解的结构和策略[M].史忠值,张银奎,赵志崑,等,译.机械工业出版,2006.
作者简介:李加宁(1996—),男,沈阳理工大学。
陈艳娟(1997—),女,沈阳理工大学。
肖偲迪(1995—),女,沈阳理工大学。