W3Cschool
恭喜您成為首批注冊(cè)用戶
獲得88經(jīng)驗(yàn)值獎(jiǎng)勵(lì)
游戲(賭勝負(fù))采用策略進(jìn)行。 每個(gè)球員或球隊(duì)在開始比賽前都會(huì)制定一個(gè)戰(zhàn)略,他們必須根據(jù)目前的比賽情況改變或制定新的戰(zhàn)略。
考慮電腦游戲也采用與上述相同的策略。 請(qǐng)注意,搜索算法是計(jì)算電腦游戲策略的算法。
怎么運(yùn)行的 搜索算法的目標(biāo)是找到最優(yōu)的一組移動(dòng),以便他們可以到達(dá)最終目的地并獲勝。 這些算法使用勝出的一組條件,每場(chǎng)比賽都有所不同,以找到最佳的移動(dòng)方式。
將電腦游戲形象化為樹。 我們都知道樹有節(jié)點(diǎn)。 從根開始,可以進(jìn)入最終的獲勝節(jié)點(diǎn),但是具有最佳的移動(dòng)路徑。 這是搜索算法的工作。 這種樹中的每個(gè)節(jié)點(diǎn)代表未來(lái)的狀態(tài)。 搜索算法搜索這棵樹,在游戲的每個(gè)步驟或節(jié)點(diǎn)做出決定。
使用搜索算法的主要缺點(diǎn)是它們本質(zhì)上是窮盡的,這就是為什么他們探索整個(gè)搜索空間以找到導(dǎo)致資源浪費(fèi)的解決方案。如果這些算法需要搜索整個(gè)搜索空間以找到最終解決方案,那將更加麻煩。
要消除這樣的問(wèn)題,可以使用組合搜索,它使用啟發(fā)式來(lái)探索搜索空間,并通過(guò)消除可能的錯(cuò)誤動(dòng)作來(lái)減小其大小。 因此,這樣的算法可以節(jié)省資源。 這里討論了一些使用啟發(fā)式搜索空間并節(jié)省資源的算法 -
這是組合搜索使用啟發(fā)式策略加快搜索策略的策略。 Minimax 策略的概念可以通過(guò)兩個(gè)玩家游戲的例子來(lái)理解,其中每個(gè)玩家都試圖預(yù)測(cè)對(duì)手的下一步行動(dòng)并嘗試最小化該功能。 而且,為了獲勝,玩家總是會(huì)根據(jù)當(dāng)前的情況嘗試最大化自己的功能。
啟發(fā)式在像 Minimax 這樣的策略中扮演著重要的角色。 樹的每個(gè)節(jié)點(diǎn)都會(huì)有一個(gè)與之相關(guān)的啟發(fā)式函數(shù)。 基于這種啟發(fā)式方法,它將決定向最有利于他們的節(jié)點(diǎn)邁進(jìn)。
Minimax 算法的一個(gè)主要問(wèn)題是它可以探索那些無(wú)關(guān)的樹的部分,導(dǎo)致資源的浪費(fèi)。 因此,必須有一個(gè)策略來(lái)決定樹的哪一部分是相關(guān)的,哪一個(gè)是無(wú)關(guān)緊要的,并且將不相關(guān)的部分留給未開發(fā)的部分。 Alpha-Beta 修剪就是這樣一種策略。
Alpha-Beta修剪算法的主要目標(biāo)是避免搜索樹中沒(méi)有任何解決方案的那些部分。 Alpha-Beta 修剪的主要概念是使用名為 Alpha 的兩個(gè)邊界(最大下界)和 Beta,即最小上界。 這兩個(gè)參數(shù)是限制可能解決方案集合的值。 它將當(dāng)前節(jié)點(diǎn)的值與 alpha 和 beta 參數(shù)的值進(jìn)行比較,以便它可以移動(dòng)到具有解決方案的樹部分并丟棄其余部分。
這個(gè)算法與 Minimax 算法沒(méi)有區(qū)別,但它具有更優(yōu)雅的實(shí)現(xiàn)。 使用 Minimax 算法的主要缺點(diǎn)是需要定義兩個(gè)不同的啟發(fā)式函數(shù)。 這些啟發(fā)式之間的聯(lián)系是,對(duì)于一個(gè)玩家來(lái)說(shuō)游戲的狀態(tài)越好,對(duì)另一個(gè)玩家來(lái)說(shuō)就越糟糕。 在 Negamax 算法中,兩個(gè)啟發(fā)函數(shù)的相同工作是在單個(gè)啟發(fā)式函數(shù)的幫助下完成的。
要在AI中構(gòu)建機(jī)器人玩兩個(gè)玩家游戲,需要安裝 easyAI 庫(kù)。 這是一個(gè)人工智能框架,提供了構(gòu)建雙人游戲的所有功能。 可以通過(guò)以下命令下載它 -
pip install easyAI
Copyright©2021 w3cschool編程獅|閩ICP備15016281號(hào)-3|閩公網(wǎng)安備35020302033924號(hào)
違法和不良信息舉報(bào)電話:173-0602-2364|舉報(bào)郵箱:jubao@eeedong.com
掃描二維碼
下載編程獅App
編程獅公眾號(hào)
聯(lián)系方式:
更多建議: