- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
人工智能程序设计语言 概 述 前面几章,我们介绍了一些运用AI技术求解问题的一般方法。这些方法可运用于定理证明、自然语言理解、模式识别、专家系统等各个领域。要在计算机上实现,就涉及到计算机语言的问题。 严格地讲,可以使用任何计算机语言来实现这些算法。但是AI的主要课题是非数值计算的问题求解和知识处理等复杂问题,主要任务在于完成推理、规划、决策、分析、论证等智能行为,其中包括各种符号处理和表处理等。传统过程性语言不太适合AI方面的程序设计 AI语言的特点 具有回溯功能 具有模式匹配功能 守护功能(保护递归、回溯的现场) 过程说明功能(解释推理过程) 表达能力强(尤其对各种符号知识) 建立在严格的数学系统上(因为AI中的许多推理都有坚实的数学基础) 表处理功能 并行处理或分布处理(提高推理速度,实现时多采用模拟并行处理技术) 常用的AI程序设计语言 Prolog Lisp C C++ Smalltalk Prolog Prolog是Programming in Logic用逻辑进行程序设计的缩写 第一个Prolog系统是由Colmerauer及其研究小组于1972年在法国马赛研制成功 Prolog是完全基于一阶谓词逻辑基础上的,它的所有语句和推理都可以用Horn子句归结的形式表示,所以它又严格的数学基础 Prolog 的特点 逻辑型语言 语句类型简单,只有三种基本形式:事实、规则、询问 接近于自然语言,简洁明了,易写易读 数据和程序结构一致(都由项构成,便于将a程序的输出作为b程序的输入) 能自动进行匹配和回溯 可大量使用递归 Prolog的程序结构 Prolog程序包括常量段、域段、数据库段、谓词段、目标段和子句段;另外还可以在程序首部设置编译指令,在程序中加注释 通常,一个Prolog程序不一定包括所有段,最常用的有子句段、谓词段、域段。如果需要产生一个可独立执行的程序,还需要有目标段 /* 注释 */ 编译指令 constants 常量说明 Domains 域语句 Database 数据库说明 Predicates 谓词语句 Goal 目标语句 Clauses 子句语句 子句段 是整个程序的核心,所有的事实和规则都在子句段列出,例如 Clauses like(Bill,Cindy). like(Cindy,Bill). like(Bill,dogs). like(A,C):- like(A,B),like(B,C). parent(ZhangYi,ZhangEr). 谓词段 Prolog有许多内部谓词,如read,write, makewindow等,对内部谓词不需说明 在程序中,若定义了自己要用的外部谓词,如上例中like,parent,则必须在谓词段加以说明,例: Predicates like(symbol,symbol) parent(symbol,symbol) 域段 域就相当于类型说明,如上例中parent中的两个参数,应该是两个人名,则下面的程序更好理解 Domains name=symbol Predicates parent(name,name) 通过域,可以说明标准域中没有定义的数据结构 Domains articles=book(title,author);horse(name) title,author,name=symbol Predicates own(name,articles) Clauses own(John,book(ABC,Ding)). own(John,horse(blacky)). 标准域:integer,char,real,ref,string,symbol 目标段 目标段输入要解决问题的语句 也可以省略目标段。若省略目标段,则在运行时程序会等待用户输入一个目标,然后才能运行,这时称为外部目标 若把目标写在目标段中,则程序运行时,自动执行目标,直接显示运行结果,这种目标称为内部目标 目标段的作用有点类似于主程序 目标段 Predicates run(char) Clauses run(X):- write(“first”), readchar(X). run(X):- write(“second”), readchar(X). 运行时,会在对话窗口提示输入一个目标,若输入目标run(X). 则输出first,然后按一个键接着输出second,再按一个键
您可能关注的文档
最近下载
- 2022年桂林信息科技学院软件工程专业《计算机组成原理》科目期末试卷A(有答案).docx VIP
- 新能源汽车动力电池系统检修 课件 2.3 动力蓄电池Pack技术(1).pptx
- 《赫尔巴特的教育思想-赫尔巴特的教育思想》课件.ppt VIP
- 中山大学肿瘤防治中心医用耗材试用承诺书.DOC VIP
- 2025年下半年成都农商银行综合柜员岗社会招聘笔试备考试题及答案解析.docx VIP
- 山东申论真题2021年A类.doc VIP
- 新能源汽车电气技术 课件全套 项目1--7 新能源汽车电气维修基础的认知--- 新能源汽车整车电路故障的检修.pptx
- 技术负责人质量负责人试题.docx VIP
- 吲哚乙酸在制备防治慢性阻塞性肺病药物中的应用.pdf VIP
- 2024年1月福建省普通高中学业水平合格性考试语文试题附答案.docx VIP
原创力文档


文档评论(0)