遊戲人工智慧 讀書筆記 (二) 遊戲人工智慧簡史

2022-06-05 17:30:08 字數 3696 閱讀 4441

從歷史來看,在很長的時間裡,創造乙個可以代替人類玩遊戲的機械人是唯一的在遊戲中應用人工智慧的方式。而在人工智慧發展的早期,絕大部分遊戲ai的研究者都在努力做出乙個很牛的ai在棋類遊戲中戰勝人類。這裡面一部分的原因是,棋類遊戲蘊含著一些人類智慧型的基本因素。

大部分的棋類遊戲的規則都很簡單,但是在方寸的棋盤之內,七百年來無數的人類天才都期望找到最優的解法。因此乙個可以戰勝頂尖的棋手的ai足以成為人工智慧的聖杯。人工智慧專家尋找棋類ai的歷史可以上溯到阿蘭-圖靈(alan turing)和克勞德-夏農(claude shannon)的時代。在最早的時候,圖靈和夏農就嘗試使用minimax 演算法來讓ai下棋,強化學習+自我對弈也很快被arthur samuel應用到跳棋(checker)中(2023年)。

克勞德-夏農

棋類ai的發展中的一些里程碑(milestone)如下:

2023年,a.s. douglas 開發了第乙個 井字棋(tic-tac-toe)遊戲

2023年,基於神經網路和temporal difference來進行自我對弈訓練的西洋雙陸棋(又稱 十五子棋)的ai "td-gammon" 就達到了人類的頂尖水平。這個ai對於領域外的人來說可能意義不大,但是對於人工智慧技術來說,是很重要的一步,其中用到的很多技術也在後續的ai,如alphago中得到應用。

2023年,chinook跳棋ai在跳棋世界錦標賽上戰勝了世界冠軍;到了2023年,跳棋遊戲的最優解也被找到了。

2023年,ibm的深藍在乙個令人矚目的比賽中戰勝了當時的西洋棋特級大師 garry kasparov。深藍是基於乙個經過大量的西洋棋規則修正和棋盤評估修正後的極大極小演算法來下棋的,並且是執行在一台定製的超級計算機上。從人工智慧研究的角度來說,可能在圈內沒有其在世界上對普通人的衝擊來的大。最主要的原因是,在當時的人們看來,西洋棋在某種程度上象徵著人類智慧型的最高等級。當然,人們不久就將這一榮譽放到圍棋上面了。

alphago 和 李世石 注定載入史冊的5番棋

然後到了2023年,google的deepmind開發的alphago在5番棋中戰勝了南韓的李世石,這也標記著,圍棋也從代表著人類獨有的智慧型的榮光的神壇上走了下來。而歷史的車輪在此刻也在逐漸的加快,第二年,中國的柯潔也在3番棋上輸給了公升級版的alphago, 而後面deepmind也迅速的發布了alphago zero 和 alphazero, 基於深度強化學習+mcts+自我對弈的方式,完全拋棄人類知識,只從棋類的規則出發,不單在圍棋上,在西洋棋和將棋上也同樣達到了世界最強的水平。因此,一時之間,各種機器狗橫行天下。而這一情況,隨著facebook開源了elf的基於alphazero的圍棋演算法之後會更加的嚴重。

戰勝職業棋手,只需一塊gpu

tuomas sandholm: 德州ai libratus的創造者

另一方面,和人工智慧發展早期學術界的研究者一門心思的來搞棋類ai相比,遊戲業界通常要更現實一些,幹活的時候,不管怎麼樣先搞上線再說。和學術界關注理論上的突破相比,業界會更注重工程方面,不管是多low的演算法,好用就行。這也讓早期人工智慧技術和遊戲的結合主要是由業界引領。而他們也關注的領域也會窄一些,大部分的精力都投入到:遊戲中的npc要怎麼用演算法控制中去,但也有一些使用程式生成內容的嘗試。

在最早的時候,受限於硬體裝置和ai的能力,大部分的npc行為都是基於簡單的規則來進行控制的。直到微軟在2023年推出光暈(halo), 才讓行為樹成為大部分遊戲控制npc行為的標配。但遊戲開發者一直致力於提高npc行為的合理性,從而提公升玩家在遊戲中沉浸感。而在遊戲設計的時候,遊戲的開發者需要考慮到人工智慧技術的限制,用某種方式避免人工智慧演算法產生」災難性」的後果,這裡面乙個經典的例子就是 文明(civilization)中扔核彈的甘地。

