人工智能11

上传人:今*** 文档编号:108313558 上传时间:2019-10-23 格式:PPT 页数:21 大小:131KB
返回 下载 相关 举报
人工智能11_第1页
第1页 / 共21页
人工智能11_第2页
第2页 / 共21页
人工智能11_第3页
第3页 / 共21页
人工智能11_第4页
第4页 / 共21页
人工智能11_第5页
第5页 / 共21页
点击查看更多>>
资源描述

《人工智能11》由会员分享,可在线阅读,更多相关《人工智能11(21页珍藏版)》请在金锄头文库上搜索。

1、第十一章 人工智能语言,LISP、PROLOG是常用的人工智能语言 目前C、C+使用的比较多 专家系统工具,LISP语言 1960年McCarthy首先发表 是一种表处理语言 被广泛应用于人工智能之中 LISP语言的家族 INTER LISP MAC LISP COMMON LISP,PROLOG语言,1972年在法国马赛大学首先发表 是一种逻辑程序设计语言 具有一定的自动推理能力,常量 以小写字母开头的符号,例如:abc is-bird append 变量 以大写字母开头的符号,例如:Classmate 表 a, b, c 1, 2, a, b ,PROLOG语言,基本概念,表结构符“|”

2、a, b | c, d a, b, c, d a | X 表示以a为头的表 a,b | X 表示前两个元素为a、b的表 H | T 表示一个非空表 项 常量、变量、表等,通称为项,PROLOG语言,基本概念,关系 (,) Point(X, Y, Z) father(laoma, xiaoma) 关系也称为结构,也是项,PROLOG语言,基本概念,子句 P:-P1,P2,Pn. 其中P是句首,P1,P2,Pn是句体。 表示当P1,P2,Pn均为真时,P为真。等价于: P1P2Pn = P 子句表示规则,只有句首的子句表示事实 PROLOG程序由子句组成,PROLOG语言,基本概念,以下事实: 老

3、王是小王的双亲之一 老赵是小王的双亲之一 老王是位男性 老赵是位女性,表示为: parent(laowang, xiaowang). parent(laozhao, xiaowang). male(laowang). female(laozhao).,规则:若X、Y是Z的双亲,且X为男性,Y为女性,则X是Y的丈夫。 表示为: Husband(X,Y) :- parent(X,Z), parent(Y,Z), male(X), female(Y).,PROLOG语言,用factorial(X, Y)表示X的阶乘为Y。 factorial(0, 1). factorial(1, 1). facto

4、rial(N, M) :- N1 is N-1, factorial(N1, M1), M is N*M1.,PROLOG语言,定义阶乘,用append(X, Y, Z)表示表X、Y合并为表Z。 append( , L, L ). append( H|T1, L, H|T2) :- append(T1, L, T2).,PROLOG语言,定义append,?- male(laowang). yes ?- male(X). X=laowang yes,询问,?- parent(laowang, X). X = xiaowang yes ?- parent(X, xiaowang). X=laow

5、ang yes X = laozhao yes,通过询问,执行PROLOG程序,?- parent(X, Y). X = laowang Y = xiaowang yes X=laozhao Y = xiaowang yes,?- append( 1,2, 3,4, 1,2,3,4 ). yes ?- append( 1,2, 3,4, 1,2,4,3 ). no ?- append( 1,2, 3,4, X). X = 1,2,3,4 yes,询问,?- append( 1,2, X, 1,2,3,4 ). X = 3, 4 yes ?- append( X, 3,4, 1,2,3,4 ).

6、 X = 1,2 yes,询问,?- append( X, Y,1,2 ). X = Y = 1, 2 yes X = 1 Y = 2 yes X = 1,2 Y = yes,?- parent( Father, xiaozhao ), male( Father). Father = laozhao yes,执行策略: 逆向推理 从上到下 从左到右 回溯策略 深度优先 例: ?- P1, P2, P3.,PROLOG语言,PROLOG的执行过程,一个关于“后代”的例子: child( john, mary ). child( john, bill ). child( bill, bob ).

7、child( bill, susan ). descendant( X, Y) :- child(X, Y). descendant( X, Z) :- child(X, Y), descendant(Y, Z) 询问: descendant( john, bob ).,PROLOG语言,PROLOG的执行过程,PROLOG语言,Descendant(john, bob),child( john, mary ). child( john, bill ). child( bill, bob ). child( bill, susan ). descendant( X, Y) :- child(X

8、, Y). descendant( X, Z) :- child(X, Y), descendant(Y, Z),child(john, bob),john/X, bob/Z,child(john, Y), Descendant(Y, bob),john/X, bob/Y,child(john, mary),mary/Y,Descendant (mary, bob),child(mary,bob),Descendant (bill, bob),child(john, bill),bill/Y,child(bill,bob),CUT符“!” CUT是PROLOG中控制回溯的唯一手段 CUT可以阻

9、止PROLOG的回溯 CUT用在询问中,也可用在规则中,PROLOG语言,CUT用在询问中 ?- father( Father, tom ), !, brother( Father, Y). CUT用在规则中 Male-test( M ) :- is_male( M ), !. Male-test( M ) :- father( M, Son).,Visual Prolog,是基于Prolog语言的可视化集成开发环境,包含构建大型应用程序所需要的一切特性:图形开发环境、编译器、连接器和调试器,支持模块化和面向对象程序设计。,1. 可视化开发环境(VDE) 2. 编码专家 创建并维护Prolog的空间资源代码 3. 应用程序专家 生成和配置项目 4. 资源集成编辑器 5. 源代码浏览器 6. 高度优化的编译器 7. 调试器 8. 典型例子,Visual Prolog的特点,创建项目 打开编辑器窗口 测试用例 创建窗口、添加控件,

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

当前位置:首页 > 高等教育 > 大学课件

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号