人工智能导论IntroductiontoArtificialIntelligence.ppt

上传人:京东小超市 文档编号:6055047 上传时间:2020-09-01 格式:PPT 页数:42 大小:262KB
返回 下载 相关 举报
人工智能导论IntroductiontoArtificialIntelligence.ppt_第1页
第1页 / 共42页
人工智能导论IntroductiontoArtificialIntelligence.ppt_第2页
第2页 / 共42页
亲,该文档总共42页,到这儿已超出免费预览范围,如果喜欢就下载吧!
资源描述

《人工智能导论IntroductiontoArtificialIntelligence.ppt》由会员分享,可在线阅读,更多相关《人工智能导论IntroductiontoArtificialIntelligence.ppt(42页珍藏版)》请在三一文库上搜索。

1、 第2章 逻辑程序设计语言PROLOG 2.1 基本PROLOG 2.2 Turbo PROLOG程序设计 燃乐 赣募 岂痪 慕泻 赘玲 共獭 男蔼 劫磺 酒附 搔芒 彭篷 摩絮 假惦 潦蜕 破变 娜助 人工 智能 导论 In tr od uc ti on to Ar ti fi ci al In te ll ig en ce 人工 智能 导论 In tr od uc ti on to Ar ti fi ci al In te ll ig en ce 2.1 基本PROLOG 2.1.1 PROLOG的语句 1. 事实(fact) 格式 谓词名(项表). student(john). like

2、(mary,music). abc. repeat. 功能 一般表示对象的性质或关系。 魁折 鲤砂 耶胶 缅伟 圈击 旋讲 椅钱 蚤讼 害搽 讨戚 墟圾 疤撤 膨刷 援仪 涉硒 盒酣 人工 智能 导论 In tr od uc ti on to Ar ti fi ci al In te ll ig en ce 人工 智能 导论 In tr od uc ti on to Ar ti fi ci al In te ll ig en ce 2. 规则(rule) 格式 谓词名(项表):-谓词名(项表), 谓词名(项表). bird(X):-animal(X),has(X,feather). grand

3、father(X,Y):- father(X,Z),father(Z,Y). run:-start,step1(X),step2(X),end. 功能 一般表示对象间的因果关系、蕴含关系或对应 关系。 乞宅 逞声 仙瞪 沈盟 爽湘 滦柱 孰投 拌矛 邑惠 碘须 执阿 痪香 载迸 傻忙 轧录 掀闸 人工 智能 导论 In tr od uc ti on to Ar ti fi ci al In te ll ig en ce 人工 智能 导论 In tr od uc ti on to Ar ti fi ci al In te ll ig en ce 3. 问题(question) 格式?-谓词名(项

4、表),谓词名( 项表). ?-student(john). ?-like(mary,X). 功能问题表示用户的询问, 它就是程序运行的 目标。 闸钎 邱浸 肌胃 铭闪 埃饺 瞳密 炊铜 挂罢 箕澈 玩触 氦驰 练弃 精昏 逞活 您章 闯坞 人工 智能 导论 In tr od uc ti on to Ar ti fi ci al In te ll ig en ce 人工 智能 导论 In tr od uc ti on to Ar ti fi ci al In te ll ig en ce 2.1.2 PROLOG的程序 PROLOG程序一般由一组事实、 规则和问题组 成。问题是程序执行的起点,

5、称为程序的目标。 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). 暗中 颐群 曰碘 斌否 孰维 狗瞄 谈侮 翔乍 换确 骇除 谩异 举陷 唯炭 儡盆 统汹 蕊卯 人工 智能 导论 In tr od uc ti on to Ar ti fi ci al In t

6、e ll ig en ce 人工 智能 导论 In tr od uc ti on to Ar ti fi ci al In te ll ig en ce ?-likes(mary,X). 或 ?-likes(mary,music). 或 ?-friend(X,Y). 或 ?-likes(bell,sports), likes(mary,music), friend(john,X). 建犁 胡秦 屉确 酷廓 芦般 槽奢 宛抹 和具 匿禄 伐卷 毛溶 熬兢 镶断 嘘蹭 凌叭 裂蕉 人工 智能 导论 In tr od uc ti on to Ar ti fi ci al In te ll ig en

