會員中心 |  會員注冊  |  兼職信息發(fā)布    瀏覽手機版!    精選9.9元!    人工翻譯    英語IT服務 貧困兒童資助 | 留言板 | 設為首頁 | 加入收藏  繁體中文
當前位置:首頁 > 機翻技術 > 機器翻譯 > 正文

邏輯程序設計

發(fā)布時間: 2023-09-01 09:26:43   作者:etogether.net   來源: 網絡   瀏覽次數:
摘要: PROLOG被證明是一種有用的工具,它建立在合一和搜索的概念基礎上,這樣,它提供了很多人工智能應用所必需的基本構造單元。


很多自然語言處理應用程序都是用編程語言PROLOG實現的,或者用建立在PROLOG上的某種擴充來實現。PROLOG被證明是一種有用的工具,它建立在合一和搜索的概念基礎上。這樣,它提供了很多人工智能應用所必需的基本構造單元。


PROLOG建立在霍恩子句(Horn clause)的概念基礎上,霍恩子句可以定義為一個邏輯蘊涵式,蘊涵式的左側是單一的簡單命題。這樣,PROLOG中的表達式:


friendly(fido1) :- dog(fido1) well-fed(fido1)


對應于斷言:Fido是友好的,如果它是一條狗而且它吃飽了。這在一階謂詞演算中表達如下:


(Dog (Fido1 ) & Well-Fed(Fido1))? Friendly( Fido1)


當然,更有用的規(guī)則會使用變量,以便應用于一系列的實體。一個關于“吃飽了的狗是友好的”一般性語句表達如下,其中,變量用一個大寫字母開頭的符號表示:


1. friendly(X) :- dog(X) well-fed(X)


這等價于一階謂詞演算中的斷言Vx(DOG(x)&WELL-FED(x))?FRIENDLY(x)。在PROLOG中,它的解釋是過程性的:對任何實體x,要證明x是友好的,可以證明x是一條狗,而且x吃飽了。


沒有右側的霍恩子句稱為事實。要聲明Fifi是一條狗而且它吃飽了,可以加入以下事實:


2.  dog(fifi) :-

3. well-fed(fifi) :-


使用子句1,子句2和子句3,PROLOG現在可以如下證明Fif是友好的:


Goal: Friendly(fifi)


使用合一算法,子句1被具體化以便用于這個目標(也就是說,變量X被綁定到ffi)


4. friendly(fifi) :- dog(fifi) well-fed(fifi)


為了根據這條規(guī)則給出目標的證明,需要證明以下子目標:


5. Goal: dog(fifi)

6. Goal: well-fed(fifi)


由于這些子目標就是子句2和子句3的斷言,其證明是不言而喻的,所以初始的目標得到證明。


一般地,很多不同的規(guī)則可以應用于一個目標。可以逐個嘗試它們,直到有一個成功。作為另外一個例子,考慮以下公理:


所有的魚都生活在海里。


7. live-in-sea(X) :- fish(X)

所有的鱈都是魚。


8. fish(X):-cod(X)

所有的鯖都是魚。


9. fish(X) :- mackerel(X)

鯨生活在海里。


10. live-in-sea(X) :- whale(X)

Homer是一條鱈。


11. mackerel(homer):-

Willie是一頭鯨。


12. whale(willie) :-


給定這些公理,系統(tǒng)可以證明Willie生活在海里,證明中使用的方法稱為回溯搜索。它使用深度優(yōu)先搜索策略來系統(tǒng)地搜索每一種可能的子句應用序列,用以檢查目標是否確立。


圖1顯示了一個典型的PROLOG搜索,根據前面給定的子句,目標是:


live-in-sea(willie)


感覺PROLOG最好的辦法就是運行系統(tǒng),并使用跟蹤工具來精確地觀察它是如何工作的。


PROLOG系統(tǒng)在大多數類型的工作站和個人計算機上都可以得到。


圖1.png

圖1 live-in-sea(willie)的證明



責任編輯:admin



微信公眾號

  • 上一篇:韻律和語調的機器處理
  • 下一篇:搜索算法介紹


  • 《譯聚網》倡導尊重與保護知識產權。如發(fā)現本站文章存在版權問題,煩請30天內提供版權疑問、身份證明、版權證明、聯系方式等發(fā)郵件至info@qiqee.net,我們將及時溝通與處理。


我來說兩句
評分: 1分 2分 3分 4分 5分
評論內容:
驗證碼:
【網友評論僅供其表達個人看法,并不表明本站同意其觀點或證實其描述?!?
評論列表
已有 0 條評論(查看更多評論)