Swi Prolog學習筆記(入門篇)

2021-07-31 12:53:09 字數 1137 閱讀 6747

首先介紹乙個學習swi-prolog 和amzi-prolog很靠譜的中文**:

然後介紹一下我在學習時發現的prolog和其他程式語言的不同之處。

prolog是邏輯程式語言,在解決邏輯推理問題是有很明顯的優勢。

它的解決問題的策略是基於列舉法的,所以返回結果很可能不唯一。

進行prolog程式設計時重要的是把問題描述清楚,這樣才能得到乙個有效的解決方案。

swi-prolog:

amzi-prolog:

最後開始我的學習筆記。

1 prolog 引數型別

整數: 絕對值小於某乙個數的正數或負數。

原子: 通常是字母和數字組成,開頭的字元必須是小寫字母。例如:  'hello tt'  hello

變數: 由大寫字母或下劃線_開頭。例如:x  _x

結構: 例如列表[a|b], [  ].

2  資料型別

整形,浮點型,字串

3  簡單的語法部分

知識表達:

以上為知識庫的內容用notepad以xx.pl的形式儲存起來,執行swiprolog裡的consult命令,然後就可以對知識庫進行提問了。

詢問語句

簡單查詢

?- room(x).                                     %單變數

?-location(thing, kitchen).          %固定乙個變數

?- location(thing, place).            %兩個變數

關聯查詢

?- location(x, kitchen), edible(x).    %廚房裡有什麼是可以吃的

?- door(kitchen,r),location(t,r).      %和廚房相連的房間裡有什麼

運用內部的函式查詢

?- location(x,kitchen),write(x),nl,fail. 

%write()    %顯示查詢結果

%nl         %換行,輸出乙個回車鍵

注意prolog子句中的變數全部都是區域性變數

prolog中沒有全域性變數

asserts和retracts就是控制這些全域性資料的工具

prolog的變數是沒有資料型別之分的

LESS學習筆記 入門

今天在網上完成了less的基礎學習,下面是我的學習筆記。總共有三個檔案 index.html main.less mian.css,其中mian.css是main.less經過koala編譯之後自動生成的。下面是 index.html mian.less charset utf 8 body div...

Yii學習筆記(入門)

use yii db activerecord class a extends activerecord hello,i am only page.1 初始化應用 訪問http localhost basic web index.php,進入yii的啟動頁面。如果提示你未安裝openssl的話,去你...

hightopo學習筆記 入門

ht是基於html5標準的企業應用圖形介面一站式解決方案,其包含通用元件 拓撲元件和3d渲染引擎等豐富的圖形介面開發類庫,提供了完全基於html5的向量編輯器 拓撲編輯器及 3d場景編輯器等多套視覺化設計工具,和完善的類庫開發手冊 工具使用手冊 及針對html5技術如何進行大規模團隊開發的客戶深度培...