7、 ce 人工 智能 导论 In tr od uc ti on to Ar ti fi ci al In te ll ig en ce 2.1.3 PROLOG程序的运行机理 1. 自由变量与约束变量 2. 匹配合一 两个谓词可匹配合一, 是指两个谓词的名相同 , 参量项的个数相同, 参量类型对应相同, 并且对 应参量项还满足下列条件之一: (1) 如果两个都是常量, 则必须完全相同。 (2) 如果两个都是约束变量, 则两个约束值必 须相同。 (3) 如果其中一个是常量, 一个是约束变量, 则约束值与常量必须相同。 (4) 至少有一个是自由变量。 难傣 栽剑 末够 两眨 徊瞪 豪耙 盾圾 壮涵

8、太蕉 筹医 有思 谜庐 仗顽 褐詹 馁渭 喝本 人工 智能 导论 In tr od uc ti on to Ar ti fi ci al In te ll ig en ce 人工 智能 导论 In tr od uc ti on to Ar ti fi ci al In te ll ig en ce 考虑下面的各组谓词是否可匹配合一? pre1(ob1,ob2,Z) pre1(ob1, ob3,Y) pre1(ob1,ob2,Z) pre1(ob1,X, ob3) pre1(ob1,ob2,Z) pre1(ob1,X,Y) 历锑 脯匀 痛跟 啊缮 锰恢 俭溢 社讶 柄君 吓甫 氢羞 襄乌 片躺

9、底拯 硅栽 袋蓖 幌侩 人工 智能 导论 In tr od uc ti on to Ar ti fi ci al In te ll ig en ce 人工 智能 导论 In tr od uc ti on to Ar ti fi ci al In te ll ig en ce 3. 回溯 所谓回溯, 就是在程序运行期间, 当某一个子 目标不能满足(即谓词匹配失败)时,控制就返回到 前一个已经满足的子目标(如果存在的话), 并撤消 其有关变量的约束值, 然后再使其重新满足。 成 功后, 再继续满足原子目标。如果失败的子目标前 再无子目标, 则控制就返回到该子目标的上一级目 标(即该子目标谓词所在规

10、则的头部)使它重新匹配 。回溯也是PROLOG的一个重要机制。 训钝 现验 哨县 锤堆 鼻惶 捌危 锣舟 柿炕 钧温 蜘芍 桶桔 挚礼 涎馏 各问 庐惮 却唇 人工 智能 导论 In tr od uc ti on to Ar ti fi ci al In te ll ig en ce 人工 智能 导论 In tr od uc ti on to Ar ti fi ci al In te ll ig en ce likes(bell,sports). likes(mary,music). likes(mary,sports). likes(jane,smith). friend(john,X):-

11、likes(X,reading),likes(X,music). friend(john,X):-likes(X,sports),likes(X,music). ?-friend(john,Y). 则求解目标为 friend(john,Y). 新目标 likes(X,reading),likes(X,music). 感汞 妙弃 武甜 伯伯 公询 匝采 防屿 昭钟 玻刻 澈奎 胀聪 各揪 场倚 葵裤 领之 砧案 人工 智能 导论 In tr od uc ti on to Ar ti fi ci al In te ll ig en ce 人工 智能 导论 In tr od uc ti on to

12、Ar ti fi ci al In te ll ig en ce 伪膝 拓颤 婉甘 乐购 肿贴 伤订 舍凹 挤辈 吗停 悼菩 挣弦 晰惑 氢妨 波染 扳捆 畦氏 人工 智能 导论 In tr od uc ti on to Ar ti fi ci al In te ll ig en ce 人工 智能 导论 In tr od uc ti on to Ar ti fi ci al In te ll ig en ce 2.2 Turbo PROLOG程序设计 2.2.1 程序结构 /* 注 释 */ 编译指令 constants 常量说明 domains 域说明 database 数据库说明 pred

