題意:
這個項目的目的是實現一個Pac Man自治代理,能夠在錦標賽中發揮和競爭。
解析:
吃豆人錦標賽有不一樣的規則,由於它是一個兩隊比賽,吃豆人與鬼在網格的某些區域。 仔細閱讀吃豆人錦標賽的規則,理解它併爲它設計控制器是指望的一部分。
PacMan 代理的實現: 能夠使用手工編碼的決策樹來表達特定於PacMan的行爲,可是並非必需的技術。可交付部分中提到的7種技術能夠比任何決策樹(if-else規則)更容易地處理不一樣的規則。若是決定計算一個策略,能夠將其保存到一個文件中,並在遊戲開始時加載它,由於您在每場遊戲以前都有15秒的時間來執行任何預計算。PacMan做爲PDDL的經典規劃 規劃的典型應用包括對規劃人員的一次或屢次調用。實例由前端(pacman引擎)動態生成,解決方案(計劃)被解釋爲可執行指令。能夠實現兩個觀點:1是角色吃豆子,其目標是爲了生存而吃全部網格的點,2是鬼的觀點,他們的目標是殺死吃豆子的角色。假設遊戲是回合制的,所以在每一步都會生成一個實例,其中包含當前世界的狀態,即網格中的點和鬼位置。從吃豆人的角度來看,幽靈不會移動,反之亦然,也就是說,環境是靜態的。在每一步,策劃者都會拿出一個計劃,吃掉全部的點,同時避免靜態幽靈,並計劃讓幽靈殺死靜態吃豆人。pacman引擎對計劃的一個簡單解釋是,只執行計劃的第一個動做,忽略其他的動做,並在下一個步驟中調用計劃者,更新計算幽靈的新位置。
涉及知識點:
搜索算法,PDDL,決策樹 ,遊戲理論
更多可加微信討論
微信號:qiuqiu199291前端