Prolog是一種以邏輯為基礎的計算機編程語言。大多數計算機語言都是基于解決問題所需的步驟。另一方面,Prolog語言,是一種“聲明性”語言,表示實體之間的邏輯關系。解決問題的方法由計算機來解決。Prolog這個名字來自法語...
Prolog是一種以邏輯為基礎的計算機編程語言。大多數計算機語言都是基于解決問題所需的步驟。另一方面,Prolog語言,是一種“聲明性”語言,表示實體之間的邏輯關系。解決問題的方法由計算機來解決。Prolog這個名字來自法語PROgrammation en LOGique,也就是編程邏輯。女人和計算機做倒立動作下面是一個簡單的Prolog程序:祖先(F,C):—父親(F,C)祖先(P,Q):-父親(P,R),祖先(R,Q)父親(約翰,吉姆)。父親(吉姆,杰瑞)。父親(杰里,杰森)。父親(杰里,杰夫)。父親(杰森,杰夫)。父親(杰森,約書亞)。上面的程序指出真理。如果F是C的父親,那么F是C的祖先。如果P是某個人的父親,他是Q的祖先,那么P就是Q的祖先然后給出一些真實的事實,比如約翰是吉姆的父親,如果有一個關于約翰是否是杰夫的祖先的問題,我們得到的回答是“是”如下:?-祖先(約翰,杰夫)。是的,如果約書亞的祖先感興趣,那么程序顯示所有祖先如下:?-祖先(A,joshua)A=jasonA=jerryA=jimA=john注意到,在上述兩個實例中,程序都沒有說明如何進行評估。例如,它沒有指出是從老年人開始,然后逐步向年輕人發展,反之亦然。還可以互換以下部分:祖先(P,Q):-ana祖(R,Q),父(P,R)這對程序沒有任何影響,因為右側的這兩個部分都需要為真才能使左側為真。因此,Prolog語言關注的是關系,而不是如何解決問題。在程序執行過程中,Prolog建立了許多真語句,從而創建了一個知識庫在上面的例子中,知識庫沒有特定的順序,將有祖先(john,jim),祖先(jim,jerry),祖先(john,jerry),祖先(jim,jason),祖先(john,jason)等等。隨著程序的執行,這個知識庫可以繼續建立,它可以使用并行處理,多臺計算機同時執行。Prolog語言在許多領域都有應用,它開始于英語等自然語言系統;自然語言是人工智能的一個領域,Prolog語言也用于符號數學,包括代數,它被用于證明定理,專家系統,控制系統,以及許多其他應用
-
發表于 2020-08-06 14:47
- 閱讀 ( 1284 )
- 分類:電腦網絡