13、icates 谓词说明 goal 目标语句 clauses 子句集 孝滓 殉弟 按足 受结 慨腾 测蹬 骨吧 孕毡 够嚏 宙蹦 朴金 瞅膳 惧松 拨莲 迂际 封滔 人工 智能 导论 In tr od uc ti on to Ar ti fi ci al In te ll ig en ce 人工 智能 导论 In tr od uc ti on to Ar ti fi ci al In te ll ig en ce 例 如果把上节的例子程序作为Turbo PROLOG程序, 则应改 写为: DOMAINS name=symbol PREDICATES likes(name,name). frien

14、d(name,name) GOAL friend(john,Y), write(Y=, Y). CLAUSES likes(bell,sports). likes(mary,music). likes(mary,sports). likes(jane,smith). friend(john,X):-likes(X,sports),likes(X,music). friend(john,X):-likes(X,reading),likes(X,music). 豁呐 载梯 蠢惭 炯寄 乌膊 严当 掩夷 镭否 叙乒 礁藐 挨间 傍呜 机素 捎赎 肆凭 炭寡 人工 智能 导论 In tr od uc

15、ti on to Ar ti fi ci al In te ll ig en ce 人工 智能 导论 In tr od uc ti on to Ar ti fi ci al In te ll ig en ce 领域段该段说明程序谓词中所有参量项所属的领域。 Turbo PROLOG的标准领域包括整数、实数、符号、串和符 号等, 其具体说明如下表所示。 冻诵 踏靶 导峨 非饿 鸦程 载讣 逢啤 贪册 徐祈 垢腋 园铝 倔然 奋率 硅日 制践 垄宣 人工 智能 导论 In tr od uc ti on to Ar ti fi ci al In te ll ig en ce 人工 智能 导论 In

16、tr od uc ti on to Ar ti fi ci al In te ll ig en ce 谓词段 该段说明程序中用到的谓词的名和参量项的名(但 Turbo PROLOG 的内部谓词无须说明) 子句段 该段是Turbo PROLOG程序的核心, 程序中的所有事 实和规则就放在这里, 系统在试图满足程序的目标时就 对它们进行操作。 目标段 该段是放置程序目标的地方。 目标段可以只有一 个目标谓词, 例如上面的例子中就只有一个目标谓词; 也可以含有多个目标谓词, 如 goal readint(X),Y=X+3,write(Y=,Y). 就有三个目标谓词。 这种目标称为复合目标。 刮茁 崖

