游戲編程中的人工智能技術(shù)

出版時(shí)間:2006-5  出版社:清華大學(xué)出版社  作者:布克蘭德  頁數(shù):296  字?jǐn)?shù):447000  譯者:吳祖增  
Tag標(biāo)簽:無  

前言

  智能和入工智能. 本書介紹游戲編程中的人工智能,簡稱“游戲人工智能”。所謂人工智能,就是由人工建立的硬件或軟件系統(tǒng)的智能,是無生命系統(tǒng)的智能。例如,一個(gè)機(jī)器人的智能,一個(gè)能與人下棋的軟件的智能。智能是人類(大腦)智力活動(dòng)的能力。它的表現(xiàn)形式非常廣泛,例如,能利用各種知覺系統(tǒng)接受來自環(huán)境的各種信息,能形象思維,能邏輯推理,能理解事物之間的內(nèi)在聯(lián)系,能作歸納和推廣來發(fā)現(xiàn)規(guī)律;能承認(rèn)真理,能使自己適應(yīng)環(huán)境,能主動(dòng)學(xué)習(xí),能根據(jù)以往經(jīng)驗(yàn)改進(jìn)提高自己,不至于犯同樣的錯(cuò)誤;能進(jìn)行創(chuàng)新思維來從事各種創(chuàng)新等。智能是一個(gè)抽象的概念,一個(gè)軟件或硬件系統(tǒng)是否有智能,只能根據(jù)它所表現(xiàn)出來的行為..

內(nèi)容概要

本書是人工智能游戲編程的一本指南性讀物,介紹在游戲開發(fā)中怎樣應(yīng)用遺傳算法和人工神經(jīng)網(wǎng)絡(luò)來創(chuàng)建電腦游戲中所需要的人工智能。書中包含了許多實(shí)用例子,所有例子的完整源碼和可執(zhí)行程序都能在隨書附帶的光盤上找到。光盤中還有不少其他方面的游戲開發(fā)資料和一個(gè)賽車游戲演示軟件。    本書講解的原理通俗易懂,介紹程序詳細(xì)周到,很適用于游戲編程者自學(xué)之用,也可以作為游戲培訓(xùn)教材使用(本書實(shí)際已被國內(nèi)外許多游戲培訓(xùn)單位用作指定教材)。 對(duì)于任何希望了解遺傳算法和人工神經(jīng)網(wǎng)絡(luò)等人工智能技術(shù)的各行業(yè)人員,特別是要實(shí)際動(dòng)手做應(yīng)用開發(fā)的人員,都是一本值得一讀的好書。

作者簡介

  Mat Buckland在倫敦大學(xué)學(xué)完計(jì)算機(jī)科學(xué)后,做過多年的風(fēng)險(xiǎn)管理咨詢顧問。終于他開始厭倦了所有的金錢游戲和公司制度,就一把火燒掉了他原有的公司禮服,跑到一家為Gremlin software開發(fā)游戲的公司工作。雖然薪水少得多,但是卻很有趣,而且他可以每天穿牛仔褲去上班了!現(xiàn)在Mat同時(shí)是一個(gè)自由程序員和人工智能咨詢顧問。自從20世紀(jì)80年代初第一次接觸到這些技術(shù),他就對(duì)進(jìn)化計(jì)算和AI尤感興趣。他是ai-iunkie.com網(wǎng)站(www.ai-junkie.com)的作者,該網(wǎng)站提供一些有關(guān)進(jìn)化算法的教程和建議。

書籍目錄

