搜索
    上传资料 赚现金
    英语朗读宝

    2.6 Prolog语言 课件

    2.6 Prolog语言 课件第1页
    2.6 Prolog语言 课件第2页
    2.6 Prolog语言 课件第3页
    2.6 Prolog语言 课件第4页
    2.6 Prolog语言 课件第5页
    2.6 Prolog语言 课件第6页
    2.6 Prolog语言 课件第7页
    2.6 Prolog语言 课件第8页
    还剩15页未读, 继续阅读
    下载需要20学贝 1学贝=0.1元
    使用下载券免费下载
    加入资料篮
    立即下载

    2.6 Prolog语言 课件

    展开

    Prolog 语言 人工智能技术需要用计算机软件去实现,因此,我们需要学习人工智能程序设计语言和方法。本节我们将学习一种人工智能语言——Prolog语言,以及如何利用这种语言去解决一些简单问题。1初识Prolog语言 Prolog是1972年开发的通用程序设计语言。下面是一个Prolog语言的程序段,其中包括有陈述性和控制性知识,你能看懂各条语句的意义吗?fruit(pears).fruit(apples).color(pears,yellow).color(oranges,orange).color(apples,yellow).color(apples,red).likes(bill,pears).likes(bill,popcorn).likes(bill,apples)./*pears、apples被声明为fruit(水果)*//*描述pears、oranges、apples这几种水果的颜色*//*描述bill喜欢pears、apples、popcorn(爆玉米花)*/例1:Prolog语言程序段likes(tom,X):- likes(bill,X), fruit(X), color(X,red).likes(tom,X):- likes(bill,X), X=popcorn./*此语句描述tom喜欢X的三个条件:*//*1)X必须是bill喜欢的 *//*2)X必须是fruit *//*3)而X这种水果是红色的 *//*此语句描述tom喜欢X的两个条件:*//*1)X必须是bill喜欢的 *//*2)X必须是popcorn(爆玉米花) */2prolog语言的三种基本语句1.事实事实即已知的要素,如例1中的语句:fruit(apples).color(apples,red).likes(bill,pears). 这些语句在Prolog语言中我们称为事实,事实是用来说明一个问题中已知对象和它们之间关系的语句。在Prolog程序中,事实由谓词(或称为关系)名和它后面用括号括起来的一个或几个对象组成。谓词和对象可由用户自己定义,并选择不同的名字,事实是逻辑推理的前提。 如语句fruit(apples)中的谓词为fruit,表示apples是一种水果,又如语句likes(bill,pears)中,谓词为likes,表示bill和pears之间有喜欢的关系。bill和pears在上述程序中属对象。 事实的一般形式为: p(o1,o2,…,on). P为谓词名,一般由小写英文字母开头的字母、数字、下划线等组成的字符串。括号内o1,o2,…,由若干对象(变元及常量)构成,事实后面用“.”结束。 事实句型的成立不依赖于其他的目标,事实句型恒为真。2.规则规则即从已知事实进行推断。likes(tom,X):- likes(bill,X)./*tom喜欢bill喜欢的一切东西*/likes(tom,X):- likes(bill,X), X=popcorn./*若bill喜欢的一种东西,而这种东西是爆玉米花的话*//*那么tom也喜欢爆玉米花 */likes(tom,X):- likes(bill,X); X=popcorn./*tom除了喜欢bill喜欢的一切东西,还喜欢爆玉米花*/ 这些语句在Prolog中我们称为规则,规则由几个互相有依赖性的简单句(谓词)组成,用来描述事实之间的关系。从形式上看,规则可分解为表示条件的前提谓词和表示结论的后件谓词。 规则和事实在Prolog中被称为谓词子句(clause),子句的集合称为Prolog的内部数据或知识库。Prolog系统的任务就是依据知识(规则和事实)来回答用户问题,使用事实和规则及提供的推理方法从一些事实推出另一些事实。3.询问 把事实和规则写进Prolog程序后,就可以通过Prolog询问有关问题,要求Prolog系统在给定目标(goal)的情况下求解问题。询问语句(或称目标语句)的一般格式为:goal 一个简单谓词或多个谓词组合3Prolog程序的基本结构 语言程序都有自己的基本结构,Prolog语言程序的基本结构由四段组成: domains段:定义程序中将要用到的变量和符号的类型及取值范围。 predicates段:定义程序中用到的谓词,一般用nondeterm来规定输入和输出对象。 clauses段:存放事实和规则。 goal段:定义程序的目标,它是程序运行的起点。4Prolog语言内部谓词 电话是人们日常生活中必不可少的通信方式,电话号码簿的查询功能给人们带来许多方便,下面我们来看看Prolog电话号码查询程序。Prolog语言电话号码查询程序 对大多数程序来说,运行时从键盘上输入有关数据、信息和显示输出有关数据、信息是必不可少的。为此Visual Prolog语言提供了专门的输入输出内部谓词,供用户直接调用。 (1)write(X1,X2,…,Xn) 该谓词的功能是把项X1的值显示在屏幕上。 (2)n1 该谓词的功能是换行,它使后面的输出(如果有的话)另起一行。 (3)readln(X) 该谓词的功能是从键盘上读取一个字符串,然后约束给变量X。 (4)readint(X) 该谓词的功能是从键盘上读取一个整数,然后约束给变量X,如果键盘上输入的不是整数,则该谓词失败。 (5)readreal(X) 该谓词的功能是从键盘上读取一个实数,然后约束给变量X,如果键盘上输入的不是实数,则该谓词失败。 (6)readchar(X) 该谓词的功能是从键盘上读取一个字符,然后约束给变量X,如果键盘上输入的不是单个字符,则该谓词失败。 对于其他的内部谓词,如需要引用时,可以从Prolog语言的说明书中找到。5Prolog语言的特点 Prolog语言具有以下特点: (1)在Prolog程序中,仅含有事实、规则及询问语句,强调的是它们之间的逻辑关系,不要求给出求解问题的步骤,因而Prolog被看作是一种描述性的语言。 (2)Prolog语言具有自动实现搜索、模式匹配及回溯的功能,从而实现了自动逻辑推理。 (3)Prolog的数据和程序结构统一。 (4)递归是Prolog的一个重要特征,它反映在程序及数据结构中。由于这一特征,使得Prolog可把一个大的数据结构作为一个小的程序来处理。

    欢迎来到教习网
    • 900万优选资源,让备课更轻松
    • 600万优选试题,支持自由组卷
    • 高质量可编辑,日均更新2000+
    • 百万教师选择,专业更值得信赖
    微信扫码注册
    qrcode
    二维码已过期
    刷新

    微信扫码,快速注册

    手机号注册
    手机号码

    手机号格式错误

    手机验证码 获取验证码

    手机验证码已经成功发送,5分钟内有效

    设置密码

    6-20个字符,数字、字母或符号

    注册即视为同意教习网「注册协议」「隐私条款」
    QQ注册
    手机号注册
    微信注册

    注册成功

    返回
    顶部
    Baidu
    map