当前位置: 首页 > news >正文

网站开发毕业论文提纲/沈阳线上教学

网站开发毕业论文提纲,沈阳线上教学,哪里有网站建设商家,浙江因家软装设计有限公司原文地址 分类目录——强化学习 分类目录——tkinter 全部代码 先看一下环境效果 强化学习用到的环境通常需要以下几个功能函数 _init_() def __init__(self):super(Maze, self).__init__()self.observatin_space [(x, y) for x in range(1, 5) for y in range(1, …

原文地址

分类目录——强化学习

分类目录——tkinter

全部代码

  • 先看一下环境效果

    tkinter环境
  • 强化学习用到的环境通常需要以下几个功能函数

    1583854666466

  • _init_()

        def __init__(self):super(Maze, self).__init__()self.observatin_space = [(x, y) for x in range(1, 5) for y in range(1, 5)]self.action_space = range(4)self.n_actions = len(self.action_space)self.n_features = np.array(self.observatin_space).shape[-1]self.target = {(4, 2): 10}  # 安全/目标状态self.danger = {(2, 2): -20, (3, 3): -20}  # 危险状态self.state = None# 初始化窗口、画布self.window = tk.Tk()self.canvas = tk.Canvas(self.window, bg='white', height=500, width=500)
    
  • reset()

    用来在每轮训练前重置初始化状态

        def reset(self, startstate=None):   # 重置初始状态self.canvas.delete('all')       # 操作之前清空画布,否则每步的状态将都会堆在画面上if startstate == None:          # 如果不指定起始状态,随机生成一个状态self.state = self.observatin_space[np.random.choice(range(len(self.observatin_space)))]else:   # 如果指定了初始状态,就初始化为指定状态self.state = startstateself.counts = 0return self.state
    
  • step()

    用来处理每一步的逻辑,获得下一个状态,回报以及判断是否结束

        def step(self, action):self.canvas.delete('all')# self.canvas.delete(self.statepos)x, y = self.stateif action == 0:  # 不动x = xy = yelif action == 1:  # 上x = xy = y + 1elif action == 2:  # 下x = xy = y - 1elif action == 3:  # 左x = x - 1y = yelif action == 4:  # 右x = x + 1y = y# 判断下一个状态是否属于状态空间,如果在状态空间中更新当前状态,如果不在状态空间保持当前状态next_state = (x, y)self.state = next_state if next_state in self.observatin_space else self.stateself.counts += 1s = tuple(self.state)   # 为了能用in操作if s in self.danger.keys():reward = self.danger[s]done = Trueelif s in self.target.keys():reward = self.target[s]done = Trueelse:reward = -0.5   # 每多走一个,加个小的负反馈done = Falsereturn self.state, reward, done
    
  • render()

    完成可视化画面搭建

        def render(self):# 注意tkinter的平面为向下x轴正向,向右y轴正向# 格线for i in range(5):# 两个顶点的四个坐标self.canvas.create_line(50, 50 + 100 * i, 450, 50 + 100 * i)self.canvas.create_line(50 + 100 * i, 50, 50 + 100 * i, 450)# 绘制出口(安全状态)for state in self.target:# 我自己把画格的操作封装了一个方法self.drawrectangle(state, fill='green')# 绘制危险区域for state in self.danger:self.drawrectangle(state, fill='red')# 绘制当前state的位置(圆)self.statepos = self.drawoval(self.state, fill='yellow')self.canvas.pack()self.window.update()# 为了方便的复用,将画格点和画圆另外进行了封装def drawrectangle(self, point, **attrs):'''根据格点画一个方格:param point: 格点坐标(4,3):param attrs: 其他参数,such as  fill='red':return:'''size = 100self.canvas.create_rectangle(50 + (point[0] - 1) * size, 50 + (point[1] - 1) * size,50 + point[0] * size, 50 + point[1] * size,**attrs)# 向右为x正方向,向下为y轴正方向# 左上角坐标和右下角坐标# 画椭圆def drawoval(self, point, **attrs):'''画(椭)圆:param point: 格点坐标(4,3):param attrs: 其他参数,such as  fill='red':return:'''size = 100self.canvas.create_oval(50 + (point[0] - 1) * size, 50 + (point[1] - 1) * size,50 + point[0] * size, 50 + point[1] * size,**attrs)
    
  • close()

        def close(self):if self.window:self.window.destroy()
    
  • 测试

    if __name__ == '__main__':env = Maze()for epoch in range(5):env.reset()print('Epoch', epoch + 1, ': ', end='')print(env.state, end='')env.render()  # 刷新画面time.sleep(0.5)for i in range(5):env.step(np.random.choice(env.action_space))  # 随机选择一个动作执行print(' ->', env.state, end='')env.render()  # 刷新画面time.sleep(0.5)print()env.close()
    

    测试效果如文首所示

  • 相关内容

    分类目录——强化学习(更新中)

    什么是gym

    gym自定义可视化环境绘制

    gym自定义可视化环境实例

    强化学习:gym环境解读及使用

    从Q_Learning看强化学习

    一个Q_Learning强化学习自定义gym环境可视化实例

    Pytorch实现DQN

http://www.jmfq.cn/news/4941973.html

相关文章:

  • 怎么做电影网站教程/网络推广中心
  • 做企业商城网站/临沂做网站推广的公司
  • 怎么做网站凡科/万词霸屏百度推广seo
  • b2b外贸建站/网店代运营商
  • 关于做网站的英语对话/收录优美的图片app
  • 做网站的难题/百度 站长工具
  • 福州自助建站/关键词汇总
  • 建设网站域名有了还要什么/深圳网站建设方案
  • 小蓝鸟加速器/宁波seo服务
  • 网站建设合同英文版/正规电商培训班
  • 网站导航条怎么做/百度快照是什么意思?
  • 邢台做网站优化哪儿好/搜索引擎关键词优化技巧
  • 做网站开发前景如何/yahoo搜索引擎提交入口
  • 企业网站建设大概多少钱/网络营销常用的工具有哪些
  • 网站百度快照更新/刷关键词怎么刷
  • 大连网络科技有限公司/企业网站seo哪里好
  • 星沙做网站/山东疫情最新情况
  • 用织梦做网站需不需授权/产品市场调研怎么做
  • 做外贸经常用的网站/鞍山seo外包
  • 做进行网站推广赚钱/网络营销课程设计
  • wordpress非常吃cpu/重庆搜索引擎seo
  • 做网站原型图是用什么软件/电商入门基础知识
  • 东平做网站/百度推广开户费用多少
  • 做壁纸网站好/seo基础知识考试
  • 设计网站需要用到哪些技术/百度网站提交入口
  • 做网站选哪个语言/app推广代理加盟
  • 北京做网站浩森宇特/关键词优化是什么意思
  • 网站速度怎么提升/网络品牌推广
  • 乌海品牌网站建设/电商平台链接怎么弄
  • 可以把网站服务器放在哪里/短链接生成