最美情侣中文字幕电影,在线麻豆精品传媒,在线网站高清黄,久久黄色视频

歡迎光臨散文網(wǎng) 會(huì)員登陸 & 注冊(cè)

基礎(chǔ) | 簡(jiǎn)單的智能體----有限狀態(tài)機(jī)(二)

2020-03-02 11:19 作者:有木乘舟  | 我要投稿

本系列為筆者初學(xué)c/c++和游戲AI開(kāi)發(fā)的學(xué)習(xí)經(jīng)歷,練習(xí)為主,不涉及到具體的游戲開(kāi)發(fā)軟件學(xué)習(xí)(如unity,虛幻4等),適合剛?cè)腴T的小伙伴一起學(xué)習(xí)探討,歡迎在評(píng)論區(qū)留下意見(jiàn)。

  • ?開(kāi)發(fā)語(yǔ)言:c/c++ (11及以上)?

  • 開(kāi)發(fā)平臺(tái):macOS mojave / Linux?

  • 編譯器:vs Code / g++

從一個(gè)項(xiàng)目開(kāi)始

一、虛擬的世界

1.1 Bob的一天

假設(shè)存在一個(gè)虛擬小鎮(zhèn),鎮(zhèn)上生活著一個(gè)人Bob,鎮(zhèn)里有一個(gè)礦場(chǎng)(產(chǎn)出金礦),一家銀行(存儲(chǔ)金礦),一間酒吧(喝酒休息),一間屋子(Bob睡覺(jué)的家)。Bob每天要做的事情就是到礦場(chǎng)里挖金礦,口袋里裝滿金礦后將金子存儲(chǔ)到銀行里;從銀行出來(lái)如果錢夠了Bob便會(huì)回到家里睡覺(jué),若不夠則繼續(xù)到礦場(chǎng)里挖礦;期間只要他渴了就會(huì)停下手上的事到酒吧里喝酒,喝完酒之后則繼續(xù)到礦場(chǎng)里挖礦;Bob睡完覺(jué)后,如果渴了則去酒吧喝酒,否則進(jìn)礦場(chǎng)挖礦。

----《游戲人工智能編程案例精粹》

? 書(shū)中的例子,可憐的Bob一天的生活乏味可陳,但他每一次動(dòng)作都有著極為明顯的變化。Bob不管在哪一種狀態(tài)中,只要發(fā)生了某種動(dòng)作,一定會(huì)改變當(dāng)前狀態(tài),變成另一種狀態(tài)。

? 當(dāng)然,Bob可能還會(huì)存在其他更多的狀態(tài)和動(dòng)作,以及這個(gè)鎮(zhèn)子還會(huì)有其他人。但不論怎么增加復(fù)雜度,其根本構(gòu)成都不會(huì)變。

? 我們將以Bob的一天為基礎(chǔ),在計(jì)算機(jī)中構(gòu)建出一個(gè)虛擬的小世界,來(lái)模擬Bob的生活。

1.2 狀態(tài)轉(zhuǎn)換圖和狀態(tài)轉(zhuǎn)換表

? 首先,我們用狀態(tài)轉(zhuǎn)換圖和狀態(tài)轉(zhuǎn)換表來(lái)建?!癇ob的一天”,這樣可以更清晰的表示出其中的邏輯流動(dòng),有助于梳理邏輯結(jié)構(gòu),也可以很容易的發(fā)現(xiàn)邏輯流上的錯(cuò)誤,并改正過(guò)來(lái)。

圖1 Bob的一天

? 從圖1里我們可以知道,Bob存在四種狀態(tài),以及幾種改變狀態(tài)的動(dòng)作(條件):

圖2 Bob的狀態(tài)轉(zhuǎn)換表,左邊為當(dāng)前狀態(tài),上面為轉(zhuǎn)換狀態(tài),中間為條件(動(dòng)作)

??有了清晰的邏輯流,我們就可以借助c/c++編程語(yǔ)言,在計(jì)算機(jī)中模擬出“Bob的一天”。

1.2 一個(gè)完整的例子

圖3 Bob的一天

? 當(dāng)然,具體的實(shí)現(xiàn)中,我們有許多其他的工作需要做,比如說(shuō)采用什么樣的設(shè)計(jì)模式,一個(gè)狀態(tài)要持續(xù)多久,轉(zhuǎn)換狀態(tài)的條件要如何達(dá)成,等等。

? 這些我們將留到之后的章節(jié)詳細(xì)的講解。

參考:?

  • 《游戲人工智能編程案例精粹》

  • ?維基百科

相關(guān)代碼下載:https://github.com/linpeijie/GameToy/tree/master/GameAI/FSM

基礎(chǔ) | 簡(jiǎn)單的智能體----有限狀態(tài)機(jī)(二)的評(píng)論 (共 條)

分享到微博請(qǐng)遵守國(guó)家法律
柳江县| 兴文县| 五原县| 台中县| 巍山| 融水| 承德县| 曲麻莱县| 吴川市| 邹城市| 射阳县| 德阳市| 上思县| 修水县| 安乡县| 沭阳县| 遂宁市| 德保县| 肇州县| 敦化市| 宝清县| 浦江县| 湖口县| 安仁县| 财经| 鲁山县| 襄垣县| 博白县| 武乡县| 新田县| 遂宁市| 芦山县| 鄂伦春自治旗| 礼泉县| 乐安县| 乌拉特前旗| 六枝特区| 温州市| 微博| 洞头县| 霍州市|