999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

人工智能語(yǔ)言——PROLOG

2008-01-01 00:00:00王春蓮王海霞
電腦知識(shí)與技術(shù) 2008年5期

摘要:Prolog是人工智能語(yǔ)言的一個(gè)典型代表。本文簡(jiǎn)要闡述了人工智能語(yǔ)言及其特點(diǎn),并通過(guò)實(shí)例介紹了Prolog語(yǔ)言及其基本結(jié)構(gòu)。

關(guān)鍵詞:人工智能語(yǔ)言;Prolog;遞歸

中圖分類(lèi)號(hào):TP312文獻(xiàn)標(biāo)識(shí)碼:A文章編號(hào):1009-3044(2008)05-10ppp-0c

Prolog的思想最早由R. Kowalski提出,1972年,第一個(gè)prolog語(yǔ)言在法國(guó)的馬賽研制成功,最初設(shè)計(jì)思想是以FOL為背景,設(shè)計(jì)一個(gè)處理邏輯推理問(wèn)題的會(huì)話(huà)式語(yǔ)言。Prolog 目前是AI應(yīng)用中重要的開(kāi)發(fā)工具,也是開(kāi)發(fā)知識(shí)庫(kù)、ES、自然語(yǔ)言接口、智能信息管理系統(tǒng)的重要工具。

1 什么是人工智能語(yǔ)言

人工智能(AI)語(yǔ)言是一類(lèi)適應(yīng)于人工智能和知識(shí)工程領(lǐng)域的、具有符號(hào)處理和邏輯推理能力的計(jì)算機(jī)程序設(shè)計(jì)語(yǔ)言。能夠用它來(lái)編寫(xiě)程序求解非數(shù)值計(jì)算、知識(shí)處理、推理、規(guī)劃、決策等具有智能的各種復(fù)雜問(wèn)題。典型的人工智能語(yǔ)言主要有LISP、Prolog、Smalltalk、C++等。

一般來(lái)說(shuō),人工智能語(yǔ)言應(yīng)具備如下特點(diǎn):

(1)具有符號(hào)處理能力;

(2)適合于結(jié)構(gòu)化程序設(shè)計(jì),編程容易;

(3)具有遞歸功能和回溯功能;

(4)具有人機(jī)交互能力;

(5)適合于推理。

人們可能會(huì)問(wèn),用人工智能語(yǔ)言解決問(wèn)題與傳統(tǒng)的方法有什么區(qū)別呢?

傳統(tǒng)方法通常把問(wèn)題的全部知識(shí)以各種的模型表達(dá)在固定程序中,問(wèn)題的求解完全在程序制導(dǎo)下按著預(yù)先安排好的步驟一步一步(逐條)執(zhí)行。解決問(wèn)題的思路與馮.諾依曼式計(jì)算機(jī)結(jié)構(gòu)相吻合。當(dāng)前大型數(shù)據(jù)庫(kù)法、數(shù)學(xué)模型法、統(tǒng)計(jì)方法等都是嚴(yán)格結(jié)構(gòu)化的方法。

對(duì)于人工智能技術(shù)要解決的問(wèn)題,通常需要建立一個(gè)知識(shí)庫(kù),程序根據(jù)環(huán)境和所給的輸入信息以及所要解決的問(wèn)題來(lái)決定自己的行動(dòng),所以它是在環(huán)境模式的制導(dǎo)下的推理過(guò)程。這種方法有極大的靈活性、對(duì)話(huà)能力、有自我解釋能力和學(xué)習(xí)能力。這種方法對(duì)解決一些條件和目標(biāo)不大明確或不完備,的非結(jié)構(gòu)化問(wèn)題比傳統(tǒng)方法好。它采用用試探法來(lái)解決問(wèn)題。人工智能也尚未發(fā)展到完全能解決這類(lèi)問(wèn)題的全部問(wèn)題。這類(lèi)問(wèn)題是人工智能研究要解決的問(wèn)題。

2 Prolog語(yǔ)言及其基本結(jié)構(gòu)

