• “黑神话·悟空”免安装在线玩,无视显卡等硬件要求!!
  • √ 游戏免下载安装 √ 5分钟随开随玩 √ 关机不计费!低至¥14.90/月!
🔥进入竞技-直面天命🔥

给我一份基于强化学习算法的实现智能体在迷宫里自动寻路的python代码

时间2023-03-19 19:09:52 提问来自 北京市北京市 的网友 分类创作 浏览306
import numpy as np # 定义环境 class Maze(object): def __init__(self, maze_map): self.maze_map = maze_map # 迷宫地图,1代表可以走,0代表障碍物 self.start_point = (0, 0) # 起始位置坐标 self.end_point = (len(maze_map)-1, len(maze_map[0])-1) # 终止位置坐标 def getStartPoint(self): # 获取起始位置坐标 return self.start_point def getEndPoint(self): # 获取终止位置坐标 return self.end_point def isValidStep(self, currPos, nextPos): # 判断下一步是否有效,即是否越界或者有障碍物 if nextPos[0] < 0 or nextPos[1] < 0 or \ nextPos[0] >= len(self.mazeMap) or \ nextPos[1] >= len(self.mazeMap[0]) or \ self.mazeMap[nextPos[0],nextPos[1]] == 0: # 如果下一步越界或者有障碍物,则返回False return False else: return True def getNextStateAndRewardByActionIndex(self, currStateIndex, actionIndex): """ 根据当前state的index以及action的index来获得下一个state的index以及奖励 """ reward = -1 currStateXy = np.unravel_index([currStateIndex], (len(self.mazeMap), len(self.mazeMap))) if actionIndex == 0: nextStateXy = [currStateXy[0]-1 , currStateXy[1]] if not self._isValidStep((currStateXy), (nextStateXy)): reward -= 10 return None , reward else: return np.ravel((nextStateXy)), reward elif actionIndex == 1: nextStateXy = [currStateXy[0]+1 , curr

点击这里,进行内容创作

创作工场 免责声明:
以上内容除特别注明外均来源于网友提问,创作工场回答,未经许可,严谨转载。
点击这里>>使用🔥专业版,更聪明、更完整、更原创!

上一篇 给我一份基于强化学习算法的实现智能体在迷宫里自动寻路的python代码(1张) 下一篇 高技术在军事上的应用