貪吃蛇的AI演算法有最優解嗎?

時間 2021-06-03 00:10:02

1樓:斯卡雷特

如果是吃滿地圖的話,有吧,策略就是:始終保持頭和尾能連線的情況下看能不能吃到食物,不能的話找出頭到尾巴的最長路徑(可能只要不是最短路徑就行,最短路徑可能造成一直追逐尾巴),沿著這條路走,知直到保持頭尾有連線的情況下能吃到食物(吃到後也要保持頭尾能連線),這樣應該能吃滿地圖。

我以前看的這個

2樓:Coldwings

題主補充了最優解定義,所以補充說明一下。我們已經預先知道食物出現順序了,這樣就可以把棋盤情況(有蛇/空格)、蛇頭位置和當前食物位置這兩項一併描述成乙個狀態(或者局面)。首先呢這個狀態空間是有限的,並且狀態之間是可以轉移的,遍歷整個狀態空間一定可以找到最優解。

然後是狀態空間的大小的問題:這樣的狀態空間所包含的狀態總數是指數階的(蛇頭n^2,食物n^2,棋盤狀態2^(n^2)),我暫時沒想到什麼好的節省描述棋盤情況的狀態表示,因此很有可能這是個np……

但無論如何,狀態空間是有限的。有限意味著一定可以通過遍歷整個狀態空間來求得最優解(可行性)。但如果是np,那麼計算時間可能無法忍受……

啥叫最優?能長長到填滿整個格仔?找個可以遍歷每乙個點的環出來就行了,就一條固定路線都ok,保證吃到填滿。

玩貪吃蛇有啥訣竅麼?

溫唇sunshine 這是一款比較需求耐性的遊戲,用遊戲把子上下左右操控蛇的方向,尋找吃的東西,每吃一口就能得到必定的積分,並且蛇的身子會越吃越長,身子越長玩的難度就越大,不能碰牆,更不能咬自己的尾巴,等到了必定的分數,就能過關,然後持續玩下一關!三個號掃臉都是6個 看見有人說中7個的 貪吃蛇都是3...

玩蛇蛇大戰 蛇蛇大作戰 貪吃蛇大作戰有什麼技巧嗎?

情感新思維 貪吃蛇大作戰,排位賽王者的方法總結 1.進去先認自己的隊伍顏色是什麼,認清楚直接的顏色,用餘光去看躲避對手。2.開局先吃星星,不急的對殺,等待boss出來了在對殺。3.boss出來後,跟團隊。4.眼看全域性,防止被偷襲。5.沒有盾牌不戀戰 6.打團戰,有人死亡後不要減速吃碎肉,左右位移,...

用MFC做的貪吃蛇遊戲,求大神。?

懂太少 這種小遊戲感覺還是直接用控制台比較合適,我也真是無聊呀 include include include using namespace std HANDLE hOut HANDLE hIn unsigned long num write int maxHeight 20 int maxWid...