人工智能的历史、现状和未来
如同蒸汽时代的蒸汽机、电气时代的发电机、信息时代的计算机和互联网,人工智能正成为推动人类进入智能时代的决定性力量。全球产业界充分认识到人工智能技术引领新一轮产业变革的重大意义,纷纷转型发展,抢滩布局人工智能创新生态。世界主要发达国家均把发展人工智能作为提升国家竞争力、维护国家安全的重大战略,力图在国际科技竞争中掌握主导权。习近平总书记在十九届中央政治局第九次集体学习时深刻指出,加快发展新一代人工智能是事关我国能否抓住新一轮科技革命和产业变革机遇的战略问题。错失一个机遇,就有可能错过整整一个时代。新一轮科技革命与产业变革已曙光可见,在这场关乎前途命运的大赛场上,我们必须抢抓机遇、奋起直追、力争超越。
概念与历程
了解人工智能向何处去,首先要知道人工智能从何处来。1956年夏,麦卡锡、明斯基等科学家在美国达特茅斯学院开会研讨“如何用机器模拟人的智能”,首次提出“人工智能(ArtificialIntelligence,简称AI)”这一概念,标志着人工智能学科的诞生。
人工智能是研究开发能够模拟、延伸和扩展人类智能的理论、方法、技术及应用系统的一门新的技术科学,研究目的是促使智能机器会听(语音识别、机器翻译等)、会看(图像识别、文字识别等)、会说(语音合成、人机对话等)、会思考(人机对弈、定理证明等)、会学习(机器学习、知识表示等)、会行动(机器人、自动驾驶汽车等)。
人工智能充满未知的探索道路曲折起伏。如何描述人工智能自1956年以来60余年的发展历程,学术界可谓仁者见仁、智者见智。我们将人工智能的发展历程划分为以下6个阶段:
一是起步发展期:1956年—20世纪60年代初。人工智能概念提出后,相继取得了一批令人瞩目的研究成果,如机器定理证明、跳棋程序等,掀起人工智能发展的第一个高潮。
二是反思发展期:20世纪60年代—70年代初。人工智能发展初期的突破性进展大大提升了人们对人工智能的期望,人们开始尝试更具挑战性的任务,并提出了一些不切实际的研发目标。然而,接二连三的失败和预期目标的落空(例如,无法用机器证明两个连续函数之和还是连续函数、机器翻译闹出笑话等),使人工智能的发展走入低谷。
三是应用发展期:20世纪70年代初—80年代中。20世纪70年代出现的专家系统模拟人类专家的知识和经验解决特定领域的问题,实现了人工智能从理论研究走向实际应用、从一般推理策略探讨转向运用专门知识的重大突破。专家系统在医疗、化学、地质等领域取得成功,推动人工智能走入应用发展的新高潮。
四是低迷发展期:20世纪80年代中—90年代中。随着人工智能的应用规模不断扩大,专家系统存在的应用领域狭窄、缺乏常识性知识、知识获取困难、推理方法单一、缺乏分布式功能、难以与现有数据库兼容等问题逐渐暴露出来。
五是稳步发展期:20世纪90年代中—2010年。由于网络技术特别是互联网技术的发展,加速了人工智能的创新研究,促使人工智能技术进一步走向实用化。1997年国际商业机器公司(简称IBM)深蓝超级计算机战胜了国际象棋世界冠军卡斯帕罗夫,2008年IBM提出“智慧地球”的概念。以上都是这一时期的标志性事件。
六是蓬勃发展期:2011年至今。随着大数据、云计算、互联网、物联网等信息技术的发展,泛在感知数据和图形处理器等计算平台推动以深度神经网络为代表的人工智能技术飞速发展,大幅跨越了科学与应用之间的“技术鸿沟”,诸如图像分类、语音识别、知识问答、人机对弈、无人驾驶等人工智能技术实现了从“不能用、不好用”到“可以用”的技术突破,迎来爆发式增长的新高潮。
现状与影响
对于人工智能的发展现状,社会上存在一些“炒作”。比如说,认为人工智能系统的智能水平即将全面超越人类水平、30年内机器人将统治世界、人类将成为人工智能的奴隶,等等。这些有意无意的“炒作”和错误认识会给人工智能的发展带来不利影响。因此,制定人工智能发展的战略、方针和政策,首先要准确把握人工智能技术和产业发展的现状。
专用人工智能取得重要突破。从可应用性看,人工智能大体可分为专用人工智能和通用人工智能。面向特定任务(比如下围棋)的专用人工智能系统由于任务单一、需求明确、应用边界清晰、领域知识丰富、建模相对简单,形成了人工智能领域的单点突破,在局部智能水平的单项测试中可以超越人类智能。人工智能的近期进展主要集中在专用智能领域。例如,阿尔法狗(AlphaGo)在围棋比赛中战胜人类冠军,人工智能程序在大规模图像识别和人脸识别中达到了超越人类的水平,人工智能系统诊断皮肤癌达到专业医生水平。
通用人工智能尚处于起步阶段。人的大脑是一个通用的智能系统,能举一反三、融会贯通,可处理视觉、听觉、判断、推理、学习、思考、规划、设计等各类问题,可谓“一脑万用”。真正意义上完备的人工智能系统应该是一个通用的智能系统。目前,虽然专用人工智能领域已取得突破性进展,但是通用人工智能领域的研究与应用仍然任重而道远,人工智能总体发展水平仍处于起步阶段。当前的人工智能系统在信息感知、机器学习等“浅层智能”方面进步显著,但是在概念抽象和推理决策等“深层智能”方面的能力还很薄弱。总体上看,目前的人工智能系统可谓有智能没智慧、有智商没情商、会计算不会“算计”、有专才而无通才。因此,人工智能依旧存在明显的局限性,依然还有很多“不能”,与人类智慧还相差甚远。
人工智能创新创业如火如荼。全球产业界充分认识到人工智能技术引领新一轮产业变革的重大意义,纷纷调整发展战略。比如,谷歌在其2017年年度开发者大会上明确提出发展战略从“移动优先”转向“人工智能优先”,微软2017财年年报首次将人工智能作为公司发展愿景。人工智能领域处于创新创业的前沿。麦肯锡公司报告指出,2016年全球人工智能研发投入超300亿美元并处于高速增长阶段;全球知名风投调研机构CBInsights报告显示,2017年全球新成立人工智能创业公司1100家,人工智能领域共获得投资152亿美元,同比增长141%。
创新生态布局成为人工智能产业发展的战略高地。信息技术和产业的发展史,就是新老信息产业巨头抢滩布局信息产业创新生态的更替史。例如,传统信息产业代表企业有微软、英特尔、IBM、甲骨文等,互联网和移动互联网时代信息产业代表企业有谷歌、苹果、脸书、亚马逊、阿里巴巴、腾讯、百度等。人工智能创新生态包括纵向的数据平台、开源算法、计算芯片、基础软件、图形处理器等技术生态系统和横向的智能制造、智能医疗、智能安防、智能零售、智能家居等商业和应用生态系统。目前智能科技时代的信息产业格局还没有形成垄断,因此全球科技产业巨头都在积极推动人工智能技术生态的研发布局,全力抢占人工智能相关产业的制高点。
人工智能的社会影响日益凸显。一方面,人工智能作为新一轮科技革命和产业变革的核心力量,正在推动传统产业升级换代,驱动“无人经济”快速发展,在智能交通、智能家居、智能医疗等民生领域产生积极正面影响。另一方面,个人信息和隐私保护、人工智能创作内容的知识产权、人工智能系统可能存在的歧视和偏见、无人驾驶系统的交通法规、脑机接口和人机共生的科技伦理等问题已经显现出来,需要抓紧提供解决方案。
趋势与展望
经过60多年的发展,人工智能在算法、算力(计算能力)和算料(数据)等“三算”方面取得了重要突破,正处于从“不能用”到“可以用”的技术拐点,但是距离“很好用”还有诸多瓶颈。那么在可以预见的未来,人工智能发展将会出现怎样的趋势与特征呢?
从专用智能向通用智能发展。如何实现从专用人工智能向通用人工智能的跨越式发展,既是下一代人工智能发展的必然趋势,也是研究与应用领域的重大挑战。2016年10月,美国国家科学技术委员会发布《国家人工智能研究与发展战略计划》,提出在美国的人工智能中长期发展策略中要着重研究通用人工智能。阿尔法狗系统开发团队创始人戴密斯·哈萨比斯提出朝着“创造解决世界上一切问题的通用人工智能”这一目标前进。微软在2017年成立了通用人工智能实验室,众多感知、学习、推理、自然语言理解等方面的科学家参与其中。
从人工智能向人机混合智能发展。借鉴脑科学和认知科学的研究成果是人工智能的一个重要研究方向。人机混合智能旨在将人的作用或认知模型引入到人工智能系统中,提升人工智能系统的性能,使人工智能成为人类智能的自然延伸和拓展,通过人机协同更加高效地解决复杂问题。在我国新一代人工智能规划和美国脑计划中,人机混合智能都是重要的研发方向。
从“人工+智能”向自主智能系统发展。当前人工智能领域的大量研究集中在深度学习,但是深度学习的局限是需要大量人工干预,比如人工设计深度神经网络模型、人工设定应用场景、人工采集和标注大量训练数据、用户需要人工适配智能系统等,非常费时费力。因此,科研人员开始关注减少人工干预的自主智能方法,提高机器智能对环境的自主学习能力。例如阿尔法狗系统的后续版本阿尔法元从零开始,通过自我对弈强化学习实现围棋、国际象棋、日本将棋的“通用棋类人工智能”。在人工智能系统的自动化设计方面,2017年谷歌提出的自动化学习系统(AutoML)试图通过自动创建机器学习系统降低人员成本。
人工智能将加速与其他学科领域交叉渗透。人工智能本身是一门综合性的前沿学科和高度交叉的复合型学科,研究范畴广泛而又异常复杂,其发展需要与计算机科学、数学、认知科学、神经科学和社会科学等学科深度融合。随着超分辨率光学成像、光遗传学调控、透明脑、体细胞克隆等技术的突破,脑与认知科学的发展开启了新时代,能够大规模、更精细解析智力的神经环路基础和机制,人工智能将进入生物启发的智能阶段,依赖于生物学、脑科学、生命科学和心理学等学科的发现,将机理变为可计算的模型,同时人工智能也会促进脑科学、认知科学、生命科学甚至化学、物理、天文学等传统科学的发展。
人工智能产业将蓬勃发展。随着人工智能技术的进一步成熟以及政府和产业界投入的日益增长,人工智能应用的云端化将不断加速,全球人工智能产业规模在未来10年将进入高速增长期。例如,2016年9月,咨询公司埃森哲发布报告指出,人工智能技术的应用将为经济发展注入新动力,可在现有基础上将劳动生产率提高40%;到2035年,美、日、英、德、法等12个发达国家的年均经济增长率可以翻一番。2018年麦肯锡公司的研究报告预测,到2030年,约70%的公司将采用至少一种形式的人工智能,人工智能新增经济规模将达到13万亿美元。
人工智能将推动人类进入普惠型智能社会。“人工智能+X”的创新模式将随着技术和产业的发展日趋成熟,对生产力和产业结构产生革命性影响,并推动人类进入普惠型智能社会。2017年国际数据公司IDC在《信息流引领人工智能新时代》白皮书中指出,未来5年人工智能将提升各行业运转效率。我国经济社会转型升级对人工智能有重大需求,在消费场景和行业应用的需求牵引下,需要打破人工智能的感知瓶颈、交互瓶颈和决策瓶颈,促进人工智能技术与社会各行各业的融合提升,建设若干标杆性的应用场景创新,实现低成本、高效益、广范围的普惠型智能社会。
人工智能领域的国际竞争将日益激烈。当前,人工智能领域的国际竞赛已经拉开帷幕,并且将日趋白热化。2018年4月,欧盟委员会计划2018—2020年在人工智能领域投资240亿美元;法国总统在2018年5月宣布《法国人工智能战略》,目的是迎接人工智能发展的新时代,使法国成为人工智能强国;2018年6月,日本《未来投资战略2018》重点推动物联网建设和人工智能的应用。世界军事强国也已逐步形成以加速发展智能化武器装备为核心的竞争态势,例如美国特朗普政府发布的首份《国防战略》报告即谋求通过人工智能等技术创新保持军事优势,确保美国打赢未来战争;俄罗斯2017年提出军工拥抱“智能化”,让导弹和无人机这样的“传统”兵器威力倍增。
人工智能的社会学将提上议程。为了确保人工智能的健康可持续发展,使其发展成果造福于民,需要从社会学的角度系统全面地研究人工智能对人类社会的影响,制定完善人工智能法律法规,规避可能的风险。2017年9月,联合国犯罪和司法研究所(UNICRI)决定在海牙成立第一个联合国人工智能和机器人中心,规范人工智能的发展。美国白宫多次组织人工智能领域法律法规问题的研讨会、咨询会。特斯拉等产业巨头牵头成立OpenAI等机构,旨在“以有利于整个人类的方式促进和发展友好的人工智能”。
态势与思考
当前,我国人工智能发展的总体态势良好。但是我们也要清醒看到,我国人工智能发展存在过热和泡沫化风险,特别在基础研究、技术体系、应用生态、创新人才、法律规范等方面仍然存在不少值得重视的问题。总体而言,我国人工智能发展现状可以用“高度重视,态势喜人,差距不小,前景看好”来概括。
高度重视。党中央、国务院高度重视并大力支持发展人工智能。习近平总书记在党的十九大、2018年两院院士大会、全国网络安全和信息化工作会议、十九届中央政治局第九次集体学习等场合多次强调要加快推进新一代人工智能的发展。2017年7月,国务院发布《新一代人工智能发展规划》,将新一代人工智能放在国家战略层面进行部署,描绘了面向2030年的我国人工智能发展路线图,旨在构筑人工智能先发优势,把握新一轮科技革命战略主动。国家发改委、工信部、科技部、教育部等国家部委和北京、上海、广东、江苏、浙江等地方政府都推出了发展人工智能的鼓励政策。
态势喜人。据清华大学发布的《中国人工智能发展报告2018》统计,我国已成为全球人工智能投融资规模最大的国家,我国人工智能企业在人脸识别、语音识别、安防监控、智能音箱、智能家居等人工智能应用领域处于国际前列。根据2017年爱思唯尔文献数据库统计结果,我国在人工智能领域发表的论文数量已居世界第一。近两年,中国科学院大学、清华大学、北京大学等高校纷纷成立人工智能学院,2015年开始的中国人工智能大会已连续成功召开四届并且规模不断扩大。总体来说,我国人工智能领域的创新创业、教育科研活动非常活跃。
差距不小。目前我国在人工智能前沿理论创新方面总体上尚处于“跟跑”地位,大部分创新偏重于技术应用,在基础研究、原创成果、顶尖人才、技术生态、基础平台、标准规范等方面距离世界领先水平还存在明显差距。在全球人工智能人才700强中,中国虽然入选人数名列第二,但远远低于约占总量一半的美国。2018年市场研究顾问公司CompassIntelligence对全球100多家人工智能计算芯片企业进行了排名,我国没有一家企业进入前十。另外,我国人工智能开源社区和技术生态布局相对滞后,技术平台建设力度有待加强,国际影响力有待提高。我国参与制定人工智能国际标准的积极性和力度不够,国内标准制定和实施也较为滞后。我国对人工智能可能产生的社会影响还缺少深度分析,制定完善人工智能相关法律法规的进程需要加快。
前景看好。我国发展人工智能具有市场规模、应用场景、数据资源、人力资源、智能手机普及、资金投入、国家政策支持等多方面的综合优势,人工智能发展前景看好。全球顶尖管理咨询公司埃森哲于2017年发布的《人工智能:助力中国经济增长》报告显示,到2035年人工智能有望推动中国劳动生产率提高27%。我国发布的《新一代人工智能发展规划》提出,到2030年人工智能核心产业规模超过1万亿元,带动相关产业规模超过10万亿元。在我国未来的发展征程中,“智能红利”将有望弥补人口红利的不足。
当前是我国加强人工智能布局、收获人工智能红利、引领智能时代的重大历史机遇期,如何在人工智能蓬勃发展的浪潮中选择好中国路径、抢抓中国机遇、展现中国智慧等,需要深入思考。
树立理性务实的发展理念。任何事物的发展不可能一直处于高位,有高潮必有低谷,这是客观规律。实现机器在任意现实环境的自主智能和通用智能,仍然需要中长期理论和技术积累,并且人工智能对工业、交通、医疗等传统领域的渗透和融合是个长期过程,很难一蹴而就。因此,发展人工智能要充分考虑到人工智能技术的局限性,充分认识到人工智能重塑传统产业的长期性和艰巨性,理性分析人工智能发展需求,理性设定人工智能发展目标,理性选择人工智能发展路径,务实推进人工智能发展举措,只有这样才能确保人工智能健康可持续发展。
重视固本强基的原创研究。人工智能前沿基础理论是人工智能技术突破、行业革新、产业化推进的基石。面临发展的临界点,要想取得最终的话语权,必须在人工智能基础理论和前沿技术方面取得重大突破。我们要按照习近平总书记提出的支持科学家勇闯人工智能科技前沿“无人区”的要求,努力在人工智能发展方向和理论、方法、工具、系统等方面取得变革性、颠覆性突破,形成具有国际影响力的人工智能原创理论体系,为构建我国自主可控的人工智能技术创新生态提供领先跨越的理论支撑。
构建自主可控的创新生态。我国人工智能开源社区和技术创新生态布局相对滞后,技术平台建设力度有待加强。我们要以问题为导向,主攻关键核心技术,加快建立新一代人工智能关键共性技术体系,全面增强人工智能科技创新能力,确保人工智能关键核心技术牢牢掌握在自己手里。要着力防范人工智能时代“空心化”风险,系统布局并重点发展人工智能领域的“新核高基”:“新”指新型开放创新生态,如产学研融合等;“核”指核心关键技术与器件,如先进机器学习技术、鲁棒模式识别技术、低功耗智能计算芯片等;“高”指高端综合应用系统与平台,如机器学习软硬件平台、大型数据平台等;“基”指具有重大原创意义和技术带动性的基础理论与方法,如脑机接口、类脑智能等。同时,我们要重视人工智能技术标准的建设、产品性能与系统安全的测试。特别是我国在人工智能技术应用方面走在世界前列,在人工智能国际标准制定方面应当掌握话语权,并通过实施标准加速人工智能驱动经济社会转型升级的进程。
推动共担共享的全球治理。目前看,发达国家通过人工智能技术创新掌控了产业链上游资源,难以逾越的技术鸿沟和产业壁垒有可能进一步拉大发达国家和发展中国家的生产力发展水平差距。在发展中国家中,我国有望成为全球人工智能竞争中的领跑者,应布局构建开放共享、质优价廉、普惠全球的人工智能技术和应用平台,配合“一带一路”建设,让“智能红利”助推共建人类命运共同体。
(作者:中央人民政府驻香港特别行政区联络办公室副主任、中国科学院院士)
《人工智能导论》第三章 知识表示
本文是中国人工智能学会编著的《人工智能导论(面向非计算机专业)》第三章的摘要与笔记,仅供个人学习之用。其它章节请访问下列相应URL。第一章绪论第二章概念表示第三章知识表示(本章)
章节目录第三章3.1知识与知识表示的概念3.1.1知识的概念3.1.2知识的特性3.1.3知识表示的概念3.2产生式表示法3.2.1产生式3.2.2产生式系统3.2.3产生式系统的特点3.3框架表示法3.3.1框架的一般结构3.3.2用框架表示知识的例子3.4状态空间表示法3.4.1状态空间表示3.4.2状态空间的图描述第三章人类的智能活动主要是获得并运用知识。知识是智能的基础。为了使计算机具有智能,能模拟人类的智能行为,就必须使它具有知识。但人类的知识需要用适当的模式表示出来,才能存储到计算机中并能够被运用。因此,知识的表示称为人工智能中一个十分重要的研究课题。
3.1知识与知识表示的概念3.1.1知识的概念知识是人们在长期的生活及社会实践中、在科学研究及实验中积累起来的对客观世界的认识与经验。人们把实践中获得的信息关联在一起,就形成了知识。一般来说,把有关信息关联在一起所形成的信息结构称为知识。(知识是一种信息结构。作为一种结构,很容易联想到能否用某种数据结构来表示知识。这个问题在以下“知识表示”部分探讨) 信息之间有多种关联形式,其中用得最多的是一种用“如果……,则……”表示的关联形式。在人工智能中,这种知识被称为“规则”,它反映了信息之间的某种因果关系。
例如,我国北方的人们经过多年的观察发现,每当冬天即将来临,就会看到一批批的大雁向南方飞去,于是把“大雁向南飞”与“冬天就要来临了”这两个信息关联在一起,得到了如下知识:如果大雁向南飞,则冬天就要来临了。 又如,“雪是白色的”也是一条知识,它反映了“雪”与“白色”之间的一种关系。在人工智能中,这种知识被称为“事实”。
3.1.2知识的特性1.相对正确性
知识是人类对客观世界认识的结晶,并且受到长期实践的检验。因此,在一定的条件及环境下,知识是正确的。*这里,“一定的条件及环境”是必不可少的,它是知识正确性的前提。因为任何知识都是在一定的条件及环境下产生的,因而也就只有在这种条件及环境下才是正确的。*知识的这一特性称为相对正确性。
例如,1+1=2,这是一条妇孺皆知的正确知识,但它也只是在十进制的前提下才是正确的;如果是二进制,它就不正确了。
在人工智能中,知识的相对正确性更加突出。除了人类知识本身的相对正确性外,在建造专家系统时,为了减少知识库的规模,通常将知识限制在所求解问题的范围内。也就是说,只要这些知识对所求解的问题是正确的就行。
例如,在后面介绍的动物识别系统中,因为仅仅识别虎、金钱豹、斑马、长颈鹿、企鹅、鸵鸟、信天翁七种动物,所以知识“IF该动物是鸟AND善飞,则该动物是信天翁”就是正确的。
2.不确定性
由于现实世界的复杂性,信息可能是精确的,也可能是不精确的、模糊的;关联可能是确定的,也可能是不确定的。这就使知识并不总是只有“真”与“假”两种状态,而是在“真”与“假”之间存在许多中间状态,即存在为“真”的程度问题。知识的这一特性称为不确定性。
造成知识具有不确定性的原因是多方面的,主要有:
①由随机性引起的不确定性。由随机事件所形成的知识不能简单地用“真”或“假”来刻画,它是不确定的。
例如,“如果头痛且流涕,则有可能患了感冒”这条知识,虽然大部分情况是患了感冒,但有时候具有“头痛且流涕”的人不一定都是“患了感冒”。其中的“有可能”实际上就是反映了“头痛且流涕”与“患了感冒”之间的一种不确定的因果关系。因此,它是一条具有不确定性的知识。
②由模糊性引起的不确定性。由于某些事物客观上存在的模糊性,使得人们无法把两个类似的事物严格区分开来,不能明确地判定一个对象是否符合一个模糊概念;又由于某些事物之间存在着模糊关系,使得我们不能准确地判定它们之间地关系究竟是“真”还是“假”。像这样由模糊概念、模糊关系所形成的知识显然是不确定的。
例如,“如果张三长得很帅,那么他一定很受欢迎”,这里的“长得很帅”“很受欢迎”都是模糊的。
③由经验引起的不确定性。人们对客观世界的认识是逐步提高的,只有在积累了大量的感性认识后才能升华到理性认识的高度,形成某种知识。因此,知识有一个逐步完善的过程。在此过程中,或者由于客观事物表露得不够充分,致使人们对它的认识不够全面;或者对充分表露的事物一时抓不住本质,使人们对它的认识不够准确。这种认识上的不完全、不准确必然导致相应的知识是不准确的、不确定的。不完全性是使知识具有不确定性的一个重要原因。
3.可表示性与可利用性
知识的可表示性是指知识可以用适当的形式表示出来,如用语言、文字、图形、神经网络等,这样才能被存储、传播。知识的可利用性是指知识可以被利用。这是不言而喻的,我们每个人天天都在利用自己掌握的知识来解决各种问题。
3.1.3知识表示的概念知识表示(knowledgerepresentation)就是将人类知识形式化或者模型化。 知识表示的目的是能够让计算机存贮和运用人类的知识。下面先介绍常用的产生式、框架、状态空间知识表示方法,其他(如神经网络等)几种知识表示方法将在后面章节结合其应用再介绍。
3.2产生式表示法产生式表示法又称产生式规则(productionrule)表示法。“产生式”这一术语是由美国数学家波斯特(E.Post)在1943年首先提出来的,如今已经被应用于多领域,成为人工智能中应用最多的一种知识表示方法。
3.2.1产生式产生式通常用于表示事实、规则以及它们的不确定性度量,适合于表示事实性知识和规则性知识。
1.确定性规则的产生式表示 确定性规则的产生式表示的基本形式是IF P THEN QIF\\P\\THEN\\QIF P THEN Q 或者P→QP→QP→Q 其中,PPP是产生式的前提,用于指出该产生式是否可用的条件;QQQ是一组结论或操作,用于指出当前提PPP所指示的条件满足时,应该得出的结论或者应该执行的操作。整个产生式的含义是:如果前提PPP被满足,则结论QQQ成立或执行所规定的操作。
例如:r4: IF 动物会飞 AND 会下蛋 THEN 该动物是鸟r_4:\\IF\\动物会飞\\AND\\会下蛋\\THEN\\该动物是鸟r4: IF 动物会飞 AND 会下蛋 THEN 该动物是鸟 就是一个产生式。其中r4r_4r4是该产生式的编号;“动物会飞AND会下蛋”是前提PPP;“该动物是鸟”是结论QQQ。
2.不确定性规则的产生式表示 不确定性规则的产生式表示的基本形式是IF P THEN Q (置信度)IF\\P\\THEN\\Q\\(置信度)IF P THEN Q (置信度) 或者P→Q (置信度)P→Q\\(置信度)P→Q (置信度)
例如,在专家系统MYCIN中有这样一条产生式:IF 本微生物的染色斑是革兰氏阴性 AND 本微生物的形状呈杆状 AND 病人是中间宿主 THEN 该微生物是绿脓杆菌 (0.6)IF\\本微生物的染色斑是革兰氏阴性\\AND\\本微生物的形状呈杆状\\AND\\病人是中间宿主\\THEN\\该微生物是绿脓杆菌\\(0.6)IF 本微生物的染色斑是革兰氏阴性 AND 本微生物的形状呈杆状 AND 病人是中间宿主 THEN 该微生物是绿脓杆菌 (0.6) 它表示当前前提中列出的各个条件都得到满足时,结论“该微生物是绿脓杆菌可以相信的程度为0.6。这里,用0.6表示知识的强度。
3.确定性事实的产生式表示 确定性事实一般用三元组表示(对象,属性,值)(对象,属性,值)(对象,属性,值) 或者(关系,对象1,对象2)(关系,对象1,对象2)(关系,对象1,对象2)
例如,“老李年龄是40岁”表示为(Li,Age,40)(Li,Age,40)(Li,Age,40),“老李和老王是朋友”表示为(Friend,Li,Wang)(Friend,Li,Wang)(Friend,Li,Wang)。
4.不确定性事实的产生式表示 不确定性事实一般用四元组表示(对象,属性,值,置信度)(对象,属性,值,置信度)(对象,属性,值,置信度) 或者(关系,对象1,对象2,置信度)(关系,对象1,对象2,置信度)(关系,对象1,对象2,置信度)
例如,“老李年龄很可能是40岁”表示为(Li,Age,40,0.8)(Li,Age,40,0.8)(Li,Age,40,0.8),“老李和老王不大可能是朋友”表示为(Friend,Li,Wang,0.1)(Friend,Li,Wang,0.1)(Friend,Li,Wang,0.1)。这里用置信度0.1表示可能性比较小。
产生式又称为规则或产生式规则;产生式的“前提”有时又称为“条件”“前提条件”“前件”“左部”等;其“结论”部分有时称为“后件”或“右部”等。
3.2.2产生式系统把一组产生式放在一起,让它们相互配合、协同作用,一个产生式生成的结论可以供另一个产生式作为已知事实使用,以求得问题的解,这样的系统称为产生式系统。 一般来说,一个产生式系统由规则库、综合数据库、控制系统(推理机)三部分组成。它们之间的关系如图3.1所示。1.规则库 用于描述相应领域内知识的产生式集合称为规则库。
显然,规则库是产生式系统求解问题的基础。因此,需要对规则库中的知识进行合理的组织和管理,检测并排除冗余及矛盾的知识,保持知识的一致性。采用合理的结构形式,可使推理避免访问那些与求解当前问题无关的知识,从而提高求解问题的效率。
2.综合数据库 综合数据库又称为事实库、上下文、黑板等,用于存放问题的初始状态、原始证据、推理中得到的中间结论及最终结论等信息。当规则库中某条产生式的前提可与综合数据库的某些已知事实匹配时,该产生式就被激活,并把它推出的结论放入综合数据库中作为后面推理的已知事实。显然,综合数据库的内容是不断变化的。
3.推理机 推理机由一组程序组成,除了推理算法,还控制整个产生式系统的运行,实践对问题的求解。粗略地说,推理机要做以下几项工作:
①推理。按一定的策略从规则库中选择与综合数据库中的已知事实进行匹配。所谓匹配是指把规则的前提条件与综合数据库中的已知事实进行比较,如果两者一致或者近似一致且满足预先规定的条件,则称匹配成功,相应的规则可被使用;否则称为匹配不成功。
②冲突消解。如果匹配成功的规则不止一条,称为“发生了冲突”。此时,推理机必须调用相应的解决冲突的策略进行消解,以便从匹配成功的规则中选出一条执行。
③执行规则。如果某一规则的右部是一个或多个结论,则把这些结论加入综合数据库中;如果规则的右部是一个或多个操作,则执行这些操作。对于不确定性知识,在执行每一条规则时还要按一定的算法计算结论的不确定性程度。
④检查推理终止条件。检查综合数据库中是否包含了最终结论,决定是否停止系统运行。
3.2.3产生式系统的特点产生式系统适合于表达具有因果关系的过程性知识,是一种非结构化的知识表示方法。产生式表示法既可以表示确定性知识,又可以表示不确定性知识;既可表示启发式知识,又可表示过程性知识。目前,已建造成功的专家系统大部分用产生式来表达其过程性知识。
用产生式表示具有结构关系的知识很困难,因为它不能把具有结构性关系的事物间的区别与联系表示出来。但下面介绍的框架表示法可以解决这一问题。
3.3框架表示法3.3.1框架的一般结构框架(frame)是一种描述所论对象(一个事物、事件或概念)属性的数据结构。
一个框架由若干个被称为“槽(slot)”的结构组成,每一个槽又可根据实际情况划分为若干个“侧面(facet)”。一个槽用于描述所论对象某一方面的属性。一个侧面用于描述相应属性的一个方面。槽和侧面所具有的属性值分别被称为槽值和侧面值。在一个用框架表示知识的系统中一般都含有多个框架,一个框架一般都含有多个不同槽、不同侧面,分别用不同的框架名、槽名及侧面名表示。对于框架、槽或侧面,都可以为其附加上一些说明性的信息,一般是一些约束条件,用于指出什么样的值才能填入到槽和侧面中去。
下面给出框架的一般表示形式: 由上述表示形式可以看出,一个框架可以有任意有限数目的槽;一个槽可以有任意有限数目的侧面;一个侧面可以有任意有限数目的侧面值。槽值或侧面值既可以是数值、字符串、布尔值,也可以是一个满足某个给定条件时要执行的动作或过程,还可以是另一个框架的名字,从而实现一个框架对另一个框架的调用,表示框架之间的横向关系。约束条件是任选的,当不指出约束条件时,表示没有约束。
3.3.2用框架表示知识的例子下面据一些例子,说明建立框架的基本方法。
例3.1教师框架
框架名: 姓名:单位(姓、名) 年龄:单位(岁) 性别:范围(男、女),缺省:男 职称:范围(教授、副教授、讲师、助教),缺省:讲师 部门:单位(系、教研室) 住址: 工资: 开始工作时间:单位(年、月) 截止时间:单位(年、月),缺省:现在
该框架共有九个槽,分别描述了“教师”九个方面的情况,或者说关于“教师”的九个属性。在每个槽里都指出了一些说明性的信息,用于对槽的填值给出某些限制。
对于上述这个框架,当把具体的信息填入槽或侧面后,就得到了相应框架的一个事例框架。例如,把某教师的一组信息填入“教师”框架的各个槽,就可得到:
框架名: 姓名:夏冰 年龄:36 性别:女 职称:副教授 部门:计算机系软件教研室 住址: 工资: 开始工作时间:1988.9 截止时间:1996.7
3.4状态空间表示法3.4.1状态空间表示状态空间(statespace)是利用状态变量和操作符号表示系统或问题的有关知识的符号体系。状态空间可以用一个四元组表示:(S,O,S0,G)(S,O,S_0,G)(S,O,S0,G) 其中,SSS是状态集合,SSS中每一元素表示一个状态,状态是某种结构的符号或数据。O是操作算子的集合,利用算子可将一个状态转换为另一个状态。S0S_0S0是问题的初始状态的集合,是S的非空子集,即S0⊂SS_0subsetSS0⊂S。GGG是问题的目的状态的集合,是SSS的非空子集,即G⊂SGsubsetSG⊂S。GGG可以是若干具体状态,也可以是满足某种性质的路径信息描述。
从S0S_0S0结点到GGG结点的路径称为求解路径。求解路径上的操作算子序列为状态空间的一个解。例如,操作算子序列O1,...,OkO_1,...,O_kO1,...,Ok使初始状态转换为目标状态:S0→O1S1→O2S2→O3...→OkGS_0xrightarrow{O_1}S_1xrightarrow{O_2}S_2xrightarrow{O_3}...xrightarrow{O_k}GS0O1S1O2S2O3...OkG则O1,...,OkO_1,...,O_kO1,...,Ok即为状态空间的一个解。当然,解往往不是唯一的。
任何类型的数据结构都可以用来描述状态,如符号、字符串、向量、多维数组、树和表格等。所选用的数据结构形式要与状态所蕴含的某些特性具有相似性。如对于八数码问题,一个3×33 imes33×3的陈列便是一个合适的状态描述方式。
例3.3八数码问题的状态空间表示 八数码问题(重排九宫问题)是在一个3×33 imes33×3的方格上,放有1~8的数码,另一格为空。空格四周上下左右的数码可移到空格。需要解决的问题是如何找到一个数码移动序列使初始的无序数码转变为一些特殊的排列。例如,图3.4所示的八数码问题的初始状态(a)为问题的一个布局,需要找到一个数码移动序列使初始布局(a)转变为目标布局(b)。23158467 12384765egin{array}{|c|c|c|}hline2&3&1\hline5&&8\hline4&6&7\hlineend{array}spacespacespacespacespacespacespacespaceegin{array}{|c|c|c|}hline1&2&3\hline8&&4\hline7&6&5\hlineend{array}25436187 18726345(a)初始状态 (b)目标状态(a)初始状态spacespacespacespacespacespacespace(b)目标状态(a)初始状态 (b)目标状态图3.4 八数码问题图3.4\八数码问题图3.4 八数码问题 该问题可以用状态空间来表示。此时八数码的任何一种摆法就是一个状态,所有的摆法即为状态集SSS,它们构成了一个状态空间,其数目为9!9!9!。而GGG是指定的某个或某些状态,例如图3.4(b)。 对于操作算子设计,如果着眼在数码上,相应的操作算子就是数码的移动,其操作算子共有4(方向)×8(数码)=324(方向) imes8(数码)=324(方向)×8(数码)=32个。如着眼在空格上,即空格在方格盘上的每个可能位置的上下左右移动,其操作算子可简化成4个:①将空格向上移Up;②将空格向左移Left;③将空格向下移Down;④将空格向右移Right。 移动时要确保空格不会移出方格盘之外,因此并不是在任何状态下都能运用这4个操作算子。如空格在方盘格的右上角时,只能运用两个操作算子——向左移Left和向下移Down。
3.4.2状态空间的图描述状态空间可用有向图来描述,图的节点表示问题的状态,图的弧表示状态之间的关系。初始状态对应于实际问题的已知信息,是图中的根结点。在问题的状态空间描述中,寻找从一种状态转换为另一种状态的某个操作算子序列等价于在一个图中寻找某一路径。 如图3.5所示为用有向图描述的状态空间。该图表示对状态S0S_0S0允许使用操作算子O1O_1O1,O2O_2O2及O3O_3O3,分别使S0S_0S0转换为S1S_1S1,S2S_2S2及S3S_3S3。这样一步步利用操作算子转换下去,如S10∈GS_{10}inGS10∈G,则O2O_2O2,O6O_6O6,O10O_{10}O10就是一个解。 上面是较为形式化的说明,下面再以八数码问题为例,介绍具体问题的状态空间的有向图描述。
例3.5对于八数码问题,如果给出问题的初始状态,就可以用图来描述其状态空间。其中的弧可用4个操作算子来标注,即空格向上移Up、向左移Left、向下移Down、向右移Right。改图的部分描述如图3.6所示。
上面两个例子中,只绘出了问题的部分状态空间图。对于许多实际问题,要在有限的时间内绘出问题的全部状态图是不可能的。因此,要研究能够在有限时间内搜索到较好解的搜索算法。