prolog语言.ppt

prolog语言.ppt

ID:48822256

大小:90.00 KB

页数:25页

时间:2020-01-29

prolog语言.ppt_第1页
prolog语言.ppt_第2页
prolog语言.ppt_第3页
prolog语言.ppt_第4页
prolog语言.ppt_第5页
资源描述:

《prolog语言.ppt》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库

1、PROLOG语言Prolog在英语中的意思就是ProgramminginLOGic(逻辑编程)。它是建立在逻辑学的理论基础之上的,最初是运用于自然语言的研究领域。然而现在它被广泛的应用在人工智能的研究中,它可以用来建造专家系统、自然语言理解、智能知识库等。它对一些通常的应用程序的编写也很有帮助。使用它能够比其他的语言更快速地开发程序,因为它的编程方法更象是使用逻辑的语言来描述程序。PROLOG特点超高级语言说明性语言(对于某些问题)只要告诉计算机做什么表达力强坚实的数学基础——一阶谓词逻辑自动回溯支持递归归调用

2、广泛应用于AI领域PROLOG要点DOMAINS(论域段)PREDICATES(谓词定义)CLAUSES(事实及规则段)GOAL(目标)predicatesthief(symbol)likes(symbol,symbol)may_steal(symbol,symbol)clausesthief(john).likes(tom,food).likes(john,wine).likes(john,X):-likes(tom,X).may_steal(X,Y):-thief(X),likes(X,Y).DialogG

3、oal:may_steal(john,What)What=foodWhat=wine2Solutions运行表(List) ——表由方括号与元素组成,元素又可是一个表。非空表可用[x

4、y]表示,x—表头y—表尾例:[a,b,c][a

5、[b,c]][b,c][b

6、[c]][c][c

7、[]]空表无表头!表头a表尾[b,c]表头b表尾[c]表头c表尾[]匹配与回溯自动实现的搜索算法之一——匹配Prolog语言能自动将目标与知识库子句集中的事实、规则的结论部分(从第一句开始到最后一句为止)逐句进行匹配。下述三种情况之一

8、者匹配成功:(1)完全相同例:thief(john)与thief(john)(2)谓词相同,相应项一为变量,一为常量——变量实例化例:thief(Y)与thief(john)匹配结果:Y被实例化为john{john/Y}(3)谓词相同,相应项均为变量——变量一致化clauseslikes(tom,talk)./*1*/likes(bill,swim)./*2*/likes(bill,talk)./*3*/likes(mary,wine)./*4*/likes(tom,X):-likes(mary,X)./*5*

9、/如果Goal:likes(bill,talk)与第3句匹配一致如果Goal:likes(tom,wine)与第5句左部匹配{wine/X}任务转化为likes(mary,wine)与第3句匹配一致例1DialogGoal:likes(bill,talk)TrueDialogGoal:likes(tom,wine)True运行运行clauseslikes(tom,talk)./*1*/likes(bill,swim)./*2*/likes(bill,talk)./*3*/likes(mary,wine)./*4

10、*/likes(tom,X):-likes(mary,X)./*5*/如果Goal:likes(tom,swim)与第5句左部匹配{swim/X}任务转化为likes(mary,swim)与1—5匹配均失败DialogGoal:likes(tom,swim)False运行clausesfact(1,1)./*1*/fact(X,Y):-X1=X-1,fact(X1,Y1),Y=X*Y1./*2*/设Goal:fact(2,N)与1匹配失败与2左部匹配成功{2/X,N/Y}产生三个子目标:(1)X1=2-1(2)

11、fact(X1,Y1)(3)N=2*Y1(1)X1=1立即成功(2)fact(1,Y1)与/*1*/匹配成功{1/Y1}(3)N=2*1=2成功例2DialogGoal:fact(2,N)N=21Solutions运行自动实现的搜索算法之二——回溯例:clauseslikes(tom,talk)./*1*/likes(bill,swim)./*2*/likes(bill,talk)./*3*/friend(john,X):-likes(X,talk),likes(X,swim)/*4*/设Goal:friend

12、(john,Who)搜索指针P1=13失败,p1=4成功,{Who/X}变量一致化,产生两个子目标:(1)likes(Who,talk)P2-1=1成功,变量实例化{tom/Who}(2)likes(tom,swim)P2-2=14均失败,Who与tom脱解,回溯——试图重新满足子目标(1)重作:(1)likes(Who,talk)P2-1=2失败,P2-1=3成功{bill/Wh

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。