人工智能是怎么實(shí)現(xiàn)的?
人工智能在計(jì)算機(jī)上實(shí)現(xiàn)時(shí)有2種不同的方式。一種是采用傳統(tǒng)的編程技術(shù),使系統(tǒng)呈現(xiàn)智能的效果,而不考慮所用方法是否與人或動(dòng)物機(jī)體所用的方法相同。這種方法叫工程學(xué)方法(Engineering
approach),它已在一些領(lǐng)域內(nèi)作出了成果,如文字識(shí)別、電腦下棋等。另一種是模擬法(Modeling
approach),它不僅要看效果,還要求實(shí)現(xiàn)方法也和人類(lèi)或生物機(jī)體所用的方法相同或相類(lèi)似。本書(shū)介紹的遺傳算法(Generic
Algorithm,簡(jiǎn)稱(chēng)GA)和人工神經(jīng)網(wǎng)絡(luò)(Artificial Neural
Network,簡(jiǎn)稱(chēng)ANN)均屬后一類(lèi)型。遺傳算法模擬人類(lèi)或生物的遺傳-進(jìn)化機(jī)制,人工神經(jīng)網(wǎng)絡(luò)則是模擬人類(lèi)或動(dòng)物大腦中神經(jīng)細(xì)胞的活動(dòng)方式。為了得到相同智能效果,兩種方式通常都可使用。采用前一種方法,需要人工詳細(xì)規(guī)定程序邏輯,如果游戲簡(jiǎn)單,還是方便的。如果游戲復(fù)雜,角色數(shù)量和活動(dòng)空間增加,相應(yīng)的邏輯就會(huì)很復(fù)雜(按指數(shù)式增長(zhǎng)),人工編程就非常繁瑣,容易出錯(cuò)。而一旦出錯(cuò),就必須修改原程序,重新編譯、調(diào)試,最后為用戶(hù)提供一個(gè)新的版本或提供一個(gè)新補(bǔ)丁,非常麻煩。采用后一種方法時(shí),編程者要為每一角色設(shè)計(jì)一個(gè)智能系統(tǒng)(一個(gè)模塊)來(lái)進(jìn)行控制,這個(gè)智能系統(tǒng)(模塊)開(kāi)始什么也不懂,就像初生嬰兒那樣,但它能夠?qū)W習(xí),能漸漸地適應(yīng)環(huán)境,應(yīng)付各種復(fù)雜情況。這種系統(tǒng)開(kāi)始也常犯錯(cuò)誤,但它能吸取教訓(xùn),下一次運(yùn)行時(shí)就可能改正,至少不會(huì)永遠(yuǎn)錯(cuò)下去,用不到發(fā)布新版本或打補(bǔ)丁。利用這種方法來(lái)實(shí)現(xiàn)人工智能,要求編程者具有生物學(xué)的思考方法,入門(mén)難度大一點(diǎn)。但一旦入了門(mén),就可得到廣泛應(yīng)用。由于這種方法編程時(shí)無(wú)須對(duì)角色的活動(dòng)規(guī)律做詳細(xì)規(guī)定,應(yīng)用于復(fù)雜問(wèn)題,通常會(huì)比前一種方法更省力。
人工智能專(zhuān)業(yè)前景如何?
極其好。如果說(shuō)計(jì)算機(jī)專(zhuān)業(yè)是上個(gè)時(shí)代的老大,那么人工智能專(zhuān)業(yè)就是下個(gè)時(shí)代的龍頭。因?yàn)椋?/p>