人工智能轨范设计-人工智能轨范设计是什么_谓词_法式
例如:student(john).like(mary,music).abc.repeat。2.规则格式 〈谓词名称〉(〈项目列表〉):-〈谓词名称〉(〈项目列表〉){, 〈谓词名称〉(〈项目列表〉)}。函数一样平常表示工具之间的因果、隐含或对应关系。例如:bird(X):-animal(X),has(X,feather).grandfather(X,Y):-father(X,Z),father(Z,Y).run:-start,step1(X),step2(X),end。3.问题格式 ?-〈谓词名称〉(〈项目列表〉){, 〈谓词名称〉(〈项目列表〉)}。功能性问题表示用户查询,是程序实行的目标。例如:?-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 )。 2.2.3 PROLOG程序的运行机制 (1)自由变量和绑定变量 (2)匹配与统一 两个谓词可以进行匹配和统一,即两个谓词具有相同的名称、相同的参数项个数、对应的参数类型相同,并且对应的参数项还知足下列条件之一: ①如果都是常量,则必须完备相同。
② 如果都是约束变量,则两个约束值必须相同。 ③ 如果一个是常量,另一个是约束变量,则约束值和常量必须相同。 ④ 至少有一个是自由变量。 例如:下面的两个谓词pre1(″ob1″,″ob2″,Z).pre1(″ob1″,X,Y)。只有当变量X被约束为“ob2”,并且Y和Z的约束值相同或至少有一个是自由变量时,才匹配。 (3)回溯PROLOG程序的运行过程。仍以上面的程序为例,假设给定的查询为?-friend(john,Y)。(谁是john的朋友?)那么办理目标便是friend(john,Y)。 图 2-1 PROLOG 程序运行机制图解示例 2.3 盛行的机器学习措辞 Python 2.3.1 Python 措辞的特点和上风 ▪ Python 措辞由新西兰的 Guido van Rossum 于 1990 年创建,现由志愿者团队开拓和掩护。 ▪ Python 是一种阐明型面向工具编程措辞,也是跨平台的脚本措辞,其程序代码可以运行在 Windows、Linux、Mac OS X 等多种操作系统上。 ▪ Python 支持网络编程和向量编程,特殊是具有丰富的程序库,如开源机器学习算法库 scikit-learn、自然措辞处理的 NLTK 库、统计数据可视化库 seaborn、用于图像处理的神经网络单元高效演习的 Theano 库、科学打算的核心库 SciPY、NumPY、matplotlib、pandas、GPU 并行库等,使得编程方便快捷、程序运行效率高、功能强大。
特殊地,Python可以利用开源深度学习框架TensorFlow来轻松编写深度学习程序。 2.3.2 Python程序示例 例1 求两个整数的最大公约数。 #这是一个求两个整数最大公约数的Python程序si1=eval(input("请输入第一个整数:")) i2=eval(input("请输入第二个整数:")) c=1 #设置一个临时打算器c,用于存储当前可以整除两个给定整数的最大数d=2 #将d设为除数,并设置初值为2 while d=i1 and d=i2:if i1%d==0 and i2%d==0:#判断d能否整除i1 and i2c=d #更新cd +=1#将d加1,连续循环gcd=c #循环结束后,将c赋给gcd,作为两个整数的最大公约数#输出终极结果if gcd==1:print(i1, "and", i2, "mutually prime") else:print(i1, "and", i2, "The greatest common divisor is", gcd) 示例2 循环 class and examplefrom Figures import Circle#从程序文件Figures.py中导入Circle类def main():#定义主函数circle1=Circle(1)#天生类Circle的实例工具(圆),默认半径为1circle1 a1=circle1.getArea()#向circle1发送,要求其面积,并将返回结果赋值给a1circle2=Circle(2)#天生类Circle的实例工具(圆),半径为2a2=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,"的圆的面积为",list1[i]) main()#运行主函数main
本文系作者个人观点,不代表本站立场,转载请注明出处!