Prolog是當(dāng)代最有影響的人工智能語(yǔ)言之一,由于該語(yǔ)言很適合表達(dá)人的思維和推理規(guī)則,在自然語(yǔ)言理解、機(jī)器定理證明、專(zhuān)家系統(tǒng)等方面得到了廣泛的應(yīng)用,已經(jīng)成為人工智能應(yīng)用領(lǐng)域的強(qiáng)有力的開(kāi)發(fā)語(yǔ)言。現(xiàn)在的Prolog語(yǔ)言有許多版本,但它們的核心部分都是一樣的。Prolog的基本語(yǔ)句僅有三種,即事實(shí)、規(guī)則和目標(biāo)三種類(lèi)型的語(yǔ)句,且都用謂詞表示,因而程序邏輯性強(qiáng),文法簡(jiǎn)捷,清晰易懂。另一方面,Prolog是陳述性語(yǔ)言,一旦給它提交必要的事實(shí)和規(guī)則之后,Prolog就使用內(nèi)部的演繹推理機(jī)制自動(dòng)求解程序給定的目標(biāo),而不需要在程序中列出詳細(xì)的求解步驟。

2.1 事實(shí)

事實(shí)用來(lái)說(shuō)明一個(gè)問(wèn)題中已知的對(duì)象和它們之間的關(guān)系。在Prolog程序中,事實(shí)由謂詞名及用括號(hào)括起來(lái)的一個(gè)或幾個(gè)對(duì)象組成。謂詞和對(duì)象可由用戶(hù)自己定義。

例如,Bill likes Cindy.Cindy likes Bill.Bill likes dogs.

Prolog表示為:likes(bill, cindy). likes(cindy, bill).likes(bill, dogs).

2.2 規(guī)則

規(guī)則由幾個(gè)互相有依賴(lài)性的簡(jiǎn)單句(謂詞)組成,用來(lái)描述事實(shí)之間的依賴(lài)關(guān)系。從形式上看,規(guī)則由左邊表示結(jié)論的后件謂詞和右邊表示條件的前提謂詞組成。

例如,Cindy likes everything that Bill likes.

Caitlin likes everything that is green.

Prolog表示為: likes(cindy, Something):-likes(bill, Something).

likes(caitlin, Something):-green(Something).

2.3 目標(biāo)(問(wèn)題)

把事實(shí)和規(guī)則寫(xiě)進(jìn)Prolog程序中后,就可以向Prolog詢(xún)問(wèn)有關(guān)問(wèn)題的答案,詢(xún)問(wèn)的問(wèn)題就是程序運(yùn)行的目標(biāo)。目標(biāo)的結(jié)構(gòu)與事實(shí)或規(guī)則相同,可以是一個(gè)簡(jiǎn)單的謂詞,也可以是多個(gè)謂詞的組合。

例如問(wèn)題 ?-student(john).表示“john是學(xué)生嗎?”

3 Prolog的基本語(yǔ)句

3.1 Prolog程序由一組事實(shí)和規(guī)則組成,如:

likes(george, swimming).

likes(susie, swimming) :- likes(george, swimming).

likes(mary, X) :- likes(susie, X), likes(george, X).

上述程序執(zhí)行過(guò)程可以如下:

?- likes(george, swimming).

Yes

?- likes(jack, biking).

No

?- dislikes(jack, biking).

No

3.2 遞歸性

member: 確定某元素是否是某個(gè)表中的成員

member(X, [X |_]).

member(X,[_|Y]):- member(X,Y).

append: 把兩個(gè)表連成一個(gè)表

append([],L,L).

append([X|L1],L2,[X|L3]):- append(L1,L2,L3).

3.3 prolog程序

求誰(shuí)是john的朋友?

predicates /*謂詞段,對(duì)要用的謂詞名和參數(shù)進(jìn)行說(shuō)明*/

likes(symbol, symbol)

friend(symbol, symbol)

clauses /*子句段,存放所有的事實(shí)和規(guī)則*/

likes(bell,sports). /*前4行是事實(shí)*/

likes(mary,music).

likes(mary,sports).

likes(jane,smith).

friend(john,X):-likes(X,sports),likes(X,music). /*本行是規(guī)則*/

當(dāng)上述事實(shí)與規(guī)則輸入計(jì)算機(jī)后,運(yùn)行該程序,用戶(hù)就可以進(jìn)行詢(xún)問(wèn),如輸入目標(biāo):