第1篇  Windows編程 第1章  Windows概述  1.1  歷史一瞥(A Little Bit of History)  1.2  Hello World!  1.3  第一個(gè)Windows程序 第2章  Windows編程進(jìn)階  2.1  Windows圖形設(shè)備接口  2.2  文本  2.3  如何創(chuàng)建后備緩沖  2.4  使用資源  2.5  對(duì)話框  2.6  正確定時(shí)  2.7  總結(jié)第2篇  遺傳算法 第3章  遺傳算法入門  3.1  鳥和蜜蜂  3.2  二進(jìn)制數(shù)速成  3.3  計(jì)算機(jī)內(nèi)的進(jìn)化  3.4  幫助Bob回家  3.5  練習(xí) 第4章  置換碼與巡回銷售員問題  4.1  巡回銷售員問題  4.2  置換雜交操作  4.3  交換變異操作  4.4  選擇一個(gè)適應(yīng)性函數(shù)  4.5  選擇  4.6  把一切組合在一起  4.7  總結(jié)  4.8  練習(xí) 第5章  遺傳算法優(yōu)化  5.1  TSP用的各種算子  5.2  各種處理工具  5.3  總結(jié)  5.4  練習(xí) 第6章  登月也不難  6.1  創(chuàng)建和處理矢量圖形  6.2  矢量  6.3  相關(guān)的物理知識(shí)  6.4  人工控制的登月工程  6.5  遺傳算法控制的登月飛船  6.6  總結(jié)  6.7  習(xí)題第3篇  神經(jīng)網(wǎng)絡(luò) 第7章  神經(jīng)網(wǎng)絡(luò)概述  7.1  神經(jīng)網(wǎng)絡(luò)介紹  7.2  一個(gè)生物學(xué)的神經(jīng)網(wǎng)絡(luò)——大腦  7.3  數(shù)字版的神經(jīng)網(wǎng)絡(luò)  7.4  掃雷機(jī)游戲	  7.5  總結(jié)  7.6  練習(xí) 第8章  為機(jī)器人提供知覺  8.1  回避障礙物  8.2  為機(jī)器人提供記憶器  8.3  總結(jié)  8.4  練習(xí) 第9章  有監(jiān)督的訓(xùn)練方法  9.1  異或函數(shù)  反向傳播的工作原理  9.2  RecognizeIt——鼠標(biāo)手勢(shì)的識(shí)別  9.3  一些有用的技術(shù)和技巧  9.4  監(jiān)督學(xué)習(xí)的應(yīng)用  9.5  一個(gè)現(xiàn)代寓言  9.6  練習(xí) 第10章  實(shí)時(shí)演化  10.1  外星人游戲  10.2  練習(xí) 第11章  演化神經(jīng)網(wǎng)絡(luò)的拓?fù)洹 ?1.1  競(jìng)爭(zhēng)約定問題  11.2  直接編碼  11.3  間接編碼  11.4  拓?fù)鋽U(kuò)張的神經(jīng)演化  11.5  總結(jié)  11.6  練習(xí) 附錄A  WEB資源 附錄B  參考書目及推薦讀物 附錄C  光盤中的內(nèi)容  后記

章節(jié)摘錄

  迎閱讀《游戲編程中的人工智能技術(shù)》。我想你會(huì)發(fā)現(xiàn),這正是你所讀到的有關(guān)游戲. 編程的最有用的圖書之一。 Mat最先引起我的注意大概是在2000年的時(shí)候,那時(shí),他開始在GameDev論壇(www.gamedev.net)發(fā)布各類關(guān)于游戲人工智能的帖子,并回答網(wǎng)友的各種相關(guān)問題。他很快就獲得了大家的關(guān)注,在跟貼中也不乏贊揚(yáng)與認(rèn)同,尤其是在貼出他為公眾消遣而制作的有關(guān)神經(jīng)網(wǎng)絡(luò)和遺傳算法的兩個(gè)教程之后。Mat發(fā)現(xiàn)游戲開發(fā)者需要獲得AI技術(shù)方面的知識(shí)以期運(yùn)用在游戲制作中,而他的兩個(gè)教程以及在GameDev論壇里對(duì)提問的耐心答復(fù)無疑是滿足這一需要的一個(gè)途徑。我對(duì)能為這樣一個(gè)專題的書寫前言而感到榮幸,希望以后能..

