1948年,美国数学家诺伯特 · 维纳出版了《控制论》(或《动物与机器的控制与机器传播》)一书,创立了控制论。同年,美国数学家申农发表了《通讯的数学理论》,创立了信息论。这时,人工智能作为一门学科诞生的条件已经基本成熟
1、人工智能诞生:
n 1956年夏季,达特莫斯大学的麦卡锡(后被人誉为人工智能之父)、哈佛大学的明斯基、贝尔实验室的申农和IBM公司的洛切斯特,邀请了一批年轻科学家,共同探讨用机器模拟人工智能的问题,其中包括后来著名的人工智能专家塞缪尔、纽厄尔和西蒙等人。在这次会上,麦卡锡提议使用“人工智能 AI” (Artificial Intelligence)这一术语。从此,人工智能作为一门学科正式诞生了。
同年,塞缪尔研制了一个跳棋程序。1959年这个程序击败了塞缪尔本人,1962年又击败了一个州冠军。
2、人工智能危机
n 1960年,大师麦卡锡研制出表处理语言LISP(LISt Processing language)。这是一项划时代的贡献,它作为建造智能系统的重要语言工具在人工智能的各个领域得到了广泛的应用。在人工智能刚诞生的十几年里,人工智能可谓风光无限。发展速度之快让大多数人对其保持乐观的信念。可是不久,危机到来了。
3、西蒙简介
西蒙是人工智能和认知心理学派的主要代表,他曾自学汉语,中文名叫“司马贺”,西蒙是个通才,在许多领域都有杰出的表现。可能是自1956年以来在人工智能领域取得了令人瞩目的进展,西蒙的过于乐观而导致下面一段著名论断。
①预言
n 他与纽厄尔于1958年做出了如下的预言:“10年内,计算机将成为世界象棋冠军;10年内,计算机将发现并证明新的数学定理;10年内,计算机将谱写出能被评论家认可的乐曲。”
②预言未实现
但事实上,计算机一直到1997年才战胜了人类的象棋冠军,至于其他预言,还远未实现。从20世纪60年代中期起,人工智能研究处于相当困难的阶段。主要原因是人们没能很快地取得突破性的进展,人们从刚开始的狂热中冷静下来,开始更加理智地看待人工智能。
③批判
n 1971年,应政府的要求,英国剑桥大学的应用数学家詹姆士在进行了一番研究后,发表了一篇关于人工智能的综合报告,该报告对人工智能做了批判,他甚至说:“人工智能即便不是骗局,也是庸人自扰”。这篇报告当时产生了巨大的影响,英国的人工智能研究经费被削减,机构被解散。美国IBM 公司也开始放弃了它一向热衷的人工智能研究。整个人工智能学界遭遇到了前所未有的危机。
④坚持
n 尽管在这种情况下,还有一些人工智能学者仍在坚持他们的研究,他们的研究后来终于得到了回报。到了20世纪70年代中期,专家系统作为一个新兴的分支得到了发展。从此,人工智能摆脱了那高高在上的形象,开始投入到实际应用中。
4、专家系统
20世纪70年代以来,出现了许多优秀的专家系统。1975年,由费根鲍曼小组研制的Mycin 程序在诊断脑膜炎方面,超过了一般的医生。1976年,斯坦福大学杜达等人研制了一个地质勘探系统 Prospector,该系统于1982年准确地预测到华盛顿州一个钼矿的位置。
①专家系统
n 还有很多出色的专家系统。人工智能在知识表示、不精确推理、人工智能语言、计算机视觉、机器人等领域都有所进展。人工智能终于从困境中走出来了。
②专家系统发展
n 20世纪80年代是专家系统发展的黄金时代,各种专家系统在许多领域发挥了巨大的作用。直到现在,专家系统仍然是人工智能最成功的领域之一。
5、人工神经网络研究
20世纪90年代以来,各相关学科的理论和方法开始渗透和融入人工智能领域,使人工智能成为交叉学科。其中人工神经网络研究的兴起,为人工智能研究开辟了一条新途径。人工神经网络是应用大量简单处理单元经广泛连接所构成的人工网络,用于模拟人脑神经系统的结构和功能。研究者们认为,人的大脑十分复杂,人工神经网络的研究可以提高人们对客观世界的认识。对人大脑的研究与模拟必然会促进人工智能研究的发展。
①智商、智能
提出智商概念的德国心理学家曾把智能定义为适应新的(未知的)任务及生活中新情况的能力。但是实际上动物也具有这样的能力,但我们一般不说动物具有智能。为了将人与动物的这种能力做出明确的区别,有人建议将智能定义为求知能力的集合。这种能力是指获取知识并用于解决新的(未知的)理论的和(或)实际的问题。
②人工智能的精确定义
n人工智能的精确定义是什么?尽管许多关于想要精确地给出其复杂和广泛使用的定义的尝试都没有成功,但至少可以给出一个围绕其概念的大致的边界。有人给出了下面的可被广泛接受的定义:
n“Artificial Intelligence (AI) is the study of how to make computers do things at which, at the moment, people are better.”
③人总是比计算机强
n 当然,这个定义是相对于计算机科学的发展现状来说的,因而可能是暂时的。但是,通过本章内容的讨论就可以看出,这个定义在相当长的时期内是适用的。事实上,从六十年代开始计算机的发展并没有人们原来预料的那么快,在处理复杂问题上,人总是比计算机强。
④争论还没有结束
n1997年在世界计算机界发生了一件令人震撼的事情,就是美国IBM公司开发的计算机国际象棋程序“深蓝(Deep Blue)”击败了世界国际象棋冠军加里·卡斯帕罗夫,当时国际舆论对此作了大量的报道。这不仅仅是计算机赢了几盘棋的问题,它的重要意义在于它证明了计算机有可能在智能活动的某个方面胜过人,虽然这个比赛结果比西蒙等人的预言晚了几十年,还是给计算机专家和人工智能专家以巨大的鼓舞。当然,对于计算机最终能否战胜人的争论还远远没有结束。
6、人工智能的定义①人工智能的定义
n人工智能的定义也可以描述为:研究用机器来模拟人类的诸如理解语言、学习、推理和解决问题等智能活动,模拟和探索人的感觉和思维过程的规律而设计出类似人的某些智能的自动机的科学。其最终目标是为程序和计算机最大限度地解放人类真实智能,将人类从繁琐的脑力劳动中解放出来。
n目前通常所说的人工智能是指借助技术和理论手段,应用数学方法和(或)数字逻辑研究智能的各个方面的问题。简言之,就是研究如何用人工的方法与技术,即利用计算机等工具,模拟、延伸和扩展人的智能,实现某些机器思维或脑力劳动的自动化。
n人工智能是计算机科学技术发展的前沿领域,化学计量学很自然地成为它的应用领域之一。在化学量测和数据解析中,传统上是化学家依据他们的知识、经验、智能和技巧去完成的,而化学计量学中的人工智能方法是利用化学计量学方法,设计计算机的机器专家系统,模仿化学家的智能去解决数据解析中的问题。
化学模式识别
n前面讨论的化学模式识别就是一种人工智能。
②人工智能问题
n人工智能问题包括的范围非常广泛,而且这些问题之间的差别可能会很大。那么,是否存在着这样的技术使之能解决如此广泛而众多的问题呢?答案是肯定的。那么,这样的技术是怎样解决问题的呢?下面就是要讨论这些问题。
知识的特征
经过几十年对AI的研究,人们发现“智能需要知识”,这些知识还具有下面的特征:
· 大量的知识
· 难于精确表征的知识
· 总是在变化着的
③人工智能技术
人工智能技术是用来开发以下诸方式表达的知识的方法:
n具有广义性。换言之,不必对各个独立的情形作分别的表示,而只需对具有共性的性质作分组表示;
n它可以为提供知识的人懂得。虽然许多程序和大量数据是自动取出的(例如通过仪器的读出系统),但在许多AI领域中,大部分的知识是由人提供的,而这些人是懂得这些知识的;
n它可以容易地被修改以校正误差并反映真实的变化;
n它可以被用于许多情形,尽管它不全是准确的和不完整的;
n它可以通过缩小其可能性范围而有助于克服其自身的问题。
④人工智能研究的主要目的
人工智能研究的主要目的是:
(1)开发人类智能活动的潜能;
(2)探讨用各种(电气的、光学的、生物的、甚至是机械的)机器模拟人类智能的途径,使人类智能得以物化和延伸。
n人工智能与空间工程、生物工程并列为三大尖端科学。
⑤人工智能计算机程序
n在化学领域中,如何从光谱图形,特别是像质谱这种复杂的谱图出发,推断化合物结构?如何借助计算机程序,设计制取某一化合物的最佳合成路线?这些问题的解决所用到的计算机程序已不限于一般工程与科学数值计算(数值计算是以求精确解为目标的)。
⑥人工智能计算机程序
n人工智能计算机程序涉及文字、概念的处理。就目前的发展水平,它不一定能保证得到问题的正确解,但必须清楚,即使是经验丰富的化学专家在作谱图解析或合成路线设计时,也不能绝对保证正确解答所有问题。
n作为人工智能计算机程序,在进行搜索时能调用给定领域的知识,化学计量学中的人工智能所涉及的领域知识当然就是化学的专门知识。
二、人工智能程序nSumn启发式分类与搜索 n广度优先搜索 (broadth-first search) n深度优先搜索 (depth-first search) n有序搜索 n子目标与方案 n知识的表达 n常识推理 n人工智能语言工具
1、Sum.
n在实际中,不存在能够解决某一类问题中每个问题的算法,或者,即使存在这样一个算法,它却按指数时间执行。但是,有时人们却能够找到某种办法去解决,这主要是由于计算方法与人们解决问题的方式有着差别:
n一个算法必须要保证解决一类问题中的每个问题才能得到承认,而人的方法只须解决“合理的”问题,或者用于解决那些日常可能碰到的问题;
n我们要求算法不能出错,而人们偶然出错是允许的。人们愿意采用基本能正常工作的方法,只是偶尔当这个方法行不通时,才转用其它方法;
n人在求解问题时,并不总是要找出问题的精确解或最佳解,对求解的问题往往得出一个近似解就满足了。力图求得更好的解,往往是很费工夫的。
n以上似乎罗列了人类不如算法的一些弱点,可是事实上,在解决大多数问题时,人类远比算法成功。所以人工智能工作者的注意力主要集中在人类所采用的、比较容易出错的,但却似乎更成功的技术方面,而不是试图去编制那些保证能解决各大类问题的算法。
2、启发式分类与搜索
n人工智能计算机程序用的是启发式知识与启发式搜索。所谓启发式知识就是一些不易精确描述的知识。
n启发式知识定义为:有关目前问题状况与合适解之间的经验性知识。
n启发式分类与前面讨论的化学模式识别是不同的。模式识别是以描述模式形态特征的一些参量作基础进行分类的,没有推理机制。而启发式分类是将不同分类层次上相互联系的概念,用不确定联想机制结合起来,启发式分类模型描述了专家系统的知识和推理形式的特征,表达了经验性知识的组织和使用。
n用人工智能解决一个问题,常常可看作是在各种不同的可能之间进行选择,或称为“搜索(search)”。这个搜索空间可用树的形式表达,称为搜索树。下图就是一个搜索树的例子。(看课件)
n所表示的问题可以是从化合物A出发,选择适当的途径制取化合物D,存在着若干制取途径,但不可能直接从A制得D,必须经过其它中间步骤。通过搜索,找到最简捷的途径。
正向搜索
n正向搜索也称为数据推动的(data-driven), 逆向搜索又称为目标引导的(goal-directed)。对简单的问题,通常采用较直接的“盲目搜索(blind-search)”。这种方法是让计算机计算并检验所有可能的分支,因而是很费时的方法。这种盲目搜索又分为广度优先搜索和深度优先搜索等。
3、广度优先搜索 broadth-first search
广度优先搜索
(broadth-first search)(看课件)
n这种搜索方法是从根结点出发,依此在每一水平生成并检验搜索树的各结点,在一个水平的各结点未检验完之前,不开始生成并检验更深水平的结点(即暂不作“扩展” )。在这里,认为同一水平各结点对问题的求解是等价的,只是按各结点的先后顺序,先生成的先检验,沿“广度”遍历所有结点,然后才按原次序将先生成的结点从先向后展开,故称为广度优先搜索。这种搜索法总是能找到以最简单步骤达到目标的路线,但不一定是最经济的解决问题的办法。
4、深度优先搜索 depth-first search(看课件)
n当搜索进行时,由当前检验的结点作为父结点生成下一级子结点,这样由父结点生成子结点的过程继续下去,看每次检验是否出现目标结点,若未出现,在扩展最晚生成的子结点,如此下去,沿着最晚生成的子结点分支逐级“纵向”深入发展。故此法称为深度优先搜索法。
n当搜索进行时,由当前检验的结点作为父结点生成下一级子结点,这样由父结点生成子结点的过程继续下去,看每次检验是否出现目标结点,若未出现,在扩展最晚生成的子结点,如此下去,沿着最晚生成的子结点分支逐级“纵向”深入发展。故此法称为深度优先搜索法。
n深度优先搜索不能保证一定能找到最短路径的目标结点,因为如果目标结点不在最晚生成的子结点分支中,且该分支为无穷分支,则搜索过程将无限制地往下进行,即搜索失败。
n深度优先搜索有可能在编制程序时只储存当前搜索的路径,对计算机内存要求较低。为了改进深度优先搜索法,有人引入“搜索深度限制”,当沿“最晚”分支纵向搜索达到一定深度时,如仍未出现目标结点,则返回对“次晚”分支进行搜索,这种方法称为有界深度优先搜索法。
n前面讨论的盲目搜索法是正向搜索,也可以使用逆向搜索,例如广度优先逆向搜索法。对只要求少量搜索的问题,往往可用这种方法。
n应当指出的是,前面讨论的方法仅对较简单的问题适用。对于复杂问题,由于排列组合太多,出现“组合爆炸”。如果平均每个结点有n个分支,则搜索空间将随深度d的增加按nd关系增加。而且在搜索中也没有考虑“代价”问题,只要找到目标就行。
n解决的办法之一是尽可能借助该领域的有关知识和经验的帮助。例如,利用有机合成化学的知识和经验,了解合成中间产物的某些性质,对所得到的产物所付出的代价做出估计等。
5、有序搜索(看课件)
n广度优先搜索和深度优先搜索都属于盲目搜索。就是说,结点接受考察的次序是由搜索方法所决定的,而不是由对状态的性质决定的。尽管从状态描述中抽取的信息能用于指导正确的搜索方向,但上述两种搜索都没有加以利用。有序搜索就是利用这种附加信息。
n首先,我们把状态图中一条路径的值定义为:由路径上第一个结点变换到最后一个结点所需操作的数目。简单地说,这个值就是指路径上弧线的数目。
n现在假定状态图中一个具体的结点。通过该结点的路径的解路径可能有好几条,每条解路径都有一个值。我们感兴趣的是其值为最小的那条路径,这个最小值用f来表示。对任何结点,我们都能计算出其f值,它所表示的是通过该结点的解的最小值。
n问题在于当搜索中碰到一个结点时,我们往往并不知道是否有什么解路径通过该结点,更不知道最小值的路径了。不过,虽然我们不知道f的准确值,但还是可以估算其值的,并用它来指导搜索。
n其中,g是从初始点到所观察结点的最小路径的值;h是从该结点到目标结点的最小值路径。 (看课件)
对通过一个已知结点,且值为最小的解路径来说,其本身就可以分为两部分——一部分从初始结点到该结点,另一部分从该结点到目标结点。设g为初始点到该结点的路径值,h为该结点到目标结点路径的值,那么全路径的值由下式给出:f = g + h
n我们能够准确地计算出搜索树上每个结点的g值。从树根到该结点的路径就是搜索树的g值,此g值恰恰等于该结点的深度。
n与g相反,我们无法根据搜索树来估算h值。通常我们最感兴趣的是估算开结点的h值。由于开结点尚未被展开,所以关于离开结点继续前进,到达目标结点的路径的情况,搜索树没有提供任何信息。
n唯一可以帮助我们估算h值的,就是状态描述本身。我们研究状态描述,并设法预测出把这个状态变换为目标状态需要多少操作。这样的预测就是我们对h的估算值。
6、子目标与方案
n许多问题,如果用前面介绍的状态图搜索法来解决,就显得太复杂。目前,还没有一种启发法可在不探查大部分状态图的情况下就能指导问题求解的搜索。象这类问题,如果只是在合理的计算时间内使用一定数量的计算机存储器,则用状态图搜索法是难以解决问题的。这就需要寻求某种更有效的方法,即把这类复杂问题分解成符合下述条件的两个或更多的子问题来解决:
条件:
(1)子问题要比原问题易于解决;
(2)如果所有子问题都得到解决,则原问题就解决了。
n将一个问题分解为几个子问题的一种方法是在初始状态与目标状态之间引入子目标。这样,从初始状态到目标状态的原问题,现在就由从初始状态到第一个子目标,从第一个子目标到第二个子目标 … 等子问题取代了。最后一个子问题,即是从最后的子目标到目标状态的问题。
n各个子目标的顺序构成了解决原问题的方案。通过对每个子问题的解决,方案也就得以实现。
n子目标与方案可用下图来说明:(看课件)
n原问题就是从初始状态A到目标状态B。为此,我们引入子目标X和Y。问题求解的方案是这样安排的:从A到X,从X到Y,再从Y到B。该方案的每一步就是一个子问题。当所有的子问题都得到解决了,那么该方案就实现了。
n为什么从A到X和从X到Y这样一些子问题要比从A到B这样的原问题简单呢?这可能有下面三个原因,不过,从状态图上看,这些原因并不明显。
Reas.1
nX到A比X到B近。假如我们从A出发搜索X,那么在到达目标之前我们只要搜索状态图的较小部分就行了。而要是搜索B,则就要搜索状态图的更大部分。这个结论同样也可运用于以X出发来寻找Y和以Y出发寻找B的情况
Reas.2
n有可能存在这样一种启发能力较强的启发法,它可迅速引导从A到X或从X到Y或从Y到B的搜索,但欲想从A直接搜索B,这样的启发法是根本不存在的
Reas.3
n我们从前面处理问题的经验中知道怎样从A走向X,从X走向Y,从Y走向B。一旦我们制定出求解方案,则问题也就迎刃而解了。因此,问题实际上是被简化了。
7、知识的表达
n与人的智能相似,人工智能也存在着强弱。实际上,所谓人工智能强就是指知识丰富。在这里,知识可定义为:为具有智能的人或机器用以作出合理决策的信息。
n知识表达是指知识的表示与描述。高效人工智能系统的关键在于知识的有效表达与管理。
知识的类型
n叙述型知识:叙述关于系统的状态、环境和条件、问题的构想、定义、事实等;
n过程型知识:表述有关系统状态的变化、问题求解过程的操作等;
n控制型知识:提供关于如何选择相应的操作、运算和行动的信息。
有几种知识表达方法:
n逻辑表达方法。
下面是一个逻辑表达的例子 (看课件)
n在上面的表达式中,METAL(x)表示金属,x可代表任何是金属的客体。上例中 ” x [ METAL (x) ? CONDUCT (x) ] 表示所有的金属都导电。式中“”x”表示所有的客体。本例所表达的意思是:所有的金属都导电,铁是金属,故铁导电。
n逻辑表达较严谨精确,具有通用性,接近自然语言,但使用效率低,灵活性差,常使推理过程过长。
n语义网络表达法:这种方法是通过概念及语义关系用网络图表达知识。语义网络图起初是为描述人类记忆的心理模型提出的。在自然语言研究中,表达复杂句型的语义很方便。
n这种表达法在推理过程较复杂的推理时比较直观,较自然地体现了联想思维的过程,表达语义关系知识效率较高,但不如逻辑方法严谨,不便于表达判断型知识和动态知识。
知识表达方法
产生式规则表达法:这是人工智能用于解决化学问题常用的知识表达法。这种方法包括:
n存储有关问题的状态、性质的叙述性知识的综合数据库;
n存储有关状态、转移等规则的过程性知识的规则集;
n用于选择控制策略、将规则与事实进行匹配、控制、利用知识推理求解问题的控制器。
知识表达方法
产生式系统具有通用性,接近人的自然推理方式,易为用户理解。产生式规则可以自由增删、修改、便于用户自行加入领域知识。但简单的产生式规则系统各规则独立,求解复杂问题时会出现“组合爆炸”,因而效率不高、表达能力不够强,需要进行扩充,使其前提不限于简单的事实,而成为事实、情况和条件的综合模式。
知识表达方法
与/或图表示法(AND/OR graph)
与/或图也称为与/或树,这种表达知识的方法基于人们求解问题时的两种思维方法。
nAND树:用于分解,将复杂的大问题分解为一组简单的小问题,即将总问题分解为子问题。若所有子问题解决了,则总问题也就解决了。若子问题解决不了可继续分解。
nOR树:用于变换,将较难的问题变换为较易的等价问题,如果后者解决了,前者也就解决了。
n实际求解问题时可兼用两种方法,即AND/OR树表达法。
8、常识推理
n人们发现,人们的常识推理是最难在计算机上模拟的智能活动。常识是一种低水平的推理,是以丰富的日常工作经验为基础的。例如物体可以由高处下落,这是一种常识,并不一定要学习了牛顿的万有引力定律才知道的。
n如何表达常识是人工智能的一个重要课题。许多常识推理是非精确的,即其所依据的事实、规则、及所得出的结论仅是近似正确的,但人们仍能应用这种不十分肯定的事实和规则得出有用的结论。模糊数学就是处理这类问题的有用手段之一。
9、
人工智能语言工具
n人工智能程序可用任何一种程序设计语言来编写。前面介绍的所有技术都可以用BASIC、FORTRAN或其他计算机语言程序来描述。然而在人工智能中,用的最广泛的还是LISP语言和PROLOG语言。
LISP
nLISP:LISP是函数语言,用于表处理、函数处理。它是人工智能领域中应用最广泛的程序设计语言,是六十年代发展起来的一种表处理语言 (LISt Processing Language)。
PROLOG
nPROLOG:(PROgramming in LOGic) 是基于演绎推理的一种逻辑型程序语言。所以PROLOG是一个定理证明系统,它具有很强的模式匹配功能,反馈功能等。
If you liked my post, feel free to subscribe to my rss feeds

























BlogoSquare