瘋狂的甘地

文明2有乙個有趣的bug:瘋狂的甘地。早期玩家都知道,印度文明一出現在視野裡,必須立刻毫不遲疑地臥薪嘗膽跟其他文明媾合、集中全部力量無論多麼遙遠,也要把印度早早摁死。無論怎樣誘人的和平條約,都不要和印度簽署,一定要跟甘地(印度的領袖)死磕到底。否則,一旦印度發展出核**,就會瘋狂地四處亂炸,把全地球徹底搞當。相比之下,鑫十五天簡直是個乖寶寶。原因很簡單。遊戲設定裡甘地是非常和平的,其野蠻度極低。文明發展,野蠻度越來越低,等到原子彈出現的時代,就差不多降到零。降到零是小事,一旦降為負數,程式無法處理負號,於是變成255,極大值。這是比希特拉還瘋狂好多倍的數值。於是乙個極端和平的甘地,眨眼成了核彈狂魔。

事實上,大部分的遊戲大作都某種程度上結合了一定的人工智慧技術,以期讓遊戲內npc的行為可以自適應於不同的玩家(v社(valve)的半條命,世嘉的異形),或者可以自動化的生成遊戲中的某些場景(模擬人生系列,文明系列,暗黑破壞神系列)。

ea發布的引起爭議**

deepmind 提供的星際2的建模方式

所以,可以明顯看到,學術界和工業界對於遊戲人工智慧的研究方向是有一定的區別的。對於人工智慧的學院派來說,人工智慧是在遊戲前面的,他們的目標是盡可能的應用人工智慧和計算智慧型的技術來增強npc的行為能力。但通常他們會關注在一些普遍意義上比較簡單,面向研究,很難擴充套件的專案下,這些專案同時在商業上價值比較低。而遊戲業界通常抱怨學術界缺乏領域知識和實踐的經驗,因此沒法解決遊戲製作過程中的真實問題和挑戰。npc的實時的自適應和學習就是乙個很好的例子。對於學術界的研究者來說,創造乙個可以通過和玩家以及其他npc們進行互動來學習的npc是令人興奮的。但是,遊戲開發者會擔心這樣會讓這些npc不按設計那樣工作,於是很可能會」破壞整個遊戲」。這個其實在聊天機械人上面就出現過教訓。幾乎所有的沒有強規則約束的聊天機械人都被網友們玩壞了。

另外,書中其實提了乙個很有意思的觀點:

chapter 1.2  a brief history of artificial intelligence and games

本書英文版: artificial intelligence and games - a springer textbook

點選:

,即刻領取禮包。

人工智慧讀書筆記

1.1 什麼是人工智慧?試從學科和能力兩方面加以說明 答 人工智慧是研究理解和模擬人類智慧型 智慧型行為及其規律的一門學科。其主要任務是建立智慧型資訊處理理論,進而設計可以展現某些近似於人類智慧型行為的計算系統。人工智慧是一門涉及數學 邏輯學 認知學 心理學 神經心理學和電腦科學等多學科的交叉學科。...

《遊戲人工智慧程式設計案例精粹》讀書筆記二

遊戲人工智慧程式設計案例精粹 讀書筆記二 全域性狀態和狀態翻轉 state blip 當設計乙個有限狀態機時,如果加入乙個新的狀態,且這個狀態可能從任何乙個狀態或任何時間切換。容易想到的乙個方法是 直接複製條件邏輯加進每個狀態中,但這個方法是不提倡的,因為你需要對每個狀態進行邏輯的修改,乙個,五個容...

《人工智慧基礎》讀書筆記 (二)

分類器 完成分類任務的人工智慧系統 特徵,特徵向量,特徵點和特徵空間 資料的標註 在分類中,訓練和測試資料一般都需要知道他們的實際類別。人工地給資料標上真實類別的過程被稱為資料的標註。訓練集 當乙個資料集被用於分類器的訓練,我們稱之為訓練集 演算法 根據資料集來訓練分類器的過程,是由一系列判斷和計算...