3
我正在學習序言。我想知道如何在prolog中表示以下事實?
「有些城市和一些城市之間有300英里」。 任何人都可以幫助please.I已經找到了足夠的,但無法找到解決我的具體問題。在序言中代表以下事實
我正在學習序言。我想知道如何在prolog中表示以下事實?
「有些城市和一些城市之間有300英里」。 任何人都可以幫助please.I已經找到了足夠的,但無法找到解決我的具體問題。在序言中代表以下事實
Prolog允許通過事實和規則來表示知識。一個 事實和規則具有以下格式:
A :- A1, .., An
其中A,A1,...,一個是所謂的文字。如果n = 0,那麼它的一個事實是,如果n> 0那麼它是一個規則。
一個文字具有folllowing語法,名稱是謂詞名稱 和術語是謂詞的參數:
literal = atom [ "(" term { "," term } ].
知識respresentation本身就是一種藝術。該表示可以有許多要求,這可以強制它具有某種形式。
但是,您可以將其視爲一個字面表達式,用於使用 來保存表格。描述列名的列 沒有進入的Prolog的事實和規則,但你可以使用 Prolog的comments進入列名,如:
% distance_between_cities(Atom, Atom, Float)
或者更具體:
% distance_between_cities(CityId, CityId, DistanceMiles)
第一評論後,你只要輸入的事實:
distance_between_cities('New York, US','Los Angeles, US',2443.85).
distance_between_cities('New York, US','San Francisco, US',2563.89).
distance_between_cities('Los Angeles, US','San Francisco, US',347.18).
不同的謂詞的名字可以命名各色nt excel表 可以這麼說。一些prolog系統甚至有接口。
再見
請不要編輯您的問題的答案。如果您想回答自己的問題,請轉到下面的答案框併發布您自己的答案。你甚至可以接受你自己的答案,作爲最能幫助你的答案。這個結構保持StackOverflow乾淨。 – Sumurai8 2014-11-23 10:56:41
'distance_between_cities(someCityA,someCityB,300).'? – 2014-12-02 15:35:29
是的,我做了同樣的事情,很久以前。無論如何,謝謝。 – Qubad 2014-12-10 12:53:39