媒體關(guān)注與評(píng)論

  引言  考慮一下有多少傻瓜能作微積分演算,要讓任何其他傻瓜去掌握看來是更困難或更繁瑣的微積分技巧就令人驚奇了?! ∮行┪⒎e分技巧是相當(dāng)容易的,但有些則非常難。那些編寫了高等數(shù)學(xué)教課書的傻瓜——他們都是些最聰明的傻瓜——很少會(huì)勞神向你說明簡單的微積分有多么簡單。相反地,他們采用了最最艱難的方法來處理相關(guān)內(nèi)容,好像就是刻意要讓你牢記,他們那無比的  智慧?! ∮捎谖沂且粋€(gè)出名的傻家伙,我始終不學(xué)那些困難的技巧,我現(xiàn)在也要求為我的傻瓜讀者提供那些不難的部分。徹底地掌握這些以后,其余的也會(huì)隨之而來(follow)。我相信,一個(gè)傻瓜能干的,其他傻瓜也一定能干?! ilvanus P. Thompson,《簡易微積分》導(dǎo)言,1910年初版  家用電腦從Sinclair ZX80演變到現(xiàn)在已經(jīng)歷了很長的一段路程。硬件速度越來越快,而電腦組件的價(jià)格則越來越低。在短短幾年時(shí)間里,我們所看到的游戲的圖形質(zhì)量有了飛速的提高。不過,到目前為止,這幾乎就是游戲開發(fā)所有努力要解決的重點(diǎn)——提供更好的視覺享受,而在我們最喜愛的電腦對(duì)手的AI方面,卻改進(jìn)甚微。  然而,時(shí)代在改變。計(jì)算機(jī)的硬件現(xiàn)已到了這樣的轉(zhuǎn)折點(diǎn),它已能為游戲開發(fā)者創(chuàng)建AI提供更多的時(shí)鐘周期。同時(shí),游戲的玩家們的品位也愈來愈復(fù)雜。人們已經(jīng)不再希望在游戲中看到諸如Doom和Quake這些曾經(jīng)是最心愛的早期游戲中所看到的那種蠢笨怪獸了。他們也不希望再看到計(jì)算機(jī)控制的游戲角色在那里盲目地蹣跚著尋找根本不存在的路徑,不時(shí)地被卡在那些拐彎處,或是在沒有資源的地方開發(fā)礦藏,傻頭傻腦地撞在周圍的樹上。游戲玩家想要從游戲中獲得更多的樂趣。他們希望從電腦生成的對(duì)手(或盟友)那里看到合情合理的、有智能的行為?! 』谶@些原因,我堅(jiān)定地認(rèn)為,在未來的幾年里,AI技術(shù)將會(huì)大幅度起飛。像Black & White 和 Halo這樣的游戲已經(jīng)讓我們?yōu)槠銩I技術(shù)而傾心,游戲玩家們正期待更多的此類游戲。此外,基于AI技術(shù)和人造生命的全新游戲流派也在最近幾年里開始出現(xiàn),如Steve Grand的Creatures,這個(gè)游戲的銷售量超過100萬份的事實(shí)讓他本人和其他所有人都吃驚。但如果你認(rèn)為這是很多了,那么你再看看由Electronic Arts 制作的Sims的銷售,到目前為止,Sims及其服務(wù)器軟件(add-on packs)的銷售已經(jīng)高達(dá)1300萬份!這是一個(gè)巨大的銷售收入,而同時(shí)也是一個(gè)重要指示:玩家對(duì)這類技術(shù)有多么濃厚的興趣。這個(gè)趨勢(shì)只可能繼續(xù)?! ?chuàng)造智能幻影(illusion)的技術(shù)有多種,本書主要探討兩個(gè)方面:遺傳算法和人工神經(jīng)網(wǎng)絡(luò)。這兩項(xiàng)技術(shù)討論的地方很多,它們無疑正是當(dāng)前的熱點(diǎn)論題,但是被誤解的地方也相當(dāng)多。就拿神經(jīng)系統(tǒng)網(wǎng)絡(luò)來說,經(jīng)常會(huì)發(fā)現(xiàn)游戲開發(fā)者誤認(rèn)為神經(jīng)網(wǎng)絡(luò)是極其復(fù)雜的東西,因而會(huì)占用太多的處理器時(shí)間,導(dǎo)致游戲速度降低?;蛘呦喾?,他們可能過度地追求神經(jīng)網(wǎng)絡(luò)的能力,企圖去創(chuàng)造一個(gè)有感覺的類似HAL的人工生命,其結(jié)果必然是以失敗而告終。我希望本書能幫助他們減少類似的曲解?! ∩厦嫖乙肧ilvanus Thompson所著的受到人們喝彩的《簡易微積分導(dǎo)言》中的那一段話可以成為本書的完美的開端(謝謝,Silvanus!),因?yàn)?,神?jīng)網(wǎng)絡(luò)和遺傳算法和微積分一樣,對(duì)初學(xué)者來說,可能是非常難入門的,尤其對(duì)那些沒有接受過正規(guī)專業(yè)教育的人來說更是如此。而已有的所有此類著作都是由學(xué)院式專家為學(xué)院式讀者所寫,其中充斥著(非本專業(yè)人)看不習(xí)慣的數(shù)學(xué)公式和難于理解的術(shù)語。因此,我寫了一本是我剛開始對(duì)這些課題感興趣時(shí)所想要讀到的那種書:一本由傻瓜寫給傻瓜看的書。相信我,如果我剛開始涉足該領(lǐng)域時(shí)能夠得到這樣一本書,我就用不著為搞清那些學(xué)究們到底是在講什么而花那么多時(shí)間、受那么多挫折了!  經(jīng)過這些年,我已經(jīng)讀了有關(guān)這個(gè)課題方面的很多書和論文,它們幾乎都沒有能給出真實(shí)的例子,沒有東西可以讓你牢靠地掌握并對(duì)自己說“啊!這就是我能拿來運(yùn)用的東西!”。 比如,關(guān)于遺傳算法的書差不多總是向你提出這樣的問題:  最小化下面的函數(shù)  f(x1,…,x5) = x1sin x1 + 1.7x2 sin x1 -1.5x3 - 0.1x4 cos(x4 + x5 - x1) + 0.2x52 - x2 –1  其中  -100 ≤ x1,…,x5 ≤ 100  我的意思是說,這是一個(gè)完全可以用遺傳算法來解決的問題,但是上面的提法卻讓我們這些凡人實(shí)在難于理解其中的意義。除非你有一個(gè)很好的數(shù)學(xué)基礎(chǔ),這樣的問題很可能會(huì)顯得過于抽象,會(huì)立即讓你感覺到不舒服,對(duì)繼續(xù)學(xué)下去也就沒有趣味?! 〉绻o你的問題是這樣:  請(qǐng)?jiān)试S我向你介紹Bob。今天對(duì)Bob來說可不是什么好日子,他已深陷到一個(gè)迷宮中,而他的妻子正期待他能早點(diǎn)回家一起分享她花了整個(gè)下午制作的晚餐。我來告訴你如何使用遺傳算法幫助他找到迷宮出口,以挽救他的婚姻?! ∧愕拇竽X就有一個(gè)可以與之聯(lián)系的著落點(diǎn)(anchor point)。你也立即會(huì)對(duì)這樣的題目感到舒適。不僅如此,這也是一道有趣的題目。你一定很想知道我們?cè)鯓觼韼退??由此你就?huì)打開書本,繼續(xù)學(xué)下去,在學(xué)習(xí)中感受到樂趣?! ∵@就是我在本書中用來闡明概念所使用的一種類型的題目。如果我的做法正確有效,如何把你的想法運(yùn)用到你的游戲和項(xiàng)目里就會(huì)變得顯而易見?! ?duì)于我的讀者,我只作一個(gè)假設(shè),那就是讀者了解如何編程。我不了解會(huì)有些什么樣的讀者,但是有時(shí),當(dāng)我買了一本書而發(fā)現(xiàn)其中僅有一部分我不了解,以至于必須去買另一本書來解釋第一本書里我所不懂的內(nèi)容,就會(huì)讓我感到失望。為了防止這樣的事情發(fā)生在讀者身上,我努力確保這本書能解釋代碼所說明的一切——從Windows GDI、矩陣和矢量數(shù)學(xué)的使用,直到物理學(xué)和2D圖像學(xué)。我知道事情通常都有其兩面性,很可能一些讀者已經(jīng)掌握了這些圖形學(xué)、物理學(xué)和GDI的相關(guān)知識(shí),那么,你們可以跳過這部分而只閱讀那些你們更感興趣的部分?! ∽ⅲ簞?chuàng)建演示程序  演示程序是很容易編譯生成的。首先把你所需的源程序復(fù)制到你的硬盤里(譯注:因編譯一般需要用到其他的一些文件,你在復(fù)制源文件時(shí),應(yīng)把源程序所在文件夾中所有的文件整個(gè)地從光盤復(fù)制到硬盤)。如果你用微軟的Visual Studio來編譯,只要點(diǎn)擊工程的workspace文件(譯注:即以.ws為后綴的那個(gè)文件)就可以開始進(jìn)行編譯并最后生成可執(zhí)行程序。如果使用其他的編譯器,你應(yīng)該創(chuàng)建一個(gè)新的Win32 工程(確保winmm.lib在你的工程設(shè)置里),并在按編譯按鈕之前,先在工程文件夾里加上相關(guān)的源程序和資源文件。所有要做的就是這些。用不到添加額外的路徑、DirectX或OpenGL?! ≡谒械睦永铮冶M量使代碼編寫得盡可能簡單。使用的是C++語言,但是我希望C語言程序員也能理解我的代碼。所以,出于這方面的考慮,我沒有使用C++所固有的諸如繼承、多態(tài)一類的東西(stuff)。我使用了很簡單的標(biāo)準(zhǔn)模板庫(standard Template Library,sTL)功能,但是在我引用sTL功能的地方,會(huì)在邊框里進(jìn)行解釋。使用簡單代碼的一個(gè)出發(fā)點(diǎn)是不使我所要闡述的原理顯得晦澀。相信我,本書所涵蓋的有些內(nèi)容一開始并不容易掌握,所以我不想把因?yàn)樵诶又惺褂昧烁呒?jí)代碼而把事情弄得更復(fù)雜。我已盡我所能恪守老管理顧問的信條:K.I.S.S(Keep It Stupidly Simple),讓一切盡可能地簡單?! 『昧?,不再羅嗦了,讓我們來開始冒險(xiǎn)吧……

