网站大量收购闲置独家精品文档,联系QQ:2885784924

第十二章 Prolog 程式语言.pptVIP

  1. 1、本文档共18页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  5. 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  6. 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  7. 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  8. 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
第十二章Prolog程式语言ppt课件

第十二章 Prolog 程式語言 陳維魁 博士 wkchen@.tw 儒林圖書公司 大綱 簡介 基本資料結構 Prolog語言的陳述 Prolog語言推論的過程 精選習題 簡介 Prolog(PROgramming in LOGic)是在1970年代初期發展 主要應用在人工智慧(Artificial Intelligence),又稱為人工智慧的高階語言 日本發展的第五代電腦計劃採用Prolog為其語言,使得Prolog語言漸受世人注意,且廣泛地被使用 Prolog為適用於處理符號和非數值運算之程式語言 邏輯式程式語言 基本資料結構 – 原子 (atom) 原子的組成有三種可能的方式 由單引號所括住的字串組成: ’Peter’,’Visual Basic’,’Prolog’ 由特殊的字元所組成的字串 ,::=,=,.... 由字母,數字或「底線字元」所組成的字串,但須注意,該字串的第一個字元絕對必須是小寫字母 peter,visualbasic,visual_basic 基本資料結構 – 變數(variable) 變數是由字母,數字或「底線字元」所組成的字串 注意 字串的第一個字元,必須是大寫字母 Peter,Visualbasic,Visual_basic 基本資料結構–結構化資料型態 串列(list) 串列結構(list structure)中,前端與後端皆必須以方括號作記號且串列中的元素必須以“,”作區分。如:〔Pascal, C, Basic, Cobol, Fortran〕 b.在Prolog中以〔H│X〕來表示一個串列的頭部與尾部。以上例來說,H=Pascal(相當於Lisp之CAR)且X=〔C, Basic, Cobol, Fortran〕(相當於LISP之CDR) 結構(structure) 結構的語法為   原子名稱 (參數串列) date(日,月,年) date(25,8,83) Prolog 語言的陳述 事實陳述(fact statement) 規則陳述(rule statement) 目的陳述(goal statement) 事實陳述 事實陳述指明“事實” 事實陳述宣告一些無條件成立的事情 通常事實陳述是用來描述個體的性質或個體與個體之間的關係 又稱為無首霍恩子句(Headless Horn clause) 事實陳述 實例 個體的性質 female(helen). male(peter). female(jane). male(john). 個體與個體之間的關係 son(john, helen). son(john, peter). daughter(jane, helen). daughter(jane, peter). 注意 Prolog的敘述之後,必須有句點作為結束 規則陳述 規則陳述是用來描述事實之間的邏輯關係,即必須在某種條件成立的條件下才為真的事情 又稱為有首霍恩子句(Headed Horn clause) 規則陳述結構:    結論部份:- 條件部份 其中結論部份又稱為首項,而條件部份所有的子條件皆成立時結論部份自然成立 規則陳述 實例 mother(helen, jane):- daughter(jane, helen), female(helen). “:-”右邊的敘述為陳述的來歷或規則 “:-”左邊的敘述,為陳述的結論 若來歷為真則結論也必定為真 陳述的來歷若有多個,則以逗號連接而其意義與邏輯運算子AND相同 目的陳述 目的陳述即是用來作為查詢(query)資料之用 目的陳述在程式段中是看不到的 實例 ?- daughter(jane, helen). Yes. ?- daughter(X, helen). jane; No. ?- daughter( _ , helen). jane; No. Prolog 語言推論的過程 以目的陳述為目標,根據程式中的事實與規則陳述來進行推論,並以敘述定義之先後順序來進行推理動作 以目的陳述的函元(functor)以搜尋之依據,若符合者為 事實陳述:直接回答 規則陳述: 以每個規則為子目標 深度優先搜尋(DFS- Depth First Search) 回溯處理(backtracking):在推理的過程中若產生錯誤,此時系統會自動回溯到另一個可能正確的推理方向 精選習題 以下的PROLOG程式執行後,結果為何? append (〔〕,X,X). append (〔H|X〕,Y,〔H|Z〕):-append(X,Y,Z). ?- append (〔a,b〕,〔c,d〕,Z). 精選習題 假設有一PROLOG程式如下: first (Xs,Ys,IP):- second(Xs,Ys,O,IP). secon

文档评论(0)

118zhuanqian + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档