friend(john,X)

即詢(xún)問(wèn)john的朋友是誰(shuí),這時(shí)計(jì)算機(jī)的運(yùn)行結(jié)果為:

X=mary (mary是john的朋友)

3.4 附加的控制機(jī)制cut

cut用“!”表示:恒真,cut是一種能夠影響Prolog回溯方式的專(zhuān)門(mén)機(jī)構(gòu):當(dāng)要回溯前面一串已滿(mǎn)足目標(biāo)時(shí),就不要考慮那些目標(biāo)的其他可選分支了。或著說(shuō):!在SLD樹(shù)上剪除了以它的父目標(biāo)為根的那個(gè)子樹(shù)中尚未被搜索的部分。

優(yōu)點(diǎn):程序可以運(yùn)行的更快,程序可以占用較少的內(nèi)存空間。

cut的幾種用法:放在產(chǎn)生器和測(cè)試器的后面,example(X):-generate(X),test(X),!,與內(nèi)部謂詞fail合用。

例如:如果一個(gè)人是健壯的,條件為:沒(méi)有心臟病、肺病,不是近視眼。

strong(X):- heart_disease(X),fail.

strong(X):- tuberculosis(X),fail.

strong(X):- nearsight(X),fail.

strong(X).

heart_disease(xiao_li).

?- strong(xiao_li).

4 Prolog 的實(shí)現(xiàn)

(1)解釋實(shí)現(xiàn):“編譯”階段:即分析Prolog源程序的語(yǔ)法,把它翻譯成便于解釋執(zhí)行的內(nèi)部形式,解釋階段:即對(duì)SLD樹(shù)的深度優(yōu)先搜索,預(yù)定義謂詞的解釋?zhuān)好恳粋€(gè)預(yù)定義謂詞有一個(gè)小的解釋模塊,互相之間基本上是獨(dú)立的,但與全程數(shù)據(jù)結(jié)構(gòu)和主控程序之間要協(xié)調(diào)

(2)編譯實(shí)現(xiàn):Prolog的翻譯:把Prolog程序翻譯成一種高級(jí)程序語(yǔ)言代碼,Prolog的編譯:編譯成Warren抽象機(jī)代碼

5 Prolog語(yǔ)言的常用版本

5.1 Turbo Prolog

由美國(guó)Prolog開(kāi)發(fā)中心(Prolog Development Center, PDC)1986年開(kāi)發(fā)成功、Borland公司對(duì)外發(fā)行,其1.0,2.0,2.1版本取名為T(mén)urbo Prolog,主要在IBM PC系列計(jì)算機(jī),MS-DOS環(huán)境下運(yùn)行。

5.2 PDC Prolog

1990年后,PDC推出新的版本,更名為PDC Prolog 3.0,3.2,它把運(yùn)行環(huán)境擴(kuò)展到OS/2操作系統(tǒng),并且向全世界發(fā)行。

5.3 Visual Prolog

Visual Prolog是基于Prolog語(yǔ)言的可視化集成開(kāi)發(fā)環(huán)境,是PDC推出的基于Windows環(huán)境的智能化編程工具。目前,Visual Prolog在美國(guó)、西歐、日本、加拿大、澳大利亞等國(guó)家和地區(qū)十分流行,是國(guó)際上研究和開(kāi)發(fā)智能化應(yīng)用的主流工具之一。

Visual Prolog具有模式匹配、遞歸、回溯、對(duì)象機(jī)制、事實(shí)數(shù)據(jù)庫(kù)和謂詞庫(kù)等強(qiáng)大功能。它包含構(gòu)建大型應(yīng)用程序所需要的一切特性:圖形開(kāi)發(fā)環(huán)境、編譯器、連接器和調(diào)試器,支持模塊化和面向?qū)ο蟪绦蛟O(shè)計(jì),支持系統(tǒng)級(jí)編程、文件操作、字符串處理、位級(jí)運(yùn)算、算術(shù)與邏輯運(yùn)算,以及與其它編程語(yǔ)言的接口。

6 結(jié)束語(yǔ)