圖書封面

圖書標(biāo)簽Tags

評(píng)論、評(píng)分、閱讀與下載


    游戲編程中的人工智能技術(shù) PDF格式下載


用戶評(píng)論 (總計(jì)19條)

 
 

  •   不單單是游戲編程書中涉及的遺傳算法等其實(shí)應(yīng)用到很多方面了翻譯也是牛人讀者最好有點(diǎn)點(diǎn)STL基礎(chǔ)
  •   前面7章講解仿人工智能,后面8章講解正在發(fā)展中的人工智能的基礎(chǔ)概念
  •   人工智能的內(nèi)容不可能在一本書里全部詮釋,但是很好的入門書
  •   對(duì)于剛剛踏入此領(lǐng)域但有著豐富編程經(jīng)驗(yàn)的工程師而言,這本書是屬于那種即可以迅速豐富對(duì)AI的認(rèn)識(shí),又不會(huì)感到學(xué)習(xí)的負(fù)擔(dān)的難得的好書。盡管此書的理論方面遠(yuǎn)遠(yuǎn)稱不上完整。對(duì)于希望不僅僅為了寫論文或應(yīng)付考試的AI愛好者來講是值得一看的。尤其對(duì)于希望上手研究一下AI,并對(duì)設(shè)計(jì)編寫自己的AI躍躍欲試的家伙們,這是很好的選擇。里面的程序例子可以給人以相當(dāng)直接的感受。
  •   好書總要收藏,到手發(fā)現(xiàn)書不是很厚,內(nèi)容易懂,對(duì)我這個(gè)新手很合適
  •   有理論講解
    有實(shí)例代碼
    通俗易懂
    很好。
  •   通俗易懂。正如作者引用的《簡易微積分》的導(dǎo)言:“由于我是一個(gè)出名的傻家伙,我始終不學(xué)那些困難的技巧,我現(xiàn)在也要求為我的傻瓜讀者提供那些不難的部分。徹底的掌握了這些以后,其余的也會(huì)隨之而來。我相信,一個(gè)傻瓜能干的,其他傻瓜也一定能干?!背?jí)酷的導(dǎo)言。越看越酷。
  •   重點(diǎn)是這本書給出了代碼......是一部應(yīng)該仔細(xì)看的書.....他解決了很多紙上談兵的問題.....很好....值得一看.....
  •   寫的好,翻譯的也很好,寫的簡單易懂,由淺入深,值得品讀。
  •   這一系列的書都不怎么樣,首先翻譯就不行,錯(cuò)字,語義不通,內(nèi)容冗長,有點(diǎn)不切實(shí)際..
  •   這本書講遺傳算法和神經(jīng)網(wǎng)絡(luò),是難得的一本能看得懂的又講得深入的佳作。書中有大量的例子,并且有光盤上有源碼和例程,讀者通過理解代碼、執(zhí)行和調(diào)試代碼,會(huì)更加容易理解遺傳算法和神經(jīng)網(wǎng)絡(luò)。書本中先介紹遺傳算法,然后介紹神經(jīng)網(wǎng)絡(luò),介紹神經(jīng)網(wǎng)絡(luò)的時(shí)候會(huì)結(jié)合遺傳算法的知識(shí)來介紹。嚴(yán)格來說,兩種算法并沒有特別聯(lián)系,但遺傳算法和神經(jīng)網(wǎng)絡(luò)一結(jié)合起來,威力無比。書中后面介紹的神經(jīng)網(wǎng)絡(luò)演化,是比較深的并且價(jià)值有很大的內(nèi)容。本書的其它一些說明:1.開始有章節(jié)介紹windows編程,顯得有點(diǎn)不必要,有點(diǎn)讓本書厚度增加之嫌疑。2.本書比較強(qiáng)調(diào)對(duì)代碼的理解,在代碼之前缺乏對(duì)整體原理的介紹,讀者需要慢慢品味代碼,才能抓得住主要意思。3.書本部分章節(jié)需要懂相應(yīng)的數(shù)學(xué)和物理知識(shí)才能讀懂,書中會(huì)有相應(yīng)的數(shù)學(xué)及物理知識(shí)介紹??傮w來說,本書知識(shí)含量大,遺傳算法和神經(jīng)網(wǎng)絡(luò)都是很復(fù)雜的很有價(jià)值的算法,盡管書中的表達(dá)已經(jīng)盡量顯淺了,但還是對(duì)讀者的要求比較高。
  •   這本書的語言好通俗哇,竟然都有高中的物理知識(shí)!連你我這樣的傻瓜都能看懂啊。介紹人工智能的前沿正是不可多得的好書!
  •   很高深,要好好研究的技術(shù)
  •   書不錯(cuò),能看的懂。就是送貨有點(diǎn)慢啊
  •   我們老師說不錯(cuò)。。。。。外國人寫的就是好。。。。。
  •   有些基礎(chǔ)知識(shí)講的好
  •   很容易上手送貨好快
  •   寫的內(nèi)容不多,去掉前面的一半,后面的排版壓壓,估計(jì)也就100頁就可以搞定了。內(nèi)容寫的比較容易理解,還是可以的。我覺得可以寫的再實(shí)例話多點(diǎn)算法跟應(yīng)用在游戲中的方法和例子更好點(diǎn)。有點(diǎn)貴
  •   基礎(chǔ)性讀物。
 

250萬本中文圖書簡介、評(píng)論、評(píng)分,PDF格式免費(fèi)下載。 第一圖書網(wǎng) 手機(jī)版

京ICP備13047387號(hào)-7