收藏 分享(赏)

人工智能导论课件第2章 人工智能程序设计语言.pptx

上传人:bubibi 文档编号:18831131 上传时间:2023-11-02 格式:PPTX 页数:17 大小:582.94KB
下载 相关 举报
人工智能导论课件第2章 人工智能程序设计语言.pptx_第1页
第1页 / 共17页
人工智能导论课件第2章 人工智能程序设计语言.pptx_第2页
第2页 / 共17页
人工智能导论课件第2章 人工智能程序设计语言.pptx_第3页
第3页 / 共17页
人工智能导论课件第2章 人工智能程序设计语言.pptx_第4页
第4页 / 共17页
人工智能导论课件第2章 人工智能程序设计语言.pptx_第5页
第5页 / 共17页
亲,该文档总共17页,到这儿已超出免费预览范围,如果喜欢就下载吧!
资源描述

1、 第2章 人工智能程序设计语言 2.1 概述 2.2 知识工程经典语言PROLOG 2.3 机器学习流行语言Python 2.1 概述 2.1.1 函数型语言 典型的函数型语言如LISP语言。LISP程序由一组函数组成,程序的执行过程就是一系列的函数调用和求值过程。2.1.2 逻辑型语言 典型的如PROLOG语言,在PROLOG程序中一般不需告诉计算机“怎么做”,而只需告诉它“做什么”。因此,PROLOG亦属陈述性语言。2.1.3 面向对象语言 由于面向对象程序设计的类、对象、继承等概念,与人工智能特别是知识表示和知识库产生了天然的联系。因而,面向对象程序设计语言也就成为一种人工智能程序设计语

2、言,流行的如C+、Java语言。2.1.4 计算型语言 就是面向数值计算的程序设计语言。典型的计算型语言如MATLAB。计算型语言属于过程性语言,长于描述算法,而且本身又自带算法库,所以是机器学习的常用编程语言。2.1.5 混合型语言 1.函数型与逻辑型相结合的语言 典型的如LOGLISP、FUNLOG、POPLOG等。2.函数型与面向对象相结合的语言 典型的如Flavors、LOOPS、CommonLoops等。3.逻辑型与面向对象相结合的语言 典型的如SPOOL、Orient、Visual Prolog等。4.计算型与面向对象相结合的语言 典型的如Python。2.2 知识工程经典语言PR

3、OLOG2.2.1 PROLOG的语句1.事实事实(fact)格式 谓词名(项表).功能 一般表示对象的性质或关系。举例:student(john).like(mary,music).abc.repeat.2.规则规则(rule)格式 谓词名(项表):-谓词名(项表),谓词名(项表).功能 一般表示对象间的因果关系、蕴含关系或对应关系。举例:bird(X):-animal(X),has(X,feather).grandfather(X,Y):-father(X,Z),father(Z,Y).run:-start,step1(X),step2(X),end.3.问题问题(question)格式?

4、-谓词名(项表),谓词名(项表).功能表示用户的询问,它就是程序运行的目标。举例:?-student(john).?-like(mary,X).2.2.2 PROLOG的程序 PROLOG程序一般由一组事实、规则和问题组成。举例:likes(bell,sports).likes(mary,music).likes(mary,sports).likes(jane,smith).friend(john,X):-likes(X,reading),likes(X,music).friend(john,X):-likes(X,sports),likes(X,music).?-friend(john,Y)

5、.2.2.3 PROLOG程序的运行机理 (1)自由变量与约束变量自由变量与约束变量 (2)匹配合一匹配合一 两个谓词可匹配合一,是指两个谓词的名相同,参量项的个数相同,参量类型对应相同,并且对应参量项还满足下列条件之一:如果两个都是常量,则必须完全相同。如果两个都是约束变量,则两个约束值必须相同。如果其中一个是常量,一个是约束变量,则约束值与常量必须相同。至少有一个是自由变量。例如:下面的两个谓词 pre1(ob1,ob2,Z).pre1(ob1,X,Y).只有当变量X被约束为“ob2”,且Y、Z的约束值相同或者至少有一个是自由变量时,它们才是匹配合一的。(3)回溯回溯 所谓回溯,就是在程序

6、运行期间,当某一个子目标不能满足(即谓词匹配失败)时,控制就返回到前一个已经满足的子目标(如果存在的话),并撤消其有关变量的约束值,然后再使其重新满足。下面介绍PROLOG程序的运行过程。仍以上面的程序为例。likes(bell,sports).likes(mary,music).likes(mary,sports).likes(jane,smith).friend(john,X):-likes(X,reading),likes(X,music).friend(john,X):-likes(X,sports),likes(X,music).?-friend(john,Y).设所给的询问是?-f

7、riend(john,Y).(john和谁是朋友?)则求解目标为 friend(john,Y).图 2-1 PROLOG程序运行机理图解示例(教 材 的微课视频中有Turbo PROLOG简介)2.3 机器学习流行语言Python 2.3.1 Python语言的特点和优势Python语言是新西兰的Guido van Rossum于1990年创建,现在由一个志愿者团队开发和维护。Python是一个解释型面向对象程序设计语言,也是一种跨平台脚本语言,其程序代码可以在Windows、Linux、Mac OS X等各类操作系统上运行。Python支持网络编程,支持矢量编程,尤其是带有丰富的程序库,诸如

8、开源机器学习算法库scikit-learn,用于自然语言处理的NLTK库,统计数据可视化库seaborn,可用于高效训练图像处理的神经网络单元的Theano库,科学计算的核心库SciPY、NumPY、matplotlib、pandas以及GPU并行库等,使得编程方便快捷,程序运行效率高,功能强大。特别是Python可以使用开源深度学习框架TensorFlow方便地编制深度学习程序。2.3.2 Python程序举例 例程1 求两个整数的最大公约数程序。#这是一个求两个整数的最大公约数的Python程序 i1=eval(input(“输入第一个整数:”)i2=eval(input(“输入第二个整数

9、:”)c=1#设置一个临时计算器c,以存放当前能够整除所给两个整数的那个最大数 d=2#设d为除数,置初值为2 while d=i1 and d=i2:if i1%d=0 and i2%d=0:#判别d是否能整除i1和i2 c=d#用d更新c(if语句结束)d+=1#给d加1,继续循环 gcd=c#循环结束后,将c赋予gcd作为两整数的最大公约数#输出最终结果 if gcd=1:print(i1,“和”,i2,“互质”)else:print(i1,“和”,i2,“的最大公约数是”,gcd)例程2 圆类及实例。from Figures import Circle#从程序文件Figures.py中

10、导入(圆)类Circle def main():#定义主函数main circle1=Circle(1)#生成一个半径默认为1的类Circle的实例对象(圆)circle1 a1=circle1.getArea()#向circle1发消息请求其面积并将返回结果赋给a1 circle2=Circle(2)#生成一个半径为2的类Circle的实例对象(圆)circle2 a2=circle2.getArea()circle3=Circle(3)a3=circle3.getArea()circle4=Circle(4)a4=circle4.getArea()circle5=Circle(5)a5=circle5.getArea()list1=list(a1,a2,a3,a4,a5)#创建一个列表list1#连续输出上面5个圆的半径和面积 for i in range(1,5,1):print(“半径为”,i,”的圆的面积是”,list1i)main()#运行主函数main

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 旅游攻略 > 广东广西

本站链接:文库   一言   我酷   合作


客服QQ:2549714901微博号:文库网官方知乎号:文库网

经营许可证编号: 粤ICP备2021046453号世界地图

文库网官网©版权所有2025营业执照举报