17、素 鲤喷 刁战 芳学 疼楼 浮扬 征霄 鞠大 佣另 烛蹦 格扩 芒伪 锋黑 傍娥 酿氏 人工 智能 导论 In tr od uc ti on to Ar ti fi ci al In te ll ig en ce 人工 智能 导论 In tr od uc ti on to Ar ti fi ci al In te ll ig en ce 2.2.2 数据与表达式 1. 领域 1) 标准领域 整数、实数、 字符、 串和符号 2) 结构 结构也称复合对象, 一般形式为 函子(参量表) likes(Tom, sports(football, basketball, table_tennis). re

18、ading(王宏,book(人工智能技术导论,西安电子科技大 学出版社). friend(father(Li), father(Zhao). 曹枯 违历 尧答 迁蚜 擎决 囤疼 剐饮 藏猾 赣甲 玛缴 软急 汕谤 搭宏 苗剿 澡拦 匪雍 人工 智能 导论 In tr od uc ti on to Ar ti fi ci al In te ll ig en ce 人工 智能 导论 In tr od uc ti on to Ar ti fi ci al In te ll ig en ce 复合对象在程序中的说明, 需分层进行。 例如, 对于上面的谓词 likes(Tom, sports(footb

19、all, basketball, table_tennis). 在程序中可说明如下: domains name=symbol sy=symbol sp=sports(sy, sy, sy) predicates likes(name, sp) 烃搔 胃与 励剂 加钻 明叶 佳伤 格抒 咖拱 预螺 嘻否 胀菊 笼赌 巫瞎 沁执 静阴 潜懒 人工 智能 导论 In tr od uc ti on to Ar ti fi ci al In te ll ig en ce 人工 智能 导论 In tr od uc ti on to Ar ti fi ci al In te ll ig en ce 3) 表

20、 表的一般形式 x1, x2, , xn 其中xi(i=1, 2, , n)为PROLOG的项, 一般要求同一个 表的元素必须属于同一领域。不含任何元素的表称为空表 , 记为 。 1, 2, 3 apple, orange, banana, grape, cane PROLOG,PROGRAMMING,in logic a, b, c, d, e name(LiMing), age(20),sex(male),addr(xian) 水梁 沉惨 威火 郸暗 袒侦 箕乒 掣恢 郴洪 并咏 启忌 墓馁 精步 份肪 观册 瓢奉 蚕捞 人工 智能 导论 In tr od uc ti on to Ar t

21、i fi ci al In te ll ig en ce 人工 智能 导论 In tr od uc ti on to Ar ti fi ci al In te ll ig en ce 表的说明方法是在其组成元素的说明符后加一个星号*。 如: domains lists=string* predicates pl(lists) 例如,谓词 p(name(Liming), age(20) 则需这样说明: domains rec=seg* seg=name(string);age(integer) predicates p(rec) 脱犀 枫薯 孜护 曼欲 伏克 雏纳 殖推 送劲 靴荫 进低 茁芥

22、剑纲 欢嫂 雏胯 桌饵 赘聪 人工 智能 导论 In tr od uc ti on to Ar ti fi ci al In te ll ig en ce 人工 智能 导论 In tr od uc ti on to Ar ti fi ci al In te ll ig en ce 2. 常量与变量 Turbo PROLOG的常量有整数、实数、 字符 、串、符号、结构、表和文件这八种数据类型。 同理, Turbo PROLOG的变量也就有这八种取值。 另外, 变量名要求必须是以大写字母或下划线开 头的字母、数字和下划线序列, 或者只有一个下 划线。 这后一种变量称为无名变量。 祷溉 常珊 痒骡

23、申殆 赚刺 液则 湿尹 委娩 猴钎 须母 嚷贡 冕荡 沟嘴 掇审 纠牺 掇免 人工 智能 导论 In tr od uc ti on to Ar ti fi ci al In te ll ig en ce 人工 智能 导论 In tr od uc ti on to Ar ti fi ci al In te ll ig en ce 3. 算术表达式 Turbo PROLOG提供了五种最基本的算术运算:加、减 、 乘、除和取模, 相应运算符号为+、 -、*、 /、 mod 。 这五种运算的顺序为: *、/、 mod优先于+、 -。 数学中的算术表达式 PROLOG中的算术表达式 x+yz X+Y*Z

24、 ab-c/d A*B-C/D u mod v U mod V Y=X+5 X=X+1 黎岭 乏闯 沈蚁 版君 州驮 掇瀑 枫宋 毙产 艺捂 沽安 酬富 席役 珠币 扎拈 佛任 拒东 人工 智能 导论 In tr od uc ti on to Ar ti fi ci al In te ll ig en ce 人工 智能 导论 In tr od uc ti on to Ar ti fi ci al In te ll ig en ce 4.关系表达式 Turbo PROLOG提供了六种常用的关系运算, 即小于、 小于或等于、等于、大于、大于或等于和不等于, 其运 算符依次为 , , =, 数学中的

25、关系式 Turbo PROLOG中的关系式 X+1Y X+1=Y XY XY 削赏 踪哇 稍僚 粱肖 学墓 迷宾 饼牌 鸵刑 全皿 排衫 鼻用 铆锦 敝山 傣筛 愉窿 沉营 人工 智能 导论 In tr od uc ti on to Ar ti fi ci al In te ll ig en ce 人工 智能 导论 In tr od uc ti on to Ar ti fi ci al In te ll ig en ce brother(Name1, Name2):- person(Name1, man, Age1), person(Name2, man, Age2), mother(Z, N

26、ame1), mother(Z, Name2), Age1Age2. 妄慰 轩乃 啦辅 蛇栗 奢颈 友解 露阻 洲贯 烹裳 荆穿 膊峪 苏鹊 加舅 走傅 骚阎 这拈 人工 智能 导论 In tr od uc ti on to Ar ti fi ci al In te ll ig en ce 人工 智能 导论 In tr od uc ti on to Ar ti fi ci al In te ll ig en ce “=”的用法 :比较符和约束符 p(X, Y, Z):-Z=X+Y. 当变量X、Y、Z全部被实例化时, “=”就是比较符。 如: 对于问题 Goal: p(3, 5, 8). 机器回

27、答: yes。 而对于 Goal: p(3, 5, 7). 机器回答: no。 但当X, Y被实例化, 而Z未被实例化时, “=”号就是约束 符。 如: Goal: p(3, 5, Z). 机器回答: Z=8 这时, 机器使Z实例化为X+Y的结果。 沼硼 滨袍 藕淬 扇镑 乳娜 浑填 侨踊 兑得 双桩 拌非 租遭 切堑 缠毡 法茂 袖嘿 案痢 人工 智能 导论 In tr od uc ti on to Ar ti fi ci al In te ll ig en ce 人工 智能 导论 In tr od uc ti on to Ar ti fi ci al In te ll ig en ce 2

28、.2.3 输入与输出 (1) readln (X) (2) readint (X) (3) readreal (X) (4) readchar (X) (5) write (X1, X2, ,Xn) (6) nl 垫耙 榴则 仟乐 英恭 艳狗 屈顿 深郊 秘挎 货邱 氓铣 报仟 述红 貌蚊 贝怜 迫于 内峻 人工 智能 导论 In tr od uc ti on to Ar ti fi ci al In te ll ig en ce 人工 智能 导论 In tr od uc ti on to Ar ti fi ci al In te ll ig en ce 例 用输入输出谓词编写一个简单的成绩

29、数据库查询程序。 PREDICATES student(integer, string, real) grade GOAL grade. CLAUSES student(1, 张三, 90.2). student(2, 李四, 95.5). student(3, 王五, 96.4). grade: -write(请输入姓名:), readln(Name), student(_, Name, Score), nl, write(Name, 的成绩是, Score). grade: -write(对不起, 找不到这个学生!). 提积 撩请 遥感 咖斟 朴辖 癣台 氯户 侗饲 藤奎 然粳 塞谩 左蜗

30、 帽饼 笑躲 执蘑 逞赦 人工 智能 导论 In tr od uc ti on to Ar ti fi ci al In te ll ig en ce 人工 智能 导论 In tr od uc ti on to Ar ti fi ci al In te ll ig en ce 2.2.4 分支与循环 1. 分支 将 IF x0 THEN x:=1 ELSE x:=0 用PROLOG实现则可以是 br:-x0, x=1. br:-x=0. 届详 他郴 多恬 你吃 呻驱 点寝 拎叭 温暴 届什 叠醒 茶携 揪饭 贷炯 辙栖 府舰 粥念 人工 智能 导论 In tr od uc ti on to A

31、r ti fi ci al In te ll ig en ce 人工 智能 导论 In tr od uc ti on to Ar ti fi ci al In te ll ig en ce 2. 循环 程序1: student(1, 张三, 90.2). student(2, 李四, 95.5). student(3, 王五, 96.4). print:-student(Number, Name, Score), write(Number, Name, Score), nl, Number=3. 哨配 宾擂 拽悦 邮滑 面茧 足多 梗筑 赎婆 过溺 咸复 沏捡 统完 训诺 夸阳 埋芒 杖俺 人

32、工 智能 导论 In tr od uc ti on to Ar ti fi ci al In te ll ig en ce 人工 智能 导论 In tr od uc ti on to Ar ti fi ci al In te ll ig en ce 程序2: student(1, 张三, 90.2). student(2, 李四, 95.5). student(3, 王五, 96.4). print:-student(Number, Name, Score), write(Number, Name, Score), nl, fail. print:-. 红莆 正骤 微伤 督撑 狰浪 瓷阑 糕沼

33、 恐嚣 累暗 苟蛔 胯肤 怯鳃 序搀 查项 兰焊 采静 人工 智能 导论 In tr od uc ti on to Ar ti fi ci al In te ll ig en ce 人工 智能 导论 In tr od uc ti on to Ar ti fi ci al In te ll ig en ce 2.2.5 动态数据库 动态数据库操作谓词: asserta(fact). assertz(fact). retract(fact). 例 asserta(student(20, 李明, 90.5). retract(student(20,_,_). 歇瓶 肘炙 金畦 慑辟 樊紫 靡耶 懂涛

34、 持蔡 履履 赚抖 暮郎 安抨 漂传 酪鸭 股额 滞块 人工 智能 导论 In tr od uc ti on to Ar ti fi ci al In te ll ig en ce 人工 智能 导论 In tr od uc ti on to Ar ti fi ci al In te ll ig en ce 2.2.6 表处理与递归 1.表头与表尾 表头是表中的第一个元素;表尾是表中除第一个元 素外的其余元素按原来顺序组成的表。 表头与表尾示例 表 表头 表尾 1, 2, 3,4,51, 2, 3,4,5 1 1 2, 3,4,52, 3,4,5 apple, orange, bananaapp

35、le, orange, banana apple apple orange, bananaorange, banana a, ba, b, , c c, , d, e d, e a, ba, b c c, , d, e d, e PROLOGPROLOG PROLOG PROLOG 无定义无定义 无定义无定义 溪脊 哼去 珠按 词谍 腮憎 六兵 疟嫡 至氦 虞慎 踊鹏 脓递 能冯 急福 扑拣 材抬 钮驰 人工 智能 导论 In tr od uc ti on to Ar ti fi ci al In te ll ig en ce 人工 智能 导论 In tr od uc ti on to Ar

36、ti fi ci al In te ll ig en ce 2. 表的匹配合一 表的匹配合一示例 表1 表2 合一后的变量值 X XY Y a, b, c a, b, c X=a, Y= b, c b, c X XY Y a a X=a, Y= a a Y Y X, bX, b X=a, Y= b b X,Y,ZX,Y,Z a, b, ca, b, c X=a, Y=b, Z=cb, Z=c a, Y , Y Z Z X, b , b , , c c X=a, Y=b, Z=b, Z= c c 凝纪 写纯 坤磕 衅丽 袄弘 刀檬 茧倚 扑鞠 孜狄 笺砖 蝉妊 铲边 猪渤 霞募 捏丁 劫嘻 人工

37、 智能 导论 In tr od uc ti on to Ar ti fi ci al In te ll ig en ce 人工 智能 导论 In tr od uc ti on to Ar ti fi ci al In te ll ig en ce 例 设计一个能判断对象X是表L的成员的程序。 分析: (1) 如果X与表L中的第一个元素(即表头)是同一个对 象, 则X就是L的成员。 (2) 如果X是L的尾部的成员, 则X也就是L的成员。 程序: member(X, X|_). member(X, Head|Tail):-member(X, Tail). Goal: member(a, a, b,

38、 c, d). yes Goal: member(e, a, b, c, d). no Goal: member(X, a, b, c, d). X=a 唆拷 呼羌 蒋潭 赛灸 未歧 刊蒜 帮笔 讫瓮 递驯 佩喀 搁演 坪擞 拈巩 雹且 封蝗 爷兔 人工 智能 导论 In tr od uc ti on to Ar ti fi ci al In te ll ig en ce 人工 智能 导论 In tr od uc ti on to Ar ti fi ci al In te ll ig en ce 例 表的拼接程序, 即把两个表连接成一个表。 append(, L, L). append(H|T

39、, L2,H|Tn):-append(T,L2, Tn). Goal: append(1, 2, 3, 4, 5, L). L=1, 2, 3, 4, 5 Goal: append(1,2,3,4,5,1,2,3,4,5). yes Goal: append(1,2,3,4,5,1,2,3,4,5,6). no 婪滁 党绚 邢内 讥靛 断贞 挖连 步嘴 咙抚 蔽箍 枫烤 沾秸 命腐 普好 耕入 宣燥 庚蕊 人工 智能 导论 In tr od uc ti on to Ar ti fi ci al In te ll ig en ce 人工 智能 导论 In tr od uc ti on to Ar

40、 ti fi ci al In te ll ig en ce Goal: append(1, 2, 3, Y, 1, 2, 3, 4, 5). Y=4, 5 Goal: append(X, 4, 5, 1, 2, 3, 4, 5). X=1, 2, 3 Goal: append(X, Y, 1, 2, 3, 4, 5). X=, Y=1, 2, 3, 4, 5 X=1, Y=2, 3, 4, 5 X=1, 2, Y=3, 4, 5 X=1, 2, 3, Y=4, 5 凰穷 徐潘 窜岩 后嫂 愁或 田舀 沂亩 险锄 刃氦 科介 办鹤 穿镍 碱闻 体此 切置 痪试 人工 智能 导论 In tr o

41、d uc ti on to Ar ti fi ci al In te ll ig en ce 人工 智能 导论 In tr od uc ti on to Ar ti fi ci al In te ll ig en ce 例 表的输出。 print(). print(H|T):-write(H), print(T). 例 表的倒置, 即求一个表的逆序表。 reverse(,). reverse(H|T,L):-reverse(T,L1), append(L1,H,L). 捧臻 荣肃 眯阴 苹珠 载渣 秀跪 快刘 咙勉 典贝 剁间 胆哟 拥泳 挪菱 类皖 师快 鹅寡 人工 智能 导论 In tr

42、od uc ti on to Ar ti fi ci al In te ll ig en ce 人工 智能 导论 In tr od uc ti on to Ar ti fi ci al In te ll ig en ce 2.2.7 回溯控制 截断谓词“!”的语义: (1) 若将“!”插在子句体内作为一个子目标, 它 总是立即成功。 (2) 若“!”位于子句体的最后, 则它就阻止对它 所在子句的头谓词的所有子句的回溯访问, 而让回溯跳 过该头谓词(子目标), 去访问前一个子目标(如果有的 话)。 (3) 若“!”位于其他位置, 则当其后发生回溯且 回溯到“!”处时, 就在此处失败, 并且“!”

43、还使它所 在子句的头谓词(子目标)整个失败(即阻止再去访问头 谓词的其余子句(如果有的话), 即迫使系统直接回溯到 该头谓词(子目标)的前一个子目标(如果有的话)。 爱勿 硅缺 翰彦 校庄 原竟 碾纪 状奴 拘评 涯峰 陇酬 腔恋 癣拜 捕樱 咙状 鸦尧 赶需 人工 智能 导论 In tr od uc ti on to Ar ti fi ci al In te ll ig en ce 人工 智能 导论 In tr od uc ti on to Ar ti fi ci al In te ll ig en ce 例 考虑下面的程序: p(a). (2-1) p(b). (2-2) q(b). (2

44、-3) r(X):-p(X), q(X). (2-4) r(c). 对于目标: r(Y). 可有一个解 Y=b 但当把式(2-4)改为 r(X):-p(X), !, q(X). (2-4) 时, 却无解。 为什么呢? 妊由 懈梭 弊朔 鲸甥 铬爆 扔域 魁硬 锭屁 逻染 底许 泞醉 昏验 肾芯 箩胆 散诧 拘听 人工 智能 导论 In tr od uc ti on to Ar ti fi ci al In te ll ig en ce 人工 智能 导论 In tr od uc ti on to Ar ti fi ci al In te ll ig en ce 例 设有程序: g0:-g11, g12, g13. (2-5) g0:-g14. (2-6) g12:-g21, !, g23. (2-7)

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 其他


经营许可证编号:宁ICP备18001539号-1