- 1、本文档共77页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
中山大学人工智能Prolog语言(耐心看完_你就入门了)摘要
string: 用双引号括起来的字符序列 例:“I am from Nanjing” symbol:有两种形式: 以小写字母开头的字母、数字和下划线组成的序列 用双引号括起来的字符串序列 Prolog中表示成下列形式: integerlist = integer * “integer” 说明表中元素的类型 “* ” 告诉编译系统,这是一张表 表: 例 domains title , author = symbol pages = integer 注:每一个说明的最后无句号 “ . ” 谓词段(predicates) 说明用户自己定义的谓词 说明谓词变元的域 谓词名: 由小写字母开头,由字母、数字和下划线组成(标识符原子) 谓词变元的类型 标准域 域段中说明的其它域 例: domains person = symbol predicates father(person) 或者 father(symbol) alphabet_position(char, integer) 谓词后面无句号 “ . ” 子句段(clauses) 由事实与规则组成 说明: 每一个事实或规则后面必须有句号“ . ” 例: clauses likes(tom, football). classify(X, negative):- X0. classify(X, positive):- X0. 目标段(goal) 必须书写一个目标段,作为源码的一部分(内部目标) 外部目标 例 goal likes(tom, X). 注释: 多行注释:/* …… */ (C/C++中采用的符号) 单行注释:% (Matlab中采用的符号) Visual Prolog 程序的基本结构: domains ……(说明变量类型,无句号) predicates ….. (说明谓词,无句号) clauses ….. (程序段,必须有句号) goal …… (目标或问题,必须有句号) 3 例子 注意: 这两部分不能颠倒。必须前提部分写在前面,问题部分写在后面 likes(m, f). likes(m, w). (事实) likes(j, w). likes(j, s). goal likes(m, X), likes(j, X). (问题) 问题:是否 m 和 j 都喜欢什么东西?( X = ? ) f w s m j Prolog的求解过程 现在有两个问题:likes(m, X) 和 likes(j, X)) 第一步:第一个问题 likes(m, X) 去与事实匹配(置换与合一),按顺序得到 {f/X} likes(m, f). likes(m, w). likes(j, w). likes(j, s). 第二步:f 代替第二个问题 likes(j, X) 中的 X,则得 likes(j, f) 。再与事实匹配,不能匹配,失败,则回溯,忘掉刚才的匹配 likes(m, f). likes(m, w). likes(j, w). likes(j, s). likes(m, X) likes(j, X) 第三步:回到第一个问题 likes(m, X) ,重新匹配,得到 { w / X} 第四步:第二个问题变成 likes(j, w)。再与事实匹配,成功 第五步:答案就是 X=w likes(m, f). likes(m, w). likes(j, w). likes(j, s). likes(m, X) likes(j, X) 说明: 实际运行中,要逐个试探(有哪些信誉好的足球投注网站),失败则要回溯,成功也要回溯(求出所有解) 例: father(a, b). a是b的父亲 father(c, d). brother(a, c). a与c是兄弟关系 uncle(X, Y) :- brother(X, Z), father(Z, Y). ?- uncle(a, U). 问题: a 是谁的叔叔 ? ( U = ? ) 第一步:问题 uncle(a,U) 与事实逐个匹配,不成功 Prolog的求解过程: father(a, b). father(c, d). brother(a, c). 第二步:与规则头(左部)匹配,即寻找合一者,有 {a/X, U/Y} 转化为两个子问题:brother(a, Z)和father(Z, U) uncle(X, Y) :- brother(X, Z) , father(Z, Y). uncle(a,U) 第一
您可能关注的文档
- 汉语言文学专业《古代汉语专题》剖析.ppt
- 汉语言文学剖析.doc
- 汉语言文学毕业论文剖析.doc
- 汉语语法史剖析.ppt
- 汉语言文学复习剖析一剖析.doc
- 汉阴县凤凰大道东延桥梁改扩...施组剖析.doc
- 汉语语法知识结构图剖析.ppt
- 汉语语法知识短语练习剖析.ppt
- 中小学教师职业道德复习摘要.doc
- 汗液的形成和排出剖析.ppt
- 2023-2024学年广东省深圳市龙岗区高二(上)期末物理试卷(含答案).pdf
- 2023-2024学年贵州省贵阳市普通中学高一(下)期末物理试卷(含答案).pdf
- 21.《大自然的声音》课件(共45张PPT).pptx
- 2023年江西省吉安市吉安县小升初数学试卷(含答案).pdf
- 2024-2025学年广东省清远市九校联考高一(上)期中物理试卷(含答案).pdf
- 广东省珠海市六校联考2024-2025学年高二上学期11月期中考试语文试题.pdf
- 2024-2025学年语文六年级上册第4单元-单元素养测试(含答案).pdf
- 2024-2025学年重庆八中高三(上)月考物理试卷(10月份)(含答案).pdf
- 安徽省安庆市潜山市北片学校联考2024-2025学年七年级上学期期中生物学试题(含答案).pdf
- 贵州省部分校2024-2025学年九年级上学期期中联考数学试题(含答案).pdf
文档评论(0)