總之,Prolog語(yǔ)言是一種說(shuō)明性的語(yǔ)言,是數(shù)據(jù)與程序結(jié)構(gòu)統(tǒng)一, Prolog是“智能的”:具有內(nèi)置的推理機(jī)實(shí)現(xiàn)從上至下、從左至右的搜索,Prolog能自動(dòng)實(shí)現(xiàn)模式匹配和回溯,并具有具有遞歸的特點(diǎn),作為AI開(kāi)發(fā)的重要工具,我們一定要深入學(xué)習(xí)理解,開(kāi)發(fā)出更多更實(shí)用的應(yīng)用系統(tǒng)。

參考文獻(xiàn):

[1]史忠植.高級(jí)人工智能(第二版).北京:科學(xué)出版社,2006.

[2]廉師友.人工智能技術(shù)導(dǎo)論(第二版).西安:電子科技大學(xué)出版社,2002.

[3]陳群秀.人工智能(遠(yuǎn)程教育研究生課程).http://www.sztvu.com/tsinghua/rgzn/art2011.htm.

[4]Visual Prolog語(yǔ)言簡(jiǎn)介.http://www.kddxy.net/~lei/VIP.html#VPL.

[5]人工智能語(yǔ)言.http://myandyou2008.51.net/rengongzhineng/第十四章人工智能語(yǔ)言.htm.

收稿日期:2007-12-23

作者簡(jiǎn)介:王春蓮(1973-),女,山東德州人,講師,在職同等學(xué)力研究生,研究方向:計(jì)算機(jī)應(yīng)用;王海霞(1976-),女,山東濟(jì)南人,講師,大學(xué)本科。

主站蜘蛛池模板: 亚洲精选高清无码| 国产成人91精品| 欧美一级在线| 亚洲天堂久久新| 久久狠狠色噜噜狠狠狠狠97视色| 91av成人日本不卡三区| 久久久久久高潮白浆| 成年人福利视频| 亚洲第一区精品日韩在线播放| av在线手机播放| 亚洲αv毛片| 亚洲成av人无码综合在线观看| 亚洲国产综合精品一区| 国产天天色| 中文字幕日韩欧美| 亚洲香蕉伊综合在人在线| 日韩精品中文字幕一区三区| 欧美不卡视频在线| 精品少妇人妻一区二区| 亚洲综合激情另类专区| 亚洲91精品视频| 国产理论一区| 久久影院一区二区h| 四虎免费视频网站| 最新国语自产精品视频在| 久久精品电影| 婷婷六月综合网| 免费在线看黄网址| 中文无码毛片又爽又刺激| a毛片免费观看| 少妇精品网站| 欧美全免费aaaaaa特黄在线| 国产a v无码专区亚洲av| 国产原创自拍不卡第一页| 色偷偷一区二区三区| 亚洲婷婷在线视频| 国产在线视频欧美亚综合| 97se亚洲| 日韩福利视频导航| 亚洲精品第一页不卡| 国产精品美人久久久久久AV| 国产精品hd在线播放| 国产丝袜啪啪| 中文字幕乱妇无码AV在线| 亚洲精品高清视频| 狠狠色综合网| 无码免费视频| 欧美不卡视频在线观看| 国产精品尤物在线| 国产综合精品日本亚洲777| 亚洲国产精品日韩欧美一区| 国产乱视频网站| 国产精品亚洲一区二区在线观看| 91九色视频网| 国模视频一区二区| 国产网友愉拍精品视频| 国产对白刺激真实精品91| 伊人成色综合网| 国产精品网曝门免费视频| 国产精品lululu在线观看| 国产AV无码专区亚洲精品网站| 亚洲a级在线观看| 久久久久无码精品| 亚洲精品午夜无码电影网| 欧美精品伊人久久| 亚洲黄色片免费看| 国产精品丝袜在线| 欧美五月婷婷| 亚洲国产成人精品无码区性色 | 欧洲欧美人成免费全部视频 | 欧美日韩久久综合| 久久精品国产精品国产一区| 国产成人高清精品免费| 国产一国产一有一级毛片视频| 成人午夜在线播放| 亚洲精品综合一二三区在线| 国产制服丝袜91在线| 香蕉视频国产精品人| 国产丝袜啪啪| 色精品视频| 成人自拍视频在线观看| 三上悠亚精品二区在线观看|